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

     1  // © Broadcom. All Rights Reserved.
     2  // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
     3  // SPDX-License-Identifier: Apache-2.0
     4  
     5  package types
     6  
     7  import "reflect"
     8  
     9  // These constant strings can be used as parameters in user-specified
    10  // email subject and body templates as well as in scripts.
    11  //
    12  // The action processor
    13  // in VirtualCenter substitutes the run-time values for the parameters.
    14  // For example, an email subject provided by the client could be the string:
    15  // `Alarm - {alarmName} Description:\n{eventDescription}`.
    16  // Or a script action provided could be: `myScript {alarmName}`.
    17  type ActionParameter string
    18  
    19  const (
    20  	// The name of the entity where the alarm is triggered.
    21  	ActionParameterTargetName = ActionParameter("targetName")
    22  	// The name of the triggering alarm.
    23  	ActionParameterAlarmName = ActionParameter("alarmName")
    24  	// The status prior to the alarm being triggered.
    25  	ActionParameterOldStatus = ActionParameter("oldStatus")
    26  	// The status after the alarm is triggered.
    27  	ActionParameterNewStatus = ActionParameter("newStatus")
    28  	// A summary of information involved in triggering the alarm.
    29  	ActionParameterTriggeringSummary = ActionParameter("triggeringSummary")
    30  	// A summary of declarations made during the triggering of the alarm.
    31  	ActionParameterDeclaringSummary = ActionParameter("declaringSummary")
    32  	// The event description.
    33  	ActionParameterEventDescription = ActionParameter("eventDescription")
    34  	// The object of the entity where the alarm is associated.
    35  	ActionParameterTarget = ActionParameter("target")
    36  	// The object of the triggering alarm.
    37  	ActionParameterAlarm = ActionParameter("alarm")
    38  )
    39  
    40  func (e ActionParameter) Values() []ActionParameter {
    41  	return []ActionParameter{
    42  		ActionParameterTargetName,
    43  		ActionParameterAlarmName,
    44  		ActionParameterOldStatus,
    45  		ActionParameterNewStatus,
    46  		ActionParameterTriggeringSummary,
    47  		ActionParameterDeclaringSummary,
    48  		ActionParameterEventDescription,
    49  		ActionParameterTarget,
    50  		ActionParameterAlarm,
    51  	}
    52  }
    53  
    54  func (e ActionParameter) Strings() []string {
    55  	return EnumValuesAsStrings(e.Values())
    56  }
    57  
    58  func init() {
    59  	t["ActionParameter"] = reflect.TypeOf((*ActionParameter)(nil)).Elem()
    60  }
    61  
    62  // Pre-defined constants for possible action types.
    63  //
    64  // Virtual Center
    65  // uses this information to coordinate with the clients.
    66  type ActionType string
    67  
    68  const (
    69  	// Migration action type
    70  	ActionTypeMigrationV1 = ActionType("MigrationV1")
    71  	// Virtual machine power action type
    72  	ActionTypeVmPowerV1 = ActionType("VmPowerV1")
    73  	// Host power action type
    74  	ActionTypeHostPowerV1 = ActionType("HostPowerV1")
    75  	// Host entering maintenance mode action type
    76  	ActionTypeHostMaintenanceV1 = ActionType("HostMaintenanceV1")
    77  	// Storage migration action type
    78  	ActionTypeStorageMigrationV1 = ActionType("StorageMigrationV1")
    79  	// Initial placement action for a virtual machine or a virtual disk
    80  	ActionTypeStoragePlacementV1 = ActionType("StoragePlacementV1")
    81  	// Initial placement action for a virtual machine and its virtual disks
    82  	ActionTypePlacementV1 = ActionType("PlacementV1")
    83  	// Host changing infrastructure update ha mode action type.
    84  	ActionTypeHostInfraUpdateHaV1 = ActionType("HostInfraUpdateHaV1")
    85  )
    86  
    87  func (e ActionType) Values() []ActionType {
    88  	return []ActionType{
    89  		ActionTypeMigrationV1,
    90  		ActionTypeVmPowerV1,
    91  		ActionTypeHostPowerV1,
    92  		ActionTypeHostMaintenanceV1,
    93  		ActionTypeStorageMigrationV1,
    94  		ActionTypeStoragePlacementV1,
    95  		ActionTypePlacementV1,
    96  		ActionTypeHostInfraUpdateHaV1,
    97  	}
    98  }
    99  
   100  func (e ActionType) Strings() []string {
   101  	return EnumValuesAsStrings(e.Values())
   102  }
   103  
   104  func init() {
   105  	t["ActionType"] = reflect.TypeOf((*ActionType)(nil)).Elem()
   106  }
   107  
   108  // Types of affinities.
   109  type AffinityType string
   110  
   111  const (
   112  	AffinityTypeMemory = AffinityType("memory")
   113  	AffinityTypeCpu    = AffinityType("cpu")
   114  )
   115  
   116  func (e AffinityType) Values() []AffinityType {
   117  	return []AffinityType{
   118  		AffinityTypeMemory,
   119  		AffinityTypeCpu,
   120  	}
   121  }
   122  
   123  func (e AffinityType) Strings() []string {
   124  	return EnumValuesAsStrings(e.Values())
   125  }
   126  
   127  func init() {
   128  	t["AffinityType"] = reflect.TypeOf((*AffinityType)(nil)).Elem()
   129  }
   130  
   131  type AgentInstallFailedReason string
   132  
   133  const (
   134  	// There is not enough storage space on the host to install the agent.
   135  	AgentInstallFailedReasonNotEnoughSpaceOnDevice = AgentInstallFailedReason("NotEnoughSpaceOnDevice")
   136  	// Failed to initialize the upgrade directory on the host.
   137  	AgentInstallFailedReasonPrepareToUpgradeFailed = AgentInstallFailedReason("PrepareToUpgradeFailed")
   138  	// The agent was installed but is not running.
   139  	AgentInstallFailedReasonAgentNotRunning = AgentInstallFailedReason("AgentNotRunning")
   140  	// The agent was installed but did not respond to requests.
   141  	AgentInstallFailedReasonAgentNotReachable = AgentInstallFailedReason("AgentNotReachable")
   142  	// The agent install took too long.
   143  	AgentInstallFailedReasonInstallTimedout = AgentInstallFailedReason("InstallTimedout")
   144  	// The signature verification for the installer failed.
   145  	AgentInstallFailedReasonSignatureVerificationFailed = AgentInstallFailedReason("SignatureVerificationFailed")
   146  	// Failed to upload the agent installer.
   147  	AgentInstallFailedReasonAgentUploadFailed = AgentInstallFailedReason("AgentUploadFailed")
   148  	// The agent upload took too long.
   149  	AgentInstallFailedReasonAgentUploadTimedout = AgentInstallFailedReason("AgentUploadTimedout")
   150  	// The agent installer failed for an unknown reason.
   151  	AgentInstallFailedReasonUnknownInstallerError = AgentInstallFailedReason("UnknownInstallerError")
   152  )
   153  
   154  func (e AgentInstallFailedReason) Values() []AgentInstallFailedReason {
   155  	return []AgentInstallFailedReason{
   156  		AgentInstallFailedReasonNotEnoughSpaceOnDevice,
   157  		AgentInstallFailedReasonPrepareToUpgradeFailed,
   158  		AgentInstallFailedReasonAgentNotRunning,
   159  		AgentInstallFailedReasonAgentNotReachable,
   160  		AgentInstallFailedReasonInstallTimedout,
   161  		AgentInstallFailedReasonSignatureVerificationFailed,
   162  		AgentInstallFailedReasonAgentUploadFailed,
   163  		AgentInstallFailedReasonAgentUploadTimedout,
   164  		AgentInstallFailedReasonUnknownInstallerError,
   165  	}
   166  }
   167  
   168  func (e AgentInstallFailedReason) Strings() []string {
   169  	return EnumValuesAsStrings(e.Values())
   170  }
   171  
   172  func init() {
   173  	t["AgentInstallFailedReason"] = reflect.TypeOf((*AgentInstallFailedReason)(nil)).Elem()
   174  }
   175  
   176  // Alarm entity type
   177  type AlarmFilterSpecAlarmTypeByEntity string
   178  
   179  const (
   180  	// Alarms on all entity types.
   181  	AlarmFilterSpecAlarmTypeByEntityEntityTypeAll = AlarmFilterSpecAlarmTypeByEntity("entityTypeAll")
   182  	// Host alarms
   183  	AlarmFilterSpecAlarmTypeByEntityEntityTypeHost = AlarmFilterSpecAlarmTypeByEntity("entityTypeHost")
   184  	// VM alarms
   185  	AlarmFilterSpecAlarmTypeByEntityEntityTypeVm = AlarmFilterSpecAlarmTypeByEntity("entityTypeVm")
   186  )
   187  
   188  func (e AlarmFilterSpecAlarmTypeByEntity) Values() []AlarmFilterSpecAlarmTypeByEntity {
   189  	return []AlarmFilterSpecAlarmTypeByEntity{
   190  		AlarmFilterSpecAlarmTypeByEntityEntityTypeAll,
   191  		AlarmFilterSpecAlarmTypeByEntityEntityTypeHost,
   192  		AlarmFilterSpecAlarmTypeByEntityEntityTypeVm,
   193  	}
   194  }
   195  
   196  func (e AlarmFilterSpecAlarmTypeByEntity) Strings() []string {
   197  	return EnumValuesAsStrings(e.Values())
   198  }
   199  
   200  func init() {
   201  	t["AlarmFilterSpecAlarmTypeByEntity"] = reflect.TypeOf((*AlarmFilterSpecAlarmTypeByEntity)(nil)).Elem()
   202  }
   203  
   204  // Alarm triggering type.
   205  //
   206  // The main divisions are event triggered and
   207  // metric- or state-based alarms.
   208  type AlarmFilterSpecAlarmTypeByTrigger string
   209  
   210  const (
   211  	// All alarm types.
   212  	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeAll = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeAll")
   213  	// Event based alarms
   214  	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeEvent = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeEvent")
   215  	// Metric or state alarms
   216  	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeMetric = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeMetric")
   217  )
   218  
   219  func (e AlarmFilterSpecAlarmTypeByTrigger) Values() []AlarmFilterSpecAlarmTypeByTrigger {
   220  	return []AlarmFilterSpecAlarmTypeByTrigger{
   221  		AlarmFilterSpecAlarmTypeByTriggerTriggerTypeAll,
   222  		AlarmFilterSpecAlarmTypeByTriggerTriggerTypeEvent,
   223  		AlarmFilterSpecAlarmTypeByTriggerTriggerTypeMetric,
   224  	}
   225  }
   226  
   227  func (e AlarmFilterSpecAlarmTypeByTrigger) Strings() []string {
   228  	return EnumValuesAsStrings(e.Values())
   229  }
   230  
   231  func init() {
   232  	t["AlarmFilterSpecAlarmTypeByTrigger"] = reflect.TypeOf((*AlarmFilterSpecAlarmTypeByTrigger)(nil)).Elem()
   233  }
   234  
   235  // Defines the result status values for a validating answer file.
   236  type AnswerFileValidationInfoStatus string
   237  
   238  const (
   239  	// Answer File validation was successful.
   240  	AnswerFileValidationInfoStatusSuccess = AnswerFileValidationInfoStatus("success")
   241  	// Answer File validation failed.
   242  	AnswerFileValidationInfoStatusFailed = AnswerFileValidationInfoStatus("failed")
   243  	// Answer File validation failed to generate default.
   244  	AnswerFileValidationInfoStatusFailed_defaults = AnswerFileValidationInfoStatus("failed_defaults")
   245  )
   246  
   247  func (e AnswerFileValidationInfoStatus) Values() []AnswerFileValidationInfoStatus {
   248  	return []AnswerFileValidationInfoStatus{
   249  		AnswerFileValidationInfoStatusSuccess,
   250  		AnswerFileValidationInfoStatusFailed,
   251  		AnswerFileValidationInfoStatusFailed_defaults,
   252  	}
   253  }
   254  
   255  func (e AnswerFileValidationInfoStatus) Strings() []string {
   256  	return EnumValuesAsStrings(e.Values())
   257  }
   258  
   259  func init() {
   260  	t["AnswerFileValidationInfoStatus"] = reflect.TypeOf((*AnswerFileValidationInfoStatus)(nil)).Elem()
   261  }
   262  
   263  type ApplyHostProfileConfigurationResultStatus string
   264  
   265  const (
   266  	// Remediation succeeded.
   267  	ApplyHostProfileConfigurationResultStatusSuccess = ApplyHostProfileConfigurationResultStatus("success")
   268  	// Remediation failed.
   269  	ApplyHostProfileConfigurationResultStatusFailed = ApplyHostProfileConfigurationResultStatus("failed")
   270  	// Remediation succeeded but reboot after remediation failed.
   271  	//
   272  	// May treat this as a warning.
   273  	ApplyHostProfileConfigurationResultStatusReboot_failed = ApplyHostProfileConfigurationResultStatus("reboot_failed")
   274  	// Stateless reboot for remediation failed.
   275  	ApplyHostProfileConfigurationResultStatusStateless_reboot_failed = ApplyHostProfileConfigurationResultStatus("stateless_reboot_failed")
   276  	// Remediation and reboot succeeded but check compliance after reboot
   277  	// failed.
   278  	//
   279  	// May treat this as a warning.
   280  	ApplyHostProfileConfigurationResultStatusCheck_compliance_failed = ApplyHostProfileConfigurationResultStatus("check_compliance_failed")
   281  	// The required state is not satisfied so host profiel apply cannot
   282  	// be done.
   283  	ApplyHostProfileConfigurationResultStatusState_not_satisfied = ApplyHostProfileConfigurationResultStatus("state_not_satisfied")
   284  	// Exit maintenance mode failed.
   285  	ApplyHostProfileConfigurationResultStatusExit_maintenancemode_failed = ApplyHostProfileConfigurationResultStatus("exit_maintenancemode_failed")
   286  	// The remediation was canceled.
   287  	ApplyHostProfileConfigurationResultStatusCanceled = ApplyHostProfileConfigurationResultStatus("canceled")
   288  )
   289  
   290  func (e ApplyHostProfileConfigurationResultStatus) Values() []ApplyHostProfileConfigurationResultStatus {
   291  	return []ApplyHostProfileConfigurationResultStatus{
   292  		ApplyHostProfileConfigurationResultStatusSuccess,
   293  		ApplyHostProfileConfigurationResultStatusFailed,
   294  		ApplyHostProfileConfigurationResultStatusReboot_failed,
   295  		ApplyHostProfileConfigurationResultStatusStateless_reboot_failed,
   296  		ApplyHostProfileConfigurationResultStatusCheck_compliance_failed,
   297  		ApplyHostProfileConfigurationResultStatusState_not_satisfied,
   298  		ApplyHostProfileConfigurationResultStatusExit_maintenancemode_failed,
   299  		ApplyHostProfileConfigurationResultStatusCanceled,
   300  	}
   301  }
   302  
   303  func (e ApplyHostProfileConfigurationResultStatus) Strings() []string {
   304  	return EnumValuesAsStrings(e.Values())
   305  }
   306  
   307  func init() {
   308  	t["ApplyHostProfileConfigurationResultStatus"] = reflect.TypeOf((*ApplyHostProfileConfigurationResultStatus)(nil)).Elem()
   309  }
   310  
   311  // This list specifies the type of operation being performed on the array.
   312  type ArrayUpdateOperation string
   313  
   314  const (
   315  	// indicates an addition to the array.
   316  	ArrayUpdateOperationAdd = ArrayUpdateOperation("add")
   317  	// indicates the removal of an element in the
   318  	// array.
   319  	//
   320  	// In this case the key field must contain the key of the element
   321  	// to be removed.
   322  	ArrayUpdateOperationRemove = ArrayUpdateOperation("remove")
   323  	// indicates changes to an element in the array.
   324  	ArrayUpdateOperationEdit = ArrayUpdateOperation("edit")
   325  )
   326  
   327  func (e ArrayUpdateOperation) Values() []ArrayUpdateOperation {
   328  	return []ArrayUpdateOperation{
   329  		ArrayUpdateOperationAdd,
   330  		ArrayUpdateOperationRemove,
   331  		ArrayUpdateOperationEdit,
   332  	}
   333  }
   334  
   335  func (e ArrayUpdateOperation) Strings() []string {
   336  	return EnumValuesAsStrings(e.Values())
   337  }
   338  
   339  func init() {
   340  	t["ArrayUpdateOperation"] = reflect.TypeOf((*ArrayUpdateOperation)(nil)).Elem()
   341  }
   342  
   343  type AutoStartAction string
   344  
   345  const (
   346  	// No action is taken for this virtual machine.
   347  	//
   348  	// This virtual machine is
   349  	// not a part of the auto-start sequence. This can be used for both auto-start
   350  	// and auto-start settings.
   351  	AutoStartActionNone = AutoStartAction("none")
   352  	// The default system action is taken for this virtual machine when it is next in
   353  	// the auto-start order.
   354  	//
   355  	// This can be used for both auto-start and auto-start
   356  	// settings.
   357  	AutoStartActionSystemDefault = AutoStartAction("systemDefault")
   358  	// This virtual machine is powered on when it is next in the auto-start order.
   359  	AutoStartActionPowerOn = AutoStartAction("powerOn")
   360  	// This virtual machine is powered off when it is next in the auto-stop order.
   361  	//
   362  	// This is the default stopAction.
   363  	AutoStartActionPowerOff = AutoStartAction("powerOff")
   364  	// The guest operating system for a virtual machine is shut down when that
   365  	// virtual machine in next in the auto-stop order.
   366  	AutoStartActionGuestShutdown = AutoStartAction("guestShutdown")
   367  	// This virtual machine is suspended when it is next in the auto-stop order.
   368  	AutoStartActionSuspend = AutoStartAction("suspend")
   369  )
   370  
   371  func (e AutoStartAction) Values() []AutoStartAction {
   372  	return []AutoStartAction{
   373  		AutoStartActionNone,
   374  		AutoStartActionSystemDefault,
   375  		AutoStartActionPowerOn,
   376  		AutoStartActionPowerOff,
   377  		AutoStartActionGuestShutdown,
   378  		AutoStartActionSuspend,
   379  	}
   380  }
   381  
   382  func (e AutoStartAction) Strings() []string {
   383  	return EnumValuesAsStrings(e.Values())
   384  }
   385  
   386  func init() {
   387  	t["AutoStartAction"] = reflect.TypeOf((*AutoStartAction)(nil)).Elem()
   388  }
   389  
   390  // Determines if the virtual machine should start after receiving a heartbeat,
   391  // ignore heartbeats and start after the startDelay has elapsed, or follow the
   392  // system default before powering on.
   393  //
   394  // When a virtual machine is next in the start
   395  // order, the system either waits a specified period of time for a virtual
   396  // machine to power on or it waits until it receives a successful heartbeat from a
   397  // powered on virtual machine. By default, this is set to no.
   398  type AutoStartWaitHeartbeatSetting string
   399  
   400  const (
   401  	// The system waits until receiving a heartbeat before powering on the next
   402  	// machine in the order.
   403  	AutoStartWaitHeartbeatSettingYes = AutoStartWaitHeartbeatSetting("yes")
   404  	// The system does not wait to receive a heartbeat before powering on the next
   405  	// machine in the order.
   406  	//
   407  	// This is the default setting.
   408  	AutoStartWaitHeartbeatSettingNo = AutoStartWaitHeartbeatSetting("no")
   409  	// The system uses the default value to determine whether or not to wait to
   410  	// receive a heartbeat before powering on the next machine in the order.
   411  	AutoStartWaitHeartbeatSettingSystemDefault = AutoStartWaitHeartbeatSetting("systemDefault")
   412  )
   413  
   414  func (e AutoStartWaitHeartbeatSetting) Values() []AutoStartWaitHeartbeatSetting {
   415  	return []AutoStartWaitHeartbeatSetting{
   416  		AutoStartWaitHeartbeatSettingYes,
   417  		AutoStartWaitHeartbeatSettingNo,
   418  		AutoStartWaitHeartbeatSettingSystemDefault,
   419  	}
   420  }
   421  
   422  func (e AutoStartWaitHeartbeatSetting) Strings() []string {
   423  	return EnumValuesAsStrings(e.Values())
   424  }
   425  
   426  func init() {
   427  	t["AutoStartWaitHeartbeatSetting"] = reflect.TypeOf((*AutoStartWaitHeartbeatSetting)(nil)).Elem()
   428  }
   429  
   430  // Provisioning type constants.
   431  type BaseConfigInfoDiskFileBackingInfoProvisioningType string
   432  
   433  const (
   434  	// Space required for thin-provisioned virtual disk is allocated
   435  	// and zeroed on demand as the space is used.
   436  	BaseConfigInfoDiskFileBackingInfoProvisioningTypeThin = BaseConfigInfoDiskFileBackingInfoProvisioningType("thin")
   437  	// An eager zeroed thick virtual disk has all space allocated and
   438  	// wiped clean of any previous contents on the physical media at
   439  	// creation time.
   440  	//
   441  	// Such virtual disk may take longer time
   442  	// during creation compared to other provisioning formats.
   443  	BaseConfigInfoDiskFileBackingInfoProvisioningTypeEagerZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("eagerZeroedThick")
   444  	// A thick virtual disk has all space allocated at creation time.
   445  	//
   446  	// This space may contain stale data on the physical media.
   447  	BaseConfigInfoDiskFileBackingInfoProvisioningTypeLazyZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("lazyZeroedThick")
   448  )
   449  
   450  func (e BaseConfigInfoDiskFileBackingInfoProvisioningType) Values() []BaseConfigInfoDiskFileBackingInfoProvisioningType {
   451  	return []BaseConfigInfoDiskFileBackingInfoProvisioningType{
   452  		BaseConfigInfoDiskFileBackingInfoProvisioningTypeThin,
   453  		BaseConfigInfoDiskFileBackingInfoProvisioningTypeEagerZeroedThick,
   454  		BaseConfigInfoDiskFileBackingInfoProvisioningTypeLazyZeroedThick,
   455  	}
   456  }
   457  
   458  func (e BaseConfigInfoDiskFileBackingInfoProvisioningType) Strings() []string {
   459  	return EnumValuesAsStrings(e.Values())
   460  }
   461  
   462  func init() {
   463  	t["BaseConfigInfoDiskFileBackingInfoProvisioningType"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfoProvisioningType)(nil)).Elem()
   464  }
   465  
   466  // Enum representing result of batch-APis.
   467  type BatchResultResult string
   468  
   469  const (
   470  	BatchResultResultSuccess = BatchResultResult("success")
   471  	BatchResultResultFail    = BatchResultResult("fail")
   472  )
   473  
   474  func (e BatchResultResult) Values() []BatchResultResult {
   475  	return []BatchResultResult{
   476  		BatchResultResultSuccess,
   477  		BatchResultResultFail,
   478  	}
   479  }
   480  
   481  func (e BatchResultResult) Strings() []string {
   482  	return EnumValuesAsStrings(e.Values())
   483  }
   484  
   485  func init() {
   486  	t["BatchResultResult"] = reflect.TypeOf((*BatchResultResult)(nil)).Elem()
   487  }
   488  
   489  type CannotEnableVmcpForClusterReason string
   490  
   491  const (
   492  	// APD timeout has been disabled on one of the host
   493  	CannotEnableVmcpForClusterReasonAPDTimeoutDisabled = CannotEnableVmcpForClusterReason("APDTimeoutDisabled")
   494  )
   495  
   496  func (e CannotEnableVmcpForClusterReason) Values() []CannotEnableVmcpForClusterReason {
   497  	return []CannotEnableVmcpForClusterReason{
   498  		CannotEnableVmcpForClusterReasonAPDTimeoutDisabled,
   499  	}
   500  }
   501  
   502  func (e CannotEnableVmcpForClusterReason) Strings() []string {
   503  	return EnumValuesAsStrings(e.Values())
   504  }
   505  
   506  func init() {
   507  	t["CannotEnableVmcpForClusterReason"] = reflect.TypeOf((*CannotEnableVmcpForClusterReason)(nil)).Elem()
   508  }
   509  
   510  type CannotMoveFaultToleranceVmMoveType string
   511  
   512  const (
   513  	// Move out of the resouce pool
   514  	CannotMoveFaultToleranceVmMoveTypeResourcePool = CannotMoveFaultToleranceVmMoveType("resourcePool")
   515  	// Move out of the cluster
   516  	CannotMoveFaultToleranceVmMoveTypeCluster = CannotMoveFaultToleranceVmMoveType("cluster")
   517  )
   518  
   519  func (e CannotMoveFaultToleranceVmMoveType) Values() []CannotMoveFaultToleranceVmMoveType {
   520  	return []CannotMoveFaultToleranceVmMoveType{
   521  		CannotMoveFaultToleranceVmMoveTypeResourcePool,
   522  		CannotMoveFaultToleranceVmMoveTypeCluster,
   523  	}
   524  }
   525  
   526  func (e CannotMoveFaultToleranceVmMoveType) Strings() []string {
   527  	return EnumValuesAsStrings(e.Values())
   528  }
   529  
   530  func init() {
   531  	t["CannotMoveFaultToleranceVmMoveType"] = reflect.TypeOf((*CannotMoveFaultToleranceVmMoveType)(nil)).Elem()
   532  }
   533  
   534  type CannotPowerOffVmInClusterOperation string
   535  
   536  const (
   537  	// suspend
   538  	CannotPowerOffVmInClusterOperationSuspend = CannotPowerOffVmInClusterOperation("suspend")
   539  	// power off
   540  	CannotPowerOffVmInClusterOperationPowerOff = CannotPowerOffVmInClusterOperation("powerOff")
   541  	// guest shutdown
   542  	CannotPowerOffVmInClusterOperationGuestShutdown = CannotPowerOffVmInClusterOperation("guestShutdown")
   543  	// guest suspend
   544  	CannotPowerOffVmInClusterOperationGuestSuspend = CannotPowerOffVmInClusterOperation("guestSuspend")
   545  )
   546  
   547  func (e CannotPowerOffVmInClusterOperation) Values() []CannotPowerOffVmInClusterOperation {
   548  	return []CannotPowerOffVmInClusterOperation{
   549  		CannotPowerOffVmInClusterOperationSuspend,
   550  		CannotPowerOffVmInClusterOperationPowerOff,
   551  		CannotPowerOffVmInClusterOperationGuestShutdown,
   552  		CannotPowerOffVmInClusterOperationGuestSuspend,
   553  	}
   554  }
   555  
   556  func (e CannotPowerOffVmInClusterOperation) Strings() []string {
   557  	return EnumValuesAsStrings(e.Values())
   558  }
   559  
   560  func init() {
   561  	t["CannotPowerOffVmInClusterOperation"] = reflect.TypeOf((*CannotPowerOffVmInClusterOperation)(nil)).Elem()
   562  }
   563  
   564  type CannotUseNetworkReason string
   565  
   566  const (
   567  	// Network does not support reservation
   568  	CannotUseNetworkReasonNetworkReservationNotSupported = CannotUseNetworkReason("NetworkReservationNotSupported")
   569  	// Source and destination networks do not have same security policies
   570  	CannotUseNetworkReasonMismatchedNetworkPolicies = CannotUseNetworkReason("MismatchedNetworkPolicies")
   571  	// Source and destination DVS do not have same version or vendor
   572  	CannotUseNetworkReasonMismatchedDvsVersionOrVendor = CannotUseNetworkReason("MismatchedDvsVersionOrVendor")
   573  	// VMotion to unsupported destination network type
   574  	CannotUseNetworkReasonVMotionToUnsupportedNetworkType = CannotUseNetworkReason("VMotionToUnsupportedNetworkType")
   575  	// The network is under maintenance
   576  	CannotUseNetworkReasonNetworkUnderMaintenance = CannotUseNetworkReason("NetworkUnderMaintenance")
   577  	// Source and destination networks do not have same ENS(Enhanced Network Stack) mode
   578  	CannotUseNetworkReasonMismatchedEnsMode = CannotUseNetworkReason("MismatchedEnsMode")
   579  	// Source and destination networks do not have the same real-time flag
   580  	CannotUseNetworkReasonMismatchedRealTimeDvs = CannotUseNetworkReason("MismatchedRealTimeDvs")
   581  )
   582  
   583  func (e CannotUseNetworkReason) Values() []CannotUseNetworkReason {
   584  	return []CannotUseNetworkReason{
   585  		CannotUseNetworkReasonNetworkReservationNotSupported,
   586  		CannotUseNetworkReasonMismatchedNetworkPolicies,
   587  		CannotUseNetworkReasonMismatchedDvsVersionOrVendor,
   588  		CannotUseNetworkReasonVMotionToUnsupportedNetworkType,
   589  		CannotUseNetworkReasonNetworkUnderMaintenance,
   590  		CannotUseNetworkReasonMismatchedEnsMode,
   591  		CannotUseNetworkReasonMismatchedRealTimeDvs,
   592  	}
   593  }
   594  
   595  func (e CannotUseNetworkReason) Strings() []string {
   596  	return EnumValuesAsStrings(e.Values())
   597  }
   598  
   599  func init() {
   600  	t["CannotUseNetworkReason"] = reflect.TypeOf((*CannotUseNetworkReason)(nil)).Elem()
   601  	minAPIVersionForEnumValue["CannotUseNetworkReason"] = map[string]string{
   602  		"MismatchedRealTimeDvs": "8.0.3.1",
   603  	}
   604  }
   605  
   606  // The types of tests which can requested by any of the methods in either
   607  // `VirtualMachineCompatibilityChecker` or `VirtualMachineProvisioningChecker`.
   608  type CheckTestType string
   609  
   610  const (
   611  	// Tests that examine only the configuration
   612  	// of the virtual machine and its current host; the destination
   613  	// resource pool and host or cluster are irrelevant.
   614  	CheckTestTypeSourceTests = CheckTestType("sourceTests")
   615  	// Tests that examine both the virtual
   616  	// machine and the destination host or cluster; the destination
   617  	// resource pool is irrelevant.
   618  	//
   619  	// This set excludes tests that fall
   620  	// into the datastoreTests group.
   621  	CheckTestTypeHostTests = CheckTestType("hostTests")
   622  	// Tests that check that the destination resource
   623  	// pool can support the virtual machine if it is powered on.
   624  	//
   625  	// The
   626  	// destination host or cluster is relevant because it will affect the
   627  	// amount of overhead memory required to run the virtual machine.
   628  	CheckTestTypeResourcePoolTests = CheckTestType("resourcePoolTests")
   629  	// Tests that check that the
   630  	// destination host or cluster can see the datastores where the virtual
   631  	// machine's virtual disks are going to be located.
   632  	//
   633  	// The destination
   634  	// resource pool is irrelevant.
   635  	CheckTestTypeDatastoreTests = CheckTestType("datastoreTests")
   636  	// Tests that check that the
   637  	// destination host or cluster can see the networks that the virtual
   638  	// machine's virtual nic devices are going to be connected.
   639  	CheckTestTypeNetworkTests = CheckTestType("networkTests")
   640  )
   641  
   642  func (e CheckTestType) Values() []CheckTestType {
   643  	return []CheckTestType{
   644  		CheckTestTypeSourceTests,
   645  		CheckTestTypeHostTests,
   646  		CheckTestTypeResourcePoolTests,
   647  		CheckTestTypeDatastoreTests,
   648  		CheckTestTypeNetworkTests,
   649  	}
   650  }
   651  
   652  func (e CheckTestType) Strings() []string {
   653  	return EnumValuesAsStrings(e.Values())
   654  }
   655  
   656  func init() {
   657  	t["CheckTestType"] = reflect.TypeOf((*CheckTestType)(nil)).Elem()
   658  }
   659  
   660  // HCIWorkflowState identifies the state of the cluser from the perspective of HCI
   661  // workflow.
   662  //
   663  // The workflow begins with in\_progress mode and can transition
   664  // to 'done' or 'invalid', both of which are terminal states.
   665  type ClusterComputeResourceHCIWorkflowState string
   666  
   667  const (
   668  	// Indicates cluster is getting configured or will be configured.
   669  	ClusterComputeResourceHCIWorkflowStateIn_progress = ClusterComputeResourceHCIWorkflowState("in_progress")
   670  	// Indicates cluster configuration is complete.
   671  	ClusterComputeResourceHCIWorkflowStateDone = ClusterComputeResourceHCIWorkflowState("done")
   672  	// Indicates the workflow was abandoned on the cluster before the
   673  	// configuration could complete.
   674  	ClusterComputeResourceHCIWorkflowStateInvalid = ClusterComputeResourceHCIWorkflowState("invalid")
   675  )
   676  
   677  func (e ClusterComputeResourceHCIWorkflowState) Values() []ClusterComputeResourceHCIWorkflowState {
   678  	return []ClusterComputeResourceHCIWorkflowState{
   679  		ClusterComputeResourceHCIWorkflowStateIn_progress,
   680  		ClusterComputeResourceHCIWorkflowStateDone,
   681  		ClusterComputeResourceHCIWorkflowStateInvalid,
   682  	}
   683  }
   684  
   685  func (e ClusterComputeResourceHCIWorkflowState) Strings() []string {
   686  	return EnumValuesAsStrings(e.Values())
   687  }
   688  
   689  func init() {
   690  	t["ClusterComputeResourceHCIWorkflowState"] = reflect.TypeOf((*ClusterComputeResourceHCIWorkflowState)(nil)).Elem()
   691  }
   692  
   693  type ClusterComputeResourceVcsHealthStatus string
   694  
   695  const (
   696  	// Indicates vCS health status is normal.
   697  	ClusterComputeResourceVcsHealthStatusHealthy = ClusterComputeResourceVcsHealthStatus("healthy")
   698  	// Indicates only vCS is unhealthy.
   699  	ClusterComputeResourceVcsHealthStatusDegraded = ClusterComputeResourceVcsHealthStatus("degraded")
   700  	// Indicates vCS is unhealthy and other cluster services are impacted.
   701  	ClusterComputeResourceVcsHealthStatusNonhealthy = ClusterComputeResourceVcsHealthStatus("nonhealthy")
   702  )
   703  
   704  func (e ClusterComputeResourceVcsHealthStatus) Values() []ClusterComputeResourceVcsHealthStatus {
   705  	return []ClusterComputeResourceVcsHealthStatus{
   706  		ClusterComputeResourceVcsHealthStatusHealthy,
   707  		ClusterComputeResourceVcsHealthStatusDegraded,
   708  		ClusterComputeResourceVcsHealthStatusNonhealthy,
   709  	}
   710  }
   711  
   712  func (e ClusterComputeResourceVcsHealthStatus) Strings() []string {
   713  	return EnumValuesAsStrings(e.Values())
   714  }
   715  
   716  func init() {
   717  	t["ClusterComputeResourceVcsHealthStatus"] = reflect.TypeOf((*ClusterComputeResourceVcsHealthStatus)(nil)).Elem()
   718  	minAPIVersionForType["ClusterComputeResourceVcsHealthStatus"] = "7.0.1.1"
   719  }
   720  
   721  type ClusterCryptoConfigInfoCryptoMode string
   722  
   723  const (
   724  	// Put each host into the crypto safe state automatically when needed.
   725  	ClusterCryptoConfigInfoCryptoModeOnDemand = ClusterCryptoConfigInfoCryptoMode("onDemand")
   726  	// Put each host into the crypto safe state immediately.
   727  	ClusterCryptoConfigInfoCryptoModeForceEnable = ClusterCryptoConfigInfoCryptoMode("forceEnable")
   728  )
   729  
   730  func (e ClusterCryptoConfigInfoCryptoMode) Values() []ClusterCryptoConfigInfoCryptoMode {
   731  	return []ClusterCryptoConfigInfoCryptoMode{
   732  		ClusterCryptoConfigInfoCryptoModeOnDemand,
   733  		ClusterCryptoConfigInfoCryptoModeForceEnable,
   734  	}
   735  }
   736  
   737  func (e ClusterCryptoConfigInfoCryptoMode) Strings() []string {
   738  	return EnumValuesAsStrings(e.Values())
   739  }
   740  
   741  func init() {
   742  	t["ClusterCryptoConfigInfoCryptoMode"] = reflect.TypeOf((*ClusterCryptoConfigInfoCryptoMode)(nil)).Elem()
   743  }
   744  
   745  // The `ClusterDasAamNodeStateDasState_enum` enumerated type defines
   746  // values for host HA configuration and runtime state properties
   747  // (`ClusterDasAamNodeState.configState` and
   748  // `ClusterDasAamNodeState.runtimeState`).
   749  type ClusterDasAamNodeStateDasState string
   750  
   751  const (
   752  	// HA has never been enabled on the the host.
   753  	ClusterDasAamNodeStateDasStateUninitialized = ClusterDasAamNodeStateDasState("uninitialized")
   754  	// HA agents have been installed but are not running on the the host.
   755  	ClusterDasAamNodeStateDasStateInitialized = ClusterDasAamNodeStateDasState("initialized")
   756  	// HA configuration is in progress.
   757  	ClusterDasAamNodeStateDasStateConfiguring = ClusterDasAamNodeStateDasState("configuring")
   758  	// HA configuration is being removed.
   759  	ClusterDasAamNodeStateDasStateUnconfiguring = ClusterDasAamNodeStateDasState("unconfiguring")
   760  	// HA agent is running on this host.
   761  	ClusterDasAamNodeStateDasStateRunning = ClusterDasAamNodeStateDasState("running")
   762  	// There is an error condition.
   763  	//
   764  	// This can represent a configuration
   765  	// error or a host agent runtime error.
   766  	ClusterDasAamNodeStateDasStateError = ClusterDasAamNodeStateDasState("error")
   767  	// The HA agent has been shut down.
   768  	ClusterDasAamNodeStateDasStateAgentShutdown = ClusterDasAamNodeStateDasState("agentShutdown")
   769  	// The host is not reachable.
   770  	//
   771  	// This can represent a host failure
   772  	// or an isolated host.
   773  	ClusterDasAamNodeStateDasStateNodeFailed = ClusterDasAamNodeStateDasState("nodeFailed")
   774  )
   775  
   776  func (e ClusterDasAamNodeStateDasState) Values() []ClusterDasAamNodeStateDasState {
   777  	return []ClusterDasAamNodeStateDasState{
   778  		ClusterDasAamNodeStateDasStateUninitialized,
   779  		ClusterDasAamNodeStateDasStateInitialized,
   780  		ClusterDasAamNodeStateDasStateConfiguring,
   781  		ClusterDasAamNodeStateDasStateUnconfiguring,
   782  		ClusterDasAamNodeStateDasStateRunning,
   783  		ClusterDasAamNodeStateDasStateError,
   784  		ClusterDasAamNodeStateDasStateAgentShutdown,
   785  		ClusterDasAamNodeStateDasStateNodeFailed,
   786  	}
   787  }
   788  
   789  func (e ClusterDasAamNodeStateDasState) Strings() []string {
   790  	return EnumValuesAsStrings(e.Values())
   791  }
   792  
   793  func init() {
   794  	t["ClusterDasAamNodeStateDasState"] = reflect.TypeOf((*ClusterDasAamNodeStateDasState)(nil)).Elem()
   795  }
   796  
   797  // The policy to determine the candidates from which vCenter Server can
   798  // choose heartbeat datastores.
   799  type ClusterDasConfigInfoHBDatastoreCandidate string
   800  
   801  const (
   802  	// vCenter Server chooses heartbeat datastores from the set specified
   803  	// by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
   804  	//
   805  	// More specifically,
   806  	// datastores not included in the set will not be chosen. Note that if
   807  	// `ClusterDasConfigInfo.heartbeatDatastore` is empty, datastore heartbeating will
   808  	// be disabled for HA.
   809  	ClusterDasConfigInfoHBDatastoreCandidateUserSelectedDs = ClusterDasConfigInfoHBDatastoreCandidate("userSelectedDs")
   810  	// vCenter Server chooses heartbeat datastores from all the feasible ones,
   811  	// i.e., the datastores that are accessible to more than one host in
   812  	// the cluster.
   813  	//
   814  	// The choice will be made without giving preference to those
   815  	// specified by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
   816  	ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDs = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDs")
   817  	// vCenter Server chooses heartbeat datastores from all the feasible ones
   818  	// while giving preference to those specified by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
   819  	//
   820  	// More specifically, the datastores not included in `ClusterDasConfigInfo.heartbeatDatastore` will be
   821  	// chosen if and only if the specified ones are not sufficient.
   822  	ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDsWithUserPreference = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDsWithUserPreference")
   823  )
   824  
   825  func (e ClusterDasConfigInfoHBDatastoreCandidate) Values() []ClusterDasConfigInfoHBDatastoreCandidate {
   826  	return []ClusterDasConfigInfoHBDatastoreCandidate{
   827  		ClusterDasConfigInfoHBDatastoreCandidateUserSelectedDs,
   828  		ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDs,
   829  		ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDsWithUserPreference,
   830  	}
   831  }
   832  
   833  func (e ClusterDasConfigInfoHBDatastoreCandidate) Strings() []string {
   834  	return EnumValuesAsStrings(e.Values())
   835  }
   836  
   837  func init() {
   838  	t["ClusterDasConfigInfoHBDatastoreCandidate"] = reflect.TypeOf((*ClusterDasConfigInfoHBDatastoreCandidate)(nil)).Elem()
   839  }
   840  
   841  // Possible states of an HA service.
   842  //
   843  // All services support the
   844  // disabled and enabled states.
   845  type ClusterDasConfigInfoServiceState string
   846  
   847  const (
   848  	// HA service is disabled.
   849  	ClusterDasConfigInfoServiceStateDisabled = ClusterDasConfigInfoServiceState("disabled")
   850  	// HA service is enabled.
   851  	ClusterDasConfigInfoServiceStateEnabled = ClusterDasConfigInfoServiceState("enabled")
   852  )
   853  
   854  func (e ClusterDasConfigInfoServiceState) Values() []ClusterDasConfigInfoServiceState {
   855  	return []ClusterDasConfigInfoServiceState{
   856  		ClusterDasConfigInfoServiceStateDisabled,
   857  		ClusterDasConfigInfoServiceStateEnabled,
   858  	}
   859  }
   860  
   861  func (e ClusterDasConfigInfoServiceState) Strings() []string {
   862  	return EnumValuesAsStrings(e.Values())
   863  }
   864  
   865  func init() {
   866  	t["ClusterDasConfigInfoServiceState"] = reflect.TypeOf((*ClusterDasConfigInfoServiceState)(nil)).Elem()
   867  }
   868  
   869  // The `ClusterDasConfigInfoVmMonitoringState_enum` enum defines values that indicate
   870  // the state of Virtual Machine Health Monitoring.
   871  //
   872  // Health Monitoring
   873  // uses the vmTools (guest) and application agent heartbeat modules.
   874  // You can configure HA to respond to heartbeat failures of either one
   875  // or both modules. You can also disable the HA response to heartbeat failures.
   876  //   - To set the cluster default for health monitoring, use the
   877  //     ClusterConfigSpecEx.dasConfig.`ClusterDasConfigInfo.vmMonitoring` property.
   878  //   - To set health monitoring for a virtual machine, use the
   879  //     ClusterConfigSpecEx.dasVmConfigSpec.info.dasSettings.`ClusterDasVmSettings.vmToolsMonitoringSettings` property.
   880  //   - To retrieve the current state of health monitoring (cluster setting), use the
   881  //     ClusterConfigInfoEx.dasConfig.`ClusterDasConfigInfo.vmMonitoring`
   882  //     property.
   883  //   - To retrieve the current state of health monitoring for a virtual machine, use the
   884  //     ClusterConfigInfoEx.dasVmConfig\[\].dasSettings.vmToolsMonitoringSettings.`ClusterVmToolsMonitoringSettings.vmMonitoring`
   885  //     property.
   886  type ClusterDasConfigInfoVmMonitoringState string
   887  
   888  const (
   889  	// Virtual machine health monitoring is disabled.
   890  	//
   891  	// In this state,
   892  	// HA response to guest and application heartbeat failures are disabled.
   893  	ClusterDasConfigInfoVmMonitoringStateVmMonitoringDisabled = ClusterDasConfigInfoVmMonitoringState("vmMonitoringDisabled")
   894  	// HA response to guest heartbeat failure is enabled.
   895  	//
   896  	// To retrieve the guest heartbeat status, use the
   897  	// `VirtualMachine*.*VirtualMachine.guestHeartbeatStatus`
   898  	// property.
   899  	ClusterDasConfigInfoVmMonitoringStateVmMonitoringOnly = ClusterDasConfigInfoVmMonitoringState("vmMonitoringOnly")
   900  	// HA response to both guest and application heartbeat failure is enabled.
   901  	//   - To retrieve the guest heartbeat status, use the
   902  	//     `VirtualMachine*.*VirtualMachine.guestHeartbeatStatus`
   903  	//     property.
   904  	//   - To retrieve the application heartbeat status, use the
   905  	//     `GuestInfo*.*GuestInfo.appHeartbeatStatus`
   906  	//     property.
   907  	ClusterDasConfigInfoVmMonitoringStateVmAndAppMonitoring = ClusterDasConfigInfoVmMonitoringState("vmAndAppMonitoring")
   908  )
   909  
   910  func (e ClusterDasConfigInfoVmMonitoringState) Values() []ClusterDasConfigInfoVmMonitoringState {
   911  	return []ClusterDasConfigInfoVmMonitoringState{
   912  		ClusterDasConfigInfoVmMonitoringStateVmMonitoringDisabled,
   913  		ClusterDasConfigInfoVmMonitoringStateVmMonitoringOnly,
   914  		ClusterDasConfigInfoVmMonitoringStateVmAndAppMonitoring,
   915  	}
   916  }
   917  
   918  func (e ClusterDasConfigInfoVmMonitoringState) Strings() []string {
   919  	return EnumValuesAsStrings(e.Values())
   920  }
   921  
   922  func init() {
   923  	t["ClusterDasConfigInfoVmMonitoringState"] = reflect.TypeOf((*ClusterDasConfigInfoVmMonitoringState)(nil)).Elem()
   924  }
   925  
   926  // The `ClusterDasFdmAvailabilityState_enum` enumeration describes the
   927  // availability states of hosts in a vSphere HA cluster.
   928  //
   929  // In the HA
   930  // architecture, a agent called the Fault Domain Manager runs on
   931  // each active host. These agents elect a master and the others become
   932  // its slaves. The availability state assigned to a given host is
   933  // determined from information reported by the Fault Domain Manager
   934  // running on the host, by a Fault Domain Manager that has been elected
   935  // master, and by vCenter Server. See `ClusterDasFdmHostState`
   936  // for more information about the vSphere HA architecture.
   937  type ClusterDasFdmAvailabilityState string
   938  
   939  const (
   940  	// The Fault Domain Manager for the host has not yet been
   941  	// initialized.
   942  	//
   943  	// Hence the host is not part of a vSphere HA
   944  	// fault domain. This state is reported by vCenter Server or
   945  	// by the host itself.
   946  	ClusterDasFdmAvailabilityStateUninitialized = ClusterDasFdmAvailabilityState("uninitialized")
   947  	// The Fault Domain Manager on the host has been initialized and
   948  	// the host is either waiting to join the existing master or
   949  	// is participating in an election for a new master.
   950  	//
   951  	// This state
   952  	// is reported by vCenter Server or by the host itself.
   953  	ClusterDasFdmAvailabilityStateElection = ClusterDasFdmAvailabilityState("election")
   954  	// The Fault Domain Manager on the host has been elected a
   955  	// master.
   956  	//
   957  	// This state is reported by the the host itself.
   958  	ClusterDasFdmAvailabilityStateMaster = ClusterDasFdmAvailabilityState("master")
   959  	// The normal operating state for a slave host.
   960  	//
   961  	// In this state,
   962  	// the host is exchanging heartbeats with a master over
   963  	// the management network, and is thus connected to it. If
   964  	// there is a management network partition, the slave will be
   965  	// in this state only if it is in the same partition as the master.
   966  	// This state is reported by the master of a slave host.
   967  	ClusterDasFdmAvailabilityStateConnectedToMaster = ClusterDasFdmAvailabilityState("connectedToMaster")
   968  	// A slave host is alive and has management network connectivity, but
   969  	// the management network has been partitioned.
   970  	//
   971  	// This state is reported
   972  	// by masters that are in a partition other than the one containing the
   973  	// slave host; the master in the slave's partition will report the slave state
   974  	// as `connectedToMaster`.
   975  	ClusterDasFdmAvailabilityStateNetworkPartitionedFromMaster = ClusterDasFdmAvailabilityState("networkPartitionedFromMaster")
   976  	// A host is alive but is isolated from the management network.
   977  	//
   978  	// See `ClusterDasVmSettingsIsolationResponse_enum` for the criteria
   979  	// used to determine whether a host is isolated.
   980  	ClusterDasFdmAvailabilityStateNetworkIsolated = ClusterDasFdmAvailabilityState("networkIsolated")
   981  	// The slave host appears to be down.
   982  	//
   983  	// This state is reported by the
   984  	// master of a slave host.
   985  	ClusterDasFdmAvailabilityStateHostDown = ClusterDasFdmAvailabilityState("hostDown")
   986  	// An error occurred when initilizating the Fault Domain Manager
   987  	// on a host due to a problem with installing the
   988  	// agent or configuring it.
   989  	//
   990  	// This condition can often be cleared by
   991  	// reconfiguring HA for the host. This state is reported by vCenter
   992  	// Server.
   993  	ClusterDasFdmAvailabilityStateInitializationError = ClusterDasFdmAvailabilityState("initializationError")
   994  	// An error occurred when unconfiguring the Fault Domain Manager
   995  	// running on a host.
   996  	//
   997  	// In order to clear this condition the host might
   998  	// need to be reconnected to the cluster and reconfigured first.
   999  	// This state is reported by vCenter
  1000  	// Server.
  1001  	ClusterDasFdmAvailabilityStateUninitializationError = ClusterDasFdmAvailabilityState("uninitializationError")
  1002  	// The Fault Domain Manager (FDM) on the host cannot be reached.
  1003  	//
  1004  	// This
  1005  	// state is reported in two unlikely situations.
  1006  	//   - First, it is reported by
  1007  	//     a master if the host responds to ICMP pings sent by the master over the
  1008  	//     management network but the FDM on the host cannot be reached by the master.
  1009  	//     This situation will occur if the FDM is unable to run or exit the
  1010  	//     uninitialized state.
  1011  	//   - Second, it is reported by vCenter Server if it cannot connect to a
  1012  	//     master nor the FDM for the host. This situation would occur if all hosts
  1013  	//     in the cluster failed but vCenter Server is still running. It may also
  1014  	//     occur if all FDMs are unable to run or exit the uninitialized state.
  1015  	ClusterDasFdmAvailabilityStateFdmUnreachable = ClusterDasFdmAvailabilityState("fdmUnreachable")
  1016  	// Config/Reconfig/upgrade operation has failed in first attempt and
  1017  	// a retry of these operations is scheduled.
  1018  	//
  1019  	// If any of the retry attempts succeed, the state is set to initialized.
  1020  	// If all retry attempts fail, the state is set to initializationError.
  1021  	// This state is reported by vCenter.
  1022  	ClusterDasFdmAvailabilityStateRetry = ClusterDasFdmAvailabilityState("retry")
  1023  )
  1024  
  1025  func (e ClusterDasFdmAvailabilityState) Values() []ClusterDasFdmAvailabilityState {
  1026  	return []ClusterDasFdmAvailabilityState{
  1027  		ClusterDasFdmAvailabilityStateUninitialized,
  1028  		ClusterDasFdmAvailabilityStateElection,
  1029  		ClusterDasFdmAvailabilityStateMaster,
  1030  		ClusterDasFdmAvailabilityStateConnectedToMaster,
  1031  		ClusterDasFdmAvailabilityStateNetworkPartitionedFromMaster,
  1032  		ClusterDasFdmAvailabilityStateNetworkIsolated,
  1033  		ClusterDasFdmAvailabilityStateHostDown,
  1034  		ClusterDasFdmAvailabilityStateInitializationError,
  1035  		ClusterDasFdmAvailabilityStateUninitializationError,
  1036  		ClusterDasFdmAvailabilityStateFdmUnreachable,
  1037  		ClusterDasFdmAvailabilityStateRetry,
  1038  	}
  1039  }
  1040  
  1041  func (e ClusterDasFdmAvailabilityState) Strings() []string {
  1042  	return EnumValuesAsStrings(e.Values())
  1043  }
  1044  
  1045  func init() {
  1046  	t["ClusterDasFdmAvailabilityState"] = reflect.TypeOf((*ClusterDasFdmAvailabilityState)(nil)).Elem()
  1047  	minAPIVersionForEnumValue["ClusterDasFdmAvailabilityState"] = map[string]string{
  1048  		"retry": "8.0.0.0",
  1049  	}
  1050  }
  1051  
  1052  // The `ClusterDasVmSettingsIsolationResponse_enum` enum defines
  1053  // values that indicate whether or not the virtual machine should be
  1054  // powered off if a host determines that it is isolated from the rest of
  1055  // the cluster.
  1056  //
  1057  // Host network isolation occurs when a host is still running but it can no
  1058  // longer communicate with other hosts in the cluster and it cannot ping
  1059  // the configured isolation address(es). When the HA agent on a host loses
  1060  // contact with the other hosts, it will ping the isolation addresses. If
  1061  // the pings fail, the host will declare itself isolated.
  1062  //
  1063  // Once the HA agent declares the host isolated, it will initiate the
  1064  // isolation response workflow after a 30 second delay. You can use the FDM
  1065  // advanced option fdm.isolationPolicyDelaySec to increase the delay. For
  1066  // each virtual machine, the HA agent attempts to determine if a master is
  1067  // responsible for restarting the virtual machine. If it cannot make the
  1068  // determination, or there is a master that is responsible, the agent will
  1069  // apply the configured isolation response. This workflow will continue
  1070  // until the configuration policy, has been applied to all virtual
  1071  // machines, the agent reconnects to another HA agent in the cluster, or
  1072  // the isolation address pings start succeeding. If there is a master agent
  1073  // in the cluster, it will attempt to restart the virtual machines that
  1074  // were powered off during isolation.
  1075  //
  1076  // By default, the isolated host leaves its virtual machines powered on.
  1077  // You can override the isolation response default with a cluster-wide
  1078  // setting (`ClusterDasConfigInfo.defaultVmSettings`)
  1079  // or a virtual machine setting
  1080  // (`ClusterDasVmSettings.isolationResponse`).
  1081  //   - All isolation response values are valid for the
  1082  //     `ClusterDasVmSettings.isolationResponse`
  1083  //     property specified in a single virtual machine HA configuration.
  1084  //   - All values except for <code>clusterIsolationResponse</code> are valid
  1085  //     for the cluster-wide default HA configuration for virtual machines
  1086  //     (`ClusterDasConfigInfo.defaultVmSettings`).
  1087  //
  1088  // If you ensure that your network infrastructure is sufficiently redundant
  1089  // and that at least one network path is available at all times, host network
  1090  // isolation should be a rare occurrence.
  1091  type ClusterDasVmSettingsIsolationResponse string
  1092  
  1093  const (
  1094  	// Do not power off the virtual machine in the event of a host network
  1095  	// isolation.
  1096  	ClusterDasVmSettingsIsolationResponseNone = ClusterDasVmSettingsIsolationResponse("none")
  1097  	// Power off the virtual machine in the event of a host network
  1098  	// isolation.
  1099  	ClusterDasVmSettingsIsolationResponsePowerOff = ClusterDasVmSettingsIsolationResponse("powerOff")
  1100  	// Shut down the virtual machine guest operating system in the event of
  1101  	// a host network isolation.
  1102  	//
  1103  	// If the guest operating system fails to
  1104  	// shutdown within five minutes, HA will initiate a forced power off.
  1105  	//
  1106  	// When you use the shutdown isolation response, failover can take
  1107  	// longer (compared to the
  1108  	// `powerOff`
  1109  	// response) because the virtual machine cannot fail over until it is
  1110  	// shutdown.
  1111  	ClusterDasVmSettingsIsolationResponseShutdown = ClusterDasVmSettingsIsolationResponse("shutdown")
  1112  	// Use the default isolation response defined for the cluster
  1113  	// that contains this virtual machine.
  1114  	ClusterDasVmSettingsIsolationResponseClusterIsolationResponse = ClusterDasVmSettingsIsolationResponse("clusterIsolationResponse")
  1115  )
  1116  
  1117  func (e ClusterDasVmSettingsIsolationResponse) Values() []ClusterDasVmSettingsIsolationResponse {
  1118  	return []ClusterDasVmSettingsIsolationResponse{
  1119  		ClusterDasVmSettingsIsolationResponseNone,
  1120  		ClusterDasVmSettingsIsolationResponsePowerOff,
  1121  		ClusterDasVmSettingsIsolationResponseShutdown,
  1122  		ClusterDasVmSettingsIsolationResponseClusterIsolationResponse,
  1123  	}
  1124  }
  1125  
  1126  func (e ClusterDasVmSettingsIsolationResponse) Strings() []string {
  1127  	return EnumValuesAsStrings(e.Values())
  1128  }
  1129  
  1130  func init() {
  1131  	t["ClusterDasVmSettingsIsolationResponse"] = reflect.TypeOf((*ClusterDasVmSettingsIsolationResponse)(nil)).Elem()
  1132  }
  1133  
  1134  // The `ClusterDasVmSettingsRestartPriority_enum` enum defines
  1135  // virtual machine restart priority values to resolve resource contention.
  1136  //
  1137  // The priority determines the preference that HA gives to a virtual
  1138  // machine if sufficient capacity is not available to power on all failed
  1139  // virtual machines. For example, high priority virtual machines on a host
  1140  // get preference over low priority virtual machines.
  1141  //
  1142  // All priority values are valid for the restart priority specified in a
  1143  // single virtual machine HA configuration (`ClusterDasVmConfigInfo.dasSettings`).
  1144  // All values except for <code>clusterRestartPriority</code> are valid for
  1145  // the cluster-wide default HA configuration for virtual machines
  1146  // (`ClusterDasConfigInfo.defaultVmSettings`).
  1147  type ClusterDasVmSettingsRestartPriority string
  1148  
  1149  const (
  1150  	// vSphere HA is disabled for this virtual machine.
  1151  	ClusterDasVmSettingsRestartPriorityDisabled = ClusterDasVmSettingsRestartPriority("disabled")
  1152  	// Virtual machines with this priority have the lowest chance of
  1153  	// powering on after a failure if there is insufficient capacity on
  1154  	// hosts to meet all virtual machine needs.
  1155  	ClusterDasVmSettingsRestartPriorityLowest = ClusterDasVmSettingsRestartPriority("lowest")
  1156  	// Virtual machines with this priority have a lower chance of powering
  1157  	// on after a failure if there is insufficient capacity on hosts to meet
  1158  	// all virtual machine needs.
  1159  	ClusterDasVmSettingsRestartPriorityLow = ClusterDasVmSettingsRestartPriority("low")
  1160  	// Virtual machines with this priority have an intermediate chance of
  1161  	// powering on after a failure if there is insufficient capacity on
  1162  	// hosts to meet all virtual machine needs.
  1163  	ClusterDasVmSettingsRestartPriorityMedium = ClusterDasVmSettingsRestartPriority("medium")
  1164  	// Virtual machines with this priority have a higher chance of powering
  1165  	// on after a failure if there is insufficient capacity on hosts to meet
  1166  	// all virtual machine needs.
  1167  	ClusterDasVmSettingsRestartPriorityHigh = ClusterDasVmSettingsRestartPriority("high")
  1168  	// Virtual machines with this priority have the highest chance of
  1169  	// powering on after a failure if there is insufficient capacity on
  1170  	// hosts to meet all virtual machine needs.
  1171  	ClusterDasVmSettingsRestartPriorityHighest = ClusterDasVmSettingsRestartPriority("highest")
  1172  	// Virtual machines with this priority use the default restart
  1173  	// priority defined for the cluster that contains this virtual machine.
  1174  	ClusterDasVmSettingsRestartPriorityClusterRestartPriority = ClusterDasVmSettingsRestartPriority("clusterRestartPriority")
  1175  )
  1176  
  1177  func (e ClusterDasVmSettingsRestartPriority) Values() []ClusterDasVmSettingsRestartPriority {
  1178  	return []ClusterDasVmSettingsRestartPriority{
  1179  		ClusterDasVmSettingsRestartPriorityDisabled,
  1180  		ClusterDasVmSettingsRestartPriorityLowest,
  1181  		ClusterDasVmSettingsRestartPriorityLow,
  1182  		ClusterDasVmSettingsRestartPriorityMedium,
  1183  		ClusterDasVmSettingsRestartPriorityHigh,
  1184  		ClusterDasVmSettingsRestartPriorityHighest,
  1185  		ClusterDasVmSettingsRestartPriorityClusterRestartPriority,
  1186  	}
  1187  }
  1188  
  1189  func (e ClusterDasVmSettingsRestartPriority) Strings() []string {
  1190  	return EnumValuesAsStrings(e.Values())
  1191  }
  1192  
  1193  func init() {
  1194  	t["ClusterDasVmSettingsRestartPriority"] = reflect.TypeOf((*ClusterDasVmSettingsRestartPriority)(nil)).Elem()
  1195  }
  1196  
  1197  // Describes the operation type of the action.
  1198  //
  1199  // enterexitQuarantine suggests
  1200  // that the host is only exiting the quarantine state (i.e. not the
  1201  // maintenance mode).
  1202  type ClusterHostInfraUpdateHaModeActionOperationType string
  1203  
  1204  const (
  1205  	ClusterHostInfraUpdateHaModeActionOperationTypeEnterQuarantine  = ClusterHostInfraUpdateHaModeActionOperationType("enterQuarantine")
  1206  	ClusterHostInfraUpdateHaModeActionOperationTypeExitQuarantine   = ClusterHostInfraUpdateHaModeActionOperationType("exitQuarantine")
  1207  	ClusterHostInfraUpdateHaModeActionOperationTypeEnterMaintenance = ClusterHostInfraUpdateHaModeActionOperationType("enterMaintenance")
  1208  )
  1209  
  1210  func (e ClusterHostInfraUpdateHaModeActionOperationType) Values() []ClusterHostInfraUpdateHaModeActionOperationType {
  1211  	return []ClusterHostInfraUpdateHaModeActionOperationType{
  1212  		ClusterHostInfraUpdateHaModeActionOperationTypeEnterQuarantine,
  1213  		ClusterHostInfraUpdateHaModeActionOperationTypeExitQuarantine,
  1214  		ClusterHostInfraUpdateHaModeActionOperationTypeEnterMaintenance,
  1215  	}
  1216  }
  1217  
  1218  func (e ClusterHostInfraUpdateHaModeActionOperationType) Strings() []string {
  1219  	return EnumValuesAsStrings(e.Values())
  1220  }
  1221  
  1222  func init() {
  1223  	t["ClusterHostInfraUpdateHaModeActionOperationType"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeActionOperationType)(nil)).Elem()
  1224  }
  1225  
  1226  type ClusterInfraUpdateHaConfigInfoBehaviorType string
  1227  
  1228  const (
  1229  	// With this behavior configured, the proposed DRS recommendations
  1230  	// require manual approval before they are executed.
  1231  	ClusterInfraUpdateHaConfigInfoBehaviorTypeManual = ClusterInfraUpdateHaConfigInfoBehaviorType("Manual")
  1232  	// With this behavior configured, the proposed DRS recommendations are
  1233  	// executed immediately.
  1234  	ClusterInfraUpdateHaConfigInfoBehaviorTypeAutomated = ClusterInfraUpdateHaConfigInfoBehaviorType("Automated")
  1235  )
  1236  
  1237  func (e ClusterInfraUpdateHaConfigInfoBehaviorType) Values() []ClusterInfraUpdateHaConfigInfoBehaviorType {
  1238  	return []ClusterInfraUpdateHaConfigInfoBehaviorType{
  1239  		ClusterInfraUpdateHaConfigInfoBehaviorTypeManual,
  1240  		ClusterInfraUpdateHaConfigInfoBehaviorTypeAutomated,
  1241  	}
  1242  }
  1243  
  1244  func (e ClusterInfraUpdateHaConfigInfoBehaviorType) Strings() []string {
  1245  	return EnumValuesAsStrings(e.Values())
  1246  }
  1247  
  1248  func init() {
  1249  	t["ClusterInfraUpdateHaConfigInfoBehaviorType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoBehaviorType)(nil)).Elem()
  1250  }
  1251  
  1252  type ClusterInfraUpdateHaConfigInfoRemediationType string
  1253  
  1254  const (
  1255  	// With this behavior configured, a degraded host will be recommended
  1256  	// to be placed in Quarantine Mode.
  1257  	ClusterInfraUpdateHaConfigInfoRemediationTypeQuarantineMode = ClusterInfraUpdateHaConfigInfoRemediationType("QuarantineMode")
  1258  	// With this behavior configured, a degraded host will be recommended
  1259  	// to be placed in Maintenance Mode.
  1260  	ClusterInfraUpdateHaConfigInfoRemediationTypeMaintenanceMode = ClusterInfraUpdateHaConfigInfoRemediationType("MaintenanceMode")
  1261  )
  1262  
  1263  func (e ClusterInfraUpdateHaConfigInfoRemediationType) Values() []ClusterInfraUpdateHaConfigInfoRemediationType {
  1264  	return []ClusterInfraUpdateHaConfigInfoRemediationType{
  1265  		ClusterInfraUpdateHaConfigInfoRemediationTypeQuarantineMode,
  1266  		ClusterInfraUpdateHaConfigInfoRemediationTypeMaintenanceMode,
  1267  	}
  1268  }
  1269  
  1270  func (e ClusterInfraUpdateHaConfigInfoRemediationType) Strings() []string {
  1271  	return EnumValuesAsStrings(e.Values())
  1272  }
  1273  
  1274  func init() {
  1275  	t["ClusterInfraUpdateHaConfigInfoRemediationType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoRemediationType)(nil)).Elem()
  1276  }
  1277  
  1278  // Defines the options for a Datacenter::powerOnVm() invocation.
  1279  type ClusterPowerOnVmOption string
  1280  
  1281  const (
  1282  	// Override the DRS automation level.
  1283  	//
  1284  	// Value type: `DrsBehavior_enum`
  1285  	// Default value: current behavior
  1286  	ClusterPowerOnVmOptionOverrideAutomationLevel = ClusterPowerOnVmOption("OverrideAutomationLevel")
  1287  	// Reserve resources for the powering-on VMs throughout the
  1288  	// power-on session.
  1289  	//
  1290  	// When this option is set to true, the server
  1291  	// will return at most one recommended host per manual VM, and
  1292  	// the VM's reservations are held on the recommended host until
  1293  	// the VM is actually powered on (either by applying the
  1294  	// recommendation or by a power-on request on the VM), or until
  1295  	// the recommendation is cancelled, or until the recommendation
  1296  	// expires. The expiration time is currently set to 10
  1297  	// minutes. This option does not have an effect on automatic VMs
  1298  	// since their recommendations are executed immediately. This
  1299  	// option is effective on DRS clusters only.
  1300  	// Value type: boolean
  1301  	// Default value: false
  1302  	ClusterPowerOnVmOptionReserveResources = ClusterPowerOnVmOption("ReserveResources")
  1303  )
  1304  
  1305  func (e ClusterPowerOnVmOption) Values() []ClusterPowerOnVmOption {
  1306  	return []ClusterPowerOnVmOption{
  1307  		ClusterPowerOnVmOptionOverrideAutomationLevel,
  1308  		ClusterPowerOnVmOptionReserveResources,
  1309  	}
  1310  }
  1311  
  1312  func (e ClusterPowerOnVmOption) Strings() []string {
  1313  	return EnumValuesAsStrings(e.Values())
  1314  }
  1315  
  1316  func init() {
  1317  	t["ClusterPowerOnVmOption"] = reflect.TypeOf((*ClusterPowerOnVmOption)(nil)).Elem()
  1318  }
  1319  
  1320  // Type of services for which Profile can be requested for
  1321  type ClusterProfileServiceType string
  1322  
  1323  const (
  1324  	// Distributed Resource Scheduling
  1325  	ClusterProfileServiceTypeDRS = ClusterProfileServiceType("DRS")
  1326  	// High Availability
  1327  	ClusterProfileServiceTypeHA = ClusterProfileServiceType("HA")
  1328  	// Distributed Power Management
  1329  	ClusterProfileServiceTypeDPM = ClusterProfileServiceType("DPM")
  1330  	// Fault tolerance
  1331  	ClusterProfileServiceTypeFT = ClusterProfileServiceType("FT")
  1332  )
  1333  
  1334  func (e ClusterProfileServiceType) Values() []ClusterProfileServiceType {
  1335  	return []ClusterProfileServiceType{
  1336  		ClusterProfileServiceTypeDRS,
  1337  		ClusterProfileServiceTypeHA,
  1338  		ClusterProfileServiceTypeDPM,
  1339  		ClusterProfileServiceTypeFT,
  1340  	}
  1341  }
  1342  
  1343  func (e ClusterProfileServiceType) Strings() []string {
  1344  	return EnumValuesAsStrings(e.Values())
  1345  }
  1346  
  1347  func init() {
  1348  	t["ClusterProfileServiceType"] = reflect.TypeOf((*ClusterProfileServiceType)(nil)).Elem()
  1349  }
  1350  
  1351  type ClusterSystemVMsConfigInfoDeploymentMode string
  1352  
  1353  const (
  1354  	// System VMs are fully managed by the system.
  1355  	ClusterSystemVMsConfigInfoDeploymentModeSYSTEM_MANAGED = ClusterSystemVMsConfigInfoDeploymentMode("SYSTEM_MANAGED")
  1356  	// System VMs are absent on the managed entity.
  1357  	ClusterSystemVMsConfigInfoDeploymentModeABSENT = ClusterSystemVMsConfigInfoDeploymentMode("ABSENT")
  1358  )
  1359  
  1360  func (e ClusterSystemVMsConfigInfoDeploymentMode) Values() []ClusterSystemVMsConfigInfoDeploymentMode {
  1361  	return []ClusterSystemVMsConfigInfoDeploymentMode{
  1362  		ClusterSystemVMsConfigInfoDeploymentModeSYSTEM_MANAGED,
  1363  		ClusterSystemVMsConfigInfoDeploymentModeABSENT,
  1364  	}
  1365  }
  1366  
  1367  func (e ClusterSystemVMsConfigInfoDeploymentMode) Strings() []string {
  1368  	return EnumValuesAsStrings(e.Values())
  1369  }
  1370  
  1371  func init() {
  1372  	t["ClusterSystemVMsConfigInfoDeploymentMode"] = reflect.TypeOf((*ClusterSystemVMsConfigInfoDeploymentMode)(nil)).Elem()
  1373  	minAPIVersionForType["ClusterSystemVMsConfigInfoDeploymentMode"] = "8.0.2.0"
  1374  }
  1375  
  1376  // The VM policy settings that determine the response to
  1377  // storage failures.
  1378  type ClusterVmComponentProtectionSettingsStorageVmReaction string
  1379  
  1380  const (
  1381  	// VM Component Protection service will not monitor or react to
  1382  	// the component failure.
  1383  	//
  1384  	// This setting does not affect other vSphere
  1385  	// HA services such as Host Monitoring or VM Health Monitoring.
  1386  	ClusterVmComponentProtectionSettingsStorageVmReactionDisabled = ClusterVmComponentProtectionSettingsStorageVmReaction("disabled")
  1387  	// VM Component Protection service will monitor component failures but
  1388  	// will not restart an affected VM.
  1389  	//
  1390  	// Rather it will notify users about
  1391  	// the component failures. This setting does not affect other vSphere HA
  1392  	// services such as Host Monitoring or VM Health Monitoring.
  1393  	ClusterVmComponentProtectionSettingsStorageVmReactionWarning = ClusterVmComponentProtectionSettingsStorageVmReaction("warning")
  1394  	// VM Component Protection service protects VMs conservatively.
  1395  	//
  1396  	// With this
  1397  	// setting, when the service can't determine that capacity is available to
  1398  	// restart a VM, it will favor keeping the VM running.
  1399  	ClusterVmComponentProtectionSettingsStorageVmReactionRestartConservative = ClusterVmComponentProtectionSettingsStorageVmReaction("restartConservative")
  1400  	// VM Component Protection service protects VMs aggressively.
  1401  	//
  1402  	// With this setting,
  1403  	// the service will terminate an affected VM even if it can't determine that
  1404  	// capacity exists to restart the VM.
  1405  	ClusterVmComponentProtectionSettingsStorageVmReactionRestartAggressive = ClusterVmComponentProtectionSettingsStorageVmReaction("restartAggressive")
  1406  	// VM will use the cluster default setting.
  1407  	//
  1408  	// This option is only meaningful for
  1409  	// per-VM settings.
  1410  	ClusterVmComponentProtectionSettingsStorageVmReactionClusterDefault = ClusterVmComponentProtectionSettingsStorageVmReaction("clusterDefault")
  1411  )
  1412  
  1413  func (e ClusterVmComponentProtectionSettingsStorageVmReaction) Values() []ClusterVmComponentProtectionSettingsStorageVmReaction {
  1414  	return []ClusterVmComponentProtectionSettingsStorageVmReaction{
  1415  		ClusterVmComponentProtectionSettingsStorageVmReactionDisabled,
  1416  		ClusterVmComponentProtectionSettingsStorageVmReactionWarning,
  1417  		ClusterVmComponentProtectionSettingsStorageVmReactionRestartConservative,
  1418  		ClusterVmComponentProtectionSettingsStorageVmReactionRestartAggressive,
  1419  		ClusterVmComponentProtectionSettingsStorageVmReactionClusterDefault,
  1420  	}
  1421  }
  1422  
  1423  func (e ClusterVmComponentProtectionSettingsStorageVmReaction) Strings() []string {
  1424  	return EnumValuesAsStrings(e.Values())
  1425  }
  1426  
  1427  func init() {
  1428  	t["ClusterVmComponentProtectionSettingsStorageVmReaction"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsStorageVmReaction)(nil)).Elem()
  1429  }
  1430  
  1431  // If an APD condition clears after an APD timeout condition has been declared and before
  1432  // VM Component Protection service terminated the VM, the guestOS and application may
  1433  // no longer be operational.
  1434  //
  1435  // VM Component Protection may be configured to reset the
  1436  // VM (`VirtualMachine.ResetVM_Task`) to restore the service of guest applications.
  1437  type ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared string
  1438  
  1439  const (
  1440  	// VM Component Protection service will not react after APD condition is cleared.
  1441  	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedNone = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("none")
  1442  	// VM Component Protection service will reset the VM after APD condition is cleared.
  1443  	//
  1444  	// Note this only applies if the subject VM is still powered on.
  1445  	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedReset = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("reset")
  1446  	// VM will use the cluster default setting.
  1447  	//
  1448  	// This option is only meaningful for
  1449  	// per-VM settings.
  1450  	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedUseClusterDefault = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("useClusterDefault")
  1451  )
  1452  
  1453  func (e ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared) Values() []ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared {
  1454  	return []ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared{
  1455  		ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedNone,
  1456  		ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedReset,
  1457  		ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedUseClusterDefault,
  1458  	}
  1459  }
  1460  
  1461  func (e ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared) Strings() []string {
  1462  	return EnumValuesAsStrings(e.Values())
  1463  }
  1464  
  1465  func init() {
  1466  	t["ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared)(nil)).Elem()
  1467  }
  1468  
  1469  // Condition for VM's readiness
  1470  type ClusterVmReadinessReadyCondition string
  1471  
  1472  const (
  1473  	// No ready condition specified.
  1474  	//
  1475  	// In case of vSphere HA, higher restart priority VMs are still
  1476  	// placed before lower priority VMs.
  1477  	ClusterVmReadinessReadyConditionNone = ClusterVmReadinessReadyCondition("none")
  1478  	// VM is powered on.
  1479  	ClusterVmReadinessReadyConditionPoweredOn = ClusterVmReadinessReadyCondition("poweredOn")
  1480  	// VM guest operating system is up and responding normally (VM tools
  1481  	// heartbeat status is green).
  1482  	ClusterVmReadinessReadyConditionGuestHbStatusGreen = ClusterVmReadinessReadyCondition("guestHbStatusGreen")
  1483  	// An application running inside the VM is responding normally.
  1484  	//
  1485  	// To enable Application Monitoring, you must first obtain the
  1486  	// appropriate SDK (or be using an application that supports VMware
  1487  	// Application Monitoring) and use it to set up customized heartbeats
  1488  	// for the applications you want to monitor.
  1489  	// See `ClusterDasConfigInfo.vmMonitoring`.
  1490  	ClusterVmReadinessReadyConditionAppHbStatusGreen = ClusterVmReadinessReadyCondition("appHbStatusGreen")
  1491  	// VM will use the cluster default setting.
  1492  	//
  1493  	// This option is only
  1494  	// meaningful for per-VM settings.
  1495  	ClusterVmReadinessReadyConditionUseClusterDefault = ClusterVmReadinessReadyCondition("useClusterDefault")
  1496  )
  1497  
  1498  func (e ClusterVmReadinessReadyCondition) Values() []ClusterVmReadinessReadyCondition {
  1499  	return []ClusterVmReadinessReadyCondition{
  1500  		ClusterVmReadinessReadyConditionNone,
  1501  		ClusterVmReadinessReadyConditionPoweredOn,
  1502  		ClusterVmReadinessReadyConditionGuestHbStatusGreen,
  1503  		ClusterVmReadinessReadyConditionAppHbStatusGreen,
  1504  		ClusterVmReadinessReadyConditionUseClusterDefault,
  1505  	}
  1506  }
  1507  
  1508  func (e ClusterVmReadinessReadyCondition) Strings() []string {
  1509  	return EnumValuesAsStrings(e.Values())
  1510  }
  1511  
  1512  func init() {
  1513  	t["ClusterVmReadinessReadyCondition"] = reflect.TypeOf((*ClusterVmReadinessReadyCondition)(nil)).Elem()
  1514  }
  1515  
  1516  type ComplianceResultStatus string
  1517  
  1518  const (
  1519  	// Entity is in Compliance
  1520  	ComplianceResultStatusCompliant = ComplianceResultStatus("compliant")
  1521  	// Entity is out of Compliance
  1522  	ComplianceResultStatusNonCompliant = ComplianceResultStatus("nonCompliant")
  1523  	// Compliance status of the entity is not known
  1524  	ComplianceResultStatusUnknown = ComplianceResultStatus("unknown")
  1525  	// Compliance check on this host is running.
  1526  	ComplianceResultStatusRunning = ComplianceResultStatus("running")
  1527  )
  1528  
  1529  func (e ComplianceResultStatus) Values() []ComplianceResultStatus {
  1530  	return []ComplianceResultStatus{
  1531  		ComplianceResultStatusCompliant,
  1532  		ComplianceResultStatusNonCompliant,
  1533  		ComplianceResultStatusUnknown,
  1534  		ComplianceResultStatusRunning,
  1535  	}
  1536  }
  1537  
  1538  func (e ComplianceResultStatus) Strings() []string {
  1539  	return EnumValuesAsStrings(e.Values())
  1540  }
  1541  
  1542  func init() {
  1543  	t["ComplianceResultStatus"] = reflect.TypeOf((*ComplianceResultStatus)(nil)).Elem()
  1544  }
  1545  
  1546  // The SPBM(Storage Policy Based Management) license state for a host
  1547  type ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState string
  1548  
  1549  const (
  1550  	// The host is licensed
  1551  	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateLicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("licensed")
  1552  	// The host is not licensed
  1553  	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnlicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unlicensed")
  1554  	// The host license information is unknown, this could happen if the
  1555  	// host is not in a available state
  1556  	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnknown = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unknown")
  1557  )
  1558  
  1559  func (e ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState) Values() []ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState {
  1560  	return []ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState{
  1561  		ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateLicensed,
  1562  		ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnlicensed,
  1563  		ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnknown,
  1564  	}
  1565  }
  1566  
  1567  func (e ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState) Strings() []string {
  1568  	return EnumValuesAsStrings(e.Values())
  1569  }
  1570  
  1571  func init() {
  1572  	t["ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState)(nil)).Elem()
  1573  }
  1574  
  1575  type ComputeResourceNetworkBootMode string
  1576  
  1577  const (
  1578  	ComputeResourceNetworkBootModeBootstrap = ComputeResourceNetworkBootMode("bootstrap")
  1579  	ComputeResourceNetworkBootModeStateless = ComputeResourceNetworkBootMode("stateless")
  1580  )
  1581  
  1582  func (e ComputeResourceNetworkBootMode) Values() []ComputeResourceNetworkBootMode {
  1583  	return []ComputeResourceNetworkBootMode{
  1584  		ComputeResourceNetworkBootModeBootstrap,
  1585  		ComputeResourceNetworkBootModeStateless,
  1586  	}
  1587  }
  1588  
  1589  func (e ComputeResourceNetworkBootMode) Strings() []string {
  1590  	return EnumValuesAsStrings(e.Values())
  1591  }
  1592  
  1593  func init() {
  1594  	t["ComputeResourceNetworkBootMode"] = reflect.TypeOf((*ComputeResourceNetworkBootMode)(nil)).Elem()
  1595  	minAPIVersionForType["ComputeResourceNetworkBootMode"] = "9.0.0.0"
  1596  }
  1597  
  1598  // Config spec operation type.
  1599  type ConfigSpecOperation string
  1600  
  1601  const (
  1602  	// Indicates the addition of an element to the configuration.
  1603  	ConfigSpecOperationAdd = ConfigSpecOperation("add")
  1604  	// Indicates the change of an element in the configuration.
  1605  	ConfigSpecOperationEdit = ConfigSpecOperation("edit")
  1606  	// Indicates the removal of an element in the configuration.
  1607  	ConfigSpecOperationRemove = ConfigSpecOperation("remove")
  1608  )
  1609  
  1610  func (e ConfigSpecOperation) Values() []ConfigSpecOperation {
  1611  	return []ConfigSpecOperation{
  1612  		ConfigSpecOperationAdd,
  1613  		ConfigSpecOperationEdit,
  1614  		ConfigSpecOperationRemove,
  1615  	}
  1616  }
  1617  
  1618  func (e ConfigSpecOperation) Strings() []string {
  1619  	return EnumValuesAsStrings(e.Values())
  1620  }
  1621  
  1622  func init() {
  1623  	t["ConfigSpecOperation"] = reflect.TypeOf((*ConfigSpecOperation)(nil)).Elem()
  1624  }
  1625  
  1626  type CryptoManagerHostKeyManagementType string
  1627  
  1628  const (
  1629  	CryptoManagerHostKeyManagementTypeUnknown  = CryptoManagerHostKeyManagementType("unknown")
  1630  	CryptoManagerHostKeyManagementTypeInternal = CryptoManagerHostKeyManagementType("internal")
  1631  	CryptoManagerHostKeyManagementTypeExternal = CryptoManagerHostKeyManagementType("external")
  1632  )
  1633  
  1634  func (e CryptoManagerHostKeyManagementType) Values() []CryptoManagerHostKeyManagementType {
  1635  	return []CryptoManagerHostKeyManagementType{
  1636  		CryptoManagerHostKeyManagementTypeUnknown,
  1637  		CryptoManagerHostKeyManagementTypeInternal,
  1638  		CryptoManagerHostKeyManagementTypeExternal,
  1639  	}
  1640  }
  1641  
  1642  func (e CryptoManagerHostKeyManagementType) Strings() []string {
  1643  	return EnumValuesAsStrings(e.Values())
  1644  }
  1645  
  1646  func init() {
  1647  	t["CryptoManagerHostKeyManagementType"] = reflect.TypeOf((*CryptoManagerHostKeyManagementType)(nil)).Elem()
  1648  	minAPIVersionForType["CryptoManagerHostKeyManagementType"] = "8.0.1.0"
  1649  }
  1650  
  1651  type CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason string
  1652  
  1653  const (
  1654  	// Key not found in VC cache and does not specify a provider
  1655  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInCache = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInCache")
  1656  	// Key provider is invalid
  1657  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterInvalid = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterInvalid")
  1658  	// Can not reach the key provider
  1659  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterUnreachable = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterUnreachable")
  1660  	// Key not found in KMS
  1661  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInKMS = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInKMS")
  1662  	// Key not active or enabled
  1663  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateNotActiveOrEnabled = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateNotActiveOrEnabled")
  1664  	// Key is managed by Trust Authority
  1665  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByTrustAuthority = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateManagedByTrustAuthority")
  1666  	// Key is managed by Native Key Provider
  1667  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByNKP = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateManagedByNKP")
  1668  	// No permission to access key provider
  1669  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonNoPermissionToAccessKeyProvider = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("NoPermissionToAccessKeyProvider")
  1670  	// Wrapping Key not found in KMS
  1671  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonWrappingKeyMissingInKMS = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("WrappingKeyMissingInKMS")
  1672  	// Wrapping Key not active or enabled
  1673  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonWrappingKeyNotActiveOrEnabled = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("WrappingKeyNotActiveOrEnabled")
  1674  )
  1675  
  1676  func (e CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason) Values() []CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason {
  1677  	return []CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason{
  1678  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInCache,
  1679  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterInvalid,
  1680  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterUnreachable,
  1681  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInKMS,
  1682  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateNotActiveOrEnabled,
  1683  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByTrustAuthority,
  1684  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByNKP,
  1685  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonNoPermissionToAccessKeyProvider,
  1686  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonWrappingKeyMissingInKMS,
  1687  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonWrappingKeyNotActiveOrEnabled,
  1688  	}
  1689  }
  1690  
  1691  func (e CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason) Strings() []string {
  1692  	return EnumValuesAsStrings(e.Values())
  1693  }
  1694  
  1695  func init() {
  1696  	t["CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason)(nil)).Elem()
  1697  	minAPIVersionForEnumValue["CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason"] = map[string]string{
  1698  		"KeyStateManagedByNKP":            "8.0.3.0",
  1699  		"NoPermissionToAccessKeyProvider": "8.0.3.0",
  1700  		"WrappingKeyMissingInKMS":         "9.0.0.0",
  1701  		"WrappingKeyNotActiveOrEnabled":   "9.0.0.0",
  1702  	}
  1703  }
  1704  
  1705  type CustomizationFailedReasonCode string
  1706  
  1707  const (
  1708  	// The user defined script is disabled during customization
  1709  	CustomizationFailedReasonCodeUserDefinedScriptDisabled = CustomizationFailedReasonCode("userDefinedScriptDisabled")
  1710  	// The guest customization is disabled by VMware Tools
  1711  	CustomizationFailedReasonCodeCustomizationDisabled = CustomizationFailedReasonCode("customizationDisabled")
  1712  	// The cloud-init version is too old to support cloud-init raw data
  1713  	CustomizationFailedReasonCodeRawDataIsNotSupported = CustomizationFailedReasonCode("rawDataIsNotSupported")
  1714  	// The cloud-init meta data is not valid format
  1715  	CustomizationFailedReasonCodeWrongMetadataFormat = CustomizationFailedReasonCode("wrongMetadataFormat")
  1716  )
  1717  
  1718  func (e CustomizationFailedReasonCode) Values() []CustomizationFailedReasonCode {
  1719  	return []CustomizationFailedReasonCode{
  1720  		CustomizationFailedReasonCodeUserDefinedScriptDisabled,
  1721  		CustomizationFailedReasonCodeCustomizationDisabled,
  1722  		CustomizationFailedReasonCodeRawDataIsNotSupported,
  1723  		CustomizationFailedReasonCodeWrongMetadataFormat,
  1724  	}
  1725  }
  1726  
  1727  func (e CustomizationFailedReasonCode) Strings() []string {
  1728  	return EnumValuesAsStrings(e.Values())
  1729  }
  1730  
  1731  func init() {
  1732  	t["CustomizationFailedReasonCode"] = reflect.TypeOf((*CustomizationFailedReasonCode)(nil)).Elem()
  1733  	minAPIVersionForEnumValue["CustomizationFailedReasonCode"] = map[string]string{
  1734  		"customizationDisabled": "7.0.1.0",
  1735  		"rawDataIsNotSupported": "7.0.3.0",
  1736  		"wrongMetadataFormat":   "7.0.3.0",
  1737  	}
  1738  }
  1739  
  1740  // Enumeration of AutoMode values.
  1741  type CustomizationLicenseDataMode string
  1742  
  1743  const (
  1744  	// Indicates that client access licenses have been purchased for the server,
  1745  	// allowing a certain number of concurrent connections to the VirtualCenter
  1746  	// server.
  1747  	CustomizationLicenseDataModePerServer = CustomizationLicenseDataMode("perServer")
  1748  	// Indicates that a client access license has been purchased for each computer
  1749  	// that accesses the VirtualCenter server.
  1750  	CustomizationLicenseDataModePerSeat = CustomizationLicenseDataMode("perSeat")
  1751  )
  1752  
  1753  func (e CustomizationLicenseDataMode) Values() []CustomizationLicenseDataMode {
  1754  	return []CustomizationLicenseDataMode{
  1755  		CustomizationLicenseDataModePerServer,
  1756  		CustomizationLicenseDataModePerSeat,
  1757  	}
  1758  }
  1759  
  1760  func (e CustomizationLicenseDataMode) Strings() []string {
  1761  	return EnumValuesAsStrings(e.Values())
  1762  }
  1763  
  1764  func init() {
  1765  	t["CustomizationLicenseDataMode"] = reflect.TypeOf((*CustomizationLicenseDataMode)(nil)).Elem()
  1766  }
  1767  
  1768  // NetBIOS setting for Windows.
  1769  type CustomizationNetBIOSMode string
  1770  
  1771  const (
  1772  	// DHCP server decides whether or not to use NetBIOS.
  1773  	CustomizationNetBIOSModeEnableNetBIOSViaDhcp = CustomizationNetBIOSMode("enableNetBIOSViaDhcp")
  1774  	// Always use NetBIOS.
  1775  	CustomizationNetBIOSModeEnableNetBIOS = CustomizationNetBIOSMode("enableNetBIOS")
  1776  	// Never use NetBIOS.
  1777  	CustomizationNetBIOSModeDisableNetBIOS = CustomizationNetBIOSMode("disableNetBIOS")
  1778  )
  1779  
  1780  func (e CustomizationNetBIOSMode) Values() []CustomizationNetBIOSMode {
  1781  	return []CustomizationNetBIOSMode{
  1782  		CustomizationNetBIOSModeEnableNetBIOSViaDhcp,
  1783  		CustomizationNetBIOSModeEnableNetBIOS,
  1784  		CustomizationNetBIOSModeDisableNetBIOS,
  1785  	}
  1786  }
  1787  
  1788  func (e CustomizationNetBIOSMode) Strings() []string {
  1789  	return EnumValuesAsStrings(e.Values())
  1790  }
  1791  
  1792  func init() {
  1793  	t["CustomizationNetBIOSMode"] = reflect.TypeOf((*CustomizationNetBIOSMode)(nil)).Elem()
  1794  }
  1795  
  1796  // A enum constant specifying what should be done to the guest vm after running
  1797  // sysprep.
  1798  type CustomizationSysprepRebootOption string
  1799  
  1800  const (
  1801  	// Reboot the machine after running sysprep.
  1802  	//
  1803  	// This will cause values
  1804  	// specified in the sysprep.xml to be applied immediately.
  1805  	CustomizationSysprepRebootOptionReboot = CustomizationSysprepRebootOption("reboot")
  1806  	// Take no action.
  1807  	//
  1808  	// Leave the guest os running after running sysprep. This
  1809  	// option can be used to look at values for debugging purposes after
  1810  	// running sysprep.
  1811  	CustomizationSysprepRebootOptionNoreboot = CustomizationSysprepRebootOption("noreboot")
  1812  	// Shutdown the machine after running sysprep.
  1813  	//
  1814  	// This puts the vm in a
  1815  	// sealed state.
  1816  	CustomizationSysprepRebootOptionShutdown = CustomizationSysprepRebootOption("shutdown")
  1817  )
  1818  
  1819  func (e CustomizationSysprepRebootOption) Values() []CustomizationSysprepRebootOption {
  1820  	return []CustomizationSysprepRebootOption{
  1821  		CustomizationSysprepRebootOptionReboot,
  1822  		CustomizationSysprepRebootOptionNoreboot,
  1823  		CustomizationSysprepRebootOptionShutdown,
  1824  	}
  1825  }
  1826  
  1827  func (e CustomizationSysprepRebootOption) Strings() []string {
  1828  	return EnumValuesAsStrings(e.Values())
  1829  }
  1830  
  1831  func init() {
  1832  	t["CustomizationSysprepRebootOption"] = reflect.TypeOf((*CustomizationSysprepRebootOption)(nil)).Elem()
  1833  }
  1834  
  1835  // Set of possible values for
  1836  // `DVPortStatus*.*DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`.
  1837  type DVPortStatusVmDirectPathGen2InactiveReasonNetwork string
  1838  
  1839  const (
  1840  	// The switch for which this port is defined does not support VMDirectPath Gen 2.
  1841  	//
  1842  	// See
  1843  	// `DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported`.
  1844  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptIncompatibleDvs = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptIncompatibleDvs")
  1845  	// None of the physical NICs used as uplinks for this port support
  1846  	// VMDirectPath Gen 2.
  1847  	//
  1848  	// See also `PhysicalNic.vmDirectPathGen2Supported`.
  1849  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoCompatibleNics = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoCompatibleNics")
  1850  	// At least some of the physical NICs used as uplinks for this port
  1851  	// support VMDirectPath Gen 2, but all available network-passthrough
  1852  	// resources are in use by other ports.
  1853  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoVirtualFunctionsAvailable = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoVirtualFunctionsAvailable")
  1854  	// VMDirectPath Gen 2 has been explicitly disabled for this port.
  1855  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptDisabledForPort = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptDisabledForPort")
  1856  )
  1857  
  1858  func (e DVPortStatusVmDirectPathGen2InactiveReasonNetwork) Values() []DVPortStatusVmDirectPathGen2InactiveReasonNetwork {
  1859  	return []DVPortStatusVmDirectPathGen2InactiveReasonNetwork{
  1860  		DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptIncompatibleDvs,
  1861  		DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoCompatibleNics,
  1862  		DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoVirtualFunctionsAvailable,
  1863  		DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptDisabledForPort,
  1864  	}
  1865  }
  1866  
  1867  func (e DVPortStatusVmDirectPathGen2InactiveReasonNetwork) Strings() []string {
  1868  	return EnumValuesAsStrings(e.Values())
  1869  }
  1870  
  1871  func init() {
  1872  	t["DVPortStatusVmDirectPathGen2InactiveReasonNetwork"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonNetwork)(nil)).Elem()
  1873  }
  1874  
  1875  // Set of possible values for
  1876  // `DVPortStatus*.*DVPortStatus.vmDirectPathGen2InactiveReasonOther`.
  1877  type DVPortStatusVmDirectPathGen2InactiveReasonOther string
  1878  
  1879  const (
  1880  	// The host for which this port is defined does not support VMDirectPath Gen 2.
  1881  	//
  1882  	// See `HostCapability*.*HostCapability.vmDirectPathGen2Supported`
  1883  	DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleHost = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleHost")
  1884  	// Configuration or state of the port's connectee prevents
  1885  	// VMDirectPath Gen 2.
  1886  	//
  1887  	// See
  1888  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`
  1889  	// and/or
  1890  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended`
  1891  	// in the appropriate element of the RuntimeInfo.device array of the
  1892  	// virtual machine connected to this port.
  1893  	DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleConnectee = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleConnectee")
  1894  )
  1895  
  1896  func (e DVPortStatusVmDirectPathGen2InactiveReasonOther) Values() []DVPortStatusVmDirectPathGen2InactiveReasonOther {
  1897  	return []DVPortStatusVmDirectPathGen2InactiveReasonOther{
  1898  		DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleHost,
  1899  		DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleConnectee,
  1900  	}
  1901  }
  1902  
  1903  func (e DVPortStatusVmDirectPathGen2InactiveReasonOther) Strings() []string {
  1904  	return EnumValuesAsStrings(e.Values())
  1905  }
  1906  
  1907  func init() {
  1908  	t["DVPortStatusVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonOther)(nil)).Elem()
  1909  }
  1910  
  1911  type DVSFilterSpecLinkConfig string
  1912  
  1913  const (
  1914  	// The port link state: blocked.
  1915  	DVSFilterSpecLinkConfigBlocked = DVSFilterSpecLinkConfig("blocked")
  1916  	// The port link state: unblocked.
  1917  	DVSFilterSpecLinkConfigUnblocked = DVSFilterSpecLinkConfig("unblocked")
  1918  )
  1919  
  1920  func (e DVSFilterSpecLinkConfig) Values() []DVSFilterSpecLinkConfig {
  1921  	return []DVSFilterSpecLinkConfig{
  1922  		DVSFilterSpecLinkConfigBlocked,
  1923  		DVSFilterSpecLinkConfigUnblocked,
  1924  	}
  1925  }
  1926  
  1927  func (e DVSFilterSpecLinkConfig) Strings() []string {
  1928  	return EnumValuesAsStrings(e.Values())
  1929  }
  1930  
  1931  func init() {
  1932  	t["DVSFilterSpecLinkConfig"] = reflect.TypeOf((*DVSFilterSpecLinkConfig)(nil)).Elem()
  1933  }
  1934  
  1935  type DVSFilterSpecLinkState string
  1936  
  1937  const (
  1938  	// The port link state: down.
  1939  	DVSFilterSpecLinkStateDown = DVSFilterSpecLinkState("down")
  1940  	// The port link state: up.
  1941  	DVSFilterSpecLinkStateUp = DVSFilterSpecLinkState("up")
  1942  )
  1943  
  1944  func (e DVSFilterSpecLinkState) Values() []DVSFilterSpecLinkState {
  1945  	return []DVSFilterSpecLinkState{
  1946  		DVSFilterSpecLinkStateDown,
  1947  		DVSFilterSpecLinkStateUp,
  1948  	}
  1949  }
  1950  
  1951  func (e DVSFilterSpecLinkState) Strings() []string {
  1952  	return EnumValuesAsStrings(e.Values())
  1953  }
  1954  
  1955  func init() {
  1956  	t["DVSFilterSpecLinkState"] = reflect.TypeOf((*DVSFilterSpecLinkState)(nil)).Elem()
  1957  }
  1958  
  1959  type DVSMacLimitPolicyType string
  1960  
  1961  const (
  1962  	DVSMacLimitPolicyTypeAllow = DVSMacLimitPolicyType("allow")
  1963  	DVSMacLimitPolicyTypeDrop  = DVSMacLimitPolicyType("drop")
  1964  )
  1965  
  1966  func (e DVSMacLimitPolicyType) Values() []DVSMacLimitPolicyType {
  1967  	return []DVSMacLimitPolicyType{
  1968  		DVSMacLimitPolicyTypeAllow,
  1969  		DVSMacLimitPolicyTypeDrop,
  1970  	}
  1971  }
  1972  
  1973  func (e DVSMacLimitPolicyType) Strings() []string {
  1974  	return EnumValuesAsStrings(e.Values())
  1975  }
  1976  
  1977  func init() {
  1978  	t["DVSMacLimitPolicyType"] = reflect.TypeOf((*DVSMacLimitPolicyType)(nil)).Elem()
  1979  }
  1980  
  1981  type DasConfigFaultDasConfigFaultReason string
  1982  
  1983  const (
  1984  	// There is a problem with the host network configuration.
  1985  	DasConfigFaultDasConfigFaultReasonHostNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("HostNetworkMisconfiguration")
  1986  	// There is a problem with the host configuration.
  1987  	DasConfigFaultDasConfigFaultReasonHostMisconfiguration = DasConfigFaultDasConfigFaultReason("HostMisconfiguration")
  1988  	// The privileges were insuffient for the operation.
  1989  	DasConfigFaultDasConfigFaultReasonInsufficientPrivileges = DasConfigFaultDasConfigFaultReason("InsufficientPrivileges")
  1990  	// There was no running primary agent available to contact.
  1991  	//
  1992  	// Check that your other hosts don't have HA errors
  1993  	DasConfigFaultDasConfigFaultReasonNoPrimaryAgentAvailable = DasConfigFaultDasConfigFaultReason("NoPrimaryAgentAvailable")
  1994  	// The HA configuration failed for other reasons.
  1995  	DasConfigFaultDasConfigFaultReasonOther = DasConfigFaultDasConfigFaultReason("Other")
  1996  	// No datastores defined for this host
  1997  	DasConfigFaultDasConfigFaultReasonNoDatastoresConfigured = DasConfigFaultDasConfigFaultReason("NoDatastoresConfigured")
  1998  	// Failure to create config vvol
  1999  	DasConfigFaultDasConfigFaultReasonCreateConfigVvolFailed = DasConfigFaultDasConfigFaultReason("CreateConfigVvolFailed")
  2000  	// Host in vSAN cluster does not support vSAN.
  2001  	DasConfigFaultDasConfigFaultReasonVSanNotSupportedOnHost = DasConfigFaultDasConfigFaultReason("VSanNotSupportedOnHost")
  2002  	// There is a problem with the cluster network configuration.
  2003  	DasConfigFaultDasConfigFaultReasonDasNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("DasNetworkMisconfiguration")
  2004  	// Setting desired imageSpec in Personality Manager failed
  2005  	DasConfigFaultDasConfigFaultReasonSetDesiredImageSpecFailed = DasConfigFaultDasConfigFaultReason("SetDesiredImageSpecFailed")
  2006  	// The ApplyHA call to Personality Manager failed
  2007  	DasConfigFaultDasConfigFaultReasonApplyHAVibsOnClusterFailed = DasConfigFaultDasConfigFaultReason("ApplyHAVibsOnClusterFailed")
  2008  )
  2009  
  2010  func (e DasConfigFaultDasConfigFaultReason) Values() []DasConfigFaultDasConfigFaultReason {
  2011  	return []DasConfigFaultDasConfigFaultReason{
  2012  		DasConfigFaultDasConfigFaultReasonHostNetworkMisconfiguration,
  2013  		DasConfigFaultDasConfigFaultReasonHostMisconfiguration,
  2014  		DasConfigFaultDasConfigFaultReasonInsufficientPrivileges,
  2015  		DasConfigFaultDasConfigFaultReasonNoPrimaryAgentAvailable,
  2016  		DasConfigFaultDasConfigFaultReasonOther,
  2017  		DasConfigFaultDasConfigFaultReasonNoDatastoresConfigured,
  2018  		DasConfigFaultDasConfigFaultReasonCreateConfigVvolFailed,
  2019  		DasConfigFaultDasConfigFaultReasonVSanNotSupportedOnHost,
  2020  		DasConfigFaultDasConfigFaultReasonDasNetworkMisconfiguration,
  2021  		DasConfigFaultDasConfigFaultReasonSetDesiredImageSpecFailed,
  2022  		DasConfigFaultDasConfigFaultReasonApplyHAVibsOnClusterFailed,
  2023  	}
  2024  }
  2025  
  2026  func (e DasConfigFaultDasConfigFaultReason) Strings() []string {
  2027  	return EnumValuesAsStrings(e.Values())
  2028  }
  2029  
  2030  func init() {
  2031  	t["DasConfigFaultDasConfigFaultReason"] = reflect.TypeOf((*DasConfigFaultDasConfigFaultReason)(nil)).Elem()
  2032  }
  2033  
  2034  // Deprecated as of VI API 2.5, use `ClusterDasVmSettingsRestartPriority_enum`.
  2035  //
  2036  // The priority of the virtual machine determines the preference
  2037  // given to it if sufficient capacity is not available to power
  2038  // on all failed virtual machines.
  2039  //
  2040  // For example, high priority
  2041  // virtual machines on a host get preference over low priority
  2042  // virtual machines.
  2043  type DasVmPriority string
  2044  
  2045  const (
  2046  	// vSphere HA is disabled for this virtual machine.
  2047  	DasVmPriorityDisabled = DasVmPriority("disabled")
  2048  	// Virtual machines with this priority have a lower chance of powering on after a
  2049  	// failure if there is insufficient capacity on hosts to meet all virtual machine
  2050  	// needs.
  2051  	DasVmPriorityLow = DasVmPriority("low")
  2052  	// Virtual machines with this priority have an intermediate chance of powering
  2053  	// on after a failure if there is insufficient capacity on hosts to meet all
  2054  	// virtual machine needs.
  2055  	DasVmPriorityMedium = DasVmPriority("medium")
  2056  	// Virtual machines with this priority have a higher chance of powering on after a
  2057  	// failure if there is insufficient capacity on hosts to meet all virtual machine
  2058  	// needs.
  2059  	DasVmPriorityHigh = DasVmPriority("high")
  2060  )
  2061  
  2062  func (e DasVmPriority) Values() []DasVmPriority {
  2063  	return []DasVmPriority{
  2064  		DasVmPriorityDisabled,
  2065  		DasVmPriorityLow,
  2066  		DasVmPriorityMedium,
  2067  		DasVmPriorityHigh,
  2068  	}
  2069  }
  2070  
  2071  func (e DasVmPriority) Strings() []string {
  2072  	return EnumValuesAsStrings(e.Values())
  2073  }
  2074  
  2075  func init() {
  2076  	t["DasVmPriority"] = reflect.TypeOf((*DasVmPriority)(nil)).Elem()
  2077  }
  2078  
  2079  type DatastoreAccessible string
  2080  
  2081  const (
  2082  	// Is accessible
  2083  	DatastoreAccessibleTrue = DatastoreAccessible("True")
  2084  	// Is not accessible
  2085  	DatastoreAccessibleFalse = DatastoreAccessible("False")
  2086  )
  2087  
  2088  func (e DatastoreAccessible) Values() []DatastoreAccessible {
  2089  	return []DatastoreAccessible{
  2090  		DatastoreAccessibleTrue,
  2091  		DatastoreAccessibleFalse,
  2092  	}
  2093  }
  2094  
  2095  func (e DatastoreAccessible) Strings() []string {
  2096  	return EnumValuesAsStrings(e.Values())
  2097  }
  2098  
  2099  func init() {
  2100  	t["DatastoreAccessible"] = reflect.TypeOf((*DatastoreAccessible)(nil)).Elem()
  2101  }
  2102  
  2103  // The type of the sector size, such as, datastore and virtual disk,
  2104  type DatastoreSectorFormat string
  2105  
  2106  const (
  2107  	// 512 native sector size disk.
  2108  	DatastoreSectorFormatNative_512 = DatastoreSectorFormat("native_512")
  2109  	// 4K sector size disk in 512 emulation mode.
  2110  	DatastoreSectorFormatEmulated_512 = DatastoreSectorFormat("emulated_512")
  2111  	// 4K native sector size disk.
  2112  	DatastoreSectorFormatNative_4k = DatastoreSectorFormat("native_4k")
  2113  )
  2114  
  2115  func (e DatastoreSectorFormat) Values() []DatastoreSectorFormat {
  2116  	return []DatastoreSectorFormat{
  2117  		DatastoreSectorFormatNative_512,
  2118  		DatastoreSectorFormatEmulated_512,
  2119  		DatastoreSectorFormatNative_4k,
  2120  	}
  2121  }
  2122  
  2123  func (e DatastoreSectorFormat) Strings() []string {
  2124  	return EnumValuesAsStrings(e.Values())
  2125  }
  2126  
  2127  func init() {
  2128  	t["DatastoreSectorFormat"] = reflect.TypeOf((*DatastoreSectorFormat)(nil)).Elem()
  2129  	minAPIVersionForType["DatastoreSectorFormat"] = "9.0.0.0"
  2130  }
  2131  
  2132  // Defines the current maintenance mode state of the datastore.
  2133  type DatastoreSummaryMaintenanceModeState string
  2134  
  2135  const (
  2136  	// Default state.
  2137  	DatastoreSummaryMaintenanceModeStateNormal = DatastoreSummaryMaintenanceModeState("normal")
  2138  	// Started entering maintenance mode, but not finished.
  2139  	//
  2140  	// This could happen when waiting for user input or for
  2141  	// long-running vmotions to complete.
  2142  	DatastoreSummaryMaintenanceModeStateEnteringMaintenance = DatastoreSummaryMaintenanceModeState("enteringMaintenance")
  2143  	// Successfully entered maintenance mode.
  2144  	DatastoreSummaryMaintenanceModeStateInMaintenance = DatastoreSummaryMaintenanceModeState("inMaintenance")
  2145  )
  2146  
  2147  func (e DatastoreSummaryMaintenanceModeState) Values() []DatastoreSummaryMaintenanceModeState {
  2148  	return []DatastoreSummaryMaintenanceModeState{
  2149  		DatastoreSummaryMaintenanceModeStateNormal,
  2150  		DatastoreSummaryMaintenanceModeStateEnteringMaintenance,
  2151  		DatastoreSummaryMaintenanceModeStateInMaintenance,
  2152  	}
  2153  }
  2154  
  2155  func (e DatastoreSummaryMaintenanceModeState) Strings() []string {
  2156  	return EnumValuesAsStrings(e.Values())
  2157  }
  2158  
  2159  func init() {
  2160  	t["DatastoreSummaryMaintenanceModeState"] = reflect.TypeOf((*DatastoreSummaryMaintenanceModeState)(nil)).Elem()
  2161  }
  2162  
  2163  type DayOfWeek string
  2164  
  2165  const (
  2166  	DayOfWeekSunday    = DayOfWeek("sunday")
  2167  	DayOfWeekMonday    = DayOfWeek("monday")
  2168  	DayOfWeekTuesday   = DayOfWeek("tuesday")
  2169  	DayOfWeekWednesday = DayOfWeek("wednesday")
  2170  	DayOfWeekThursday  = DayOfWeek("thursday")
  2171  	DayOfWeekFriday    = DayOfWeek("friday")
  2172  	DayOfWeekSaturday  = DayOfWeek("saturday")
  2173  )
  2174  
  2175  func (e DayOfWeek) Values() []DayOfWeek {
  2176  	return []DayOfWeek{
  2177  		DayOfWeekSunday,
  2178  		DayOfWeekMonday,
  2179  		DayOfWeekTuesday,
  2180  		DayOfWeekWednesday,
  2181  		DayOfWeekThursday,
  2182  		DayOfWeekFriday,
  2183  		DayOfWeekSaturday,
  2184  	}
  2185  }
  2186  
  2187  func (e DayOfWeek) Strings() []string {
  2188  	return EnumValuesAsStrings(e.Values())
  2189  }
  2190  
  2191  func init() {
  2192  	t["DayOfWeek"] = reflect.TypeOf((*DayOfWeek)(nil)).Elem()
  2193  }
  2194  
  2195  // Reasons why a virtual device would not be supported on a host.
  2196  type DeviceNotSupportedReason string
  2197  
  2198  const (
  2199  	// The host does not support this virtual device at all.
  2200  	DeviceNotSupportedReasonHost = DeviceNotSupportedReason("host")
  2201  	// The device is supported by the host in general, but not for
  2202  	// the specific guest OS the virtual machine is using.
  2203  	DeviceNotSupportedReasonGuest = DeviceNotSupportedReason("guest")
  2204  	// The device is supported by the host and guest OS, but not for
  2205  	// the vSphere Fault Tolerance.
  2206  	DeviceNotSupportedReasonFt = DeviceNotSupportedReason("ft")
  2207  )
  2208  
  2209  func (e DeviceNotSupportedReason) Values() []DeviceNotSupportedReason {
  2210  	return []DeviceNotSupportedReason{
  2211  		DeviceNotSupportedReasonHost,
  2212  		DeviceNotSupportedReasonGuest,
  2213  		DeviceNotSupportedReasonFt,
  2214  	}
  2215  }
  2216  
  2217  func (e DeviceNotSupportedReason) Strings() []string {
  2218  	return EnumValuesAsStrings(e.Values())
  2219  }
  2220  
  2221  func init() {
  2222  	t["DeviceNotSupportedReason"] = reflect.TypeOf((*DeviceNotSupportedReason)(nil)).Elem()
  2223  	minAPIVersionForEnumValue["DeviceNotSupportedReason"] = map[string]string{
  2224  		"ft": "8.0.3.0",
  2225  	}
  2226  }
  2227  
  2228  // The list of Device Protocols.
  2229  type DeviceProtocol string
  2230  
  2231  const (
  2232  	DeviceProtocolNVMe = DeviceProtocol("NVMe")
  2233  	DeviceProtocolSCSI = DeviceProtocol("SCSI")
  2234  )
  2235  
  2236  func (e DeviceProtocol) Values() []DeviceProtocol {
  2237  	return []DeviceProtocol{
  2238  		DeviceProtocolNVMe,
  2239  		DeviceProtocolSCSI,
  2240  	}
  2241  }
  2242  
  2243  func (e DeviceProtocol) Strings() []string {
  2244  	return EnumValuesAsStrings(e.Values())
  2245  }
  2246  
  2247  func init() {
  2248  	t["DeviceProtocol"] = reflect.TypeOf((*DeviceProtocol)(nil)).Elem()
  2249  	minAPIVersionForType["DeviceProtocol"] = "8.0.1.0"
  2250  }
  2251  
  2252  // Pre-defined constants for possible creators of log files.
  2253  type DiagnosticManagerLogCreator string
  2254  
  2255  const (
  2256  	// VirtualCenter service
  2257  	DiagnosticManagerLogCreatorVpxd = DiagnosticManagerLogCreator("vpxd")
  2258  	// VirtualCenter agent
  2259  	DiagnosticManagerLogCreatorVpxa = DiagnosticManagerLogCreator("vpxa")
  2260  	// Host agent
  2261  	DiagnosticManagerLogCreatorHostd = DiagnosticManagerLogCreator("hostd")
  2262  	// Host server agent
  2263  	DiagnosticManagerLogCreatorServerd = DiagnosticManagerLogCreator("serverd")
  2264  	// Installation
  2265  	DiagnosticManagerLogCreatorInstall = DiagnosticManagerLogCreator("install")
  2266  	// Virtual infrastructure client
  2267  	DiagnosticManagerLogCreatorVpxClient = DiagnosticManagerLogCreator("vpxClient")
  2268  	// System Record Log
  2269  	DiagnosticManagerLogCreatorRecordLog = DiagnosticManagerLogCreator("recordLog")
  2270  )
  2271  
  2272  func (e DiagnosticManagerLogCreator) Values() []DiagnosticManagerLogCreator {
  2273  	return []DiagnosticManagerLogCreator{
  2274  		DiagnosticManagerLogCreatorVpxd,
  2275  		DiagnosticManagerLogCreatorVpxa,
  2276  		DiagnosticManagerLogCreatorHostd,
  2277  		DiagnosticManagerLogCreatorServerd,
  2278  		DiagnosticManagerLogCreatorInstall,
  2279  		DiagnosticManagerLogCreatorVpxClient,
  2280  		DiagnosticManagerLogCreatorRecordLog,
  2281  	}
  2282  }
  2283  
  2284  func (e DiagnosticManagerLogCreator) Strings() []string {
  2285  	return EnumValuesAsStrings(e.Values())
  2286  }
  2287  
  2288  func init() {
  2289  	t["DiagnosticManagerLogCreator"] = reflect.TypeOf((*DiagnosticManagerLogCreator)(nil)).Elem()
  2290  }
  2291  
  2292  // Constants for defined formats.
  2293  //
  2294  // For more information, see the comment for the format property.
  2295  type DiagnosticManagerLogFormat string
  2296  
  2297  const (
  2298  	// A standard ASCII-based line-based log file.
  2299  	DiagnosticManagerLogFormatPlain = DiagnosticManagerLogFormat("plain")
  2300  )
  2301  
  2302  func (e DiagnosticManagerLogFormat) Values() []DiagnosticManagerLogFormat {
  2303  	return []DiagnosticManagerLogFormat{
  2304  		DiagnosticManagerLogFormatPlain,
  2305  	}
  2306  }
  2307  
  2308  func (e DiagnosticManagerLogFormat) Strings() []string {
  2309  	return EnumValuesAsStrings(e.Values())
  2310  }
  2311  
  2312  func init() {
  2313  	t["DiagnosticManagerLogFormat"] = reflect.TypeOf((*DiagnosticManagerLogFormat)(nil)).Elem()
  2314  }
  2315  
  2316  // Type of partition indicating the type of storage on which the partition
  2317  // resides.
  2318  //
  2319  // If the diagnostic partition is local only, it will only need
  2320  // one slot. If the diagnostic partition is on shared storage, it could
  2321  // be used by multiple hosts. As a result, it will need multiple slots.
  2322  type DiagnosticPartitionStorageType string
  2323  
  2324  const (
  2325  	DiagnosticPartitionStorageTypeDirectAttached  = DiagnosticPartitionStorageType("directAttached")
  2326  	DiagnosticPartitionStorageTypeNetworkAttached = DiagnosticPartitionStorageType("networkAttached")
  2327  )
  2328  
  2329  func (e DiagnosticPartitionStorageType) Values() []DiagnosticPartitionStorageType {
  2330  	return []DiagnosticPartitionStorageType{
  2331  		DiagnosticPartitionStorageTypeDirectAttached,
  2332  		DiagnosticPartitionStorageTypeNetworkAttached,
  2333  	}
  2334  }
  2335  
  2336  func (e DiagnosticPartitionStorageType) Strings() []string {
  2337  	return EnumValuesAsStrings(e.Values())
  2338  }
  2339  
  2340  func init() {
  2341  	t["DiagnosticPartitionStorageType"] = reflect.TypeOf((*DiagnosticPartitionStorageType)(nil)).Elem()
  2342  }
  2343  
  2344  // The type of diagnostic partition.
  2345  //
  2346  // Private diagnostic partition has one
  2347  // slot, so can only be used by one host. Shared diagnostic parititon
  2348  // needs multiple slots so to be usable by multiple hosts.
  2349  type DiagnosticPartitionType string
  2350  
  2351  const (
  2352  	DiagnosticPartitionTypeSingleHost = DiagnosticPartitionType("singleHost")
  2353  	DiagnosticPartitionTypeMultiHost  = DiagnosticPartitionType("multiHost")
  2354  )
  2355  
  2356  func (e DiagnosticPartitionType) Values() []DiagnosticPartitionType {
  2357  	return []DiagnosticPartitionType{
  2358  		DiagnosticPartitionTypeSingleHost,
  2359  		DiagnosticPartitionTypeMultiHost,
  2360  	}
  2361  }
  2362  
  2363  func (e DiagnosticPartitionType) Strings() []string {
  2364  	return EnumValuesAsStrings(e.Values())
  2365  }
  2366  
  2367  func init() {
  2368  	t["DiagnosticPartitionType"] = reflect.TypeOf((*DiagnosticPartitionType)(nil)).Elem()
  2369  }
  2370  
  2371  // The disallowed change type.
  2372  type DisallowedChangeByServiceDisallowedChange string
  2373  
  2374  const (
  2375  	// Online extend disk operation.
  2376  	DisallowedChangeByServiceDisallowedChangeHotExtendDisk = DisallowedChangeByServiceDisallowedChange("hotExtendDisk")
  2377  )
  2378  
  2379  func (e DisallowedChangeByServiceDisallowedChange) Values() []DisallowedChangeByServiceDisallowedChange {
  2380  	return []DisallowedChangeByServiceDisallowedChange{
  2381  		DisallowedChangeByServiceDisallowedChangeHotExtendDisk,
  2382  	}
  2383  }
  2384  
  2385  func (e DisallowedChangeByServiceDisallowedChange) Strings() []string {
  2386  	return EnumValuesAsStrings(e.Values())
  2387  }
  2388  
  2389  func init() {
  2390  	t["DisallowedChangeByServiceDisallowedChange"] = reflect.TypeOf((*DisallowedChangeByServiceDisallowedChange)(nil)).Elem()
  2391  }
  2392  
  2393  // The `DistributedVirtualPortgroupBackingType_enum` enum defines
  2394  // the distributed virtual portgroup backing type.
  2395  type DistributedVirtualPortgroupBackingType string
  2396  
  2397  const (
  2398  	// The portgroup is created by vCenter.
  2399  	DistributedVirtualPortgroupBackingTypeStandard = DistributedVirtualPortgroupBackingType("standard")
  2400  	// The portgroup is created by NSX manager.
  2401  	//
  2402  	// For NSX backing type, We only support ephemeral portgroup type.
  2403  	// If `DistributedVirtualPortgroupPortgroupType_enum` is
  2404  	// ephemeral, A `DistributedVirtualPort` will be
  2405  	// dynamicly created by NSX when the virtual machine is reconfigured
  2406  	// to connect to the portgroup.
  2407  	DistributedVirtualPortgroupBackingTypeNsx = DistributedVirtualPortgroupBackingType("nsx")
  2408  )
  2409  
  2410  func (e DistributedVirtualPortgroupBackingType) Values() []DistributedVirtualPortgroupBackingType {
  2411  	return []DistributedVirtualPortgroupBackingType{
  2412  		DistributedVirtualPortgroupBackingTypeStandard,
  2413  		DistributedVirtualPortgroupBackingTypeNsx,
  2414  	}
  2415  }
  2416  
  2417  func (e DistributedVirtualPortgroupBackingType) Strings() []string {
  2418  	return EnumValuesAsStrings(e.Values())
  2419  }
  2420  
  2421  func init() {
  2422  	t["DistributedVirtualPortgroupBackingType"] = reflect.TypeOf((*DistributedVirtualPortgroupBackingType)(nil)).Elem()
  2423  }
  2424  
  2425  // The meta tag names recognizable in the
  2426  // `DVPortgroupConfigInfo.portNameFormat` string.
  2427  type DistributedVirtualPortgroupMetaTagName string
  2428  
  2429  const (
  2430  	// This tag will be expanded to the name of the switch.
  2431  	DistributedVirtualPortgroupMetaTagNameDvsName = DistributedVirtualPortgroupMetaTagName("dvsName")
  2432  	// This tag will be expanded to the name of the portgroup.
  2433  	DistributedVirtualPortgroupMetaTagNamePortgroupName = DistributedVirtualPortgroupMetaTagName("portgroupName")
  2434  	// This tag will be expanded to the current index of the port.
  2435  	DistributedVirtualPortgroupMetaTagNamePortIndex = DistributedVirtualPortgroupMetaTagName("portIndex")
  2436  )
  2437  
  2438  func (e DistributedVirtualPortgroupMetaTagName) Values() []DistributedVirtualPortgroupMetaTagName {
  2439  	return []DistributedVirtualPortgroupMetaTagName{
  2440  		DistributedVirtualPortgroupMetaTagNameDvsName,
  2441  		DistributedVirtualPortgroupMetaTagNamePortgroupName,
  2442  		DistributedVirtualPortgroupMetaTagNamePortIndex,
  2443  	}
  2444  }
  2445  
  2446  func (e DistributedVirtualPortgroupMetaTagName) Strings() []string {
  2447  	return EnumValuesAsStrings(e.Values())
  2448  }
  2449  
  2450  func init() {
  2451  	t["DistributedVirtualPortgroupMetaTagName"] = reflect.TypeOf((*DistributedVirtualPortgroupMetaTagName)(nil)).Elem()
  2452  }
  2453  
  2454  // The `DistributedVirtualPortgroupPortgroupType_enum` enum defines
  2455  // the distributed virtual portgroup types
  2456  // (`DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type`).
  2457  //
  2458  // Early binding specifies a static set of ports that are created
  2459  // when you create the distributed virtual portgroup. An ephemeral portgroup uses dynamic
  2460  // ports that are created when you power on a virtual machine.
  2461  type DistributedVirtualPortgroupPortgroupType string
  2462  
  2463  const (
  2464  	// A free `DistributedVirtualPort` will be selected and assigned to
  2465  	// a `VirtualMachine` when the virtual machine is reconfigured to
  2466  	// connect to the portgroup.
  2467  	DistributedVirtualPortgroupPortgroupTypeEarlyBinding = DistributedVirtualPortgroupPortgroupType("earlyBinding")
  2468  	// Deprecated as of vSphere API 5.0.
  2469  	//
  2470  	// A free `DistributedVirtualPort` will be selected and
  2471  	// assigned to a `VirtualMachine` when the virtual machine is
  2472  	// powered on.
  2473  	DistributedVirtualPortgroupPortgroupTypeLateBinding = DistributedVirtualPortgroupPortgroupType("lateBinding")
  2474  	// A `DistributedVirtualPort` will be created and assigned to a
  2475  	// `VirtualMachine` when the virtual machine is powered on, and will
  2476  	// be deleted when the virtual machine is powered off.
  2477  	//
  2478  	// An ephemeral portgroup has
  2479  	// no limit on the number of ports that can be a part of this portgroup.
  2480  	// In cases where the vCenter Server is unavailable the host can
  2481  	// create conflict ports in this portgroup to be used by a virtual machine
  2482  	// at power on.
  2483  	DistributedVirtualPortgroupPortgroupTypeEphemeral = DistributedVirtualPortgroupPortgroupType("ephemeral")
  2484  )
  2485  
  2486  func (e DistributedVirtualPortgroupPortgroupType) Values() []DistributedVirtualPortgroupPortgroupType {
  2487  	return []DistributedVirtualPortgroupPortgroupType{
  2488  		DistributedVirtualPortgroupPortgroupTypeEarlyBinding,
  2489  		DistributedVirtualPortgroupPortgroupTypeLateBinding,
  2490  		DistributedVirtualPortgroupPortgroupTypeEphemeral,
  2491  	}
  2492  }
  2493  
  2494  func (e DistributedVirtualPortgroupPortgroupType) Strings() []string {
  2495  	return EnumValuesAsStrings(e.Values())
  2496  }
  2497  
  2498  func init() {
  2499  	t["DistributedVirtualPortgroupPortgroupType"] = reflect.TypeOf((*DistributedVirtualPortgroupPortgroupType)(nil)).Elem()
  2500  }
  2501  
  2502  // List of possible host infrastructure traffic classes
  2503  type DistributedVirtualSwitchHostInfrastructureTrafficClass string
  2504  
  2505  const (
  2506  	// Management Traffic
  2507  	DistributedVirtualSwitchHostInfrastructureTrafficClassManagement = DistributedVirtualSwitchHostInfrastructureTrafficClass("management")
  2508  	// Fault Tolerance (FT) Traffic
  2509  	DistributedVirtualSwitchHostInfrastructureTrafficClassFaultTolerance = DistributedVirtualSwitchHostInfrastructureTrafficClass("faultTolerance")
  2510  	// vMotion Traffic
  2511  	DistributedVirtualSwitchHostInfrastructureTrafficClassVmotion = DistributedVirtualSwitchHostInfrastructureTrafficClass("vmotion")
  2512  	// Virtual Machine Traffic
  2513  	DistributedVirtualSwitchHostInfrastructureTrafficClassVirtualMachine = DistributedVirtualSwitchHostInfrastructureTrafficClass("virtualMachine")
  2514  	// iSCSI Traffic
  2515  	DistributedVirtualSwitchHostInfrastructureTrafficClassISCSI = DistributedVirtualSwitchHostInfrastructureTrafficClass("iSCSI")
  2516  	// NFS Traffic
  2517  	DistributedVirtualSwitchHostInfrastructureTrafficClassNfs = DistributedVirtualSwitchHostInfrastructureTrafficClass("nfs")
  2518  	// vSphere Replication (VR) Traffic
  2519  	DistributedVirtualSwitchHostInfrastructureTrafficClassHbr = DistributedVirtualSwitchHostInfrastructureTrafficClass("hbr")
  2520  	// vSphere Storage Area Network Traffic
  2521  	DistributedVirtualSwitchHostInfrastructureTrafficClassVsan = DistributedVirtualSwitchHostInfrastructureTrafficClass("vsan")
  2522  	// vSphere Data Protection - Backup Traffic
  2523  	DistributedVirtualSwitchHostInfrastructureTrafficClassVdp = DistributedVirtualSwitchHostInfrastructureTrafficClass("vdp")
  2524  	// vSphere Backup NFC Traffic
  2525  	DistributedVirtualSwitchHostInfrastructureTrafficClassBackupNfc = DistributedVirtualSwitchHostInfrastructureTrafficClass("backupNfc")
  2526  	// vSphere NVMETCP Traffic
  2527  	DistributedVirtualSwitchHostInfrastructureTrafficClassNvmetcp = DistributedVirtualSwitchHostInfrastructureTrafficClass("nvmetcp")
  2528  	// vSphere Provisioning Traffic
  2529  	DistributedVirtualSwitchHostInfrastructureTrafficClassProvisioning = DistributedVirtualSwitchHostInfrastructureTrafficClass("provisioning")
  2530  )
  2531  
  2532  func (e DistributedVirtualSwitchHostInfrastructureTrafficClass) Values() []DistributedVirtualSwitchHostInfrastructureTrafficClass {
  2533  	return []DistributedVirtualSwitchHostInfrastructureTrafficClass{
  2534  		DistributedVirtualSwitchHostInfrastructureTrafficClassManagement,
  2535  		DistributedVirtualSwitchHostInfrastructureTrafficClassFaultTolerance,
  2536  		DistributedVirtualSwitchHostInfrastructureTrafficClassVmotion,
  2537  		DistributedVirtualSwitchHostInfrastructureTrafficClassVirtualMachine,
  2538  		DistributedVirtualSwitchHostInfrastructureTrafficClassISCSI,
  2539  		DistributedVirtualSwitchHostInfrastructureTrafficClassNfs,
  2540  		DistributedVirtualSwitchHostInfrastructureTrafficClassHbr,
  2541  		DistributedVirtualSwitchHostInfrastructureTrafficClassVsan,
  2542  		DistributedVirtualSwitchHostInfrastructureTrafficClassVdp,
  2543  		DistributedVirtualSwitchHostInfrastructureTrafficClassBackupNfc,
  2544  		DistributedVirtualSwitchHostInfrastructureTrafficClassNvmetcp,
  2545  		DistributedVirtualSwitchHostInfrastructureTrafficClassProvisioning,
  2546  	}
  2547  }
  2548  
  2549  func (e DistributedVirtualSwitchHostInfrastructureTrafficClass) Strings() []string {
  2550  	return EnumValuesAsStrings(e.Values())
  2551  }
  2552  
  2553  func init() {
  2554  	t["DistributedVirtualSwitchHostInfrastructureTrafficClass"] = reflect.TypeOf((*DistributedVirtualSwitchHostInfrastructureTrafficClass)(nil)).Elem()
  2555  	minAPIVersionForEnumValue["DistributedVirtualSwitchHostInfrastructureTrafficClass"] = map[string]string{
  2556  		"backupNfc":    "7.0.1.0",
  2557  		"nvmetcp":      "7.0.3.0",
  2558  		"provisioning": "9.0.0.0",
  2559  	}
  2560  }
  2561  
  2562  // Describes the state of the host proxy switch.
  2563  type DistributedVirtualSwitchHostMemberHostComponentState string
  2564  
  2565  const (
  2566  	// The host proxy switch is up and running.
  2567  	DistributedVirtualSwitchHostMemberHostComponentStateUp = DistributedVirtualSwitchHostMemberHostComponentState("up")
  2568  	// The host proxy switch is waiting to be initialized.
  2569  	DistributedVirtualSwitchHostMemberHostComponentStatePending = DistributedVirtualSwitchHostMemberHostComponentState("pending")
  2570  	// The proxy switch configuration is not the same as the
  2571  	// distributed virtual switch configuration in the vCenter Server.
  2572  	DistributedVirtualSwitchHostMemberHostComponentStateOutOfSync = DistributedVirtualSwitchHostMemberHostComponentState("outOfSync")
  2573  	// The host requires attention.
  2574  	DistributedVirtualSwitchHostMemberHostComponentStateWarning = DistributedVirtualSwitchHostMemberHostComponentState("warning")
  2575  	// The host is disconnected or it is not responding.
  2576  	DistributedVirtualSwitchHostMemberHostComponentStateDisconnected = DistributedVirtualSwitchHostMemberHostComponentState("disconnected")
  2577  	// The host proxy is down.
  2578  	DistributedVirtualSwitchHostMemberHostComponentStateDown = DistributedVirtualSwitchHostMemberHostComponentState("down")
  2579  )
  2580  
  2581  func (e DistributedVirtualSwitchHostMemberHostComponentState) Values() []DistributedVirtualSwitchHostMemberHostComponentState {
  2582  	return []DistributedVirtualSwitchHostMemberHostComponentState{
  2583  		DistributedVirtualSwitchHostMemberHostComponentStateUp,
  2584  		DistributedVirtualSwitchHostMemberHostComponentStatePending,
  2585  		DistributedVirtualSwitchHostMemberHostComponentStateOutOfSync,
  2586  		DistributedVirtualSwitchHostMemberHostComponentStateWarning,
  2587  		DistributedVirtualSwitchHostMemberHostComponentStateDisconnected,
  2588  		DistributedVirtualSwitchHostMemberHostComponentStateDown,
  2589  	}
  2590  }
  2591  
  2592  func (e DistributedVirtualSwitchHostMemberHostComponentState) Strings() []string {
  2593  	return EnumValuesAsStrings(e.Values())
  2594  }
  2595  
  2596  func init() {
  2597  	t["DistributedVirtualSwitchHostMemberHostComponentState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostComponentState)(nil)).Elem()
  2598  }
  2599  
  2600  // Describe the runtime state of the uplink.
  2601  type DistributedVirtualSwitchHostMemberHostUplinkStateState string
  2602  
  2603  const (
  2604  	DistributedVirtualSwitchHostMemberHostUplinkStateStateActive  = DistributedVirtualSwitchHostMemberHostUplinkStateState("active")
  2605  	DistributedVirtualSwitchHostMemberHostUplinkStateStateStandby = DistributedVirtualSwitchHostMemberHostUplinkStateState("standby")
  2606  )
  2607  
  2608  func (e DistributedVirtualSwitchHostMemberHostUplinkStateState) Values() []DistributedVirtualSwitchHostMemberHostUplinkStateState {
  2609  	return []DistributedVirtualSwitchHostMemberHostUplinkStateState{
  2610  		DistributedVirtualSwitchHostMemberHostUplinkStateStateActive,
  2611  		DistributedVirtualSwitchHostMemberHostUplinkStateStateStandby,
  2612  	}
  2613  }
  2614  
  2615  func (e DistributedVirtualSwitchHostMemberHostUplinkStateState) Strings() []string {
  2616  	return EnumValuesAsStrings(e.Values())
  2617  }
  2618  
  2619  func init() {
  2620  	t["DistributedVirtualSwitchHostMemberHostUplinkStateState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostUplinkStateState)(nil)).Elem()
  2621  }
  2622  
  2623  // Transport zone type.
  2624  type DistributedVirtualSwitchHostMemberTransportZoneType string
  2625  
  2626  const (
  2627  	// VLAN based networking
  2628  	DistributedVirtualSwitchHostMemberTransportZoneTypeVlan = DistributedVirtualSwitchHostMemberTransportZoneType("vlan")
  2629  	// VXLAN based networking
  2630  	DistributedVirtualSwitchHostMemberTransportZoneTypeOverlay = DistributedVirtualSwitchHostMemberTransportZoneType("overlay")
  2631  )
  2632  
  2633  func (e DistributedVirtualSwitchHostMemberTransportZoneType) Values() []DistributedVirtualSwitchHostMemberTransportZoneType {
  2634  	return []DistributedVirtualSwitchHostMemberTransportZoneType{
  2635  		DistributedVirtualSwitchHostMemberTransportZoneTypeVlan,
  2636  		DistributedVirtualSwitchHostMemberTransportZoneTypeOverlay,
  2637  	}
  2638  }
  2639  
  2640  func (e DistributedVirtualSwitchHostMemberTransportZoneType) Strings() []string {
  2641  	return EnumValuesAsStrings(e.Values())
  2642  }
  2643  
  2644  func init() {
  2645  	t["DistributedVirtualSwitchHostMemberTransportZoneType"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberTransportZoneType)(nil)).Elem()
  2646  }
  2647  
  2648  // Network resource control version types.
  2649  type DistributedVirtualSwitchNetworkResourceControlVersion string
  2650  
  2651  const (
  2652  	// Network Resource Control API version 2
  2653  	DistributedVirtualSwitchNetworkResourceControlVersionVersion2 = DistributedVirtualSwitchNetworkResourceControlVersion("version2")
  2654  	// Network Resource Control API version 3
  2655  	DistributedVirtualSwitchNetworkResourceControlVersionVersion3 = DistributedVirtualSwitchNetworkResourceControlVersion("version3")
  2656  )
  2657  
  2658  func (e DistributedVirtualSwitchNetworkResourceControlVersion) Values() []DistributedVirtualSwitchNetworkResourceControlVersion {
  2659  	return []DistributedVirtualSwitchNetworkResourceControlVersion{
  2660  		DistributedVirtualSwitchNetworkResourceControlVersionVersion2,
  2661  		DistributedVirtualSwitchNetworkResourceControlVersionVersion3,
  2662  	}
  2663  }
  2664  
  2665  func (e DistributedVirtualSwitchNetworkResourceControlVersion) Strings() []string {
  2666  	return EnumValuesAsStrings(e.Values())
  2667  }
  2668  
  2669  func init() {
  2670  	t["DistributedVirtualSwitchNetworkResourceControlVersion"] = reflect.TypeOf((*DistributedVirtualSwitchNetworkResourceControlVersion)(nil)).Elem()
  2671  }
  2672  
  2673  // List of possible teaming modes supported by the vNetwork Distributed
  2674  // Switch.
  2675  //
  2676  // The different policy modes define the way traffic is routed
  2677  // through the different uplink ports in a team.
  2678  type DistributedVirtualSwitchNicTeamingPolicyMode string
  2679  
  2680  const (
  2681  	// Routing based on IP hash
  2682  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_ip = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_ip")
  2683  	// Route based on source MAC hash
  2684  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcmac = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcmac")
  2685  	// Route based on the source of the port ID
  2686  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcid = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcid")
  2687  	// Use explicit failover order
  2688  	DistributedVirtualSwitchNicTeamingPolicyModeFailover_explicit = DistributedVirtualSwitchNicTeamingPolicyMode("failover_explicit")
  2689  	// Routing based by dynamically balancing traffic through the NICs
  2690  	// in a team.
  2691  	//
  2692  	// This is the recommended teaming policy when the
  2693  	// network I/O control feature is enabled for the vNetwork
  2694  	// Distributed Switch.
  2695  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_loadbased = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_loadbased")
  2696  )
  2697  
  2698  func (e DistributedVirtualSwitchNicTeamingPolicyMode) Values() []DistributedVirtualSwitchNicTeamingPolicyMode {
  2699  	return []DistributedVirtualSwitchNicTeamingPolicyMode{
  2700  		DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_ip,
  2701  		DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcmac,
  2702  		DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcid,
  2703  		DistributedVirtualSwitchNicTeamingPolicyModeFailover_explicit,
  2704  		DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_loadbased,
  2705  	}
  2706  }
  2707  
  2708  func (e DistributedVirtualSwitchNicTeamingPolicyMode) Strings() []string {
  2709  	return EnumValuesAsStrings(e.Values())
  2710  }
  2711  
  2712  func init() {
  2713  	t["DistributedVirtualSwitchNicTeamingPolicyMode"] = reflect.TypeOf((*DistributedVirtualSwitchNicTeamingPolicyMode)(nil)).Elem()
  2714  }
  2715  
  2716  // The connectee types.
  2717  type DistributedVirtualSwitchPortConnecteeConnecteeType string
  2718  
  2719  const (
  2720  	// The port connects to a Physical NIC.
  2721  	DistributedVirtualSwitchPortConnecteeConnecteeTypePnic = DistributedVirtualSwitchPortConnecteeConnecteeType("pnic")
  2722  	// The port connects to a Virtual NIC in a Virtual Machine.
  2723  	DistributedVirtualSwitchPortConnecteeConnecteeTypeVmVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("vmVnic")
  2724  	// The port connects to a console Virtual NIC on a host.
  2725  	DistributedVirtualSwitchPortConnecteeConnecteeTypeHostConsoleVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostConsoleVnic")
  2726  	// The port connects to a VMkernel Virtual NIC on a host.
  2727  	DistributedVirtualSwitchPortConnecteeConnecteeTypeHostVmkVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostVmkVnic")
  2728  	// The port connects to a Virtual NIC in a System CRX VM.
  2729  	DistributedVirtualSwitchPortConnecteeConnecteeTypeSystemCrxVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("systemCrxVnic")
  2730  )
  2731  
  2732  func (e DistributedVirtualSwitchPortConnecteeConnecteeType) Values() []DistributedVirtualSwitchPortConnecteeConnecteeType {
  2733  	return []DistributedVirtualSwitchPortConnecteeConnecteeType{
  2734  		DistributedVirtualSwitchPortConnecteeConnecteeTypePnic,
  2735  		DistributedVirtualSwitchPortConnecteeConnecteeTypeVmVnic,
  2736  		DistributedVirtualSwitchPortConnecteeConnecteeTypeHostConsoleVnic,
  2737  		DistributedVirtualSwitchPortConnecteeConnecteeTypeHostVmkVnic,
  2738  		DistributedVirtualSwitchPortConnecteeConnecteeTypeSystemCrxVnic,
  2739  	}
  2740  }
  2741  
  2742  func (e DistributedVirtualSwitchPortConnecteeConnecteeType) Strings() []string {
  2743  	return EnumValuesAsStrings(e.Values())
  2744  }
  2745  
  2746  func init() {
  2747  	t["DistributedVirtualSwitchPortConnecteeConnecteeType"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnecteeConnecteeType)(nil)).Elem()
  2748  	minAPIVersionForEnumValue["DistributedVirtualSwitchPortConnecteeConnecteeType"] = map[string]string{
  2749  		"systemCrxVnic": "8.0.1.0",
  2750  	}
  2751  }
  2752  
  2753  // The product spec operation types.
  2754  type DistributedVirtualSwitchProductSpecOperationType string
  2755  
  2756  const (
  2757  	// Push the switch's host component of the specified product info to the
  2758  	// host members of the switch at a fixed location known by the host.
  2759  	DistributedVirtualSwitchProductSpecOperationTypePreInstall = DistributedVirtualSwitchProductSpecOperationType("preInstall")
  2760  	// Change the switch implementation to use the specified one.
  2761  	//
  2762  	// If the
  2763  	// property values in the specified product info are different from
  2764  	// those of the corresponding properties in the switch's product info,
  2765  	// a host component preinstall and switch upgrade will be performed.
  2766  	DistributedVirtualSwitchProductSpecOperationTypeUpgrade = DistributedVirtualSwitchProductSpecOperationType("upgrade")
  2767  	// Set the product information for an available switch upgrade that
  2768  	// would be done by the switch implementation.
  2769  	//
  2770  	// This operation will post
  2771  	// a config issue on the switch to signal the availability of an upgrade.
  2772  	// This operation is applicable only in the case when switch policy
  2773  	// `DVSPolicy.autoUpgradeAllowed`
  2774  	// is set to false.
  2775  	DistributedVirtualSwitchProductSpecOperationTypeNotifyAvailableUpgrade = DistributedVirtualSwitchProductSpecOperationType("notifyAvailableUpgrade")
  2776  	// If productSpec is set to be same as that in the
  2777  	// `DvsUpgradeAvailableEvent` configIssue, the switch
  2778  	// implementation will proceed with the upgrade.
  2779  	//
  2780  	// To reject or stop the
  2781  	// upgrade, leave the productSpec unset. If productSpec is set but does not
  2782  	// match that in `DvsUpgradeAvailableEvent` configIssue,
  2783  	// a fault will be raised.
  2784  	// This operation is applicable only in the case when switch policy
  2785  	// `DVSPolicy.autoUpgradeAllowed`
  2786  	// is set to false.
  2787  	DistributedVirtualSwitchProductSpecOperationTypeProceedWithUpgrade = DistributedVirtualSwitchProductSpecOperationType("proceedWithUpgrade")
  2788  	// Update the bundle URL and ID information.
  2789  	//
  2790  	// If other properties in
  2791  	// the specified product info differ from the
  2792  	// corresponding properties of the switch's product info, a fault will
  2793  	// be thrown. Updating the bundle ID will result in installing the new host
  2794  	// component identified by the bundle ID.
  2795  	DistributedVirtualSwitchProductSpecOperationTypeUpdateBundleInfo = DistributedVirtualSwitchProductSpecOperationType("updateBundleInfo")
  2796  )
  2797  
  2798  func (e DistributedVirtualSwitchProductSpecOperationType) Values() []DistributedVirtualSwitchProductSpecOperationType {
  2799  	return []DistributedVirtualSwitchProductSpecOperationType{
  2800  		DistributedVirtualSwitchProductSpecOperationTypePreInstall,
  2801  		DistributedVirtualSwitchProductSpecOperationTypeUpgrade,
  2802  		DistributedVirtualSwitchProductSpecOperationTypeNotifyAvailableUpgrade,
  2803  		DistributedVirtualSwitchProductSpecOperationTypeProceedWithUpgrade,
  2804  		DistributedVirtualSwitchProductSpecOperationTypeUpdateBundleInfo,
  2805  	}
  2806  }
  2807  
  2808  func (e DistributedVirtualSwitchProductSpecOperationType) Strings() []string {
  2809  	return EnumValuesAsStrings(e.Values())
  2810  }
  2811  
  2812  func init() {
  2813  	t["DistributedVirtualSwitchProductSpecOperationType"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpecOperationType)(nil)).Elem()
  2814  }
  2815  
  2816  type DpmBehavior string
  2817  
  2818  const (
  2819  	// Specifies that VirtualCenter should generate recommendations
  2820  	// for host power operations, but should not execute the
  2821  	// recommendations automatically.
  2822  	DpmBehaviorManual = DpmBehavior("manual")
  2823  	// Specifies that VirtualCenter should generate recommendations
  2824  	// for host power operations, and should execute the
  2825  	// recommendations automatically.
  2826  	DpmBehaviorAutomated = DpmBehavior("automated")
  2827  )
  2828  
  2829  func (e DpmBehavior) Values() []DpmBehavior {
  2830  	return []DpmBehavior{
  2831  		DpmBehaviorManual,
  2832  		DpmBehaviorAutomated,
  2833  	}
  2834  }
  2835  
  2836  func (e DpmBehavior) Strings() []string {
  2837  	return EnumValuesAsStrings(e.Values())
  2838  }
  2839  
  2840  func init() {
  2841  	t["DpmBehavior"] = reflect.TypeOf((*DpmBehavior)(nil)).Elem()
  2842  }
  2843  
  2844  type DrsBehavior string
  2845  
  2846  const (
  2847  	// Specifies that VirtualCenter should generate recommendations for
  2848  	// virtual machine migration and for placement with a host,
  2849  	// but should not implement the recommendations automatically.
  2850  	DrsBehaviorManual = DrsBehavior("manual")
  2851  	// Specifies that VirtualCenter should generate recommendations for
  2852  	// virtual machine migration and for placement with a host,
  2853  	// but should automatically implement only the placement at power on.
  2854  	DrsBehaviorPartiallyAutomated = DrsBehavior("partiallyAutomated")
  2855  	// Specifies that VirtualCenter should automate both the migration
  2856  	// of virtual machines and their placement with a host at power on.
  2857  	DrsBehaviorFullyAutomated = DrsBehavior("fullyAutomated")
  2858  )
  2859  
  2860  func (e DrsBehavior) Values() []DrsBehavior {
  2861  	return []DrsBehavior{
  2862  		DrsBehaviorManual,
  2863  		DrsBehaviorPartiallyAutomated,
  2864  		DrsBehaviorFullyAutomated,
  2865  	}
  2866  }
  2867  
  2868  func (e DrsBehavior) Strings() []string {
  2869  	return EnumValuesAsStrings(e.Values())
  2870  }
  2871  
  2872  func init() {
  2873  	t["DrsBehavior"] = reflect.TypeOf((*DrsBehavior)(nil)).Elem()
  2874  }
  2875  
  2876  // Correlation state as computed by storageRM
  2877  // module on host.
  2878  type DrsInjectorWorkloadCorrelationState string
  2879  
  2880  const (
  2881  	DrsInjectorWorkloadCorrelationStateCorrelated   = DrsInjectorWorkloadCorrelationState("Correlated")
  2882  	DrsInjectorWorkloadCorrelationStateUncorrelated = DrsInjectorWorkloadCorrelationState("Uncorrelated")
  2883  )
  2884  
  2885  func (e DrsInjectorWorkloadCorrelationState) Values() []DrsInjectorWorkloadCorrelationState {
  2886  	return []DrsInjectorWorkloadCorrelationState{
  2887  		DrsInjectorWorkloadCorrelationStateCorrelated,
  2888  		DrsInjectorWorkloadCorrelationStateUncorrelated,
  2889  	}
  2890  }
  2891  
  2892  func (e DrsInjectorWorkloadCorrelationState) Strings() []string {
  2893  	return EnumValuesAsStrings(e.Values())
  2894  }
  2895  
  2896  func init() {
  2897  	t["DrsInjectorWorkloadCorrelationState"] = reflect.TypeOf((*DrsInjectorWorkloadCorrelationState)(nil)).Elem()
  2898  }
  2899  
  2900  // Deprecated as of VI API 2.5 use `RecommendationReasonCode_enum`.
  2901  //
  2902  // List of defined migration reason codes:
  2903  type DrsRecommendationReasonCode string
  2904  
  2905  const (
  2906  	// Balance average CPU utilization.
  2907  	DrsRecommendationReasonCodeFairnessCpuAvg = DrsRecommendationReasonCode("fairnessCpuAvg")
  2908  	// Balance average memory utilization.
  2909  	DrsRecommendationReasonCodeFairnessMemAvg = DrsRecommendationReasonCode("fairnessMemAvg")
  2910  	// Fulfill affinity rule.
  2911  	DrsRecommendationReasonCodeJointAffin = DrsRecommendationReasonCode("jointAffin")
  2912  	// Fulfill anti-affinity rule.
  2913  	DrsRecommendationReasonCodeAntiAffin = DrsRecommendationReasonCode("antiAffin")
  2914  	// Host entering maintenance mode.
  2915  	DrsRecommendationReasonCodeHostMaint = DrsRecommendationReasonCode("hostMaint")
  2916  )
  2917  
  2918  func (e DrsRecommendationReasonCode) Values() []DrsRecommendationReasonCode {
  2919  	return []DrsRecommendationReasonCode{
  2920  		DrsRecommendationReasonCodeFairnessCpuAvg,
  2921  		DrsRecommendationReasonCodeFairnessMemAvg,
  2922  		DrsRecommendationReasonCodeJointAffin,
  2923  		DrsRecommendationReasonCodeAntiAffin,
  2924  		DrsRecommendationReasonCodeHostMaint,
  2925  	}
  2926  }
  2927  
  2928  func (e DrsRecommendationReasonCode) Strings() []string {
  2929  	return EnumValuesAsStrings(e.Values())
  2930  }
  2931  
  2932  func init() {
  2933  	t["DrsRecommendationReasonCode"] = reflect.TypeOf((*DrsRecommendationReasonCode)(nil)).Elem()
  2934  }
  2935  
  2936  // The port blocked/unblocked state.
  2937  type DvsEventPortBlockState string
  2938  
  2939  const (
  2940  	// The dvs port is in unset state
  2941  	DvsEventPortBlockStateUnset = DvsEventPortBlockState("unset")
  2942  	// The dvs port is in blocked state
  2943  	DvsEventPortBlockStateBlocked = DvsEventPortBlockState("blocked")
  2944  	// The dvs port is in unblocked state
  2945  	DvsEventPortBlockStateUnblocked = DvsEventPortBlockState("unblocked")
  2946  	// The dvs port is in unknown state
  2947  	DvsEventPortBlockStateUnknown = DvsEventPortBlockState("unknown")
  2948  )
  2949  
  2950  func (e DvsEventPortBlockState) Values() []DvsEventPortBlockState {
  2951  	return []DvsEventPortBlockState{
  2952  		DvsEventPortBlockStateUnset,
  2953  		DvsEventPortBlockStateBlocked,
  2954  		DvsEventPortBlockStateUnblocked,
  2955  		DvsEventPortBlockStateUnknown,
  2956  	}
  2957  }
  2958  
  2959  func (e DvsEventPortBlockState) Strings() []string {
  2960  	return EnumValuesAsStrings(e.Values())
  2961  }
  2962  
  2963  func init() {
  2964  	t["DvsEventPortBlockState"] = reflect.TypeOf((*DvsEventPortBlockState)(nil)).Elem()
  2965  }
  2966  
  2967  // Network Filter on Failure Type.
  2968  //
  2969  // It specifies whether all the
  2970  // packets will be allowed or all the packets will be denied when
  2971  // Filter fails to configure.
  2972  type DvsFilterOnFailure string
  2973  
  2974  const (
  2975  	// Allows all the packets when the Filter fails to configure.
  2976  	DvsFilterOnFailureFailOpen = DvsFilterOnFailure("failOpen")
  2977  	// Denies all the packets when the Filter fails to configure.
  2978  	DvsFilterOnFailureFailClosed = DvsFilterOnFailure("failClosed")
  2979  )
  2980  
  2981  func (e DvsFilterOnFailure) Values() []DvsFilterOnFailure {
  2982  	return []DvsFilterOnFailure{
  2983  		DvsFilterOnFailureFailOpen,
  2984  		DvsFilterOnFailureFailClosed,
  2985  	}
  2986  }
  2987  
  2988  func (e DvsFilterOnFailure) Strings() []string {
  2989  	return EnumValuesAsStrings(e.Values())
  2990  }
  2991  
  2992  func init() {
  2993  	t["DvsFilterOnFailure"] = reflect.TypeOf((*DvsFilterOnFailure)(nil)).Elem()
  2994  }
  2995  
  2996  // Network Traffic Rule direction types.
  2997  //
  2998  // It specifies whether rule
  2999  // needs to be applied for packets which are incoming/outgoing or both.
  3000  type DvsNetworkRuleDirectionType string
  3001  
  3002  const (
  3003  	// This specifies that the network rule has to be applied only for
  3004  	// incoming packets.
  3005  	DvsNetworkRuleDirectionTypeIncomingPackets = DvsNetworkRuleDirectionType("incomingPackets")
  3006  	// This specifies that the network rule has to be applied only for
  3007  	// outgoing packets.
  3008  	DvsNetworkRuleDirectionTypeOutgoingPackets = DvsNetworkRuleDirectionType("outgoingPackets")
  3009  	// This specifies that the network rule has to be applied only for
  3010  	// both incoming and outgoing packets.
  3011  	DvsNetworkRuleDirectionTypeBoth = DvsNetworkRuleDirectionType("both")
  3012  )
  3013  
  3014  func (e DvsNetworkRuleDirectionType) Values() []DvsNetworkRuleDirectionType {
  3015  	return []DvsNetworkRuleDirectionType{
  3016  		DvsNetworkRuleDirectionTypeIncomingPackets,
  3017  		DvsNetworkRuleDirectionTypeOutgoingPackets,
  3018  		DvsNetworkRuleDirectionTypeBoth,
  3019  	}
  3020  }
  3021  
  3022  func (e DvsNetworkRuleDirectionType) Strings() []string {
  3023  	return EnumValuesAsStrings(e.Values())
  3024  }
  3025  
  3026  func init() {
  3027  	t["DvsNetworkRuleDirectionType"] = reflect.TypeOf((*DvsNetworkRuleDirectionType)(nil)).Elem()
  3028  }
  3029  
  3030  // The `EntityImportType_enum` enum defines the import type for a
  3031  // `DistributedVirtualSwitchManager*.*DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`
  3032  // operation.
  3033  type EntityImportType string
  3034  
  3035  const (
  3036  	// Create the entity with new identifiers.
  3037  	//
  3038  	// Specify the
  3039  	// `EntityBackupConfig*.*EntityBackupConfig.name` and
  3040  	// `EntityBackupConfig*.*EntityBackupConfig.container`
  3041  	// properties.
  3042  	//
  3043  	// The Server ignores any value for the
  3044  	// `EntityBackupConfig*.*EntityBackupConfig.key`
  3045  	// property.
  3046  	EntityImportTypeCreateEntityWithNewIdentifier = EntityImportType("createEntityWithNewIdentifier")
  3047  	// Recreate the entities with the original identifiers of the entity from which backup was created.
  3048  	//
  3049  	// The Server throws an exception if an entity with the same identifier already exists.
  3050  	// This option will also add the host members to the `DistributedVirtualSwitch` and will
  3051  	// try to get the virtual machine networking back with the same `DistributedVirtualPortgroup`.
  3052  	// Specify a `Folder` as the
  3053  	// `EntityBackupConfig*.*EntityBackupConfig.container`
  3054  	// for `EntityBackupConfig*.*EntityBackupConfig.entityType`
  3055  	// "distributedVirtualSwitch".
  3056  	//
  3057  	// The Server ignores any values for the
  3058  	// `EntityBackupConfig*.*EntityBackupConfig.key` and
  3059  	// `EntityBackupConfig*.*EntityBackupConfig.name`
  3060  	// properties.
  3061  	EntityImportTypeCreateEntityWithOriginalIdentifier = EntityImportType("createEntityWithOriginalIdentifier")
  3062  	// Apply the configuration specified in the
  3063  	// `EntityBackupConfig*.*EntityBackupConfig.configBlob`
  3064  	// property to the entity specified in the
  3065  	// `EntityBackupConfig*.*EntityBackupConfig.entityType` and
  3066  	// `EntityBackupConfig*.*EntityBackupConfig.key`
  3067  	// properties.
  3068  	//
  3069  	// If you specify
  3070  	// `EntityBackupConfig*.*EntityBackupConfig.name`,
  3071  	// the Server uses the specified name to rename the entity.
  3072  	//
  3073  	// The Server ignores any value for the
  3074  	// `EntityBackupConfig*.*EntityBackupConfig.container`
  3075  	// property.
  3076  	EntityImportTypeApplyToEntitySpecified = EntityImportType("applyToEntitySpecified")
  3077  )
  3078  
  3079  func (e EntityImportType) Values() []EntityImportType {
  3080  	return []EntityImportType{
  3081  		EntityImportTypeCreateEntityWithNewIdentifier,
  3082  		EntityImportTypeCreateEntityWithOriginalIdentifier,
  3083  		EntityImportTypeApplyToEntitySpecified,
  3084  	}
  3085  }
  3086  
  3087  func (e EntityImportType) Strings() []string {
  3088  	return EnumValuesAsStrings(e.Values())
  3089  }
  3090  
  3091  func init() {
  3092  	t["EntityImportType"] = reflect.TypeOf((*EntityImportType)(nil)).Elem()
  3093  }
  3094  
  3095  // The `EntityType_enum` enum identifies
  3096  // the type of entity that was exported
  3097  // (`DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`).
  3098  type EntityType string
  3099  
  3100  const (
  3101  	// Indicates the exported entity is a `DistributedVirtualSwitch`.
  3102  	EntityTypeDistributedVirtualSwitch = EntityType("distributedVirtualSwitch")
  3103  	// Indicates the exported entity is a `DistributedVirtualPortgroup`.
  3104  	EntityTypeDistributedVirtualPortgroup = EntityType("distributedVirtualPortgroup")
  3105  )
  3106  
  3107  func (e EntityType) Values() []EntityType {
  3108  	return []EntityType{
  3109  		EntityTypeDistributedVirtualSwitch,
  3110  		EntityTypeDistributedVirtualPortgroup,
  3111  	}
  3112  }
  3113  
  3114  func (e EntityType) Strings() []string {
  3115  	return EnumValuesAsStrings(e.Values())
  3116  }
  3117  
  3118  func init() {
  3119  	t["EntityType"] = reflect.TypeOf((*EntityType)(nil)).Elem()
  3120  }
  3121  
  3122  // Basic Comparison operators
  3123  type EventAlarmExpressionComparisonOperator string
  3124  
  3125  const (
  3126  	// attribute equals specified value
  3127  	EventAlarmExpressionComparisonOperatorEquals = EventAlarmExpressionComparisonOperator("equals")
  3128  	// attribute does not equal specified value
  3129  	EventAlarmExpressionComparisonOperatorNotEqualTo = EventAlarmExpressionComparisonOperator("notEqualTo")
  3130  	// attribute starts with specified value
  3131  	EventAlarmExpressionComparisonOperatorStartsWith = EventAlarmExpressionComparisonOperator("startsWith")
  3132  	// attribute does not start with specified value
  3133  	EventAlarmExpressionComparisonOperatorDoesNotStartWith = EventAlarmExpressionComparisonOperator("doesNotStartWith")
  3134  	// attribute ends with specified value
  3135  	EventAlarmExpressionComparisonOperatorEndsWith = EventAlarmExpressionComparisonOperator("endsWith")
  3136  	// attribute does not end with specified value
  3137  	EventAlarmExpressionComparisonOperatorDoesNotEndWith = EventAlarmExpressionComparisonOperator("doesNotEndWith")
  3138  )
  3139  
  3140  func (e EventAlarmExpressionComparisonOperator) Values() []EventAlarmExpressionComparisonOperator {
  3141  	return []EventAlarmExpressionComparisonOperator{
  3142  		EventAlarmExpressionComparisonOperatorEquals,
  3143  		EventAlarmExpressionComparisonOperatorNotEqualTo,
  3144  		EventAlarmExpressionComparisonOperatorStartsWith,
  3145  		EventAlarmExpressionComparisonOperatorDoesNotStartWith,
  3146  		EventAlarmExpressionComparisonOperatorEndsWith,
  3147  		EventAlarmExpressionComparisonOperatorDoesNotEndWith,
  3148  	}
  3149  }
  3150  
  3151  func (e EventAlarmExpressionComparisonOperator) Strings() []string {
  3152  	return EnumValuesAsStrings(e.Values())
  3153  }
  3154  
  3155  func init() {
  3156  	t["EventAlarmExpressionComparisonOperator"] = reflect.TypeOf((*EventAlarmExpressionComparisonOperator)(nil)).Elem()
  3157  }
  3158  
  3159  type EventCategory string
  3160  
  3161  const (
  3162  	// Returns informational events.
  3163  	EventCategoryInfo = EventCategory("info")
  3164  	// Returns warning events.
  3165  	EventCategoryWarning = EventCategory("warning")
  3166  	// Returns error events.
  3167  	EventCategoryError = EventCategory("error")
  3168  	// Returns events pertaining to users.
  3169  	EventCategoryUser = EventCategory("user")
  3170  )
  3171  
  3172  func (e EventCategory) Values() []EventCategory {
  3173  	return []EventCategory{
  3174  		EventCategoryInfo,
  3175  		EventCategoryWarning,
  3176  		EventCategoryError,
  3177  		EventCategoryUser,
  3178  	}
  3179  }
  3180  
  3181  func (e EventCategory) Strings() []string {
  3182  	return EnumValuesAsStrings(e.Values())
  3183  }
  3184  
  3185  func init() {
  3186  	t["EventCategory"] = reflect.TypeOf((*EventCategory)(nil)).Elem()
  3187  }
  3188  
  3189  // Severity level constants.
  3190  type EventEventSeverity string
  3191  
  3192  const (
  3193  	// Something that must be corrected
  3194  	EventEventSeverityError = EventEventSeverity("error")
  3195  	// Should be corrected, but the system can continue operating normally
  3196  	EventEventSeverityWarning = EventEventSeverity("warning")
  3197  	// An informational message
  3198  	EventEventSeverityInfo = EventEventSeverity("info")
  3199  	// A user-related message
  3200  	EventEventSeverityUser = EventEventSeverity("user")
  3201  )
  3202  
  3203  func (e EventEventSeverity) Values() []EventEventSeverity {
  3204  	return []EventEventSeverity{
  3205  		EventEventSeverityError,
  3206  		EventEventSeverityWarning,
  3207  		EventEventSeverityInfo,
  3208  		EventEventSeverityUser,
  3209  	}
  3210  }
  3211  
  3212  func (e EventEventSeverity) Strings() []string {
  3213  	return EnumValuesAsStrings(e.Values())
  3214  }
  3215  
  3216  func init() {
  3217  	t["EventEventSeverity"] = reflect.TypeOf((*EventEventSeverity)(nil)).Elem()
  3218  }
  3219  
  3220  // This option specifies how to select events based on child relationships
  3221  // in the inventory hierarchy.
  3222  //
  3223  // If a managed entity has children, their events
  3224  // can be retrieved with this filter option.
  3225  type EventFilterSpecRecursionOption string
  3226  
  3227  const (
  3228  	// Returns events that pertain only to the specified managed entity,
  3229  	// and not its children.
  3230  	EventFilterSpecRecursionOptionSelf = EventFilterSpecRecursionOption("self")
  3231  	// Returns events pertaining to child entities only.
  3232  	//
  3233  	// Excludes
  3234  	// events pertaining to the specified managed entity itself.
  3235  	EventFilterSpecRecursionOptionChildren = EventFilterSpecRecursionOption("children")
  3236  	// Returns events pertaining either to the specified managed entity
  3237  	// or to its child entities.
  3238  	EventFilterSpecRecursionOptionAll = EventFilterSpecRecursionOption("all")
  3239  )
  3240  
  3241  func (e EventFilterSpecRecursionOption) Values() []EventFilterSpecRecursionOption {
  3242  	return []EventFilterSpecRecursionOption{
  3243  		EventFilterSpecRecursionOptionSelf,
  3244  		EventFilterSpecRecursionOptionChildren,
  3245  		EventFilterSpecRecursionOptionAll,
  3246  	}
  3247  }
  3248  
  3249  func (e EventFilterSpecRecursionOption) Strings() []string {
  3250  	return EnumValuesAsStrings(e.Values())
  3251  }
  3252  
  3253  func init() {
  3254  	t["EventFilterSpecRecursionOption"] = reflect.TypeOf((*EventFilterSpecRecursionOption)(nil)).Elem()
  3255  }
  3256  
  3257  // The operating mode of the adapter.
  3258  type FibreChannelPortType string
  3259  
  3260  const (
  3261  	FibreChannelPortTypeFabric       = FibreChannelPortType("fabric")
  3262  	FibreChannelPortTypeLoop         = FibreChannelPortType("loop")
  3263  	FibreChannelPortTypePointToPoint = FibreChannelPortType("pointToPoint")
  3264  	FibreChannelPortTypeUnknown      = FibreChannelPortType("unknown")
  3265  )
  3266  
  3267  func (e FibreChannelPortType) Values() []FibreChannelPortType {
  3268  	return []FibreChannelPortType{
  3269  		FibreChannelPortTypeFabric,
  3270  		FibreChannelPortTypeLoop,
  3271  		FibreChannelPortTypePointToPoint,
  3272  		FibreChannelPortTypeUnknown,
  3273  	}
  3274  }
  3275  
  3276  func (e FibreChannelPortType) Strings() []string {
  3277  	return EnumValuesAsStrings(e.Values())
  3278  }
  3279  
  3280  func init() {
  3281  	t["FibreChannelPortType"] = reflect.TypeOf((*FibreChannelPortType)(nil)).Elem()
  3282  }
  3283  
  3284  // Status of volume's support for vStorage hardware acceleration.
  3285  //
  3286  // The ESX Server determines the status based on the capabilities
  3287  // of the devices that support the file system volume.
  3288  // When a host boots, the support status is unknown.
  3289  // As the ESX host attempts hardware-accelerated operations,
  3290  // it determines whether the storage device supports hardware
  3291  // acceleration and sets the `HostFileSystemMountInfo.vStorageSupport`
  3292  // property accordingly.
  3293  type FileSystemMountInfoVStorageSupportStatus string
  3294  
  3295  const (
  3296  	// Storage device supports hardware acceleration.
  3297  	//
  3298  	// The ESX host will use the feature to offload certain
  3299  	// storage-related operations to the device.
  3300  	FileSystemMountInfoVStorageSupportStatusVStorageSupported = FileSystemMountInfoVStorageSupportStatus("vStorageSupported")
  3301  	// Storage device does not support hardware acceleration.
  3302  	//
  3303  	// The ESX host will handle all storage-related operations.
  3304  	FileSystemMountInfoVStorageSupportStatusVStorageUnsupported = FileSystemMountInfoVStorageSupportStatus("vStorageUnsupported")
  3305  	// Initial support status value.
  3306  	FileSystemMountInfoVStorageSupportStatusVStorageUnknown = FileSystemMountInfoVStorageSupportStatus("vStorageUnknown")
  3307  )
  3308  
  3309  func (e FileSystemMountInfoVStorageSupportStatus) Values() []FileSystemMountInfoVStorageSupportStatus {
  3310  	return []FileSystemMountInfoVStorageSupportStatus{
  3311  		FileSystemMountInfoVStorageSupportStatusVStorageSupported,
  3312  		FileSystemMountInfoVStorageSupportStatusVStorageUnsupported,
  3313  		FileSystemMountInfoVStorageSupportStatusVStorageUnknown,
  3314  	}
  3315  }
  3316  
  3317  func (e FileSystemMountInfoVStorageSupportStatus) Strings() []string {
  3318  	return EnumValuesAsStrings(e.Values())
  3319  }
  3320  
  3321  func init() {
  3322  	t["FileSystemMountInfoVStorageSupportStatus"] = reflect.TypeOf((*FileSystemMountInfoVStorageSupportStatus)(nil)).Elem()
  3323  }
  3324  
  3325  type FolderDesiredHostState string
  3326  
  3327  const (
  3328  	// Add host in maintenance mode.
  3329  	FolderDesiredHostStateMaintenance = FolderDesiredHostState("maintenance")
  3330  	// Add host in non-maintenance mode.
  3331  	FolderDesiredHostStateNon_maintenance = FolderDesiredHostState("non_maintenance")
  3332  )
  3333  
  3334  func (e FolderDesiredHostState) Values() []FolderDesiredHostState {
  3335  	return []FolderDesiredHostState{
  3336  		FolderDesiredHostStateMaintenance,
  3337  		FolderDesiredHostStateNon_maintenance,
  3338  	}
  3339  }
  3340  
  3341  func (e FolderDesiredHostState) Strings() []string {
  3342  	return EnumValuesAsStrings(e.Values())
  3343  }
  3344  
  3345  func init() {
  3346  	t["FolderDesiredHostState"] = reflect.TypeOf((*FolderDesiredHostState)(nil)).Elem()
  3347  }
  3348  
  3349  // Supported types of externally managed folder.
  3350  //
  3351  // NSX Virtual Private Clouds(VPCs) is an abstraction layer that simplifies
  3352  // setting up self-contained virtual private cloud networks within an NSX
  3353  // project to consume networking and security services in a self-service
  3354  // consumption model. It contains multiple subnets which represents an
  3355  // independent layer 2 broadcast domain.
  3356  // vCenter users can manage (create, update, delete) VPC and subnet under
  3357  // `VPC_ROOT` folder. Requests are forwarded to NSX, and the VPCs
  3358  // and subnets in NSX are realized as `VPC` and `SUBNET` folder
  3359  // in vCenter.
  3360  // A project in NSX is analogous to a tenant. NSX user can create VPC, segment,
  3361  // and subnet within a project. These objects are represented as
  3362  // `PROJECT`, `VPC`, `SEGMENT`, and `SUBNET` folder
  3363  type FolderExternallyManagedFolderType string
  3364  
  3365  const (
  3366  	// The root folder of `PROJECT` folders.
  3367  	//
  3368  	// It is a child of the network folder of a data center and
  3369  	// may contain multiple `PROJECT` folders.
  3370  	FolderExternallyManagedFolderTypePROJECT_ROOT = FolderExternallyManagedFolderType("PROJECT_ROOT")
  3371  	// The folder representing a project in NSX.
  3372  	//
  3373  	// It is a child of the `PROJECT_ROOT` folder.
  3374  	// A project folder can contain multiple `VPC`,
  3375  	// and `SEGMENT` folders.
  3376  	FolderExternallyManagedFolderTypePROJECT = FolderExternallyManagedFolderType("PROJECT")
  3377  	// The folder containing VPC and subnet that can be managed by vCenter.
  3378  	//
  3379  	// It is a child of the network folder of a data center.
  3380  	// It may contain multiple `VPC` folders.
  3381  	FolderExternallyManagedFolderTypeVPC_ROOT = FolderExternallyManagedFolderType("VPC_ROOT")
  3382  	// The folder representing a VPC in NSX.
  3383  	//
  3384  	// It is a child of the `VPC_ROOT` folder or the `PROJECT`
  3385  	// folder.
  3386  	// It may contain multiple `SUBNET` folders.
  3387  	FolderExternallyManagedFolderTypeVPC = FolderExternallyManagedFolderType("VPC")
  3388  	// The folder representing a subnet in NSX.
  3389  	//
  3390  	// It is a child of the `VPC` folder.
  3391  	FolderExternallyManagedFolderTypeSUBNET = FolderExternallyManagedFolderType("SUBNET")
  3392  	// The folder representing a segment in NSX.
  3393  	//
  3394  	// It is a child of the `PROJECT` folder.
  3395  	FolderExternallyManagedFolderTypeSEGMENT = FolderExternallyManagedFolderType("SEGMENT")
  3396  	// The folder representing a vSphere IaaS Control Plane Supervisor.
  3397  	//
  3398  	// It is a VM\_TYPE folder and child of vSphere Namespaces Root folder.
  3399  	// It may contain multiple namespace associated folder, i.e., folder with
  3400  	// `Folder.namespace` property set and vSphere IaaS Control Plane
  3401  	// Virtual Machines.
  3402  	FolderExternallyManagedFolderTypeSUPERVISOR = FolderExternallyManagedFolderType("SUPERVISOR")
  3403  	// The folder containing vSphere Pods.
  3404  	//
  3405  	// It is a child of namespace associated folder, i.e., folder with
  3406  	// `Folder.namespace` property set and may contain vSphere Pods.
  3407  	FolderExternallyManagedFolderTypeVSPHERE_POD = FolderExternallyManagedFolderType("VSPHERE_POD")
  3408  )
  3409  
  3410  func (e FolderExternallyManagedFolderType) Values() []FolderExternallyManagedFolderType {
  3411  	return []FolderExternallyManagedFolderType{
  3412  		FolderExternallyManagedFolderTypePROJECT_ROOT,
  3413  		FolderExternallyManagedFolderTypePROJECT,
  3414  		FolderExternallyManagedFolderTypeVPC_ROOT,
  3415  		FolderExternallyManagedFolderTypeVPC,
  3416  		FolderExternallyManagedFolderTypeSUBNET,
  3417  		FolderExternallyManagedFolderTypeSEGMENT,
  3418  		FolderExternallyManagedFolderTypeSUPERVISOR,
  3419  		FolderExternallyManagedFolderTypeVSPHERE_POD,
  3420  	}
  3421  }
  3422  
  3423  func (e FolderExternallyManagedFolderType) Strings() []string {
  3424  	return EnumValuesAsStrings(e.Values())
  3425  }
  3426  
  3427  func init() {
  3428  	t["FolderExternallyManagedFolderType"] = reflect.TypeOf((*FolderExternallyManagedFolderType)(nil)).Elem()
  3429  	minAPIVersionForType["FolderExternallyManagedFolderType"] = "9.0.0.0"
  3430  }
  3431  
  3432  // HostSelectionType defines how the host was selected
  3433  type FtIssuesOnHostHostSelectionType string
  3434  
  3435  const (
  3436  	// The host was specified by the user
  3437  	FtIssuesOnHostHostSelectionTypeUser = FtIssuesOnHostHostSelectionType("user")
  3438  	// The host was selected by Virtual Center
  3439  	FtIssuesOnHostHostSelectionTypeVc = FtIssuesOnHostHostSelectionType("vc")
  3440  	// The host was selected by DRS
  3441  	FtIssuesOnHostHostSelectionTypeDrs = FtIssuesOnHostHostSelectionType("drs")
  3442  )
  3443  
  3444  func (e FtIssuesOnHostHostSelectionType) Values() []FtIssuesOnHostHostSelectionType {
  3445  	return []FtIssuesOnHostHostSelectionType{
  3446  		FtIssuesOnHostHostSelectionTypeUser,
  3447  		FtIssuesOnHostHostSelectionTypeVc,
  3448  		FtIssuesOnHostHostSelectionTypeDrs,
  3449  	}
  3450  }
  3451  
  3452  func (e FtIssuesOnHostHostSelectionType) Strings() []string {
  3453  	return EnumValuesAsStrings(e.Values())
  3454  }
  3455  
  3456  func init() {
  3457  	t["FtIssuesOnHostHostSelectionType"] = reflect.TypeOf((*FtIssuesOnHostHostSelectionType)(nil)).Elem()
  3458  }
  3459  
  3460  type GuestFileType string
  3461  
  3462  const (
  3463  	// Regular files, and on Posix filesystems, unix domain sockets
  3464  	// and devices.
  3465  	GuestFileTypeFile = GuestFileType("file")
  3466  	// directory
  3467  	GuestFileTypeDirectory = GuestFileType("directory")
  3468  	// symbolic link
  3469  	GuestFileTypeSymlink = GuestFileType("symlink")
  3470  )
  3471  
  3472  func (e GuestFileType) Values() []GuestFileType {
  3473  	return []GuestFileType{
  3474  		GuestFileTypeFile,
  3475  		GuestFileTypeDirectory,
  3476  		GuestFileTypeSymlink,
  3477  	}
  3478  }
  3479  
  3480  func (e GuestFileType) Strings() []string {
  3481  	return EnumValuesAsStrings(e.Values())
  3482  }
  3483  
  3484  func init() {
  3485  	t["GuestFileType"] = reflect.TypeOf((*GuestFileType)(nil)).Elem()
  3486  }
  3487  
  3488  // Application state type.
  3489  type GuestInfoAppStateType string
  3490  
  3491  const (
  3492  	// The application state wasn't set from the guest by the application agent.
  3493  	//
  3494  	// This is the default.
  3495  	GuestInfoAppStateTypeNone = GuestInfoAppStateType("none")
  3496  	// The guest's application agent declared its state as normal and doesn't
  3497  	// require any action
  3498  	GuestInfoAppStateTypeAppStateOk = GuestInfoAppStateType("appStateOk")
  3499  	// Guest's application agent asks for immediate reset
  3500  	GuestInfoAppStateTypeAppStateNeedReset = GuestInfoAppStateType("appStateNeedReset")
  3501  )
  3502  
  3503  func (e GuestInfoAppStateType) Values() []GuestInfoAppStateType {
  3504  	return []GuestInfoAppStateType{
  3505  		GuestInfoAppStateTypeNone,
  3506  		GuestInfoAppStateTypeAppStateOk,
  3507  		GuestInfoAppStateTypeAppStateNeedReset,
  3508  	}
  3509  }
  3510  
  3511  func (e GuestInfoAppStateType) Strings() []string {
  3512  	return EnumValuesAsStrings(e.Values())
  3513  }
  3514  
  3515  func init() {
  3516  	t["GuestInfoAppStateType"] = reflect.TypeOf((*GuestInfoAppStateType)(nil)).Elem()
  3517  }
  3518  
  3519  type GuestInfoCustomizationStatus string
  3520  
  3521  const (
  3522  	// No guest customizationSpec has been applied for the VM
  3523  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_IDLE = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_IDLE")
  3524  	// The guest customizationSpec has been applied for the VM,
  3525  	// but the customization process has not yet started inside the guest OS
  3526  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_PENDING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_PENDING")
  3527  	// The customization process is currently running inside the guest OS
  3528  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_RUNNING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_RUNNING")
  3529  	// The customization process has completed successfully inside the
  3530  	// guest OS
  3531  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_SUCCEEDED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_SUCCEEDED")
  3532  	// The customizatio process has failed inside the guest OS
  3533  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_FAILED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_FAILED")
  3534  )
  3535  
  3536  func (e GuestInfoCustomizationStatus) Values() []GuestInfoCustomizationStatus {
  3537  	return []GuestInfoCustomizationStatus{
  3538  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_IDLE,
  3539  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_PENDING,
  3540  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_RUNNING,
  3541  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_SUCCEEDED,
  3542  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_FAILED,
  3543  	}
  3544  }
  3545  
  3546  func (e GuestInfoCustomizationStatus) Strings() []string {
  3547  	return EnumValuesAsStrings(e.Values())
  3548  }
  3549  
  3550  func init() {
  3551  	t["GuestInfoCustomizationStatus"] = reflect.TypeOf((*GuestInfoCustomizationStatus)(nil)).Elem()
  3552  	minAPIVersionForType["GuestInfoCustomizationStatus"] = "7.0.2.0"
  3553  }
  3554  
  3555  // Firmware types
  3556  type GuestOsDescriptorFirmwareType string
  3557  
  3558  const (
  3559  	// BIOS firmware
  3560  	GuestOsDescriptorFirmwareTypeBios = GuestOsDescriptorFirmwareType("bios")
  3561  	// Extensible Firmware Interface
  3562  	GuestOsDescriptorFirmwareTypeEfi = GuestOsDescriptorFirmwareType("efi")
  3563  )
  3564  
  3565  func (e GuestOsDescriptorFirmwareType) Values() []GuestOsDescriptorFirmwareType {
  3566  	return []GuestOsDescriptorFirmwareType{
  3567  		GuestOsDescriptorFirmwareTypeBios,
  3568  		GuestOsDescriptorFirmwareTypeEfi,
  3569  	}
  3570  }
  3571  
  3572  func (e GuestOsDescriptorFirmwareType) Strings() []string {
  3573  	return EnumValuesAsStrings(e.Values())
  3574  }
  3575  
  3576  func init() {
  3577  	t["GuestOsDescriptorFirmwareType"] = reflect.TypeOf((*GuestOsDescriptorFirmwareType)(nil)).Elem()
  3578  }
  3579  
  3580  // Guest OS support level
  3581  type GuestOsDescriptorSupportLevel string
  3582  
  3583  const (
  3584  	// This operating system is not supported,
  3585  	// but may be supported in the future.
  3586  	GuestOsDescriptorSupportLevelExperimental = GuestOsDescriptorSupportLevel("experimental")
  3587  	// This operating system is not fully supported,
  3588  	// but may have been supported in the past.
  3589  	GuestOsDescriptorSupportLevelLegacy = GuestOsDescriptorSupportLevel("legacy")
  3590  	// No longer supported.
  3591  	GuestOsDescriptorSupportLevelTerminated = GuestOsDescriptorSupportLevel("terminated")
  3592  	// Fully supported.
  3593  	GuestOsDescriptorSupportLevelSupported = GuestOsDescriptorSupportLevel("supported")
  3594  	// This operating system is not supported.
  3595  	GuestOsDescriptorSupportLevelUnsupported = GuestOsDescriptorSupportLevel("unsupported")
  3596  	// Support for this operating system will be terminated in the future.
  3597  	//
  3598  	// Please migrate to using a different operating system.
  3599  	GuestOsDescriptorSupportLevelDeprecated = GuestOsDescriptorSupportLevel("deprecated")
  3600  	// This operating system may not be supported yet,
  3601  	// please check VMware compatibility guide.
  3602  	GuestOsDescriptorSupportLevelTechPreview = GuestOsDescriptorSupportLevel("techPreview")
  3603  )
  3604  
  3605  func (e GuestOsDescriptorSupportLevel) Values() []GuestOsDescriptorSupportLevel {
  3606  	return []GuestOsDescriptorSupportLevel{
  3607  		GuestOsDescriptorSupportLevelExperimental,
  3608  		GuestOsDescriptorSupportLevelLegacy,
  3609  		GuestOsDescriptorSupportLevelTerminated,
  3610  		GuestOsDescriptorSupportLevelSupported,
  3611  		GuestOsDescriptorSupportLevelUnsupported,
  3612  		GuestOsDescriptorSupportLevelDeprecated,
  3613  		GuestOsDescriptorSupportLevelTechPreview,
  3614  	}
  3615  }
  3616  
  3617  func (e GuestOsDescriptorSupportLevel) Strings() []string {
  3618  	return EnumValuesAsStrings(e.Values())
  3619  }
  3620  
  3621  func init() {
  3622  	t["GuestOsDescriptorSupportLevel"] = reflect.TypeOf((*GuestOsDescriptorSupportLevel)(nil)).Elem()
  3623  }
  3624  
  3625  // End guest quiesce phase error types.
  3626  type GuestQuiesceEndGuestQuiesceError string
  3627  
  3628  const (
  3629  	// Fail the end phase of guest quiesce creation.
  3630  	GuestQuiesceEndGuestQuiesceErrorFailure = GuestQuiesceEndGuestQuiesceError("failure")
  3631  )
  3632  
  3633  func (e GuestQuiesceEndGuestQuiesceError) Values() []GuestQuiesceEndGuestQuiesceError {
  3634  	return []GuestQuiesceEndGuestQuiesceError{
  3635  		GuestQuiesceEndGuestQuiesceErrorFailure,
  3636  	}
  3637  }
  3638  
  3639  func (e GuestQuiesceEndGuestQuiesceError) Strings() []string {
  3640  	return EnumValuesAsStrings(e.Values())
  3641  }
  3642  
  3643  func init() {
  3644  	t["GuestQuiesceEndGuestQuiesceError"] = reflect.TypeOf((*GuestQuiesceEndGuestQuiesceError)(nil)).Elem()
  3645  }
  3646  
  3647  // This describes the bitness (32-bit or 64-bit) of a registry view in a
  3648  // Windows OS that supports WOW64.
  3649  //
  3650  // WOW64 (short for Windows 32-bit on Windows 64-bit) is the x86 emulator
  3651  // that allows 32-bit Windows-based applications to run seamlessly on
  3652  // 64-bit Windows. Please refer to these MSDN sites for more details:
  3653  // http://msdn.microsoft.com/en-us/library/aa384249(v=vs.85).aspx and
  3654  // http://msdn.microsoft.com/en-us/library/aa384253(v=vs.85).aspx
  3655  type GuestRegKeyWowSpec string
  3656  
  3657  const (
  3658  	// Access the key from the native view of the
  3659  	// Registry (32-bit on 32-bit versions of Windows,
  3660  	// 64-bit on 64-bit versions of Windows).
  3661  	GuestRegKeyWowSpecWOWNative = GuestRegKeyWowSpec("WOWNative")
  3662  	// Access the key from the 32-bit view of the Registry.
  3663  	GuestRegKeyWowSpecWOW32 = GuestRegKeyWowSpec("WOW32")
  3664  	// Access the key from the 64-bit view of the Registry.
  3665  	GuestRegKeyWowSpecWOW64 = GuestRegKeyWowSpec("WOW64")
  3666  )
  3667  
  3668  func (e GuestRegKeyWowSpec) Values() []GuestRegKeyWowSpec {
  3669  	return []GuestRegKeyWowSpec{
  3670  		GuestRegKeyWowSpecWOWNative,
  3671  		GuestRegKeyWowSpecWOW32,
  3672  		GuestRegKeyWowSpecWOW64,
  3673  	}
  3674  }
  3675  
  3676  func (e GuestRegKeyWowSpec) Strings() []string {
  3677  	return EnumValuesAsStrings(e.Values())
  3678  }
  3679  
  3680  func init() {
  3681  	t["GuestRegKeyWowSpec"] = reflect.TypeOf((*GuestRegKeyWowSpec)(nil)).Elem()
  3682  }
  3683  
  3684  type HealthUpdateInfoComponentType string
  3685  
  3686  const (
  3687  	HealthUpdateInfoComponentTypeMemory  = HealthUpdateInfoComponentType("Memory")
  3688  	HealthUpdateInfoComponentTypePower   = HealthUpdateInfoComponentType("Power")
  3689  	HealthUpdateInfoComponentTypeFan     = HealthUpdateInfoComponentType("Fan")
  3690  	HealthUpdateInfoComponentTypeNetwork = HealthUpdateInfoComponentType("Network")
  3691  	HealthUpdateInfoComponentTypeStorage = HealthUpdateInfoComponentType("Storage")
  3692  )
  3693  
  3694  func (e HealthUpdateInfoComponentType) Values() []HealthUpdateInfoComponentType {
  3695  	return []HealthUpdateInfoComponentType{
  3696  		HealthUpdateInfoComponentTypeMemory,
  3697  		HealthUpdateInfoComponentTypePower,
  3698  		HealthUpdateInfoComponentTypeFan,
  3699  		HealthUpdateInfoComponentTypeNetwork,
  3700  		HealthUpdateInfoComponentTypeStorage,
  3701  	}
  3702  }
  3703  
  3704  func (e HealthUpdateInfoComponentType) Strings() []string {
  3705  	return EnumValuesAsStrings(e.Values())
  3706  }
  3707  
  3708  func init() {
  3709  	t["HealthUpdateInfoComponentType"] = reflect.TypeOf((*HealthUpdateInfoComponentType)(nil)).Elem()
  3710  }
  3711  
  3712  // Defines different access modes that a user may have on the host for
  3713  // direct host connections.
  3714  //
  3715  // The assumption here is that when the host is managed by vCenter,
  3716  // we don't need fine-grained control on local user permissions like the
  3717  // interface provided by `AuthorizationManager`.
  3718  type HostAccessMode string
  3719  
  3720  const (
  3721  	// Indicates that the user has no explicitly defined permissions or roles.
  3722  	//
  3723  	// This is used when we want to remove all permissions for some user.
  3724  	//
  3725  	// Note that this is not the same as `accessNoAccess`.
  3726  	HostAccessModeAccessNone = HostAccessMode("accessNone")
  3727  	// Describes a propagating Admin role on the root inventory object
  3728  	// (root folder) on the host, and no other non-Admin role on any other
  3729  	// object.
  3730  	//
  3731  	// The same permissions are needed to login to local or remote
  3732  	// shell (ESXiShell or SSH).
  3733  	HostAccessModeAccessAdmin = HostAccessMode("accessAdmin")
  3734  	// Describes a propagating NoAccess role on the root inventory object
  3735  	// (root folder) on the host, and no other roles.
  3736  	//
  3737  	// Even if the user has another (redundant) NoAccess role on some other
  3738  	// inventory object, then the access mode for this user will be
  3739  	// classified as `accessOther`.
  3740  	//
  3741  	// This mode may be used to restrict a specific user account without
  3742  	// restricting the access mode for the group to which the user belongs.
  3743  	HostAccessModeAccessNoAccess = HostAccessMode("accessNoAccess")
  3744  	// Describes a propagating ReadOnly role on the root inventory object
  3745  	// (root folder) on the host, and no other roles.
  3746  	//
  3747  	// Even if the user has another (redundant) ReadOnly role on some other
  3748  	// inventory object, then the access mode for this user will be
  3749  	// `accessOther`.
  3750  	HostAccessModeAccessReadOnly = HostAccessMode("accessReadOnly")
  3751  	// Describes a combination of one or more roles/permissions which are
  3752  	// none of the above.
  3753  	HostAccessModeAccessOther = HostAccessMode("accessOther")
  3754  )
  3755  
  3756  func (e HostAccessMode) Values() []HostAccessMode {
  3757  	return []HostAccessMode{
  3758  		HostAccessModeAccessNone,
  3759  		HostAccessModeAccessAdmin,
  3760  		HostAccessModeAccessNoAccess,
  3761  		HostAccessModeAccessReadOnly,
  3762  		HostAccessModeAccessOther,
  3763  	}
  3764  }
  3765  
  3766  func (e HostAccessMode) Strings() []string {
  3767  	return EnumValuesAsStrings(e.Values())
  3768  }
  3769  
  3770  func init() {
  3771  	t["HostAccessMode"] = reflect.TypeOf((*HostAccessMode)(nil)).Elem()
  3772  }
  3773  
  3774  type HostActiveDirectoryAuthenticationCertificateDigest string
  3775  
  3776  const (
  3777  	HostActiveDirectoryAuthenticationCertificateDigestSHA1 = HostActiveDirectoryAuthenticationCertificateDigest("SHA1")
  3778  )
  3779  
  3780  func (e HostActiveDirectoryAuthenticationCertificateDigest) Values() []HostActiveDirectoryAuthenticationCertificateDigest {
  3781  	return []HostActiveDirectoryAuthenticationCertificateDigest{
  3782  		HostActiveDirectoryAuthenticationCertificateDigestSHA1,
  3783  	}
  3784  }
  3785  
  3786  func (e HostActiveDirectoryAuthenticationCertificateDigest) Strings() []string {
  3787  	return EnumValuesAsStrings(e.Values())
  3788  }
  3789  
  3790  func init() {
  3791  	t["HostActiveDirectoryAuthenticationCertificateDigest"] = reflect.TypeOf((*HostActiveDirectoryAuthenticationCertificateDigest)(nil)).Elem()
  3792  }
  3793  
  3794  type HostActiveDirectoryInfoDomainMembershipStatus string
  3795  
  3796  const (
  3797  	// The Active Directory integration provider does not support
  3798  	// domain trust checks.
  3799  	HostActiveDirectoryInfoDomainMembershipStatusUnknown = HostActiveDirectoryInfoDomainMembershipStatus("unknown")
  3800  	// No problems with the domain membership.
  3801  	HostActiveDirectoryInfoDomainMembershipStatusOk = HostActiveDirectoryInfoDomainMembershipStatus("ok")
  3802  	// The host thinks it's part of a domain,
  3803  	// but no domain controllers could be reached to confirm.
  3804  	HostActiveDirectoryInfoDomainMembershipStatusNoServers = HostActiveDirectoryInfoDomainMembershipStatus("noServers")
  3805  	// The client side of the trust relationship is broken.
  3806  	HostActiveDirectoryInfoDomainMembershipStatusClientTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("clientTrustBroken")
  3807  	// The server side of the trust relationship is broken
  3808  	// (or bad machine password).
  3809  	HostActiveDirectoryInfoDomainMembershipStatusServerTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("serverTrustBroken")
  3810  	// Unexpected domain controller responded.
  3811  	HostActiveDirectoryInfoDomainMembershipStatusInconsistentTrust = HostActiveDirectoryInfoDomainMembershipStatus("inconsistentTrust")
  3812  	// There's some problem with the domain membership.
  3813  	HostActiveDirectoryInfoDomainMembershipStatusOtherProblem = HostActiveDirectoryInfoDomainMembershipStatus("otherProblem")
  3814  )
  3815  
  3816  func (e HostActiveDirectoryInfoDomainMembershipStatus) Values() []HostActiveDirectoryInfoDomainMembershipStatus {
  3817  	return []HostActiveDirectoryInfoDomainMembershipStatus{
  3818  		HostActiveDirectoryInfoDomainMembershipStatusUnknown,
  3819  		HostActiveDirectoryInfoDomainMembershipStatusOk,
  3820  		HostActiveDirectoryInfoDomainMembershipStatusNoServers,
  3821  		HostActiveDirectoryInfoDomainMembershipStatusClientTrustBroken,
  3822  		HostActiveDirectoryInfoDomainMembershipStatusServerTrustBroken,
  3823  		HostActiveDirectoryInfoDomainMembershipStatusInconsistentTrust,
  3824  		HostActiveDirectoryInfoDomainMembershipStatusOtherProblem,
  3825  	}
  3826  }
  3827  
  3828  func (e HostActiveDirectoryInfoDomainMembershipStatus) Strings() []string {
  3829  	return EnumValuesAsStrings(e.Values())
  3830  }
  3831  
  3832  func init() {
  3833  	t["HostActiveDirectoryInfoDomainMembershipStatus"] = reflect.TypeOf((*HostActiveDirectoryInfoDomainMembershipStatus)(nil)).Elem()
  3834  }
  3835  
  3836  type HostBIOSInfoFirmwareType string
  3837  
  3838  const (
  3839  	HostBIOSInfoFirmwareTypeBIOS = HostBIOSInfoFirmwareType("BIOS")
  3840  	HostBIOSInfoFirmwareTypeUEFI = HostBIOSInfoFirmwareType("UEFI")
  3841  )
  3842  
  3843  func (e HostBIOSInfoFirmwareType) Values() []HostBIOSInfoFirmwareType {
  3844  	return []HostBIOSInfoFirmwareType{
  3845  		HostBIOSInfoFirmwareTypeBIOS,
  3846  		HostBIOSInfoFirmwareTypeUEFI,
  3847  	}
  3848  }
  3849  
  3850  func (e HostBIOSInfoFirmwareType) Strings() []string {
  3851  	return EnumValuesAsStrings(e.Values())
  3852  }
  3853  
  3854  func init() {
  3855  	t["HostBIOSInfoFirmwareType"] = reflect.TypeOf((*HostBIOSInfoFirmwareType)(nil)).Elem()
  3856  	minAPIVersionForType["HostBIOSInfoFirmwareType"] = "8.0.2.0"
  3857  }
  3858  
  3859  // Deprecated as of vSphere API 7.0, use
  3860  // `VmFaultToleranceConfigIssueReasonForIssue_enum`.
  3861  //
  3862  // Set of possible values for
  3863  // `HostCapability.ftCompatibilityIssues`
  3864  type HostCapabilityFtUnsupportedReason string
  3865  
  3866  const (
  3867  	// No VMotion license
  3868  	HostCapabilityFtUnsupportedReasonVMotionNotLicensed = HostCapabilityFtUnsupportedReason("vMotionNotLicensed")
  3869  	// VMotion nic is not configured on the host
  3870  	HostCapabilityFtUnsupportedReasonMissingVMotionNic = HostCapabilityFtUnsupportedReason("missingVMotionNic")
  3871  	// FT logging nic is not configured on the host
  3872  	HostCapabilityFtUnsupportedReasonMissingFTLoggingNic = HostCapabilityFtUnsupportedReason("missingFTLoggingNic")
  3873  	// Host does not have proper FT license
  3874  	HostCapabilityFtUnsupportedReasonFtNotLicensed = HostCapabilityFtUnsupportedReason("ftNotLicensed")
  3875  	// Host does not have HA agent running properly
  3876  	HostCapabilityFtUnsupportedReasonHaAgentIssue = HostCapabilityFtUnsupportedReason("haAgentIssue")
  3877  	// VMware product installed on the host does not support
  3878  	// fault tolerance
  3879  	HostCapabilityFtUnsupportedReasonUnsupportedProduct = HostCapabilityFtUnsupportedReason("unsupportedProduct")
  3880  	// Host CPU does not support hardware virtualization
  3881  	HostCapabilityFtUnsupportedReasonCpuHvUnsupported = HostCapabilityFtUnsupportedReason("cpuHvUnsupported")
  3882  	// Host CPU does not support hardware MMU virtualization
  3883  	HostCapabilityFtUnsupportedReasonCpuHwmmuUnsupported = HostCapabilityFtUnsupportedReason("cpuHwmmuUnsupported")
  3884  	// Host CPU is compatible for replay-based FT, but hardware
  3885  	// virtualization has been disabled in the BIOS.
  3886  	HostCapabilityFtUnsupportedReasonCpuHvDisabled = HostCapabilityFtUnsupportedReason("cpuHvDisabled")
  3887  )
  3888  
  3889  func (e HostCapabilityFtUnsupportedReason) Values() []HostCapabilityFtUnsupportedReason {
  3890  	return []HostCapabilityFtUnsupportedReason{
  3891  		HostCapabilityFtUnsupportedReasonVMotionNotLicensed,
  3892  		HostCapabilityFtUnsupportedReasonMissingVMotionNic,
  3893  		HostCapabilityFtUnsupportedReasonMissingFTLoggingNic,
  3894  		HostCapabilityFtUnsupportedReasonFtNotLicensed,
  3895  		HostCapabilityFtUnsupportedReasonHaAgentIssue,
  3896  		HostCapabilityFtUnsupportedReasonUnsupportedProduct,
  3897  		HostCapabilityFtUnsupportedReasonCpuHvUnsupported,
  3898  		HostCapabilityFtUnsupportedReasonCpuHwmmuUnsupported,
  3899  		HostCapabilityFtUnsupportedReasonCpuHvDisabled,
  3900  	}
  3901  }
  3902  
  3903  func (e HostCapabilityFtUnsupportedReason) Strings() []string {
  3904  	return EnumValuesAsStrings(e.Values())
  3905  }
  3906  
  3907  func init() {
  3908  	t["HostCapabilityFtUnsupportedReason"] = reflect.TypeOf((*HostCapabilityFtUnsupportedReason)(nil)).Elem()
  3909  }
  3910  
  3911  // Set of VMFS unmap API version.
  3912  type HostCapabilityUnmapMethodSupported string
  3913  
  3914  const (
  3915  	// only the unmap priority is supported
  3916  	HostCapabilityUnmapMethodSupportedPriority = HostCapabilityUnmapMethodSupported("priority")
  3917  	// the unmap bandwidth can be set as a fixed value
  3918  	HostCapabilityUnmapMethodSupportedFixed = HostCapabilityUnmapMethodSupported("fixed")
  3919  	// the unmap bandwidth can be set as a range, where the actual
  3920  	// bandwidth will be dynamically throttled by the backened
  3921  	HostCapabilityUnmapMethodSupportedDynamic = HostCapabilityUnmapMethodSupported("dynamic")
  3922  )
  3923  
  3924  func (e HostCapabilityUnmapMethodSupported) Values() []HostCapabilityUnmapMethodSupported {
  3925  	return []HostCapabilityUnmapMethodSupported{
  3926  		HostCapabilityUnmapMethodSupportedPriority,
  3927  		HostCapabilityUnmapMethodSupportedFixed,
  3928  		HostCapabilityUnmapMethodSupportedDynamic,
  3929  	}
  3930  }
  3931  
  3932  func (e HostCapabilityUnmapMethodSupported) Strings() []string {
  3933  	return EnumValuesAsStrings(e.Values())
  3934  }
  3935  
  3936  func init() {
  3937  	t["HostCapabilityUnmapMethodSupported"] = reflect.TypeOf((*HostCapabilityUnmapMethodSupported)(nil)).Elem()
  3938  }
  3939  
  3940  // Set of possible values for `HostCapability.vmDirectPathGen2UnsupportedReason`.
  3941  type HostCapabilityVmDirectPathGen2UnsupportedReason string
  3942  
  3943  const (
  3944  	// The host software does not support VMDirectPath Gen 2.
  3945  	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleProduct = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleProduct")
  3946  	// The host hardware does not support VMDirectPath Gen 2.
  3947  	//
  3948  	// Note that
  3949  	// this is a general capability for the host and is independent of
  3950  	// support by a given physical NIC.
  3951  	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleHardware = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleHardware")
  3952  	// The host is configured to disable VMDirectPath Gen 2.
  3953  	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptDisabled = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptDisabled")
  3954  )
  3955  
  3956  func (e HostCapabilityVmDirectPathGen2UnsupportedReason) Values() []HostCapabilityVmDirectPathGen2UnsupportedReason {
  3957  	return []HostCapabilityVmDirectPathGen2UnsupportedReason{
  3958  		HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleProduct,
  3959  		HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleHardware,
  3960  		HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptDisabled,
  3961  	}
  3962  }
  3963  
  3964  func (e HostCapabilityVmDirectPathGen2UnsupportedReason) Strings() []string {
  3965  	return EnumValuesAsStrings(e.Values())
  3966  }
  3967  
  3968  func init() {
  3969  	t["HostCapabilityVmDirectPathGen2UnsupportedReason"] = reflect.TypeOf((*HostCapabilityVmDirectPathGen2UnsupportedReason)(nil)).Elem()
  3970  }
  3971  
  3972  // The status of a given certificate as computed per the soft and the hard
  3973  // thresholds in vCenter Server.
  3974  //
  3975  // There are two different thresholds for the host certificate
  3976  // expirations; a soft threshold (which constitutes of two phases) and a
  3977  // hard threshold.
  3978  //
  3979  // Soft Threshold:
  3980  //
  3981  // Phase One: vCenter Server will publish an event at
  3982  // this time to let the user know about the status, but, no alarms or
  3983  // warnings are raised.
  3984  //
  3985  // Phase Two: During this phase, vCenter Server will publish an event and
  3986  // indicate the certificate status as expiring in the UI.
  3987  //
  3988  // Hard Threshold:
  3989  //
  3990  // vCenter Server will publish an alarm and indicate via the UI that the
  3991  // certificate expiration is imminent.
  3992  type HostCertificateManagerCertificateInfoCertificateStatus string
  3993  
  3994  const (
  3995  	// The certificate status is unknown.
  3996  	HostCertificateManagerCertificateInfoCertificateStatusUnknown = HostCertificateManagerCertificateInfoCertificateStatus("unknown")
  3997  	// The certificate has expired.
  3998  	HostCertificateManagerCertificateInfoCertificateStatusExpired = HostCertificateManagerCertificateInfoCertificateStatus("expired")
  3999  	// The certificate is expiring shortly.
  4000  	//
  4001  	// (soft threshold - 1)
  4002  	HostCertificateManagerCertificateInfoCertificateStatusExpiring = HostCertificateManagerCertificateInfoCertificateStatus("expiring")
  4003  	// The certificate is expiring shortly.
  4004  	//
  4005  	// (soft threshold - 2)
  4006  	HostCertificateManagerCertificateInfoCertificateStatusExpiringShortly = HostCertificateManagerCertificateInfoCertificateStatus("expiringShortly")
  4007  	// The certificate expiration is imminent.
  4008  	//
  4009  	// (hard threshold)
  4010  	HostCertificateManagerCertificateInfoCertificateStatusExpirationImminent = HostCertificateManagerCertificateInfoCertificateStatus("expirationImminent")
  4011  	// The certificate is good.
  4012  	HostCertificateManagerCertificateInfoCertificateStatusGood = HostCertificateManagerCertificateInfoCertificateStatus("good")
  4013  )
  4014  
  4015  func (e HostCertificateManagerCertificateInfoCertificateStatus) Values() []HostCertificateManagerCertificateInfoCertificateStatus {
  4016  	return []HostCertificateManagerCertificateInfoCertificateStatus{
  4017  		HostCertificateManagerCertificateInfoCertificateStatusUnknown,
  4018  		HostCertificateManagerCertificateInfoCertificateStatusExpired,
  4019  		HostCertificateManagerCertificateInfoCertificateStatusExpiring,
  4020  		HostCertificateManagerCertificateInfoCertificateStatusExpiringShortly,
  4021  		HostCertificateManagerCertificateInfoCertificateStatusExpirationImminent,
  4022  		HostCertificateManagerCertificateInfoCertificateStatusGood,
  4023  	}
  4024  }
  4025  
  4026  func (e HostCertificateManagerCertificateInfoCertificateStatus) Strings() []string {
  4027  	return EnumValuesAsStrings(e.Values())
  4028  }
  4029  
  4030  func init() {
  4031  	t["HostCertificateManagerCertificateInfoCertificateStatus"] = reflect.TypeOf((*HostCertificateManagerCertificateInfoCertificateStatus)(nil)).Elem()
  4032  }
  4033  
  4034  type HostCertificateManagerCertificateKind string
  4035  
  4036  const (
  4037  	// Machine certificate of the Host
  4038  	HostCertificateManagerCertificateKindMachine = HostCertificateManagerCertificateKind("Machine")
  4039  	// VASA Client certificate used for communication with VASA Provider
  4040  	HostCertificateManagerCertificateKindVASAClient = HostCertificateManagerCertificateKind("VASAClient")
  4041  )
  4042  
  4043  func (e HostCertificateManagerCertificateKind) Values() []HostCertificateManagerCertificateKind {
  4044  	return []HostCertificateManagerCertificateKind{
  4045  		HostCertificateManagerCertificateKindMachine,
  4046  		HostCertificateManagerCertificateKindVASAClient,
  4047  	}
  4048  }
  4049  
  4050  func (e HostCertificateManagerCertificateKind) Strings() []string {
  4051  	return EnumValuesAsStrings(e.Values())
  4052  }
  4053  
  4054  func init() {
  4055  	t["HostCertificateManagerCertificateKind"] = reflect.TypeOf((*HostCertificateManagerCertificateKind)(nil)).Elem()
  4056  	minAPIVersionForType["HostCertificateManagerCertificateKind"] = "8.0.1.0"
  4057  }
  4058  
  4059  // This is a global mode on a configuration specification indicating
  4060  // whether the structure represents the desired state or the set of
  4061  // operations to apply on the managed object.
  4062  type HostConfigChangeMode string
  4063  
  4064  const (
  4065  	// Indicates that the structure represents the
  4066  	// set of operations to apply on the managed object.
  4067  	HostConfigChangeModeModify = HostConfigChangeMode("modify")
  4068  	// Indicates that the structure represents the
  4069  	// desired state of the managed object.
  4070  	HostConfigChangeModeReplace = HostConfigChangeMode("replace")
  4071  )
  4072  
  4073  func (e HostConfigChangeMode) Values() []HostConfigChangeMode {
  4074  	return []HostConfigChangeMode{
  4075  		HostConfigChangeModeModify,
  4076  		HostConfigChangeModeReplace,
  4077  	}
  4078  }
  4079  
  4080  func (e HostConfigChangeMode) Strings() []string {
  4081  	return EnumValuesAsStrings(e.Values())
  4082  }
  4083  
  4084  func init() {
  4085  	t["HostConfigChangeMode"] = reflect.TypeOf((*HostConfigChangeMode)(nil)).Elem()
  4086  }
  4087  
  4088  // This list indicates the operation that should be performed for an
  4089  // entity.
  4090  type HostConfigChangeOperation string
  4091  
  4092  const (
  4093  	// Indicates the addition of an entity to the configuration.
  4094  	HostConfigChangeOperationAdd = HostConfigChangeOperation("add")
  4095  	// Indicates the removal of an entity from the configuration.
  4096  	HostConfigChangeOperationRemove = HostConfigChangeOperation("remove")
  4097  	// Indicates changes on the entity.
  4098  	//
  4099  	// The entity must exist or a
  4100  	// `NotFound` error will be thrown.
  4101  	HostConfigChangeOperationEdit = HostConfigChangeOperation("edit")
  4102  	// Indicates that an entity will be ignored: it won't be added when it
  4103  	// doesn't exist, or removed/changed when it exists.
  4104  	HostConfigChangeOperationIgnore = HostConfigChangeOperation("ignore")
  4105  )
  4106  
  4107  func (e HostConfigChangeOperation) Values() []HostConfigChangeOperation {
  4108  	return []HostConfigChangeOperation{
  4109  		HostConfigChangeOperationAdd,
  4110  		HostConfigChangeOperationRemove,
  4111  		HostConfigChangeOperationEdit,
  4112  		HostConfigChangeOperationIgnore,
  4113  	}
  4114  }
  4115  
  4116  func (e HostConfigChangeOperation) Strings() []string {
  4117  	return EnumValuesAsStrings(e.Values())
  4118  }
  4119  
  4120  func init() {
  4121  	t["HostConfigChangeOperation"] = reflect.TypeOf((*HostConfigChangeOperation)(nil)).Elem()
  4122  }
  4123  
  4124  type HostConfigChangeOwner string
  4125  
  4126  const (
  4127  	// The owner is NSX (Network Virtualization and Security).
  4128  	HostConfigChangeOwnerNSX = HostConfigChangeOwner("NSX")
  4129  	// The owner is vSAN (VMware Virtual Storage Area Network).
  4130  	HostConfigChangeOwnerVSAN = HostConfigChangeOwner("VSAN")
  4131  )
  4132  
  4133  func (e HostConfigChangeOwner) Values() []HostConfigChangeOwner {
  4134  	return []HostConfigChangeOwner{
  4135  		HostConfigChangeOwnerNSX,
  4136  		HostConfigChangeOwnerVSAN,
  4137  	}
  4138  }
  4139  
  4140  func (e HostConfigChangeOwner) Strings() []string {
  4141  	return EnumValuesAsStrings(e.Values())
  4142  }
  4143  
  4144  func init() {
  4145  	t["HostConfigChangeOwner"] = reflect.TypeOf((*HostConfigChangeOwner)(nil)).Elem()
  4146  	minAPIVersionForType["HostConfigChangeOwner"] = "9.0.0.0"
  4147  }
  4148  
  4149  type HostCpuPackageVendor string
  4150  
  4151  const (
  4152  	HostCpuPackageVendorUnknown = HostCpuPackageVendor("unknown")
  4153  	HostCpuPackageVendorIntel   = HostCpuPackageVendor("intel")
  4154  	HostCpuPackageVendorAmd     = HostCpuPackageVendor("amd")
  4155  	HostCpuPackageVendorHygon   = HostCpuPackageVendor("hygon")
  4156  )
  4157  
  4158  func (e HostCpuPackageVendor) Values() []HostCpuPackageVendor {
  4159  	return []HostCpuPackageVendor{
  4160  		HostCpuPackageVendorUnknown,
  4161  		HostCpuPackageVendorIntel,
  4162  		HostCpuPackageVendorAmd,
  4163  		HostCpuPackageVendorHygon,
  4164  	}
  4165  }
  4166  
  4167  func (e HostCpuPackageVendor) Strings() []string {
  4168  	return EnumValuesAsStrings(e.Values())
  4169  }
  4170  
  4171  func init() {
  4172  	t["HostCpuPackageVendor"] = reflect.TypeOf((*HostCpuPackageVendor)(nil)).Elem()
  4173  }
  4174  
  4175  // Possible values for Current CPU power management policy
  4176  type HostCpuPowerManagementInfoPolicyType string
  4177  
  4178  const (
  4179  	HostCpuPowerManagementInfoPolicyTypeOff           = HostCpuPowerManagementInfoPolicyType("off")
  4180  	HostCpuPowerManagementInfoPolicyTypeStaticPolicy  = HostCpuPowerManagementInfoPolicyType("staticPolicy")
  4181  	HostCpuPowerManagementInfoPolicyTypeDynamicPolicy = HostCpuPowerManagementInfoPolicyType("dynamicPolicy")
  4182  )
  4183  
  4184  func (e HostCpuPowerManagementInfoPolicyType) Values() []HostCpuPowerManagementInfoPolicyType {
  4185  	return []HostCpuPowerManagementInfoPolicyType{
  4186  		HostCpuPowerManagementInfoPolicyTypeOff,
  4187  		HostCpuPowerManagementInfoPolicyTypeStaticPolicy,
  4188  		HostCpuPowerManagementInfoPolicyTypeDynamicPolicy,
  4189  	}
  4190  }
  4191  
  4192  func (e HostCpuPowerManagementInfoPolicyType) Strings() []string {
  4193  	return EnumValuesAsStrings(e.Values())
  4194  }
  4195  
  4196  func init() {
  4197  	t["HostCpuPowerManagementInfoPolicyType"] = reflect.TypeOf((*HostCpuPowerManagementInfoPolicyType)(nil)).Elem()
  4198  }
  4199  
  4200  type HostCpuSchedulerInfoCpuSchedulerPolicyInfo string
  4201  
  4202  const (
  4203  	// The CPU scheduler on this host is running without any modifications
  4204  	// or mitigations.
  4205  	HostCpuSchedulerInfoCpuSchedulerPolicyInfoSystemDefault = HostCpuSchedulerInfoCpuSchedulerPolicyInfo("systemDefault")
  4206  	// The CPU scheduler on this host is using only one hyperthread per
  4207  	// core to mitigate a security vulnerability.
  4208  	HostCpuSchedulerInfoCpuSchedulerPolicyInfoScav1 = HostCpuSchedulerInfoCpuSchedulerPolicyInfo("scav1")
  4209  	// The CPU scheduler on this host is using hyperthreads, with
  4210  	// Side-Channel aware scheduling to mitigate a security vulnerability.
  4211  	HostCpuSchedulerInfoCpuSchedulerPolicyInfoScav2 = HostCpuSchedulerInfoCpuSchedulerPolicyInfo("scav2")
  4212  )
  4213  
  4214  func (e HostCpuSchedulerInfoCpuSchedulerPolicyInfo) Values() []HostCpuSchedulerInfoCpuSchedulerPolicyInfo {
  4215  	return []HostCpuSchedulerInfoCpuSchedulerPolicyInfo{
  4216  		HostCpuSchedulerInfoCpuSchedulerPolicyInfoSystemDefault,
  4217  		HostCpuSchedulerInfoCpuSchedulerPolicyInfoScav1,
  4218  		HostCpuSchedulerInfoCpuSchedulerPolicyInfoScav2,
  4219  	}
  4220  }
  4221  
  4222  func (e HostCpuSchedulerInfoCpuSchedulerPolicyInfo) Strings() []string {
  4223  	return EnumValuesAsStrings(e.Values())
  4224  }
  4225  
  4226  func init() {
  4227  	t["HostCpuSchedulerInfoCpuSchedulerPolicyInfo"] = reflect.TypeOf((*HostCpuSchedulerInfoCpuSchedulerPolicyInfo)(nil)).Elem()
  4228  	minAPIVersionForType["HostCpuSchedulerInfoCpuSchedulerPolicyInfo"] = "8.0.3.0"
  4229  }
  4230  
  4231  // Defines a host's encryption state
  4232  type HostCryptoState string
  4233  
  4234  const (
  4235  	// The host is not safe for receiving sensitive material.
  4236  	HostCryptoStateIncapable = HostCryptoState("incapable")
  4237  	// The host is prepared for receiving sensitive material
  4238  	// but does not have a host key set yet.
  4239  	HostCryptoStatePrepared = HostCryptoState("prepared")
  4240  	// The host is crypto safe and has a host key set.
  4241  	HostCryptoStateSafe = HostCryptoState("safe")
  4242  	// The host is explicitly crypto disabled and pending reboot to be
  4243  	// applied.
  4244  	//
  4245  	// When host is in this state, creating encrypted virtual
  4246  	// machines is not allowed, but still need a reboot to totally clean
  4247  	// up and enter incapable state.
  4248  	HostCryptoStatePendingIncapable = HostCryptoState("pendingIncapable")
  4249  )
  4250  
  4251  func (e HostCryptoState) Values() []HostCryptoState {
  4252  	return []HostCryptoState{
  4253  		HostCryptoStateIncapable,
  4254  		HostCryptoStatePrepared,
  4255  		HostCryptoStateSafe,
  4256  		HostCryptoStatePendingIncapable,
  4257  	}
  4258  }
  4259  
  4260  func (e HostCryptoState) Strings() []string {
  4261  	return EnumValuesAsStrings(e.Values())
  4262  }
  4263  
  4264  func init() {
  4265  	t["HostCryptoState"] = reflect.TypeOf((*HostCryptoState)(nil)).Elem()
  4266  }
  4267  
  4268  type HostDVSConfigSpecSwitchMode string
  4269  
  4270  const (
  4271  	// traditional package processing mode.
  4272  	HostDVSConfigSpecSwitchModeNormal = HostDVSConfigSpecSwitchMode("normal")
  4273  	// ENS mode which skips packet parsing and flow table lookup.
  4274  	HostDVSConfigSpecSwitchModeMux = HostDVSConfigSpecSwitchMode("mux")
  4275  )
  4276  
  4277  func (e HostDVSConfigSpecSwitchMode) Values() []HostDVSConfigSpecSwitchMode {
  4278  	return []HostDVSConfigSpecSwitchMode{
  4279  		HostDVSConfigSpecSwitchModeNormal,
  4280  		HostDVSConfigSpecSwitchModeMux,
  4281  	}
  4282  }
  4283  
  4284  func (e HostDVSConfigSpecSwitchMode) Strings() []string {
  4285  	return EnumValuesAsStrings(e.Values())
  4286  }
  4287  
  4288  func init() {
  4289  	t["HostDVSConfigSpecSwitchMode"] = reflect.TypeOf((*HostDVSConfigSpecSwitchMode)(nil)).Elem()
  4290  	minAPIVersionForType["HostDVSConfigSpecSwitchMode"] = "8.0.0.1"
  4291  }
  4292  
  4293  type HostDasErrorEventHostDasErrorReason string
  4294  
  4295  const (
  4296  	// Error while configuring/unconfiguring HA
  4297  	HostDasErrorEventHostDasErrorReasonConfigFailed = HostDasErrorEventHostDasErrorReason("configFailed")
  4298  	// Timeout while communicating with HA agent
  4299  	HostDasErrorEventHostDasErrorReasonTimeout = HostDasErrorEventHostDasErrorReason("timeout")
  4300  	// HA communication initialization failed
  4301  	HostDasErrorEventHostDasErrorReasonCommunicationInitFailed = HostDasErrorEventHostDasErrorReason("communicationInitFailed")
  4302  	// Health check script failed
  4303  	HostDasErrorEventHostDasErrorReasonHealthCheckScriptFailed = HostDasErrorEventHostDasErrorReason("healthCheckScriptFailed")
  4304  	// HA agent has an error
  4305  	HostDasErrorEventHostDasErrorReasonAgentFailed = HostDasErrorEventHostDasErrorReason("agentFailed")
  4306  	// HA agent was shutdown
  4307  	HostDasErrorEventHostDasErrorReasonAgentShutdown = HostDasErrorEventHostDasErrorReason("agentShutdown")
  4308  	// HA isolation address unpingable
  4309  	HostDasErrorEventHostDasErrorReasonIsolationAddressUnpingable = HostDasErrorEventHostDasErrorReason("isolationAddressUnpingable")
  4310  	// Other reason
  4311  	HostDasErrorEventHostDasErrorReasonOther = HostDasErrorEventHostDasErrorReason("other")
  4312  )
  4313  
  4314  func (e HostDasErrorEventHostDasErrorReason) Values() []HostDasErrorEventHostDasErrorReason {
  4315  	return []HostDasErrorEventHostDasErrorReason{
  4316  		HostDasErrorEventHostDasErrorReasonConfigFailed,
  4317  		HostDasErrorEventHostDasErrorReasonTimeout,
  4318  		HostDasErrorEventHostDasErrorReasonCommunicationInitFailed,
  4319  		HostDasErrorEventHostDasErrorReasonHealthCheckScriptFailed,
  4320  		HostDasErrorEventHostDasErrorReasonAgentFailed,
  4321  		HostDasErrorEventHostDasErrorReasonAgentShutdown,
  4322  		HostDasErrorEventHostDasErrorReasonIsolationAddressUnpingable,
  4323  		HostDasErrorEventHostDasErrorReasonOther,
  4324  	}
  4325  }
  4326  
  4327  func (e HostDasErrorEventHostDasErrorReason) Strings() []string {
  4328  	return EnumValuesAsStrings(e.Values())
  4329  }
  4330  
  4331  func init() {
  4332  	t["HostDasErrorEventHostDasErrorReason"] = reflect.TypeOf((*HostDasErrorEventHostDasErrorReason)(nil)).Elem()
  4333  }
  4334  
  4335  // Types of time synchronization protocols.
  4336  type HostDateTimeInfoProtocol string
  4337  
  4338  const (
  4339  	// Network Time Protocol (NTP).
  4340  	HostDateTimeInfoProtocolNtp = HostDateTimeInfoProtocol("ntp")
  4341  	// Precision Time Protocol (PTP).
  4342  	HostDateTimeInfoProtocolPtp = HostDateTimeInfoProtocol("ptp")
  4343  )
  4344  
  4345  func (e HostDateTimeInfoProtocol) Values() []HostDateTimeInfoProtocol {
  4346  	return []HostDateTimeInfoProtocol{
  4347  		HostDateTimeInfoProtocolNtp,
  4348  		HostDateTimeInfoProtocolPtp,
  4349  	}
  4350  }
  4351  
  4352  func (e HostDateTimeInfoProtocol) Strings() []string {
  4353  	return EnumValuesAsStrings(e.Values())
  4354  }
  4355  
  4356  func init() {
  4357  	t["HostDateTimeInfoProtocol"] = reflect.TypeOf((*HostDateTimeInfoProtocol)(nil)).Elem()
  4358  }
  4359  
  4360  // The set of digest methods that can be used by TPM to calculate the PCR
  4361  // values.
  4362  type HostDigestInfoDigestMethodType string
  4363  
  4364  const (
  4365  	HostDigestInfoDigestMethodTypeSHA1 = HostDigestInfoDigestMethodType("SHA1")
  4366  	// Deprecated as of vSphere API 6.7.
  4367  	//
  4368  	// MD5.
  4369  	HostDigestInfoDigestMethodTypeMD5     = HostDigestInfoDigestMethodType("MD5")
  4370  	HostDigestInfoDigestMethodTypeSHA256  = HostDigestInfoDigestMethodType("SHA256")
  4371  	HostDigestInfoDigestMethodTypeSHA384  = HostDigestInfoDigestMethodType("SHA384")
  4372  	HostDigestInfoDigestMethodTypeSHA512  = HostDigestInfoDigestMethodType("SHA512")
  4373  	HostDigestInfoDigestMethodTypeSM3_256 = HostDigestInfoDigestMethodType("SM3_256")
  4374  )
  4375  
  4376  func (e HostDigestInfoDigestMethodType) Values() []HostDigestInfoDigestMethodType {
  4377  	return []HostDigestInfoDigestMethodType{
  4378  		HostDigestInfoDigestMethodTypeSHA1,
  4379  		HostDigestInfoDigestMethodTypeMD5,
  4380  		HostDigestInfoDigestMethodTypeSHA256,
  4381  		HostDigestInfoDigestMethodTypeSHA384,
  4382  		HostDigestInfoDigestMethodTypeSHA512,
  4383  		HostDigestInfoDigestMethodTypeSM3_256,
  4384  	}
  4385  }
  4386  
  4387  func (e HostDigestInfoDigestMethodType) Strings() []string {
  4388  	return EnumValuesAsStrings(e.Values())
  4389  }
  4390  
  4391  func init() {
  4392  	t["HostDigestInfoDigestMethodType"] = reflect.TypeOf((*HostDigestInfoDigestMethodType)(nil)).Elem()
  4393  }
  4394  
  4395  // This enum specifies the supported digest verification settings.
  4396  //
  4397  // For NVMe over TCP connections, both header and data digests may be
  4398  // requested during the process of establishing the connection.
  4399  // For details, see:
  4400  //   - NVM Express Technical Proposal 8000 - NVMe/TCP Transport,
  4401  type HostDigestVerificationSetting string
  4402  
  4403  const (
  4404  	// Both header and data digest verification are disabled.
  4405  	HostDigestVerificationSettingDigestDisabled = HostDigestVerificationSetting("digestDisabled")
  4406  	// Only header digest verification is enabled.
  4407  	HostDigestVerificationSettingHeaderOnly = HostDigestVerificationSetting("headerOnly")
  4408  	// Only data digest verification is enabled.
  4409  	HostDigestVerificationSettingDataOnly = HostDigestVerificationSetting("dataOnly")
  4410  	// Both header and data digest verification are enabled.
  4411  	HostDigestVerificationSettingHeaderAndData = HostDigestVerificationSetting("headerAndData")
  4412  )
  4413  
  4414  func (e HostDigestVerificationSetting) Values() []HostDigestVerificationSetting {
  4415  	return []HostDigestVerificationSetting{
  4416  		HostDigestVerificationSettingDigestDisabled,
  4417  		HostDigestVerificationSettingHeaderOnly,
  4418  		HostDigestVerificationSettingDataOnly,
  4419  		HostDigestVerificationSettingHeaderAndData,
  4420  	}
  4421  }
  4422  
  4423  func (e HostDigestVerificationSetting) Strings() []string {
  4424  	return EnumValuesAsStrings(e.Values())
  4425  }
  4426  
  4427  func init() {
  4428  	t["HostDigestVerificationSetting"] = reflect.TypeOf((*HostDigestVerificationSetting)(nil)).Elem()
  4429  	minAPIVersionForType["HostDigestVerificationSetting"] = "7.0.3.0"
  4430  }
  4431  
  4432  type HostDisconnectedEventReasonCode string
  4433  
  4434  const (
  4435  	// Failed to verify SSL thumbprint
  4436  	HostDisconnectedEventReasonCodeSslThumbprintVerifyFailed = HostDisconnectedEventReasonCode("sslThumbprintVerifyFailed")
  4437  	// License expired for the host
  4438  	HostDisconnectedEventReasonCodeLicenseExpired = HostDisconnectedEventReasonCode("licenseExpired")
  4439  	// Agent is being upgraded
  4440  	HostDisconnectedEventReasonCodeAgentUpgrade = HostDisconnectedEventReasonCode("agentUpgrade")
  4441  	// User requested disconnect
  4442  	HostDisconnectedEventReasonCodeUserRequest = HostDisconnectedEventReasonCode("userRequest")
  4443  	// License not available after host upgrade
  4444  	HostDisconnectedEventReasonCodeInsufficientLicenses = HostDisconnectedEventReasonCode("insufficientLicenses")
  4445  	// Agent is out of date
  4446  	HostDisconnectedEventReasonCodeAgentOutOfDate = HostDisconnectedEventReasonCode("agentOutOfDate")
  4447  	// Failed to decrypt password
  4448  	HostDisconnectedEventReasonCodePasswordDecryptFailure = HostDisconnectedEventReasonCode("passwordDecryptFailure")
  4449  	// Unknown reason
  4450  	HostDisconnectedEventReasonCodeUnknown = HostDisconnectedEventReasonCode("unknown")
  4451  	// The vRAM capacity of vCenter will be exceeded
  4452  	HostDisconnectedEventReasonCodeVcVRAMCapacityExceeded = HostDisconnectedEventReasonCode("vcVRAMCapacityExceeded")
  4453  )
  4454  
  4455  func (e HostDisconnectedEventReasonCode) Values() []HostDisconnectedEventReasonCode {
  4456  	return []HostDisconnectedEventReasonCode{
  4457  		HostDisconnectedEventReasonCodeSslThumbprintVerifyFailed,
  4458  		HostDisconnectedEventReasonCodeLicenseExpired,
  4459  		HostDisconnectedEventReasonCodeAgentUpgrade,
  4460  		HostDisconnectedEventReasonCodeUserRequest,
  4461  		HostDisconnectedEventReasonCodeInsufficientLicenses,
  4462  		HostDisconnectedEventReasonCodeAgentOutOfDate,
  4463  		HostDisconnectedEventReasonCodePasswordDecryptFailure,
  4464  		HostDisconnectedEventReasonCodeUnknown,
  4465  		HostDisconnectedEventReasonCodeVcVRAMCapacityExceeded,
  4466  	}
  4467  }
  4468  
  4469  func (e HostDisconnectedEventReasonCode) Strings() []string {
  4470  	return EnumValuesAsStrings(e.Values())
  4471  }
  4472  
  4473  func init() {
  4474  	t["HostDisconnectedEventReasonCode"] = reflect.TypeOf((*HostDisconnectedEventReasonCode)(nil)).Elem()
  4475  }
  4476  
  4477  // List of partition format types.
  4478  //
  4479  // This denotes the partition table layout.
  4480  type HostDiskPartitionInfoPartitionFormat string
  4481  
  4482  const (
  4483  	HostDiskPartitionInfoPartitionFormatGpt     = HostDiskPartitionInfoPartitionFormat("gpt")
  4484  	HostDiskPartitionInfoPartitionFormatMbr     = HostDiskPartitionInfoPartitionFormat("mbr")
  4485  	HostDiskPartitionInfoPartitionFormatUnknown = HostDiskPartitionInfoPartitionFormat("unknown")
  4486  )
  4487  
  4488  func (e HostDiskPartitionInfoPartitionFormat) Values() []HostDiskPartitionInfoPartitionFormat {
  4489  	return []HostDiskPartitionInfoPartitionFormat{
  4490  		HostDiskPartitionInfoPartitionFormatGpt,
  4491  		HostDiskPartitionInfoPartitionFormatMbr,
  4492  		HostDiskPartitionInfoPartitionFormatUnknown,
  4493  	}
  4494  }
  4495  
  4496  func (e HostDiskPartitionInfoPartitionFormat) Strings() []string {
  4497  	return EnumValuesAsStrings(e.Values())
  4498  }
  4499  
  4500  func init() {
  4501  	t["HostDiskPartitionInfoPartitionFormat"] = reflect.TypeOf((*HostDiskPartitionInfoPartitionFormat)(nil)).Elem()
  4502  }
  4503  
  4504  // List of symbol partition types
  4505  type HostDiskPartitionInfoType string
  4506  
  4507  const (
  4508  	HostDiskPartitionInfoTypeNone          = HostDiskPartitionInfoType("none")
  4509  	HostDiskPartitionInfoTypeVmfs          = HostDiskPartitionInfoType("vmfs")
  4510  	HostDiskPartitionInfoTypeLinuxNative   = HostDiskPartitionInfoType("linuxNative")
  4511  	HostDiskPartitionInfoTypeLinuxSwap     = HostDiskPartitionInfoType("linuxSwap")
  4512  	HostDiskPartitionInfoTypeExtended      = HostDiskPartitionInfoType("extended")
  4513  	HostDiskPartitionInfoTypeNtfs          = HostDiskPartitionInfoType("ntfs")
  4514  	HostDiskPartitionInfoTypeVmkDiagnostic = HostDiskPartitionInfoType("vmkDiagnostic")
  4515  	HostDiskPartitionInfoTypeVffs          = HostDiskPartitionInfoType("vffs")
  4516  )
  4517  
  4518  func (e HostDiskPartitionInfoType) Values() []HostDiskPartitionInfoType {
  4519  	return []HostDiskPartitionInfoType{
  4520  		HostDiskPartitionInfoTypeNone,
  4521  		HostDiskPartitionInfoTypeVmfs,
  4522  		HostDiskPartitionInfoTypeLinuxNative,
  4523  		HostDiskPartitionInfoTypeLinuxSwap,
  4524  		HostDiskPartitionInfoTypeExtended,
  4525  		HostDiskPartitionInfoTypeNtfs,
  4526  		HostDiskPartitionInfoTypeVmkDiagnostic,
  4527  		HostDiskPartitionInfoTypeVffs,
  4528  	}
  4529  }
  4530  
  4531  func (e HostDiskPartitionInfoType) Strings() []string {
  4532  	return EnumValuesAsStrings(e.Values())
  4533  }
  4534  
  4535  func init() {
  4536  	t["HostDiskPartitionInfoType"] = reflect.TypeOf((*HostDiskPartitionInfoType)(nil)).Elem()
  4537  }
  4538  
  4539  type HostDistributedVirtualSwitchManagerFailoverReason string
  4540  
  4541  const (
  4542  	// The failover is caused by DPU crash.
  4543  	HostDistributedVirtualSwitchManagerFailoverReasonCrash = HostDistributedVirtualSwitchManagerFailoverReason("crash")
  4544  	// The failover is caused by DPU's vmnic(s) link down.
  4545  	HostDistributedVirtualSwitchManagerFailoverReasonLinkDown = HostDistributedVirtualSwitchManagerFailoverReason("linkDown")
  4546  	// The failover is triggered by the user.
  4547  	HostDistributedVirtualSwitchManagerFailoverReasonUserInitiated = HostDistributedVirtualSwitchManagerFailoverReason("userInitiated")
  4548  )
  4549  
  4550  func (e HostDistributedVirtualSwitchManagerFailoverReason) Values() []HostDistributedVirtualSwitchManagerFailoverReason {
  4551  	return []HostDistributedVirtualSwitchManagerFailoverReason{
  4552  		HostDistributedVirtualSwitchManagerFailoverReasonCrash,
  4553  		HostDistributedVirtualSwitchManagerFailoverReasonLinkDown,
  4554  		HostDistributedVirtualSwitchManagerFailoverReasonUserInitiated,
  4555  	}
  4556  }
  4557  
  4558  func (e HostDistributedVirtualSwitchManagerFailoverReason) Strings() []string {
  4559  	return EnumValuesAsStrings(e.Values())
  4560  }
  4561  
  4562  func init() {
  4563  	t["HostDistributedVirtualSwitchManagerFailoverReason"] = reflect.TypeOf((*HostDistributedVirtualSwitchManagerFailoverReason)(nil)).Elem()
  4564  	minAPIVersionForType["HostDistributedVirtualSwitchManagerFailoverReason"] = "8.0.3.0"
  4565  }
  4566  
  4567  type HostDistributedVirtualSwitchManagerFailoverStage string
  4568  
  4569  const (
  4570  	HostDistributedVirtualSwitchManagerFailoverStageSTAGE_1 = HostDistributedVirtualSwitchManagerFailoverStage("STAGE_1")
  4571  )
  4572  
  4573  func (e HostDistributedVirtualSwitchManagerFailoverStage) Values() []HostDistributedVirtualSwitchManagerFailoverStage {
  4574  	return []HostDistributedVirtualSwitchManagerFailoverStage{
  4575  		HostDistributedVirtualSwitchManagerFailoverStageSTAGE_1,
  4576  	}
  4577  }
  4578  
  4579  func (e HostDistributedVirtualSwitchManagerFailoverStage) Strings() []string {
  4580  	return EnumValuesAsStrings(e.Values())
  4581  }
  4582  
  4583  func init() {
  4584  	t["HostDistributedVirtualSwitchManagerFailoverStage"] = reflect.TypeOf((*HostDistributedVirtualSwitchManagerFailoverStage)(nil)).Elem()
  4585  	minAPIVersionForType["HostDistributedVirtualSwitchManagerFailoverStage"] = "8.0.3.0"
  4586  }
  4587  
  4588  // Set of possible values for
  4589  // `HostFeatureVersionInfo.key`, which
  4590  // is a unique key that identifies a feature.
  4591  type HostFeatureVersionKey string
  4592  
  4593  const (
  4594  	// VMware Fault Tolerance feature.
  4595  	//
  4596  	// For pre-4.1 hosts, the
  4597  	// version value reported will be empty in which case
  4598  	// `AboutInfo.build` should be used. For all
  4599  	// other hosts, the version number reported will be a component-specific
  4600  	// version identifier of the form X.Y.Z, where:
  4601  	// X refers to host agent Fault Tolerance version number,
  4602  	// Y refers to VMX Fault Tolerance version number,
  4603  	// Z refers to VMkernal Fault Tolerance version
  4604  	HostFeatureVersionKeyFaultTolerance = HostFeatureVersionKey("faultTolerance")
  4605  )
  4606  
  4607  func (e HostFeatureVersionKey) Values() []HostFeatureVersionKey {
  4608  	return []HostFeatureVersionKey{
  4609  		HostFeatureVersionKeyFaultTolerance,
  4610  	}
  4611  }
  4612  
  4613  func (e HostFeatureVersionKey) Strings() []string {
  4614  	return EnumValuesAsStrings(e.Values())
  4615  }
  4616  
  4617  func init() {
  4618  	t["HostFeatureVersionKey"] = reflect.TypeOf((*HostFeatureVersionKey)(nil)).Elem()
  4619  }
  4620  
  4621  // Type of file system volume.
  4622  type HostFileSystemVolumeFileSystemType string
  4623  
  4624  const (
  4625  	// VMware File System (ESX Server only).
  4626  	//
  4627  	// If this is set,
  4628  	// the type of the file system volume is VMFS.
  4629  	HostFileSystemVolumeFileSystemTypeVMFS = HostFileSystemVolumeFileSystemType("VMFS")
  4630  	// Network file system v3 linux &amp; esx servers only.
  4631  	//
  4632  	// If this is
  4633  	// set, the type of the file system volume is NFS v3.
  4634  	HostFileSystemVolumeFileSystemTypeNFS = HostFileSystemVolumeFileSystemType("NFS")
  4635  	// Network file system v4.1 linux &amp; esx servers only.
  4636  	//
  4637  	// If this is
  4638  	// set, the type of the file system volume is NFS v4.1 or later.
  4639  	HostFileSystemVolumeFileSystemTypeNFS41 = HostFileSystemVolumeFileSystemType("NFS41")
  4640  	// Common Internet File System.
  4641  	//
  4642  	// If this is set, the type of the
  4643  	// file system volume is Common Internet File System.
  4644  	HostFileSystemVolumeFileSystemTypeCIFS = HostFileSystemVolumeFileSystemType("CIFS")
  4645  	// VSAN File System (ESX Server only).
  4646  	HostFileSystemVolumeFileSystemTypeVsan = HostFileSystemVolumeFileSystemType("vsan")
  4647  	// vFlash File System (ESX Server only).
  4648  	//
  4649  	// If this is set, the type of the file system volume is VFFS.
  4650  	HostFileSystemVolumeFileSystemTypeVFFS = HostFileSystemVolumeFileSystemType("VFFS")
  4651  	// vvol File System (ESX Server only).
  4652  	HostFileSystemVolumeFileSystemTypeVVOL = HostFileSystemVolumeFileSystemType("VVOL")
  4653  	// Persistent Memory File System (ESX Server only).
  4654  	HostFileSystemVolumeFileSystemTypePMEM = HostFileSystemVolumeFileSystemType("PMEM")
  4655  	// VSAN direct file system.
  4656  	HostFileSystemVolumeFileSystemTypeVsanD = HostFileSystemVolumeFileSystemType("vsanD")
  4657  	// Used if the file system is not one of the specified file systems.
  4658  	//
  4659  	// Used mostly for reporting purposes. The other types are described
  4660  	// by the otherType property.
  4661  	HostFileSystemVolumeFileSystemTypeOTHER = HostFileSystemVolumeFileSystemType("OTHER")
  4662  )
  4663  
  4664  func (e HostFileSystemVolumeFileSystemType) Values() []HostFileSystemVolumeFileSystemType {
  4665  	return []HostFileSystemVolumeFileSystemType{
  4666  		HostFileSystemVolumeFileSystemTypeVMFS,
  4667  		HostFileSystemVolumeFileSystemTypeNFS,
  4668  		HostFileSystemVolumeFileSystemTypeNFS41,
  4669  		HostFileSystemVolumeFileSystemTypeCIFS,
  4670  		HostFileSystemVolumeFileSystemTypeVsan,
  4671  		HostFileSystemVolumeFileSystemTypeVFFS,
  4672  		HostFileSystemVolumeFileSystemTypeVVOL,
  4673  		HostFileSystemVolumeFileSystemTypePMEM,
  4674  		HostFileSystemVolumeFileSystemTypeVsanD,
  4675  		HostFileSystemVolumeFileSystemTypeOTHER,
  4676  	}
  4677  }
  4678  
  4679  func (e HostFileSystemVolumeFileSystemType) Strings() []string {
  4680  	return EnumValuesAsStrings(e.Values())
  4681  }
  4682  
  4683  func init() {
  4684  	t["HostFileSystemVolumeFileSystemType"] = reflect.TypeOf((*HostFileSystemVolumeFileSystemType)(nil)).Elem()
  4685  	minAPIVersionForEnumValue["HostFileSystemVolumeFileSystemType"] = map[string]string{
  4686  		"vsanD": "7.0.1.0",
  4687  	}
  4688  }
  4689  
  4690  // Enumeration of port directions.
  4691  type HostFirewallRuleDirection string
  4692  
  4693  const (
  4694  	HostFirewallRuleDirectionInbound  = HostFirewallRuleDirection("inbound")
  4695  	HostFirewallRuleDirectionOutbound = HostFirewallRuleDirection("outbound")
  4696  )
  4697  
  4698  func (e HostFirewallRuleDirection) Values() []HostFirewallRuleDirection {
  4699  	return []HostFirewallRuleDirection{
  4700  		HostFirewallRuleDirectionInbound,
  4701  		HostFirewallRuleDirectionOutbound,
  4702  	}
  4703  }
  4704  
  4705  func (e HostFirewallRuleDirection) Strings() []string {
  4706  	return EnumValuesAsStrings(e.Values())
  4707  }
  4708  
  4709  func init() {
  4710  	t["HostFirewallRuleDirection"] = reflect.TypeOf((*HostFirewallRuleDirection)(nil)).Elem()
  4711  }
  4712  
  4713  // Enumeration of port types.
  4714  type HostFirewallRulePortType string
  4715  
  4716  const (
  4717  	HostFirewallRulePortTypeSrc = HostFirewallRulePortType("src")
  4718  	HostFirewallRulePortTypeDst = HostFirewallRulePortType("dst")
  4719  )
  4720  
  4721  func (e HostFirewallRulePortType) Values() []HostFirewallRulePortType {
  4722  	return []HostFirewallRulePortType{
  4723  		HostFirewallRulePortTypeSrc,
  4724  		HostFirewallRulePortTypeDst,
  4725  	}
  4726  }
  4727  
  4728  func (e HostFirewallRulePortType) Strings() []string {
  4729  	return EnumValuesAsStrings(e.Values())
  4730  }
  4731  
  4732  func init() {
  4733  	t["HostFirewallRulePortType"] = reflect.TypeOf((*HostFirewallRulePortType)(nil)).Elem()
  4734  }
  4735  
  4736  // Set of valid port protocols.
  4737  type HostFirewallRuleProtocol string
  4738  
  4739  const (
  4740  	HostFirewallRuleProtocolTcp = HostFirewallRuleProtocol("tcp")
  4741  	HostFirewallRuleProtocolUdp = HostFirewallRuleProtocol("udp")
  4742  )
  4743  
  4744  func (e HostFirewallRuleProtocol) Values() []HostFirewallRuleProtocol {
  4745  	return []HostFirewallRuleProtocol{
  4746  		HostFirewallRuleProtocolTcp,
  4747  		HostFirewallRuleProtocolUdp,
  4748  	}
  4749  }
  4750  
  4751  func (e HostFirewallRuleProtocol) Strings() []string {
  4752  	return EnumValuesAsStrings(e.Values())
  4753  }
  4754  
  4755  func init() {
  4756  	t["HostFirewallRuleProtocol"] = reflect.TypeOf((*HostFirewallRuleProtocol)(nil)).Elem()
  4757  }
  4758  
  4759  type HostFirewallSystemRuleSetId string
  4760  
  4761  const (
  4762  	HostFirewallSystemRuleSetIdFaultTolerance = HostFirewallSystemRuleSetId("faultTolerance")
  4763  	HostFirewallSystemRuleSetIdFdm            = HostFirewallSystemRuleSetId("fdm")
  4764  	HostFirewallSystemRuleSetIdUpdateManager  = HostFirewallSystemRuleSetId("updateManager")
  4765  	HostFirewallSystemRuleSetIdVpxHeartbeats  = HostFirewallSystemRuleSetId("vpxHeartbeats")
  4766  )
  4767  
  4768  func (e HostFirewallSystemRuleSetId) Values() []HostFirewallSystemRuleSetId {
  4769  	return []HostFirewallSystemRuleSetId{
  4770  		HostFirewallSystemRuleSetIdFaultTolerance,
  4771  		HostFirewallSystemRuleSetIdFdm,
  4772  		HostFirewallSystemRuleSetIdUpdateManager,
  4773  		HostFirewallSystemRuleSetIdVpxHeartbeats,
  4774  	}
  4775  }
  4776  
  4777  func (e HostFirewallSystemRuleSetId) Strings() []string {
  4778  	return EnumValuesAsStrings(e.Values())
  4779  }
  4780  
  4781  func init() {
  4782  	t["HostFirewallSystemRuleSetId"] = reflect.TypeOf((*HostFirewallSystemRuleSetId)(nil)).Elem()
  4783  	minAPIVersionForType["HostFirewallSystemRuleSetId"] = "8.0.2.0"
  4784  }
  4785  
  4786  type HostFirewallSystemServiceName string
  4787  
  4788  const (
  4789  	HostFirewallSystemServiceNameVpxa = HostFirewallSystemServiceName("vpxa")
  4790  )
  4791  
  4792  func (e HostFirewallSystemServiceName) Values() []HostFirewallSystemServiceName {
  4793  	return []HostFirewallSystemServiceName{
  4794  		HostFirewallSystemServiceNameVpxa,
  4795  	}
  4796  }
  4797  
  4798  func (e HostFirewallSystemServiceName) Strings() []string {
  4799  	return EnumValuesAsStrings(e.Values())
  4800  }
  4801  
  4802  func init() {
  4803  	t["HostFirewallSystemServiceName"] = reflect.TypeOf((*HostFirewallSystemServiceName)(nil)).Elem()
  4804  	minAPIVersionForType["HostFirewallSystemServiceName"] = "8.0.2.0"
  4805  }
  4806  
  4807  // The vendor definition for type of Field Replaceable Unit (FRU).
  4808  type HostFruFruType string
  4809  
  4810  const (
  4811  	HostFruFruTypeUndefined = HostFruFruType("undefined")
  4812  	HostFruFruTypeBoard     = HostFruFruType("board")
  4813  	HostFruFruTypeProduct   = HostFruFruType("product")
  4814  )
  4815  
  4816  func (e HostFruFruType) Values() []HostFruFruType {
  4817  	return []HostFruFruType{
  4818  		HostFruFruTypeUndefined,
  4819  		HostFruFruTypeBoard,
  4820  		HostFruFruTypeProduct,
  4821  	}
  4822  }
  4823  
  4824  func (e HostFruFruType) Strings() []string {
  4825  	return EnumValuesAsStrings(e.Values())
  4826  }
  4827  
  4828  func init() {
  4829  	t["HostFruFruType"] = reflect.TypeOf((*HostFruFruType)(nil)).Elem()
  4830  }
  4831  
  4832  // Supported values for graphics type.
  4833  type HostGraphicsConfigGraphicsType string
  4834  
  4835  const (
  4836  	// Shared graphics (ex.
  4837  	//
  4838  	// virtual shared graphics acceleration).
  4839  	HostGraphicsConfigGraphicsTypeShared = HostGraphicsConfigGraphicsType("shared")
  4840  	// Shared direct graphics (ex.
  4841  	//
  4842  	// vendor vGPU shared passthrough).
  4843  	HostGraphicsConfigGraphicsTypeSharedDirect = HostGraphicsConfigGraphicsType("sharedDirect")
  4844  )
  4845  
  4846  func (e HostGraphicsConfigGraphicsType) Values() []HostGraphicsConfigGraphicsType {
  4847  	return []HostGraphicsConfigGraphicsType{
  4848  		HostGraphicsConfigGraphicsTypeShared,
  4849  		HostGraphicsConfigGraphicsTypeSharedDirect,
  4850  	}
  4851  }
  4852  
  4853  func (e HostGraphicsConfigGraphicsType) Strings() []string {
  4854  	return EnumValuesAsStrings(e.Values())
  4855  }
  4856  
  4857  func init() {
  4858  	t["HostGraphicsConfigGraphicsType"] = reflect.TypeOf((*HostGraphicsConfigGraphicsType)(nil)).Elem()
  4859  }
  4860  
  4861  // Supported values for shared passthrough assignment policy
  4862  type HostGraphicsConfigSharedPassthruAssignmentPolicy string
  4863  
  4864  const (
  4865  	// Performance policy: assign VM to GPU with fewest VMs.
  4866  	HostGraphicsConfigSharedPassthruAssignmentPolicyPerformance = HostGraphicsConfigSharedPassthruAssignmentPolicy("performance")
  4867  	// Consolidation policy: group like VMs on GPU until fully loaded.
  4868  	HostGraphicsConfigSharedPassthruAssignmentPolicyConsolidation = HostGraphicsConfigSharedPassthruAssignmentPolicy("consolidation")
  4869  )
  4870  
  4871  func (e HostGraphicsConfigSharedPassthruAssignmentPolicy) Values() []HostGraphicsConfigSharedPassthruAssignmentPolicy {
  4872  	return []HostGraphicsConfigSharedPassthruAssignmentPolicy{
  4873  		HostGraphicsConfigSharedPassthruAssignmentPolicyPerformance,
  4874  		HostGraphicsConfigSharedPassthruAssignmentPolicyConsolidation,
  4875  	}
  4876  }
  4877  
  4878  func (e HostGraphicsConfigSharedPassthruAssignmentPolicy) Strings() []string {
  4879  	return EnumValuesAsStrings(e.Values())
  4880  }
  4881  
  4882  func init() {
  4883  	t["HostGraphicsConfigSharedPassthruAssignmentPolicy"] = reflect.TypeOf((*HostGraphicsConfigSharedPassthruAssignmentPolicy)(nil)).Elem()
  4884  }
  4885  
  4886  type HostGraphicsConfigVgpuMode string
  4887  
  4888  const (
  4889  	// vGPU time-sliced same size.
  4890  	HostGraphicsConfigVgpuModeSameSize = HostGraphicsConfigVgpuMode("sameSize")
  4891  	// vGPU time-sliced mixed size.
  4892  	HostGraphicsConfigVgpuModeMixedSize = HostGraphicsConfigVgpuMode("mixedSize")
  4893  )
  4894  
  4895  func (e HostGraphicsConfigVgpuMode) Values() []HostGraphicsConfigVgpuMode {
  4896  	return []HostGraphicsConfigVgpuMode{
  4897  		HostGraphicsConfigVgpuModeSameSize,
  4898  		HostGraphicsConfigVgpuModeMixedSize,
  4899  	}
  4900  }
  4901  
  4902  func (e HostGraphicsConfigVgpuMode) Strings() []string {
  4903  	return EnumValuesAsStrings(e.Values())
  4904  }
  4905  
  4906  func init() {
  4907  	t["HostGraphicsConfigVgpuMode"] = reflect.TypeOf((*HostGraphicsConfigVgpuMode)(nil)).Elem()
  4908  	minAPIVersionForType["HostGraphicsConfigVgpuMode"] = "8.0.3.0"
  4909  }
  4910  
  4911  // Possible values for graphics type.
  4912  type HostGraphicsInfoGraphicsType string
  4913  
  4914  const (
  4915  	// Basic graphics when no host driver is available.
  4916  	HostGraphicsInfoGraphicsTypeBasic = HostGraphicsInfoGraphicsType("basic")
  4917  	// Shared graphics (ex.
  4918  	//
  4919  	// virtual shared graphics acceleration).
  4920  	HostGraphicsInfoGraphicsTypeShared = HostGraphicsInfoGraphicsType("shared")
  4921  	// Direct graphics (ex.
  4922  	//
  4923  	// passthrough).
  4924  	HostGraphicsInfoGraphicsTypeDirect = HostGraphicsInfoGraphicsType("direct")
  4925  	// Shared direct graphics (ex.
  4926  	//
  4927  	// vGPU shared passthrough).
  4928  	HostGraphicsInfoGraphicsTypeSharedDirect = HostGraphicsInfoGraphicsType("sharedDirect")
  4929  )
  4930  
  4931  func (e HostGraphicsInfoGraphicsType) Values() []HostGraphicsInfoGraphicsType {
  4932  	return []HostGraphicsInfoGraphicsType{
  4933  		HostGraphicsInfoGraphicsTypeBasic,
  4934  		HostGraphicsInfoGraphicsTypeShared,
  4935  		HostGraphicsInfoGraphicsTypeDirect,
  4936  		HostGraphicsInfoGraphicsTypeSharedDirect,
  4937  	}
  4938  }
  4939  
  4940  func (e HostGraphicsInfoGraphicsType) Strings() []string {
  4941  	return EnumValuesAsStrings(e.Values())
  4942  }
  4943  
  4944  func init() {
  4945  	t["HostGraphicsInfoGraphicsType"] = reflect.TypeOf((*HostGraphicsInfoGraphicsType)(nil)).Elem()
  4946  }
  4947  
  4948  type HostGraphicsInfoVgpuMode string
  4949  
  4950  const (
  4951  	// vGPU mode not applicable.
  4952  	HostGraphicsInfoVgpuModeNone = HostGraphicsInfoVgpuMode("none")
  4953  	// vGPU time-sliced same size.
  4954  	HostGraphicsInfoVgpuModeSameSize = HostGraphicsInfoVgpuMode("sameSize")
  4955  	// vGPU time-sliced mixed size.
  4956  	HostGraphicsInfoVgpuModeMixedSize = HostGraphicsInfoVgpuMode("mixedSize")
  4957  	// vGPU multi-instance GPU.
  4958  	HostGraphicsInfoVgpuModeMultiInstanceGpu = HostGraphicsInfoVgpuMode("multiInstanceGpu")
  4959  )
  4960  
  4961  func (e HostGraphicsInfoVgpuMode) Values() []HostGraphicsInfoVgpuMode {
  4962  	return []HostGraphicsInfoVgpuMode{
  4963  		HostGraphicsInfoVgpuModeNone,
  4964  		HostGraphicsInfoVgpuModeSameSize,
  4965  		HostGraphicsInfoVgpuModeMixedSize,
  4966  		HostGraphicsInfoVgpuModeMultiInstanceGpu,
  4967  	}
  4968  }
  4969  
  4970  func (e HostGraphicsInfoVgpuMode) Strings() []string {
  4971  	return EnumValuesAsStrings(e.Values())
  4972  }
  4973  
  4974  func init() {
  4975  	t["HostGraphicsInfoVgpuMode"] = reflect.TypeOf((*HostGraphicsInfoVgpuMode)(nil)).Elem()
  4976  	minAPIVersionForType["HostGraphicsInfoVgpuMode"] = "8.0.3.0"
  4977  }
  4978  
  4979  // The current status of the hardware
  4980  type HostHardwareElementStatus string
  4981  
  4982  const (
  4983  	// The implementation cannot report on the current status of the
  4984  	// physical element
  4985  	HostHardwareElementStatusUnknown = HostHardwareElementStatus("Unknown")
  4986  	// The physical element is functioning as expected
  4987  	HostHardwareElementStatusGreen = HostHardwareElementStatus("Green")
  4988  	// All functionality is available but some might be degraded.
  4989  	HostHardwareElementStatusYellow = HostHardwareElementStatus("Yellow")
  4990  	// The physical element is failing.
  4991  	//
  4992  	// It is possible that some or all
  4993  	// functionalities of this physical element is degraded or not working.
  4994  	HostHardwareElementStatusRed = HostHardwareElementStatus("Red")
  4995  )
  4996  
  4997  func (e HostHardwareElementStatus) Values() []HostHardwareElementStatus {
  4998  	return []HostHardwareElementStatus{
  4999  		HostHardwareElementStatusUnknown,
  5000  		HostHardwareElementStatusGreen,
  5001  		HostHardwareElementStatusYellow,
  5002  		HostHardwareElementStatusRed,
  5003  	}
  5004  }
  5005  
  5006  func (e HostHardwareElementStatus) Strings() []string {
  5007  	return EnumValuesAsStrings(e.Values())
  5008  }
  5009  
  5010  func init() {
  5011  	t["HostHardwareElementStatus"] = reflect.TypeOf((*HostHardwareElementStatus)(nil)).Elem()
  5012  }
  5013  
  5014  type HostHasComponentFailureHostComponentType string
  5015  
  5016  const (
  5017  	HostHasComponentFailureHostComponentTypeDatastore = HostHasComponentFailureHostComponentType("Datastore")
  5018  )
  5019  
  5020  func (e HostHasComponentFailureHostComponentType) Values() []HostHasComponentFailureHostComponentType {
  5021  	return []HostHasComponentFailureHostComponentType{
  5022  		HostHasComponentFailureHostComponentTypeDatastore,
  5023  	}
  5024  }
  5025  
  5026  func (e HostHasComponentFailureHostComponentType) Strings() []string {
  5027  	return EnumValuesAsStrings(e.Values())
  5028  }
  5029  
  5030  func init() {
  5031  	t["HostHasComponentFailureHostComponentType"] = reflect.TypeOf((*HostHasComponentFailureHostComponentType)(nil)).Elem()
  5032  }
  5033  
  5034  // Acceptance level definitions
  5035  type HostImageAcceptanceLevel string
  5036  
  5037  const (
  5038  	// "VMware-certified"
  5039  	HostImageAcceptanceLevelVmware_certified = HostImageAcceptanceLevel("vmware_certified")
  5040  	// "VMware-accepted"
  5041  	HostImageAcceptanceLevelVmware_accepted = HostImageAcceptanceLevel("vmware_accepted")
  5042  	// "Partner-supported"
  5043  	HostImageAcceptanceLevelPartner = HostImageAcceptanceLevel("partner")
  5044  	// "Community-supported"
  5045  	HostImageAcceptanceLevelCommunity = HostImageAcceptanceLevel("community")
  5046  )
  5047  
  5048  func (e HostImageAcceptanceLevel) Values() []HostImageAcceptanceLevel {
  5049  	return []HostImageAcceptanceLevel{
  5050  		HostImageAcceptanceLevelVmware_certified,
  5051  		HostImageAcceptanceLevelVmware_accepted,
  5052  		HostImageAcceptanceLevelPartner,
  5053  		HostImageAcceptanceLevelCommunity,
  5054  	}
  5055  }
  5056  
  5057  func (e HostImageAcceptanceLevel) Strings() []string {
  5058  	return EnumValuesAsStrings(e.Values())
  5059  }
  5060  
  5061  func init() {
  5062  	t["HostImageAcceptanceLevel"] = reflect.TypeOf((*HostImageAcceptanceLevel)(nil)).Elem()
  5063  }
  5064  
  5065  // Reasons why fault tolerance is not supported on the host.
  5066  type HostIncompatibleForFaultToleranceReason string
  5067  
  5068  const (
  5069  	// The product does not support fault tolerance.
  5070  	HostIncompatibleForFaultToleranceReasonProduct = HostIncompatibleForFaultToleranceReason("product")
  5071  	// The product supports fault tolerance but the host CPU does not.
  5072  	HostIncompatibleForFaultToleranceReasonProcessor = HostIncompatibleForFaultToleranceReason("processor")
  5073  )
  5074  
  5075  func (e HostIncompatibleForFaultToleranceReason) Values() []HostIncompatibleForFaultToleranceReason {
  5076  	return []HostIncompatibleForFaultToleranceReason{
  5077  		HostIncompatibleForFaultToleranceReasonProduct,
  5078  		HostIncompatibleForFaultToleranceReasonProcessor,
  5079  	}
  5080  }
  5081  
  5082  func (e HostIncompatibleForFaultToleranceReason) Strings() []string {
  5083  	return EnumValuesAsStrings(e.Values())
  5084  }
  5085  
  5086  func init() {
  5087  	t["HostIncompatibleForFaultToleranceReason"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceReason)(nil)).Elem()
  5088  }
  5089  
  5090  // Reasons why record/replay is not supported on a host.
  5091  type HostIncompatibleForRecordReplayReason string
  5092  
  5093  const (
  5094  	// The product does not support record/replay.
  5095  	HostIncompatibleForRecordReplayReasonProduct = HostIncompatibleForRecordReplayReason("product")
  5096  	// The product supports record/replay but the host CPU does not.
  5097  	HostIncompatibleForRecordReplayReasonProcessor = HostIncompatibleForRecordReplayReason("processor")
  5098  )
  5099  
  5100  func (e HostIncompatibleForRecordReplayReason) Values() []HostIncompatibleForRecordReplayReason {
  5101  	return []HostIncompatibleForRecordReplayReason{
  5102  		HostIncompatibleForRecordReplayReasonProduct,
  5103  		HostIncompatibleForRecordReplayReasonProcessor,
  5104  	}
  5105  }
  5106  
  5107  func (e HostIncompatibleForRecordReplayReason) Strings() []string {
  5108  	return EnumValuesAsStrings(e.Values())
  5109  }
  5110  
  5111  func init() {
  5112  	t["HostIncompatibleForRecordReplayReason"] = reflect.TypeOf((*HostIncompatibleForRecordReplayReason)(nil)).Elem()
  5113  }
  5114  
  5115  // The type of CHAP authentication setting to use.
  5116  //
  5117  // prohibited : do not use CHAP.
  5118  // preferred : use CHAP if successfully negotiated,
  5119  // but allow non-CHAP connections as fallback
  5120  // discouraged : use non-CHAP, but allow CHAP connectsion as fallback
  5121  // required : use CHAP for connection strictly, and fail if CHAP
  5122  // negotiation fails.
  5123  // Defaults to preferred on first configuration if unspecified.
  5124  type HostInternetScsiHbaChapAuthenticationType string
  5125  
  5126  const (
  5127  	HostInternetScsiHbaChapAuthenticationTypeChapProhibited  = HostInternetScsiHbaChapAuthenticationType("chapProhibited")
  5128  	HostInternetScsiHbaChapAuthenticationTypeChapDiscouraged = HostInternetScsiHbaChapAuthenticationType("chapDiscouraged")
  5129  	HostInternetScsiHbaChapAuthenticationTypeChapPreferred   = HostInternetScsiHbaChapAuthenticationType("chapPreferred")
  5130  	HostInternetScsiHbaChapAuthenticationTypeChapRequired    = HostInternetScsiHbaChapAuthenticationType("chapRequired")
  5131  )
  5132  
  5133  func (e HostInternetScsiHbaChapAuthenticationType) Values() []HostInternetScsiHbaChapAuthenticationType {
  5134  	return []HostInternetScsiHbaChapAuthenticationType{
  5135  		HostInternetScsiHbaChapAuthenticationTypeChapProhibited,
  5136  		HostInternetScsiHbaChapAuthenticationTypeChapDiscouraged,
  5137  		HostInternetScsiHbaChapAuthenticationTypeChapPreferred,
  5138  		HostInternetScsiHbaChapAuthenticationTypeChapRequired,
  5139  	}
  5140  }
  5141  
  5142  func (e HostInternetScsiHbaChapAuthenticationType) Strings() []string {
  5143  	return EnumValuesAsStrings(e.Values())
  5144  }
  5145  
  5146  func init() {
  5147  	t["HostInternetScsiHbaChapAuthenticationType"] = reflect.TypeOf((*HostInternetScsiHbaChapAuthenticationType)(nil)).Elem()
  5148  }
  5149  
  5150  // The type of integrity checks to use.
  5151  //
  5152  // The digest setting for header
  5153  // and data traffic can be separately configured.
  5154  // prohibited : do not use digest.
  5155  // preferred : use digest if successfully negotiated, but skip the use
  5156  // of digest otherwise.
  5157  // discouraged : do not use digest if target allows, otherwise use digest.
  5158  // required : use digest strictly, and fail if target does not support
  5159  // digest.
  5160  // Defaults to preferred on first configuration if unspecified.
  5161  type HostInternetScsiHbaDigestType string
  5162  
  5163  const (
  5164  	HostInternetScsiHbaDigestTypeDigestProhibited  = HostInternetScsiHbaDigestType("digestProhibited")
  5165  	HostInternetScsiHbaDigestTypeDigestDiscouraged = HostInternetScsiHbaDigestType("digestDiscouraged")
  5166  	HostInternetScsiHbaDigestTypeDigestPreferred   = HostInternetScsiHbaDigestType("digestPreferred")
  5167  	HostInternetScsiHbaDigestTypeDigestRequired    = HostInternetScsiHbaDigestType("digestRequired")
  5168  )
  5169  
  5170  func (e HostInternetScsiHbaDigestType) Values() []HostInternetScsiHbaDigestType {
  5171  	return []HostInternetScsiHbaDigestType{
  5172  		HostInternetScsiHbaDigestTypeDigestProhibited,
  5173  		HostInternetScsiHbaDigestTypeDigestDiscouraged,
  5174  		HostInternetScsiHbaDigestTypeDigestPreferred,
  5175  		HostInternetScsiHbaDigestTypeDigestRequired,
  5176  	}
  5177  }
  5178  
  5179  func (e HostInternetScsiHbaDigestType) Strings() []string {
  5180  	return EnumValuesAsStrings(e.Values())
  5181  }
  5182  
  5183  func init() {
  5184  	t["HostInternetScsiHbaDigestType"] = reflect.TypeOf((*HostInternetScsiHbaDigestType)(nil)).Elem()
  5185  }
  5186  
  5187  // enum listing possible IPv6 address configuration methods.
  5188  type HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType string
  5189  
  5190  const (
  5191  	// DHCP
  5192  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeDHCP = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("DHCP")
  5193  	// Auto configured.
  5194  	//
  5195  	// Auto configured Link local address and Router Advertisement addresses
  5196  	// would be of this type.
  5197  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeAutoConfigured = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("AutoConfigured")
  5198  	// Static address.
  5199  	//
  5200  	// Typically user specified addresses will be static addresses.
  5201  	// User can specify link local address. Only Static addresses can be added or removed.
  5202  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeStatic = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Static")
  5203  	// Other or unknown type.
  5204  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeOther = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Other")
  5205  )
  5206  
  5207  func (e HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType) Values() []HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType {
  5208  	return []HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType{
  5209  		HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeDHCP,
  5210  		HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeAutoConfigured,
  5211  		HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeStatic,
  5212  		HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeOther,
  5213  	}
  5214  }
  5215  
  5216  func (e HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType) Strings() []string {
  5217  	return EnumValuesAsStrings(e.Values())
  5218  }
  5219  
  5220  func init() {
  5221  	t["HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType)(nil)).Elem()
  5222  }
  5223  
  5224  // enum listing IPv6 address operations.
  5225  type HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation string
  5226  
  5227  const (
  5228  	HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationAdd    = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("add")
  5229  	HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationRemove = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("remove")
  5230  )
  5231  
  5232  func (e HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation) Values() []HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation {
  5233  	return []HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation{
  5234  		HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationAdd,
  5235  		HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationRemove,
  5236  	}
  5237  }
  5238  
  5239  func (e HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation) Strings() []string {
  5240  	return EnumValuesAsStrings(e.Values())
  5241  }
  5242  
  5243  func init() {
  5244  	t["HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation)(nil)).Elem()
  5245  }
  5246  
  5247  // The binding mode of the adapter.
  5248  type HostInternetScsiHbaNetworkBindingSupportType string
  5249  
  5250  const (
  5251  	HostInternetScsiHbaNetworkBindingSupportTypeNotsupported = HostInternetScsiHbaNetworkBindingSupportType("notsupported")
  5252  	HostInternetScsiHbaNetworkBindingSupportTypeOptional     = HostInternetScsiHbaNetworkBindingSupportType("optional")
  5253  	HostInternetScsiHbaNetworkBindingSupportTypeRequired     = HostInternetScsiHbaNetworkBindingSupportType("required")
  5254  )
  5255  
  5256  func (e HostInternetScsiHbaNetworkBindingSupportType) Values() []HostInternetScsiHbaNetworkBindingSupportType {
  5257  	return []HostInternetScsiHbaNetworkBindingSupportType{
  5258  		HostInternetScsiHbaNetworkBindingSupportTypeNotsupported,
  5259  		HostInternetScsiHbaNetworkBindingSupportTypeOptional,
  5260  		HostInternetScsiHbaNetworkBindingSupportTypeRequired,
  5261  	}
  5262  }
  5263  
  5264  func (e HostInternetScsiHbaNetworkBindingSupportType) Strings() []string {
  5265  	return EnumValuesAsStrings(e.Values())
  5266  }
  5267  
  5268  func init() {
  5269  	t["HostInternetScsiHbaNetworkBindingSupportType"] = reflect.TypeOf((*HostInternetScsiHbaNetworkBindingSupportType)(nil)).Elem()
  5270  }
  5271  
  5272  // The method of discovery of an iScsi target.
  5273  //
  5274  // staticMethod: static discovery
  5275  // sendTargetsMethod: sendtarget discovery
  5276  // slpMethod: Service Location Protocol discovery
  5277  // isnsMethod: Internet Storage Name Service discovery
  5278  // unknownMethod: discovery method not identified by iscsi stack
  5279  type HostInternetScsiHbaStaticTargetTargetDiscoveryMethod string
  5280  
  5281  const (
  5282  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodStaticMethod     = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("staticMethod")
  5283  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSendTargetMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("sendTargetMethod")
  5284  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSlpMethod        = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("slpMethod")
  5285  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodIsnsMethod       = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("isnsMethod")
  5286  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodUnknownMethod    = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("unknownMethod")
  5287  )
  5288  
  5289  func (e HostInternetScsiHbaStaticTargetTargetDiscoveryMethod) Values() []HostInternetScsiHbaStaticTargetTargetDiscoveryMethod {
  5290  	return []HostInternetScsiHbaStaticTargetTargetDiscoveryMethod{
  5291  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodStaticMethod,
  5292  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSendTargetMethod,
  5293  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSlpMethod,
  5294  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodIsnsMethod,
  5295  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodUnknownMethod,
  5296  	}
  5297  }
  5298  
  5299  func (e HostInternetScsiHbaStaticTargetTargetDiscoveryMethod) Strings() []string {
  5300  	return EnumValuesAsStrings(e.Values())
  5301  }
  5302  
  5303  func init() {
  5304  	t["HostInternetScsiHbaStaticTargetTargetDiscoveryMethod"] = reflect.TypeOf((*HostInternetScsiHbaStaticTargetTargetDiscoveryMethod)(nil)).Elem()
  5305  }
  5306  
  5307  // This specifies how the ipv6 address is configured for the interface.
  5308  //
  5309  // We follow rfc4293 in defining the values for the configType.
  5310  type HostIpConfigIpV6AddressConfigType string
  5311  
  5312  const (
  5313  	// Any other type of address configuration other than the below
  5314  	// mentioned ones will fall under this category.
  5315  	//
  5316  	// For e.g., automatic
  5317  	// address configuration for the link local address falls under
  5318  	// this type.
  5319  	HostIpConfigIpV6AddressConfigTypeOther = HostIpConfigIpV6AddressConfigType("other")
  5320  	// The address is configured manually.
  5321  	HostIpConfigIpV6AddressConfigTypeManual = HostIpConfigIpV6AddressConfigType("manual")
  5322  	// The address is configured through dhcp.
  5323  	HostIpConfigIpV6AddressConfigTypeDhcp = HostIpConfigIpV6AddressConfigType("dhcp")
  5324  	// The address is obtained through stateless autoconfiguration.
  5325  	HostIpConfigIpV6AddressConfigTypeLinklayer = HostIpConfigIpV6AddressConfigType("linklayer")
  5326  	// The address is chosen by the system at random
  5327  	// e.g., an IPv4 address within 169.254/16, or an RFC
  5328  	// 3041 privacy address.
  5329  	HostIpConfigIpV6AddressConfigTypeRandom = HostIpConfigIpV6AddressConfigType("random")
  5330  )
  5331  
  5332  func (e HostIpConfigIpV6AddressConfigType) Values() []HostIpConfigIpV6AddressConfigType {
  5333  	return []HostIpConfigIpV6AddressConfigType{
  5334  		HostIpConfigIpV6AddressConfigTypeOther,
  5335  		HostIpConfigIpV6AddressConfigTypeManual,
  5336  		HostIpConfigIpV6AddressConfigTypeDhcp,
  5337  		HostIpConfigIpV6AddressConfigTypeLinklayer,
  5338  		HostIpConfigIpV6AddressConfigTypeRandom,
  5339  	}
  5340  }
  5341  
  5342  func (e HostIpConfigIpV6AddressConfigType) Strings() []string {
  5343  	return EnumValuesAsStrings(e.Values())
  5344  }
  5345  
  5346  func init() {
  5347  	t["HostIpConfigIpV6AddressConfigType"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfigType)(nil)).Elem()
  5348  }
  5349  
  5350  type HostIpConfigIpV6AddressStatus string
  5351  
  5352  const (
  5353  	// Indicates that this is a valid address.
  5354  	HostIpConfigIpV6AddressStatusPreferred = HostIpConfigIpV6AddressStatus("preferred")
  5355  	// Indicates that this is a valid but deprecated address
  5356  	// that should no longer be used as a source address.
  5357  	HostIpConfigIpV6AddressStatusDeprecated = HostIpConfigIpV6AddressStatus("deprecated")
  5358  	// Indicates that this isn't a valid.
  5359  	HostIpConfigIpV6AddressStatusInvalid = HostIpConfigIpV6AddressStatus("invalid")
  5360  	// Indicates that the address is not accessible because
  5361  	// interface is not operational.
  5362  	HostIpConfigIpV6AddressStatusInaccessible = HostIpConfigIpV6AddressStatus("inaccessible")
  5363  	// Indicates that the status cannot be determined.
  5364  	HostIpConfigIpV6AddressStatusUnknown = HostIpConfigIpV6AddressStatus("unknown")
  5365  	// Indicates that the uniqueness of the
  5366  	// address on the link is presently being verified.
  5367  	HostIpConfigIpV6AddressStatusTentative = HostIpConfigIpV6AddressStatus("tentative")
  5368  	// Indicates the address has been determined to be non-unique
  5369  	// on the link, this address will not be reachable.
  5370  	HostIpConfigIpV6AddressStatusDuplicate = HostIpConfigIpV6AddressStatus("duplicate")
  5371  )
  5372  
  5373  func (e HostIpConfigIpV6AddressStatus) Values() []HostIpConfigIpV6AddressStatus {
  5374  	return []HostIpConfigIpV6AddressStatus{
  5375  		HostIpConfigIpV6AddressStatusPreferred,
  5376  		HostIpConfigIpV6AddressStatusDeprecated,
  5377  		HostIpConfigIpV6AddressStatusInvalid,
  5378  		HostIpConfigIpV6AddressStatusInaccessible,
  5379  		HostIpConfigIpV6AddressStatusUnknown,
  5380  		HostIpConfigIpV6AddressStatusTentative,
  5381  		HostIpConfigIpV6AddressStatusDuplicate,
  5382  	}
  5383  }
  5384  
  5385  func (e HostIpConfigIpV6AddressStatus) Strings() []string {
  5386  	return EnumValuesAsStrings(e.Values())
  5387  }
  5388  
  5389  func init() {
  5390  	t["HostIpConfigIpV6AddressStatus"] = reflect.TypeOf((*HostIpConfigIpV6AddressStatus)(nil)).Elem()
  5391  }
  5392  
  5393  // Identifiers of currently supported resources.
  5394  type HostLicensableResourceKey string
  5395  
  5396  const (
  5397  	// Number of CPU packages on this host.
  5398  	HostLicensableResourceKeyNumCpuPackages = HostLicensableResourceKey("numCpuPackages")
  5399  	// Number of licensable CPU cores/compute-units on this host.
  5400  	HostLicensableResourceKeyNumCpuCores = HostLicensableResourceKey("numCpuCores")
  5401  	// Total size of memory installed on this host, measured in kilobytes.
  5402  	HostLicensableResourceKeyMemorySize = HostLicensableResourceKey("memorySize")
  5403  	// Total size of memory configured for VMs on this host, measured in kilobytes.
  5404  	HostLicensableResourceKeyMemoryForVms = HostLicensableResourceKey("memoryForVms")
  5405  	// Number of VMs already running on this host.
  5406  	HostLicensableResourceKeyNumVmsStarted = HostLicensableResourceKey("numVmsStarted")
  5407  	// Number of VMs that are currently powering-on, immigrating, etc.
  5408  	HostLicensableResourceKeyNumVmsStarting = HostLicensableResourceKey("numVmsStarting")
  5409  	// vSAN capacity in TiB on this host.
  5410  	HostLicensableResourceKeyVsanCapacity = HostLicensableResourceKey("vsanCapacity")
  5411  )
  5412  
  5413  func (e HostLicensableResourceKey) Values() []HostLicensableResourceKey {
  5414  	return []HostLicensableResourceKey{
  5415  		HostLicensableResourceKeyNumCpuPackages,
  5416  		HostLicensableResourceKeyNumCpuCores,
  5417  		HostLicensableResourceKeyMemorySize,
  5418  		HostLicensableResourceKeyMemoryForVms,
  5419  		HostLicensableResourceKeyNumVmsStarted,
  5420  		HostLicensableResourceKeyNumVmsStarting,
  5421  		HostLicensableResourceKeyVsanCapacity,
  5422  	}
  5423  }
  5424  
  5425  func (e HostLicensableResourceKey) Strings() []string {
  5426  	return EnumValuesAsStrings(e.Values())
  5427  }
  5428  
  5429  func init() {
  5430  	t["HostLicensableResourceKey"] = reflect.TypeOf((*HostLicensableResourceKey)(nil)).Elem()
  5431  	minAPIVersionForEnumValue["HostLicensableResourceKey"] = map[string]string{
  5432  		"vsanCapacity": "8.0.3.0",
  5433  	}
  5434  }
  5435  
  5436  // Defines the possible states of lockdown mode.
  5437  type HostLockdownMode string
  5438  
  5439  const (
  5440  	// Indicates that lockdown mode is disabled.
  5441  	HostLockdownModeLockdownDisabled = HostLockdownMode("lockdownDisabled")
  5442  	// Indicates that lockdown mode is enabled with service DCUI
  5443  	// (Direct Console User Interface) running.
  5444  	HostLockdownModeLockdownNormal = HostLockdownMode("lockdownNormal")
  5445  	// Indicates that lockdown mode is enabled with service DCUI stopped.
  5446  	//
  5447  	// If the host is in "strict" lockdown mode then no one will be able
  5448  	// to exit lockdown mode through DCUI in emergency situations,
  5449  	// i.e. when the connection to vCenter server is permanently lost.
  5450  	HostLockdownModeLockdownStrict = HostLockdownMode("lockdownStrict")
  5451  )
  5452  
  5453  func (e HostLockdownMode) Values() []HostLockdownMode {
  5454  	return []HostLockdownMode{
  5455  		HostLockdownModeLockdownDisabled,
  5456  		HostLockdownModeLockdownNormal,
  5457  		HostLockdownModeLockdownStrict,
  5458  	}
  5459  }
  5460  
  5461  func (e HostLockdownMode) Strings() []string {
  5462  	return EnumValuesAsStrings(e.Values())
  5463  }
  5464  
  5465  func init() {
  5466  	t["HostLockdownMode"] = reflect.TypeOf((*HostLockdownMode)(nil)).Elem()
  5467  }
  5468  
  5469  // This enum defines the possible types of file types that can be reserved
  5470  // or deleted
  5471  type HostLowLevelProvisioningManagerFileType string
  5472  
  5473  const (
  5474  	HostLowLevelProvisioningManagerFileTypeFile        = HostLowLevelProvisioningManagerFileType("File")
  5475  	HostLowLevelProvisioningManagerFileTypeVirtualDisk = HostLowLevelProvisioningManagerFileType("VirtualDisk")
  5476  	HostLowLevelProvisioningManagerFileTypeDirectory   = HostLowLevelProvisioningManagerFileType("Directory")
  5477  )
  5478  
  5479  func (e HostLowLevelProvisioningManagerFileType) Values() []HostLowLevelProvisioningManagerFileType {
  5480  	return []HostLowLevelProvisioningManagerFileType{
  5481  		HostLowLevelProvisioningManagerFileTypeFile,
  5482  		HostLowLevelProvisioningManagerFileTypeVirtualDisk,
  5483  		HostLowLevelProvisioningManagerFileTypeDirectory,
  5484  	}
  5485  }
  5486  
  5487  func (e HostLowLevelProvisioningManagerFileType) Strings() []string {
  5488  	return EnumValuesAsStrings(e.Values())
  5489  }
  5490  
  5491  func init() {
  5492  	t["HostLowLevelProvisioningManagerFileType"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileType)(nil)).Elem()
  5493  }
  5494  
  5495  // The target of the disk reload.
  5496  type HostLowLevelProvisioningManagerReloadTarget string
  5497  
  5498  const (
  5499  	// Specifies the reload of the current config of the virtual machine.
  5500  	HostLowLevelProvisioningManagerReloadTargetCurrentConfig = HostLowLevelProvisioningManagerReloadTarget("currentConfig")
  5501  	// Specifies the reload of the snapshot config of the virtual machine.
  5502  	//
  5503  	// If the virtual machine has multiple snapshots, all of the snapshot's
  5504  	// config will be reloaded.
  5505  	HostLowLevelProvisioningManagerReloadTargetSnapshotConfig = HostLowLevelProvisioningManagerReloadTarget("snapshotConfig")
  5506  )
  5507  
  5508  func (e HostLowLevelProvisioningManagerReloadTarget) Values() []HostLowLevelProvisioningManagerReloadTarget {
  5509  	return []HostLowLevelProvisioningManagerReloadTarget{
  5510  		HostLowLevelProvisioningManagerReloadTargetCurrentConfig,
  5511  		HostLowLevelProvisioningManagerReloadTargetSnapshotConfig,
  5512  	}
  5513  }
  5514  
  5515  func (e HostLowLevelProvisioningManagerReloadTarget) Strings() []string {
  5516  	return EnumValuesAsStrings(e.Values())
  5517  }
  5518  
  5519  func init() {
  5520  	t["HostLowLevelProvisioningManagerReloadTarget"] = reflect.TypeOf((*HostLowLevelProvisioningManagerReloadTarget)(nil)).Elem()
  5521  }
  5522  
  5523  type HostMaintenanceSpecPurpose string
  5524  
  5525  const (
  5526  	HostMaintenanceSpecPurposeHostUpgrade = HostMaintenanceSpecPurpose("hostUpgrade")
  5527  )
  5528  
  5529  func (e HostMaintenanceSpecPurpose) Values() []HostMaintenanceSpecPurpose {
  5530  	return []HostMaintenanceSpecPurpose{
  5531  		HostMaintenanceSpecPurposeHostUpgrade,
  5532  	}
  5533  }
  5534  
  5535  func (e HostMaintenanceSpecPurpose) Strings() []string {
  5536  	return EnumValuesAsStrings(e.Values())
  5537  }
  5538  
  5539  func init() {
  5540  	t["HostMaintenanceSpecPurpose"] = reflect.TypeOf((*HostMaintenanceSpecPurpose)(nil)).Elem()
  5541  }
  5542  
  5543  // Enumeration of flags pertaining to a memory tier.
  5544  //
  5545  // Here are some examples of what the flags will look like for various memory
  5546  // configurations:
  5547  //   - Traditional memory (`noTiering`): The host has a DRAM tier
  5548  //     for the main memory and nothing else. The DRAM tier will have the
  5549  //     `memoryTier` flag.
  5550  //   - App Direct mode (`noTiering`): The host has a DRAM tier
  5551  //     and a PMem tier, but the two are independent and unrelated. The PMem tier is
  5552  //     non-volatile and is exposed as an NVDIMM device. Applications can decide whether to
  5553  //     direct the reads and writes to DRAM or PMem by using the appropriate system call. The
  5554  //     DRAM tier will have the `memoryTier` flag and the PMem tier will
  5555  //     have the `persistentTier` flag.
  5556  //   - Memory mode (`hardwareTiering`): The host has a DRAM tier
  5557  //     and a PMem tier, but the DRAM is hidden from applications and is just a cache
  5558  //     for the PMem main memory. The PMem tier is volatile, and is abstracted by the hardware
  5559  //     layer to look like traditional memory. Applications can read from/write to memory
  5560  //     using the traditional memory system calls. The memory controller in the hardware will
  5561  //     internally direct those to the DRAM cache first, and on a cache miss redirect them to
  5562  //     the PMem main memory. The DRAM tier will have the `cachingTier`
  5563  type HostMemoryTierFlags string
  5564  
  5565  const (
  5566  	// Flag indicating that the tier is the primary memory tier visible from the
  5567  	// host.
  5568  	HostMemoryTierFlagsMemoryTier = HostMemoryTierFlags("memoryTier")
  5569  	// Flag indicating that the tier is used as non-volatile storage, e.g.
  5570  	//
  5571  	// PMem in
  5572  	// App Direct mode.
  5573  	HostMemoryTierFlagsPersistentTier = HostMemoryTierFlags("persistentTier")
  5574  	// Flag indicating that the tier is a cache for main memory.
  5575  	HostMemoryTierFlagsCachingTier = HostMemoryTierFlags("cachingTier")
  5576  	// `**Since:**` vSphere API Release 8.0.3.0
  5577  	HostMemoryTierFlagsUnmappableTier = HostMemoryTierFlags("unmappableTier")
  5578  )
  5579  
  5580  func (e HostMemoryTierFlags) Values() []HostMemoryTierFlags {
  5581  	return []HostMemoryTierFlags{
  5582  		HostMemoryTierFlagsMemoryTier,
  5583  		HostMemoryTierFlagsPersistentTier,
  5584  		HostMemoryTierFlagsCachingTier,
  5585  		HostMemoryTierFlagsUnmappableTier,
  5586  	}
  5587  }
  5588  
  5589  func (e HostMemoryTierFlags) Strings() []string {
  5590  	return EnumValuesAsStrings(e.Values())
  5591  }
  5592  
  5593  func init() {
  5594  	t["HostMemoryTierFlags"] = reflect.TypeOf((*HostMemoryTierFlags)(nil)).Elem()
  5595  	minAPIVersionForType["HostMemoryTierFlags"] = "7.0.3.0"
  5596  	minAPIVersionForEnumValue["HostMemoryTierFlags"] = map[string]string{
  5597  		"unmappableTier": "8.0.3.0",
  5598  	}
  5599  }
  5600  
  5601  type HostMemoryTierType string
  5602  
  5603  const (
  5604  	// Dynamic random-access memory.
  5605  	HostMemoryTierTypeDRAM = HostMemoryTierType("DRAM")
  5606  	// Persistent memory.
  5607  	HostMemoryTierTypePMem = HostMemoryTierType("PMem")
  5608  	// NVMe memory.
  5609  	HostMemoryTierTypeNVMe = HostMemoryTierType("NVMe")
  5610  )
  5611  
  5612  func (e HostMemoryTierType) Values() []HostMemoryTierType {
  5613  	return []HostMemoryTierType{
  5614  		HostMemoryTierTypeDRAM,
  5615  		HostMemoryTierTypePMem,
  5616  		HostMemoryTierTypeNVMe,
  5617  	}
  5618  }
  5619  
  5620  func (e HostMemoryTierType) Strings() []string {
  5621  	return EnumValuesAsStrings(e.Values())
  5622  }
  5623  
  5624  func init() {
  5625  	t["HostMemoryTierType"] = reflect.TypeOf((*HostMemoryTierType)(nil)).Elem()
  5626  	minAPIVersionForType["HostMemoryTierType"] = "7.0.3.0"
  5627  	minAPIVersionForEnumValue["HostMemoryTierType"] = map[string]string{
  5628  		"NVMe": "8.0.3.0",
  5629  	}
  5630  }
  5631  
  5632  type HostMemoryTieringType string
  5633  
  5634  const (
  5635  	// The traditional memory configuration without any tiers.
  5636  	HostMemoryTieringTypeNoTiering = HostMemoryTieringType("noTiering")
  5637  	// The memory configuration where a tier is hardware-controlled and invisible to
  5638  	// applications, e.g.
  5639  	//
  5640  	// Intel's Memory Mode.
  5641  	HostMemoryTieringTypeHardwareTiering = HostMemoryTieringType("hardwareTiering")
  5642  	// The memory configuration where all memory tiers are managed by software (ESX).
  5643  	HostMemoryTieringTypeSoftwareTiering = HostMemoryTieringType("softwareTiering")
  5644  )
  5645  
  5646  func (e HostMemoryTieringType) Values() []HostMemoryTieringType {
  5647  	return []HostMemoryTieringType{
  5648  		HostMemoryTieringTypeNoTiering,
  5649  		HostMemoryTieringTypeHardwareTiering,
  5650  		HostMemoryTieringTypeSoftwareTiering,
  5651  	}
  5652  }
  5653  
  5654  func (e HostMemoryTieringType) Strings() []string {
  5655  	return EnumValuesAsStrings(e.Values())
  5656  }
  5657  
  5658  func init() {
  5659  	t["HostMemoryTieringType"] = reflect.TypeOf((*HostMemoryTieringType)(nil)).Elem()
  5660  	minAPIVersionForType["HostMemoryTieringType"] = "7.0.3.0"
  5661  	minAPIVersionForEnumValue["HostMemoryTieringType"] = map[string]string{
  5662  		"softwareTiering": "8.0.3.0",
  5663  	}
  5664  }
  5665  
  5666  // A datastore can become inaccessible due to a number of reasons as
  5667  // defined in this enum `HostMountInfoInaccessibleReason_enum`.
  5668  //
  5669  // The reason for a datastore being inaccessible is reported in
  5670  // `HostMountInfo.inaccessibleReason`.
  5671  // APD ("All Paths Down") is a condition where a SAN or NFS storage has
  5672  // become inaccessible for unknown reasons. It only indicates loss of
  5673  // connectivity and does not indicate storage device failure or
  5674  // LUN removal (Permanent Device Loss or PDL)
  5675  // A difference between APD and PDL is that APD may recover
  5676  // in which case all use cases will start to work as before. In case of PDL
  5677  // the failed datastore/device is unlikely to recover and hence the device
  5678  // path information and data cache will be emptied. If the PDL condition
  5679  // recovers, the failed datastores have to be added back to the host. Once
  5680  // in PDL a datastore cannot be added back until there are no longer any
  5681  // open files on the datastore.
  5682  // PDL is not linked to the APD and can happen at any time with or without APD
  5683  // preceding. If APD and PDL occur at the same time, APD will be reported first.
  5684  // Once (and if) the APD condition clears, PermanentDataLoss will be reported if
  5685  // PDL condition still exists.
  5686  type HostMountInfoInaccessibleReason string
  5687  
  5688  const (
  5689  	// AllPathsDown\_Start value is reported when all paths down state is detected
  5690  	HostMountInfoInaccessibleReasonAllPathsDown_Start = HostMountInfoInaccessibleReason("AllPathsDown_Start")
  5691  	// After a wait for a system default time (which is user modifiable)
  5692  	// to ascertain the state is indeed an APD, AllPathsDown\_Timeout property
  5693  	// is reported.
  5694  	//
  5695  	// The host advanced option used to set timeout period
  5696  	// is "/Misc/APDTimeout"
  5697  	// After the datastore property is set to AllPathsDown\_Timeout, all data i/o
  5698  	// to the datastore will be fast-failed (failed immediately).
  5699  	HostMountInfoInaccessibleReasonAllPathsDown_Timeout = HostMountInfoInaccessibleReason("AllPathsDown_Timeout")
  5700  	// A PDL condition is reported as PermanentDeviceLoss.
  5701  	HostMountInfoInaccessibleReasonPermanentDeviceLoss = HostMountInfoInaccessibleReason("PermanentDeviceLoss")
  5702  )
  5703  
  5704  func (e HostMountInfoInaccessibleReason) Values() []HostMountInfoInaccessibleReason {
  5705  	return []HostMountInfoInaccessibleReason{
  5706  		HostMountInfoInaccessibleReasonAllPathsDown_Start,
  5707  		HostMountInfoInaccessibleReasonAllPathsDown_Timeout,
  5708  		HostMountInfoInaccessibleReasonPermanentDeviceLoss,
  5709  	}
  5710  }
  5711  
  5712  func (e HostMountInfoInaccessibleReason) Strings() []string {
  5713  	return EnumValuesAsStrings(e.Values())
  5714  }
  5715  
  5716  func init() {
  5717  	t["HostMountInfoInaccessibleReason"] = reflect.TypeOf((*HostMountInfoInaccessibleReason)(nil)).Elem()
  5718  }
  5719  
  5720  // NFS mount request can be failed due to a number of reasons as
  5721  // defined in this enum `HostMountInfoMountFailedReason_enum`.
  5722  //
  5723  // The reason for the mount failure is reported in
  5724  // `HostMountInfo.mountFailedReason`. This is applicable only for those
  5725  type HostMountInfoMountFailedReason string
  5726  
  5727  const (
  5728  	// Failed to get port or connect.
  5729  	//
  5730  	// Or MOUNT/FSINFO RPC failed.
  5731  	HostMountInfoMountFailedReasonCONNECT_FAILURE = HostMountInfoMountFailedReason("CONNECT_FAILURE")
  5732  	// Server doesn't support MOUNT\_PROGRAM/MOUNT\_PROGRAM\_VERSION.
  5733  	HostMountInfoMountFailedReasonMOUNT_NOT_SUPPORTED = HostMountInfoMountFailedReason("MOUNT_NOT_SUPPORTED")
  5734  	// Server doesn't support NFS\_PROGRAM/NFS\_PROGRAM\_VERSION.
  5735  	HostMountInfoMountFailedReasonNFS_NOT_SUPPORTED = HostMountInfoMountFailedReason("NFS_NOT_SUPPORTED")
  5736  	// No permission to mount the remote volume or it doesn't exist.
  5737  	HostMountInfoMountFailedReasonMOUNT_DENIED = HostMountInfoMountFailedReason("MOUNT_DENIED")
  5738  	// Remote path not a directory.
  5739  	HostMountInfoMountFailedReasonMOUNT_NOT_DIR = HostMountInfoMountFailedReason("MOUNT_NOT_DIR")
  5740  	// Maximum NFS volumes have been mounted.
  5741  	HostMountInfoMountFailedReasonVOLUME_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("VOLUME_LIMIT_EXCEEDED")
  5742  	// Maximum connections for NFS has been reached.
  5743  	HostMountInfoMountFailedReasonCONN_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("CONN_LIMIT_EXCEEDED")
  5744  	// Volume already mounted or a different mount exists with same label.
  5745  	HostMountInfoMountFailedReasonMOUNT_EXISTS = HostMountInfoMountFailedReason("MOUNT_EXISTS")
  5746  	// Any other reason which is not present in above list.
  5747  	HostMountInfoMountFailedReasonOTHERS = HostMountInfoMountFailedReason("OTHERS")
  5748  )
  5749  
  5750  func (e HostMountInfoMountFailedReason) Values() []HostMountInfoMountFailedReason {
  5751  	return []HostMountInfoMountFailedReason{
  5752  		HostMountInfoMountFailedReasonCONNECT_FAILURE,
  5753  		HostMountInfoMountFailedReasonMOUNT_NOT_SUPPORTED,
  5754  		HostMountInfoMountFailedReasonNFS_NOT_SUPPORTED,
  5755  		HostMountInfoMountFailedReasonMOUNT_DENIED,
  5756  		HostMountInfoMountFailedReasonMOUNT_NOT_DIR,
  5757  		HostMountInfoMountFailedReasonVOLUME_LIMIT_EXCEEDED,
  5758  		HostMountInfoMountFailedReasonCONN_LIMIT_EXCEEDED,
  5759  		HostMountInfoMountFailedReasonMOUNT_EXISTS,
  5760  		HostMountInfoMountFailedReasonOTHERS,
  5761  	}
  5762  }
  5763  
  5764  func (e HostMountInfoMountFailedReason) Strings() []string {
  5765  	return EnumValuesAsStrings(e.Values())
  5766  }
  5767  
  5768  func init() {
  5769  	t["HostMountInfoMountFailedReason"] = reflect.TypeOf((*HostMountInfoMountFailedReason)(nil)).Elem()
  5770  	minAPIVersionForType["HostMountInfoMountFailedReason"] = "8.0.0.1"
  5771  }
  5772  
  5773  // Defines the access mode of the datastore.
  5774  type HostMountMode string
  5775  
  5776  const (
  5777  	// The host system has read/write access to the file system.
  5778  	HostMountModeReadWrite = HostMountMode("readWrite")
  5779  	// The host system has read-only access to the file system.
  5780  	HostMountModeReadOnly = HostMountMode("readOnly")
  5781  )
  5782  
  5783  func (e HostMountMode) Values() []HostMountMode {
  5784  	return []HostMountMode{
  5785  		HostMountModeReadWrite,
  5786  		HostMountModeReadOnly,
  5787  	}
  5788  }
  5789  
  5790  func (e HostMountMode) Strings() []string {
  5791  	return EnumValuesAsStrings(e.Values())
  5792  }
  5793  
  5794  func init() {
  5795  	t["HostMountMode"] = reflect.TypeOf((*HostMountMode)(nil)).Elem()
  5796  }
  5797  
  5798  // Security type supported.
  5799  type HostNasVolumeSecurityType string
  5800  
  5801  const (
  5802  	// Authentication based on traditional UNIX identifiers (UID and GID).
  5803  	//
  5804  	// Server trusts the IDs sent by the client for each request and uses them
  5805  	// to perform access control. Current implementation only supports
  5806  	// AUTH\_SYS with root user.
  5807  	HostNasVolumeSecurityTypeAUTH_SYS = HostNasVolumeSecurityType("AUTH_SYS")
  5808  	// Ensures RPC header authentication using Kerberos session keys.
  5809  	//
  5810  	// When
  5811  	// this option is enabled, the client uses the information specified in
  5812  	// `HostNasVolumeUserInfo` to establish shared keys with the server using
  5813  	// Kerberos. These shared keys are used to generate and verify message
  5814  	// authentication codes for RPC header of NFS requests and responses,
  5815  	// respectively. This method does not secure NFS file data.
  5816  	HostNasVolumeSecurityTypeSEC_KRB5 = HostNasVolumeSecurityType("SEC_KRB5")
  5817  	// Extends SEC\_KRB5 to generate and verify message authentication codes
  5818  	// for the payload of NFS requests and responses respectively.
  5819  	//
  5820  	// This
  5821  	// ensures the integrity of the NFS file data.
  5822  	HostNasVolumeSecurityTypeSEC_KRB5I = HostNasVolumeSecurityType("SEC_KRB5I")
  5823  	// Extends `SEC_KRB5I` to send and receive encrypted NFS packets over
  5824  	// the wire.
  5825  	//
  5826  	// `SEC_KRB5P` provides data privacy in addition to data
  5827  	// integrity for NFS files. To date, SEC\_KRB5P provides the highest form of
  5828  	// security for NFS payload.
  5829  	HostNasVolumeSecurityTypeSEC_KRB5P = HostNasVolumeSecurityType("SEC_KRB5P")
  5830  )
  5831  
  5832  func (e HostNasVolumeSecurityType) Values() []HostNasVolumeSecurityType {
  5833  	return []HostNasVolumeSecurityType{
  5834  		HostNasVolumeSecurityTypeAUTH_SYS,
  5835  		HostNasVolumeSecurityTypeSEC_KRB5,
  5836  		HostNasVolumeSecurityTypeSEC_KRB5I,
  5837  		HostNasVolumeSecurityTypeSEC_KRB5P,
  5838  	}
  5839  }
  5840  
  5841  func (e HostNasVolumeSecurityType) Strings() []string {
  5842  	return EnumValuesAsStrings(e.Values())
  5843  }
  5844  
  5845  func init() {
  5846  	t["HostNasVolumeSecurityType"] = reflect.TypeOf((*HostNasVolumeSecurityType)(nil)).Elem()
  5847  	minAPIVersionForEnumValue["HostNasVolumeSecurityType"] = map[string]string{
  5848  		"SEC_KRB5P": "9.0.0.0",
  5849  	}
  5850  }
  5851  
  5852  // Define TCP congestion control algorithm used by an instance
  5853  type HostNetStackInstanceCongestionControlAlgorithmType string
  5854  
  5855  const (
  5856  	// New Reno Algorithm.
  5857  	//
  5858  	// See http://tools.ietf.org/html/rfc3782 for detail.
  5859  	HostNetStackInstanceCongestionControlAlgorithmTypeNewreno = HostNetStackInstanceCongestionControlAlgorithmType("newreno")
  5860  	// Cubic Algorithm.
  5861  	//
  5862  	// See http://tools.ietf.org/id/draft-rhee-tcp-cubic-00.txt for detail.
  5863  	HostNetStackInstanceCongestionControlAlgorithmTypeCubic = HostNetStackInstanceCongestionControlAlgorithmType("cubic")
  5864  )
  5865  
  5866  func (e HostNetStackInstanceCongestionControlAlgorithmType) Values() []HostNetStackInstanceCongestionControlAlgorithmType {
  5867  	return []HostNetStackInstanceCongestionControlAlgorithmType{
  5868  		HostNetStackInstanceCongestionControlAlgorithmTypeNewreno,
  5869  		HostNetStackInstanceCongestionControlAlgorithmTypeCubic,
  5870  	}
  5871  }
  5872  
  5873  func (e HostNetStackInstanceCongestionControlAlgorithmType) Strings() []string {
  5874  	return EnumValuesAsStrings(e.Values())
  5875  }
  5876  
  5877  func init() {
  5878  	t["HostNetStackInstanceCongestionControlAlgorithmType"] = reflect.TypeOf((*HostNetStackInstanceCongestionControlAlgorithmType)(nil)).Elem()
  5879  }
  5880  
  5881  // Define the instance identifier for different traffic type
  5882  type HostNetStackInstanceSystemStackKey string
  5883  
  5884  const (
  5885  	// The default stack used by applications
  5886  	HostNetStackInstanceSystemStackKeyDefaultTcpipStack = HostNetStackInstanceSystemStackKey("defaultTcpipStack")
  5887  	// Stack key used for vMotion applications
  5888  	HostNetStackInstanceSystemStackKeyVmotion = HostNetStackInstanceSystemStackKey("vmotion")
  5889  	// Stack key used for vSphere provisioning NFC traffic
  5890  	HostNetStackInstanceSystemStackKeyVSphereProvisioning = HostNetStackInstanceSystemStackKey("vSphereProvisioning")
  5891  	// Stack key used for port mirroring
  5892  	HostNetStackInstanceSystemStackKeyMirror = HostNetStackInstanceSystemStackKey("mirror")
  5893  	// Stack key used for ops applications
  5894  	HostNetStackInstanceSystemStackKeyOps = HostNetStackInstanceSystemStackKey("ops")
  5895  )
  5896  
  5897  func (e HostNetStackInstanceSystemStackKey) Values() []HostNetStackInstanceSystemStackKey {
  5898  	return []HostNetStackInstanceSystemStackKey{
  5899  		HostNetStackInstanceSystemStackKeyDefaultTcpipStack,
  5900  		HostNetStackInstanceSystemStackKeyVmotion,
  5901  		HostNetStackInstanceSystemStackKeyVSphereProvisioning,
  5902  		HostNetStackInstanceSystemStackKeyMirror,
  5903  		HostNetStackInstanceSystemStackKeyOps,
  5904  	}
  5905  }
  5906  
  5907  func (e HostNetStackInstanceSystemStackKey) Strings() []string {
  5908  	return EnumValuesAsStrings(e.Values())
  5909  }
  5910  
  5911  func init() {
  5912  	t["HostNetStackInstanceSystemStackKey"] = reflect.TypeOf((*HostNetStackInstanceSystemStackKey)(nil)).Elem()
  5913  	minAPIVersionForEnumValue["HostNetStackInstanceSystemStackKey"] = map[string]string{
  5914  		"mirror": "8.0.0.1",
  5915  		"ops":    "8.0.0.1",
  5916  	}
  5917  }
  5918  
  5919  // Health state of the numeric sensor as reported by the sensor probes.
  5920  //
  5921  // Same data reported using command line: esxcli hardware ipmi sdr list
  5922  type HostNumericSensorHealthState string
  5923  
  5924  const (
  5925  	// The implementation cannot report on the current health state of the
  5926  	// physical element
  5927  	HostNumericSensorHealthStateUnknown = HostNumericSensorHealthState("unknown")
  5928  	// The sensor is operating under normal conditions
  5929  	HostNumericSensorHealthStateGreen = HostNumericSensorHealthState("green")
  5930  	// The sensor is operating under conditions that are non-critical.
  5931  	HostNumericSensorHealthStateYellow = HostNumericSensorHealthState("yellow")
  5932  	// The sensor is operating under critical or fatal conditions.
  5933  	//
  5934  	// This may
  5935  	// directly affect the functioning of both the sensor and related
  5936  	// components.
  5937  	HostNumericSensorHealthStateRed = HostNumericSensorHealthState("red")
  5938  )
  5939  
  5940  func (e HostNumericSensorHealthState) Values() []HostNumericSensorHealthState {
  5941  	return []HostNumericSensorHealthState{
  5942  		HostNumericSensorHealthStateUnknown,
  5943  		HostNumericSensorHealthStateGreen,
  5944  		HostNumericSensorHealthStateYellow,
  5945  		HostNumericSensorHealthStateRed,
  5946  	}
  5947  }
  5948  
  5949  func (e HostNumericSensorHealthState) Strings() []string {
  5950  	return EnumValuesAsStrings(e.Values())
  5951  }
  5952  
  5953  func init() {
  5954  	t["HostNumericSensorHealthState"] = reflect.TypeOf((*HostNumericSensorHealthState)(nil)).Elem()
  5955  }
  5956  
  5957  // Sensor Types for specific hardware component are either based on
  5958  // class of sensor or what the sensor monitors to allow for grouping
  5959  type HostNumericSensorType string
  5960  
  5961  const (
  5962  	// Fan sensor
  5963  	HostNumericSensorTypeFan = HostNumericSensorType("fan")
  5964  	// Power sensor
  5965  	HostNumericSensorTypePower = HostNumericSensorType("power")
  5966  	// Temperature sensor
  5967  	HostNumericSensorTypeTemperature = HostNumericSensorType("temperature")
  5968  	// Voltage Sensor
  5969  	HostNumericSensorTypeVoltage = HostNumericSensorType("voltage")
  5970  	// Other sensor.
  5971  	HostNumericSensorTypeOther = HostNumericSensorType("other")
  5972  	// Processor sensor.
  5973  	HostNumericSensorTypeProcessor = HostNumericSensorType("processor")
  5974  	// Memory sensor.
  5975  	HostNumericSensorTypeMemory = HostNumericSensorType("memory")
  5976  	// disk/storage sensor.
  5977  	HostNumericSensorTypeStorage = HostNumericSensorType("storage")
  5978  	// system board sensor.
  5979  	HostNumericSensorTypeSystemBoard = HostNumericSensorType("systemBoard")
  5980  	// Battery sensor.
  5981  	HostNumericSensorTypeBattery = HostNumericSensorType("battery")
  5982  	// BIOS/firmware related sensor.
  5983  	HostNumericSensorTypeBios = HostNumericSensorType("bios")
  5984  	// cable related sensor.
  5985  	HostNumericSensorTypeCable = HostNumericSensorType("cable")
  5986  	// Watchdog related sensor.
  5987  	HostNumericSensorTypeWatchdog = HostNumericSensorType("watchdog")
  5988  )
  5989  
  5990  func (e HostNumericSensorType) Values() []HostNumericSensorType {
  5991  	return []HostNumericSensorType{
  5992  		HostNumericSensorTypeFan,
  5993  		HostNumericSensorTypePower,
  5994  		HostNumericSensorTypeTemperature,
  5995  		HostNumericSensorTypeVoltage,
  5996  		HostNumericSensorTypeOther,
  5997  		HostNumericSensorTypeProcessor,
  5998  		HostNumericSensorTypeMemory,
  5999  		HostNumericSensorTypeStorage,
  6000  		HostNumericSensorTypeSystemBoard,
  6001  		HostNumericSensorTypeBattery,
  6002  		HostNumericSensorTypeBios,
  6003  		HostNumericSensorTypeCable,
  6004  		HostNumericSensorTypeWatchdog,
  6005  	}
  6006  }
  6007  
  6008  func (e HostNumericSensorType) Strings() []string {
  6009  	return EnumValuesAsStrings(e.Values())
  6010  }
  6011  
  6012  func init() {
  6013  	t["HostNumericSensorType"] = reflect.TypeOf((*HostNumericSensorType)(nil)).Elem()
  6014  }
  6015  
  6016  // This enum represents the supported NVM subsystem types.
  6017  type HostNvmeDiscoveryLogSubsystemType string
  6018  
  6019  const (
  6020  	// A Discovery service, composed of Discovery controllers.
  6021  	HostNvmeDiscoveryLogSubsystemTypeDiscovery = HostNvmeDiscoveryLogSubsystemType("discovery")
  6022  	// An NVM subsystem whose controllers may have attached namespaces.
  6023  	HostNvmeDiscoveryLogSubsystemTypeNvm = HostNvmeDiscoveryLogSubsystemType("nvm")
  6024  )
  6025  
  6026  func (e HostNvmeDiscoveryLogSubsystemType) Values() []HostNvmeDiscoveryLogSubsystemType {
  6027  	return []HostNvmeDiscoveryLogSubsystemType{
  6028  		HostNvmeDiscoveryLogSubsystemTypeDiscovery,
  6029  		HostNvmeDiscoveryLogSubsystemTypeNvm,
  6030  	}
  6031  }
  6032  
  6033  func (e HostNvmeDiscoveryLogSubsystemType) Strings() []string {
  6034  	return EnumValuesAsStrings(e.Values())
  6035  }
  6036  
  6037  func init() {
  6038  	t["HostNvmeDiscoveryLogSubsystemType"] = reflect.TypeOf((*HostNvmeDiscoveryLogSubsystemType)(nil)).Elem()
  6039  }
  6040  
  6041  // This enum represents the supported types of transport requirements.
  6042  type HostNvmeDiscoveryLogTransportRequirements string
  6043  
  6044  const (
  6045  	// A fabric secure channel is required.
  6046  	HostNvmeDiscoveryLogTransportRequirementsSecureChannelRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelRequired")
  6047  	// A fabric secure channel is not required.
  6048  	HostNvmeDiscoveryLogTransportRequirementsSecureChannelNotRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelNotRequired")
  6049  	// Requirements are not specified
  6050  	HostNvmeDiscoveryLogTransportRequirementsRequirementsNotSpecified = HostNvmeDiscoveryLogTransportRequirements("requirementsNotSpecified")
  6051  )
  6052  
  6053  func (e HostNvmeDiscoveryLogTransportRequirements) Values() []HostNvmeDiscoveryLogTransportRequirements {
  6054  	return []HostNvmeDiscoveryLogTransportRequirements{
  6055  		HostNvmeDiscoveryLogTransportRequirementsSecureChannelRequired,
  6056  		HostNvmeDiscoveryLogTransportRequirementsSecureChannelNotRequired,
  6057  		HostNvmeDiscoveryLogTransportRequirementsRequirementsNotSpecified,
  6058  	}
  6059  }
  6060  
  6061  func (e HostNvmeDiscoveryLogTransportRequirements) Strings() []string {
  6062  	return EnumValuesAsStrings(e.Values())
  6063  }
  6064  
  6065  func init() {
  6066  	t["HostNvmeDiscoveryLogTransportRequirements"] = reflect.TypeOf((*HostNvmeDiscoveryLogTransportRequirements)(nil)).Elem()
  6067  }
  6068  
  6069  // This enum specifies the supported address families for
  6070  // NVME over Fabrics.
  6071  //
  6072  // For details, see:
  6073  //   - "NVM Express over Fabrics 1.0", Section 5.3, Figure 34,
  6074  //     "Discovery Log Page Entry"
  6075  type HostNvmeTransportParametersNvmeAddressFamily string
  6076  
  6077  const (
  6078  	// IPv4 address, format specified in IETF RFC 791.
  6079  	HostNvmeTransportParametersNvmeAddressFamilyIpv4 = HostNvmeTransportParametersNvmeAddressFamily("ipv4")
  6080  	// IPv6 address, format specified in IETF RFC 2373.
  6081  	HostNvmeTransportParametersNvmeAddressFamilyIpv6 = HostNvmeTransportParametersNvmeAddressFamily("ipv6")
  6082  	// InfiniBand address family.
  6083  	HostNvmeTransportParametersNvmeAddressFamilyInfiniBand = HostNvmeTransportParametersNvmeAddressFamily("infiniBand")
  6084  	// Fibre Channel address family.
  6085  	HostNvmeTransportParametersNvmeAddressFamilyFc = HostNvmeTransportParametersNvmeAddressFamily("fc")
  6086  	// Intra-host transport.
  6087  	HostNvmeTransportParametersNvmeAddressFamilyLoopback = HostNvmeTransportParametersNvmeAddressFamily("loopback")
  6088  	// Unrecognized address family.
  6089  	HostNvmeTransportParametersNvmeAddressFamilyUnknown = HostNvmeTransportParametersNvmeAddressFamily("unknown")
  6090  )
  6091  
  6092  func (e HostNvmeTransportParametersNvmeAddressFamily) Values() []HostNvmeTransportParametersNvmeAddressFamily {
  6093  	return []HostNvmeTransportParametersNvmeAddressFamily{
  6094  		HostNvmeTransportParametersNvmeAddressFamilyIpv4,
  6095  		HostNvmeTransportParametersNvmeAddressFamilyIpv6,
  6096  		HostNvmeTransportParametersNvmeAddressFamilyInfiniBand,
  6097  		HostNvmeTransportParametersNvmeAddressFamilyFc,
  6098  		HostNvmeTransportParametersNvmeAddressFamilyLoopback,
  6099  		HostNvmeTransportParametersNvmeAddressFamilyUnknown,
  6100  	}
  6101  }
  6102  
  6103  func (e HostNvmeTransportParametersNvmeAddressFamily) Strings() []string {
  6104  	return EnumValuesAsStrings(e.Values())
  6105  }
  6106  
  6107  func init() {
  6108  	t["HostNvmeTransportParametersNvmeAddressFamily"] = reflect.TypeOf((*HostNvmeTransportParametersNvmeAddressFamily)(nil)).Elem()
  6109  }
  6110  
  6111  // The set of NVM Express over Fabrics transport types.
  6112  //
  6113  // For details, see:
  6114  //   - "NVM Express over Fabrics 1.0", Section 1.5.1,
  6115  //     "Fabrics and Transports".
  6116  type HostNvmeTransportType string
  6117  
  6118  const (
  6119  	// PCI Express transport type
  6120  	HostNvmeTransportTypePcie = HostNvmeTransportType("pcie")
  6121  	// Fibre Channel transport type
  6122  	HostNvmeTransportTypeFibreChannel = HostNvmeTransportType("fibreChannel")
  6123  	// Remote Direct Memory Access transport type
  6124  	HostNvmeTransportTypeRdma = HostNvmeTransportType("rdma")
  6125  	// Transmission Control Protocol transport type
  6126  	HostNvmeTransportTypeTcp = HostNvmeTransportType("tcp")
  6127  	// Intra-host transport.
  6128  	HostNvmeTransportTypeLoopback = HostNvmeTransportType("loopback")
  6129  	// The transport type is not among the currently supported ones.
  6130  	HostNvmeTransportTypeUnsupported = HostNvmeTransportType("unsupported")
  6131  )
  6132  
  6133  func (e HostNvmeTransportType) Values() []HostNvmeTransportType {
  6134  	return []HostNvmeTransportType{
  6135  		HostNvmeTransportTypePcie,
  6136  		HostNvmeTransportTypeFibreChannel,
  6137  		HostNvmeTransportTypeRdma,
  6138  		HostNvmeTransportTypeTcp,
  6139  		HostNvmeTransportTypeLoopback,
  6140  		HostNvmeTransportTypeUnsupported,
  6141  	}
  6142  }
  6143  
  6144  func (e HostNvmeTransportType) Strings() []string {
  6145  	return EnumValuesAsStrings(e.Values())
  6146  }
  6147  
  6148  func init() {
  6149  	t["HostNvmeTransportType"] = reflect.TypeOf((*HostNvmeTransportType)(nil)).Elem()
  6150  	minAPIVersionForEnumValue["HostNvmeTransportType"] = map[string]string{
  6151  		"tcp": "7.0.3.0",
  6152  	}
  6153  }
  6154  
  6155  type HostOpaqueSwitchOpaqueSwitchState string
  6156  
  6157  const (
  6158  	// The opaque switch is up and running.
  6159  	HostOpaqueSwitchOpaqueSwitchStateUp = HostOpaqueSwitchOpaqueSwitchState("up")
  6160  	// The opaque switch requires attention.
  6161  	HostOpaqueSwitchOpaqueSwitchStateWarning = HostOpaqueSwitchOpaqueSwitchState("warning")
  6162  	// The opaque switch is down.
  6163  	HostOpaqueSwitchOpaqueSwitchStateDown = HostOpaqueSwitchOpaqueSwitchState("down")
  6164  	// The opaque switch is under upgrade.
  6165  	HostOpaqueSwitchOpaqueSwitchStateMaintenance = HostOpaqueSwitchOpaqueSwitchState("maintenance")
  6166  )
  6167  
  6168  func (e HostOpaqueSwitchOpaqueSwitchState) Values() []HostOpaqueSwitchOpaqueSwitchState {
  6169  	return []HostOpaqueSwitchOpaqueSwitchState{
  6170  		HostOpaqueSwitchOpaqueSwitchStateUp,
  6171  		HostOpaqueSwitchOpaqueSwitchStateWarning,
  6172  		HostOpaqueSwitchOpaqueSwitchStateDown,
  6173  		HostOpaqueSwitchOpaqueSwitchStateMaintenance,
  6174  	}
  6175  }
  6176  
  6177  func (e HostOpaqueSwitchOpaqueSwitchState) Strings() []string {
  6178  	return EnumValuesAsStrings(e.Values())
  6179  }
  6180  
  6181  func init() {
  6182  	t["HostOpaqueSwitchOpaqueSwitchState"] = reflect.TypeOf((*HostOpaqueSwitchOpaqueSwitchState)(nil)).Elem()
  6183  }
  6184  
  6185  // The following enum describes some common kinds of partial maintenance modes,
  6186  type HostPartialMaintenanceModeId string
  6187  
  6188  const (
  6189  	// When the host is in the quick patch partial maintenance mode, it is safe to
  6190  	// perform a quick patch.
  6191  	//
  6192  	// When the host is in this partial maintenance mode, any virtual machines
  6193  	// and/or pods placed on it will continue to run but operations which may
  6194  	// lead to new workloads starting on the host such as power on or incoming
  6195  	// vmotions may be blocked.
  6196  	// It is generally unsafe to reboot the host in this state.
  6197  	HostPartialMaintenanceModeIdQuickPatchPartialMM = HostPartialMaintenanceModeId("quickPatchPartialMM")
  6198  )
  6199  
  6200  func (e HostPartialMaintenanceModeId) Values() []HostPartialMaintenanceModeId {
  6201  	return []HostPartialMaintenanceModeId{
  6202  		HostPartialMaintenanceModeIdQuickPatchPartialMM,
  6203  	}
  6204  }
  6205  
  6206  func (e HostPartialMaintenanceModeId) Strings() []string {
  6207  	return EnumValuesAsStrings(e.Values())
  6208  }
  6209  
  6210  func init() {
  6211  	t["HostPartialMaintenanceModeId"] = reflect.TypeOf((*HostPartialMaintenanceModeId)(nil)).Elem()
  6212  	minAPIVersionForType["HostPartialMaintenanceModeId"] = "8.0.3.0"
  6213  	minAPIVersionForEnumValue["HostPartialMaintenanceModeId"] = map[string]string{
  6214  		"quickPatchPartialMM": "8.0.3.0",
  6215  	}
  6216  }
  6217  
  6218  // The following enum contains the list of possible statuses associated
  6219  type HostPartialMaintenanceModeStatus string
  6220  
  6221  const (
  6222  	// The host is not in the particular partial maintenance mode.
  6223  	HostPartialMaintenanceModeStatusNotInPartialMM = HostPartialMaintenanceModeStatus("notInPartialMM")
  6224  	// The host is in the process of entering the particular partial maintenance
  6225  	// mode.
  6226  	HostPartialMaintenanceModeStatusEnteringPartialMM = HostPartialMaintenanceModeStatus("enteringPartialMM")
  6227  	// The host is in the process of exiting the particular partial maintenance
  6228  	// mode.
  6229  	HostPartialMaintenanceModeStatusExitingPartialMM = HostPartialMaintenanceModeStatus("exitingPartialMM")
  6230  	// The host is in the particular partial maintenance mode.
  6231  	HostPartialMaintenanceModeStatusInPartialMM = HostPartialMaintenanceModeStatus("inPartialMM")
  6232  )
  6233  
  6234  func (e HostPartialMaintenanceModeStatus) Values() []HostPartialMaintenanceModeStatus {
  6235  	return []HostPartialMaintenanceModeStatus{
  6236  		HostPartialMaintenanceModeStatusNotInPartialMM,
  6237  		HostPartialMaintenanceModeStatusEnteringPartialMM,
  6238  		HostPartialMaintenanceModeStatusExitingPartialMM,
  6239  		HostPartialMaintenanceModeStatusInPartialMM,
  6240  	}
  6241  }
  6242  
  6243  func (e HostPartialMaintenanceModeStatus) Strings() []string {
  6244  	return EnumValuesAsStrings(e.Values())
  6245  }
  6246  
  6247  func init() {
  6248  	t["HostPartialMaintenanceModeStatus"] = reflect.TypeOf((*HostPartialMaintenanceModeStatus)(nil)).Elem()
  6249  	minAPIVersionForType["HostPartialMaintenanceModeStatus"] = "8.0.3.0"
  6250  }
  6251  
  6252  // The installation state if the update is installed on the server.
  6253  type HostPatchManagerInstallState string
  6254  
  6255  const (
  6256  	// The server has been restarted since the update installation.
  6257  	HostPatchManagerInstallStateHostRestarted = HostPatchManagerInstallState("hostRestarted")
  6258  	// Indicates if the newly installed image is active on the server
  6259  	HostPatchManagerInstallStateImageActive = HostPatchManagerInstallState("imageActive")
  6260  )
  6261  
  6262  func (e HostPatchManagerInstallState) Values() []HostPatchManagerInstallState {
  6263  	return []HostPatchManagerInstallState{
  6264  		HostPatchManagerInstallStateHostRestarted,
  6265  		HostPatchManagerInstallStateImageActive,
  6266  	}
  6267  }
  6268  
  6269  func (e HostPatchManagerInstallState) Strings() []string {
  6270  	return EnumValuesAsStrings(e.Values())
  6271  }
  6272  
  6273  func init() {
  6274  	t["HostPatchManagerInstallState"] = reflect.TypeOf((*HostPatchManagerInstallState)(nil)).Elem()
  6275  }
  6276  
  6277  // The integrity validation status.
  6278  type HostPatchManagerIntegrityStatus string
  6279  
  6280  const (
  6281  	// The update is successfully validated.
  6282  	HostPatchManagerIntegrityStatusValidated = HostPatchManagerIntegrityStatus("validated")
  6283  	// The integrity can not be verified since a public key to
  6284  	// verify the update cannot be found.
  6285  	HostPatchManagerIntegrityStatusKeyNotFound = HostPatchManagerIntegrityStatus("keyNotFound")
  6286  	// A public key to verify the update has been revoked.
  6287  	HostPatchManagerIntegrityStatusKeyRevoked = HostPatchManagerIntegrityStatus("keyRevoked")
  6288  	// A public key to verify the update is expired.
  6289  	HostPatchManagerIntegrityStatusKeyExpired = HostPatchManagerIntegrityStatus("keyExpired")
  6290  	// A digital signature of the update does not match.
  6291  	HostPatchManagerIntegrityStatusDigestMismatch = HostPatchManagerIntegrityStatus("digestMismatch")
  6292  	// Not enough signed signatures on the update.
  6293  	HostPatchManagerIntegrityStatusNotEnoughSignatures = HostPatchManagerIntegrityStatus("notEnoughSignatures")
  6294  	// The integrity validation failed.
  6295  	HostPatchManagerIntegrityStatusValidationError = HostPatchManagerIntegrityStatus("validationError")
  6296  )
  6297  
  6298  func (e HostPatchManagerIntegrityStatus) Values() []HostPatchManagerIntegrityStatus {
  6299  	return []HostPatchManagerIntegrityStatus{
  6300  		HostPatchManagerIntegrityStatusValidated,
  6301  		HostPatchManagerIntegrityStatusKeyNotFound,
  6302  		HostPatchManagerIntegrityStatusKeyRevoked,
  6303  		HostPatchManagerIntegrityStatusKeyExpired,
  6304  		HostPatchManagerIntegrityStatusDigestMismatch,
  6305  		HostPatchManagerIntegrityStatusNotEnoughSignatures,
  6306  		HostPatchManagerIntegrityStatusValidationError,
  6307  	}
  6308  }
  6309  
  6310  func (e HostPatchManagerIntegrityStatus) Strings() []string {
  6311  	return EnumValuesAsStrings(e.Values())
  6312  }
  6313  
  6314  func init() {
  6315  	t["HostPatchManagerIntegrityStatus"] = reflect.TypeOf((*HostPatchManagerIntegrityStatus)(nil)).Elem()
  6316  }
  6317  
  6318  // Reasons why an update is not applicable to the ESX host.
  6319  type HostPatchManagerReason string
  6320  
  6321  const (
  6322  	// The update is made obsolete by other patches installed on the host.
  6323  	HostPatchManagerReasonObsoleted = HostPatchManagerReason("obsoleted")
  6324  	// The update depends on another update that is neither installed
  6325  	// nor in the scanned list of updates.
  6326  	HostPatchManagerReasonMissingPatch = HostPatchManagerReason("missingPatch")
  6327  	// The update depends on certain libraries or RPMs that are not
  6328  	// available.
  6329  	HostPatchManagerReasonMissingLib = HostPatchManagerReason("missingLib")
  6330  	// The update depends on an update that is not installed but is
  6331  	// in the scanned list of updates.
  6332  	HostPatchManagerReasonHasDependentPatch = HostPatchManagerReason("hasDependentPatch")
  6333  	// The update conflicts with certain updates that are already
  6334  	// installed on the host.
  6335  	HostPatchManagerReasonConflictPatch = HostPatchManagerReason("conflictPatch")
  6336  	// The update conflicts with RPMs or libraries installed on the
  6337  	// host.
  6338  	HostPatchManagerReasonConflictLib = HostPatchManagerReason("conflictLib")
  6339  )
  6340  
  6341  func (e HostPatchManagerReason) Values() []HostPatchManagerReason {
  6342  	return []HostPatchManagerReason{
  6343  		HostPatchManagerReasonObsoleted,
  6344  		HostPatchManagerReasonMissingPatch,
  6345  		HostPatchManagerReasonMissingLib,
  6346  		HostPatchManagerReasonHasDependentPatch,
  6347  		HostPatchManagerReasonConflictPatch,
  6348  		HostPatchManagerReasonConflictLib,
  6349  	}
  6350  }
  6351  
  6352  func (e HostPatchManagerReason) Strings() []string {
  6353  	return EnumValuesAsStrings(e.Values())
  6354  }
  6355  
  6356  func init() {
  6357  	t["HostPatchManagerReason"] = reflect.TypeOf((*HostPatchManagerReason)(nil)).Elem()
  6358  }
  6359  
  6360  type HostPowerOperationType string
  6361  
  6362  const (
  6363  	// Power On Operation
  6364  	HostPowerOperationTypePowerOn = HostPowerOperationType("powerOn")
  6365  	// Power Off Operation.
  6366  	//
  6367  	// Power off operation puts the host in
  6368  	// a state that can be woken up remotely.
  6369  	HostPowerOperationTypePowerOff = HostPowerOperationType("powerOff")
  6370  )
  6371  
  6372  func (e HostPowerOperationType) Values() []HostPowerOperationType {
  6373  	return []HostPowerOperationType{
  6374  		HostPowerOperationTypePowerOn,
  6375  		HostPowerOperationTypePowerOff,
  6376  	}
  6377  }
  6378  
  6379  func (e HostPowerOperationType) Strings() []string {
  6380  	return EnumValuesAsStrings(e.Values())
  6381  }
  6382  
  6383  func init() {
  6384  	t["HostPowerOperationType"] = reflect.TypeOf((*HostPowerOperationType)(nil)).Elem()
  6385  }
  6386  
  6387  // The `HostProfileManagerAnswerFileStatus_enum` enum
  6388  // defines possible values for answer file status.
  6389  type HostProfileManagerAnswerFileStatus string
  6390  
  6391  const (
  6392  	// Answer file is valid.
  6393  	HostProfileManagerAnswerFileStatusValid = HostProfileManagerAnswerFileStatus("valid")
  6394  	// Answer file is not valid.
  6395  	//
  6396  	// The file is either missing or incomplete.
  6397  	//   - To produce an answer file, pass host-specific data (user input) to the
  6398  	//     `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
  6399  	//     method.
  6400  	//   - To produce a complete answer file, call the
  6401  	//     `HostProfile*.*HostProfile.ExecuteHostProfile`
  6402  	//     method and fill in any missing parameters in the returned
  6403  	//     `ProfileExecuteResult*.*ProfileExecuteResult.requireInput`
  6404  	//     list. After you execute the profile successfully, you can pass the complete required
  6405  	//     input list to the apply method.
  6406  	HostProfileManagerAnswerFileStatusInvalid = HostProfileManagerAnswerFileStatus("invalid")
  6407  	// Answer file status is not known.
  6408  	HostProfileManagerAnswerFileStatusUnknown = HostProfileManagerAnswerFileStatus("unknown")
  6409  )
  6410  
  6411  func (e HostProfileManagerAnswerFileStatus) Values() []HostProfileManagerAnswerFileStatus {
  6412  	return []HostProfileManagerAnswerFileStatus{
  6413  		HostProfileManagerAnswerFileStatusValid,
  6414  		HostProfileManagerAnswerFileStatusInvalid,
  6415  		HostProfileManagerAnswerFileStatusUnknown,
  6416  	}
  6417  }
  6418  
  6419  func (e HostProfileManagerAnswerFileStatus) Strings() []string {
  6420  	return EnumValuesAsStrings(e.Values())
  6421  }
  6422  
  6423  func init() {
  6424  	t["HostProfileManagerAnswerFileStatus"] = reflect.TypeOf((*HostProfileManagerAnswerFileStatus)(nil)).Elem()
  6425  }
  6426  
  6427  // The composition status class.
  6428  type HostProfileManagerCompositionResultResultElementStatus string
  6429  
  6430  const (
  6431  	HostProfileManagerCompositionResultResultElementStatusSuccess = HostProfileManagerCompositionResultResultElementStatus("success")
  6432  	HostProfileManagerCompositionResultResultElementStatusError   = HostProfileManagerCompositionResultResultElementStatus("error")
  6433  )
  6434  
  6435  func (e HostProfileManagerCompositionResultResultElementStatus) Values() []HostProfileManagerCompositionResultResultElementStatus {
  6436  	return []HostProfileManagerCompositionResultResultElementStatus{
  6437  		HostProfileManagerCompositionResultResultElementStatusSuccess,
  6438  		HostProfileManagerCompositionResultResultElementStatusError,
  6439  	}
  6440  }
  6441  
  6442  func (e HostProfileManagerCompositionResultResultElementStatus) Strings() []string {
  6443  	return EnumValuesAsStrings(e.Values())
  6444  }
  6445  
  6446  func init() {
  6447  	t["HostProfileManagerCompositionResultResultElementStatus"] = reflect.TypeOf((*HostProfileManagerCompositionResultResultElementStatus)(nil)).Elem()
  6448  }
  6449  
  6450  // The composition validation status class.
  6451  type HostProfileManagerCompositionValidationResultResultElementStatus string
  6452  
  6453  const (
  6454  	HostProfileManagerCompositionValidationResultResultElementStatusSuccess = HostProfileManagerCompositionValidationResultResultElementStatus("success")
  6455  	HostProfileManagerCompositionValidationResultResultElementStatusError   = HostProfileManagerCompositionValidationResultResultElementStatus("error")
  6456  )
  6457  
  6458  func (e HostProfileManagerCompositionValidationResultResultElementStatus) Values() []HostProfileManagerCompositionValidationResultResultElementStatus {
  6459  	return []HostProfileManagerCompositionValidationResultResultElementStatus{
  6460  		HostProfileManagerCompositionValidationResultResultElementStatusSuccess,
  6461  		HostProfileManagerCompositionValidationResultResultElementStatusError,
  6462  	}
  6463  }
  6464  
  6465  func (e HostProfileManagerCompositionValidationResultResultElementStatus) Strings() []string {
  6466  	return EnumValuesAsStrings(e.Values())
  6467  }
  6468  
  6469  func init() {
  6470  	t["HostProfileManagerCompositionValidationResultResultElementStatus"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResultResultElementStatus)(nil)).Elem()
  6471  }
  6472  
  6473  // The `HostProfileManagerTaskListRequirement_enum` enum
  6474  // defines possible values for requirements when applying a `HostConfigSpec`
  6475  // object returned as part of a <code>generateConfigTaskList</code>
  6476  // operation.
  6477  type HostProfileManagerTaskListRequirement string
  6478  
  6479  const (
  6480  	// The ESXi host must be in maintenance mode before the task list can be
  6481  	// applied.
  6482  	HostProfileManagerTaskListRequirementMaintenanceModeRequired = HostProfileManagerTaskListRequirement("maintenanceModeRequired")
  6483  	// The ESXi host must be rebooted after the task list is applied in order
  6484  	// for the new settings in the `HostConfigSpec` to take
  6485  	// effect on the host.
  6486  	HostProfileManagerTaskListRequirementRebootRequired = HostProfileManagerTaskListRequirement("rebootRequired")
  6487  )
  6488  
  6489  func (e HostProfileManagerTaskListRequirement) Values() []HostProfileManagerTaskListRequirement {
  6490  	return []HostProfileManagerTaskListRequirement{
  6491  		HostProfileManagerTaskListRequirementMaintenanceModeRequired,
  6492  		HostProfileManagerTaskListRequirementRebootRequired,
  6493  	}
  6494  }
  6495  
  6496  func (e HostProfileManagerTaskListRequirement) Strings() []string {
  6497  	return EnumValuesAsStrings(e.Values())
  6498  }
  6499  
  6500  func init() {
  6501  	t["HostProfileManagerTaskListRequirement"] = reflect.TypeOf((*HostProfileManagerTaskListRequirement)(nil)).Elem()
  6502  }
  6503  
  6504  // Types of host profile update.
  6505  type HostProfileValidationFailureInfoUpdateType string
  6506  
  6507  const (
  6508  	// Update host profile from host.
  6509  	HostProfileValidationFailureInfoUpdateTypeHostBased = HostProfileValidationFailureInfoUpdateType("HostBased")
  6510  	// Import host profile.
  6511  	HostProfileValidationFailureInfoUpdateTypeImport = HostProfileValidationFailureInfoUpdateType("Import")
  6512  	// Edit host profile.
  6513  	HostProfileValidationFailureInfoUpdateTypeEdit = HostProfileValidationFailureInfoUpdateType("Edit")
  6514  	// Compose setting from host profile.
  6515  	HostProfileValidationFailureInfoUpdateTypeCompose = HostProfileValidationFailureInfoUpdateType("Compose")
  6516  )
  6517  
  6518  func (e HostProfileValidationFailureInfoUpdateType) Values() []HostProfileValidationFailureInfoUpdateType {
  6519  	return []HostProfileValidationFailureInfoUpdateType{
  6520  		HostProfileValidationFailureInfoUpdateTypeHostBased,
  6521  		HostProfileValidationFailureInfoUpdateTypeImport,
  6522  		HostProfileValidationFailureInfoUpdateTypeEdit,
  6523  		HostProfileValidationFailureInfoUpdateTypeCompose,
  6524  	}
  6525  }
  6526  
  6527  func (e HostProfileValidationFailureInfoUpdateType) Strings() []string {
  6528  	return EnumValuesAsStrings(e.Values())
  6529  }
  6530  
  6531  func init() {
  6532  	t["HostProfileValidationFailureInfoUpdateType"] = reflect.TypeOf((*HostProfileValidationFailureInfoUpdateType)(nil)).Elem()
  6533  }
  6534  
  6535  // This defines validation state values for host profile.
  6536  type HostProfileValidationState string
  6537  
  6538  const (
  6539  	HostProfileValidationStateReady   = HostProfileValidationState("Ready")
  6540  	HostProfileValidationStateRunning = HostProfileValidationState("Running")
  6541  	HostProfileValidationStateFailed  = HostProfileValidationState("Failed")
  6542  )
  6543  
  6544  func (e HostProfileValidationState) Values() []HostProfileValidationState {
  6545  	return []HostProfileValidationState{
  6546  		HostProfileValidationStateReady,
  6547  		HostProfileValidationStateRunning,
  6548  		HostProfileValidationStateFailed,
  6549  	}
  6550  }
  6551  
  6552  func (e HostProfileValidationState) Strings() []string {
  6553  	return EnumValuesAsStrings(e.Values())
  6554  }
  6555  
  6556  func init() {
  6557  	t["HostProfileValidationState"] = reflect.TypeOf((*HostProfileValidationState)(nil)).Elem()
  6558  }
  6559  
  6560  // Deprecated from all vmodl version above @released("6.0").
  6561  //
  6562  // ProtocolEndpoint Type.
  6563  type HostProtocolEndpointPEType string
  6564  
  6565  const (
  6566  	HostProtocolEndpointPETypeBlock = HostProtocolEndpointPEType("block")
  6567  	HostProtocolEndpointPETypeNas   = HostProtocolEndpointPEType("nas")
  6568  )
  6569  
  6570  func (e HostProtocolEndpointPEType) Values() []HostProtocolEndpointPEType {
  6571  	return []HostProtocolEndpointPEType{
  6572  		HostProtocolEndpointPETypeBlock,
  6573  		HostProtocolEndpointPETypeNas,
  6574  	}
  6575  }
  6576  
  6577  func (e HostProtocolEndpointPEType) Strings() []string {
  6578  	return EnumValuesAsStrings(e.Values())
  6579  }
  6580  
  6581  func init() {
  6582  	t["HostProtocolEndpointPEType"] = reflect.TypeOf((*HostProtocolEndpointPEType)(nil)).Elem()
  6583  }
  6584  
  6585  // ProtocolEndpoint type.
  6586  type HostProtocolEndpointProtocolEndpointType string
  6587  
  6588  const (
  6589  	HostProtocolEndpointProtocolEndpointTypeScsi  = HostProtocolEndpointProtocolEndpointType("scsi")
  6590  	HostProtocolEndpointProtocolEndpointTypeNfs   = HostProtocolEndpointProtocolEndpointType("nfs")
  6591  	HostProtocolEndpointProtocolEndpointTypeNfs4x = HostProtocolEndpointProtocolEndpointType("nfs4x")
  6592  )
  6593  
  6594  func (e HostProtocolEndpointProtocolEndpointType) Values() []HostProtocolEndpointProtocolEndpointType {
  6595  	return []HostProtocolEndpointProtocolEndpointType{
  6596  		HostProtocolEndpointProtocolEndpointTypeScsi,
  6597  		HostProtocolEndpointProtocolEndpointTypeNfs,
  6598  		HostProtocolEndpointProtocolEndpointTypeNfs4x,
  6599  	}
  6600  }
  6601  
  6602  func (e HostProtocolEndpointProtocolEndpointType) Strings() []string {
  6603  	return EnumValuesAsStrings(e.Values())
  6604  }
  6605  
  6606  func init() {
  6607  	t["HostProtocolEndpointProtocolEndpointType"] = reflect.TypeOf((*HostProtocolEndpointProtocolEndpointType)(nil)).Elem()
  6608  }
  6609  
  6610  type HostPtpConfigDeviceType string
  6611  
  6612  const (
  6613  	// No device.
  6614  	HostPtpConfigDeviceTypeNone = HostPtpConfigDeviceType("none")
  6615  	// Virtual network adapter.
  6616  	HostPtpConfigDeviceTypeVirtualNic = HostPtpConfigDeviceType("virtualNic")
  6617  	// A network PCI device capable of PTP hardware timestamping,
  6618  	// enabled for passthru.
  6619  	//
  6620  	// See `HostPciPassthruSystem`
  6621  	// for information on PCI devices enabled for passthru available
  6622  	// on the host.
  6623  	HostPtpConfigDeviceTypePciPassthruNic = HostPtpConfigDeviceType("pciPassthruNic")
  6624  )
  6625  
  6626  func (e HostPtpConfigDeviceType) Values() []HostPtpConfigDeviceType {
  6627  	return []HostPtpConfigDeviceType{
  6628  		HostPtpConfigDeviceTypeNone,
  6629  		HostPtpConfigDeviceTypeVirtualNic,
  6630  		HostPtpConfigDeviceTypePciPassthruNic,
  6631  	}
  6632  }
  6633  
  6634  func (e HostPtpConfigDeviceType) Strings() []string {
  6635  	return EnumValuesAsStrings(e.Values())
  6636  }
  6637  
  6638  func init() {
  6639  	t["HostPtpConfigDeviceType"] = reflect.TypeOf((*HostPtpConfigDeviceType)(nil)).Elem()
  6640  	minAPIVersionForType["HostPtpConfigDeviceType"] = "7.0.3.0"
  6641  }
  6642  
  6643  type HostQualifiedNameType string
  6644  
  6645  const (
  6646  	// The NVMe Qualified Name (NQN) of this host.
  6647  	HostQualifiedNameTypeNvmeQualifiedName = HostQualifiedNameType("nvmeQualifiedName")
  6648  	// The NVMe Qualified Name (NQN) of this host used by Vvol.
  6649  	HostQualifiedNameTypeVvolNvmeQualifiedName = HostQualifiedNameType("vvolNvmeQualifiedName")
  6650  )
  6651  
  6652  func (e HostQualifiedNameType) Values() []HostQualifiedNameType {
  6653  	return []HostQualifiedNameType{
  6654  		HostQualifiedNameTypeNvmeQualifiedName,
  6655  		HostQualifiedNameTypeVvolNvmeQualifiedName,
  6656  	}
  6657  }
  6658  
  6659  func (e HostQualifiedNameType) Strings() []string {
  6660  	return EnumValuesAsStrings(e.Values())
  6661  }
  6662  
  6663  func init() {
  6664  	t["HostQualifiedNameType"] = reflect.TypeOf((*HostQualifiedNameType)(nil)).Elem()
  6665  	minAPIVersionForType["HostQualifiedNameType"] = "7.0.3.0"
  6666  	minAPIVersionForEnumValue["HostQualifiedNameType"] = map[string]string{
  6667  		"vvolNvmeQualifiedName": "8.0.0.0",
  6668  	}
  6669  }
  6670  
  6671  // Possible RDMA device connection states.
  6672  //
  6673  // These correspond
  6674  // to possible link states as defined by the
  6675  // Infiniband (TM) specification.
  6676  //
  6677  // Further details can be found in:
  6678  //   - "Infiniband (TM) Architecture Specification, Volume 1"
  6679  //     section 7.2 "Link states"
  6680  type HostRdmaDeviceConnectionState string
  6681  
  6682  const (
  6683  	// Connection state unknown.
  6684  	//
  6685  	// Indicates that the driver returned
  6686  	// unexpected or no connection state information.
  6687  	HostRdmaDeviceConnectionStateUnknown = HostRdmaDeviceConnectionState("unknown")
  6688  	// Device down.
  6689  	//
  6690  	// Indicates that both the logical link and
  6691  	// underlying physical link are down. Packets
  6692  	// are discarded.
  6693  	HostRdmaDeviceConnectionStateDown = HostRdmaDeviceConnectionState("down")
  6694  	// Device initializing.
  6695  	//
  6696  	// Indicates that the physical link is up, but
  6697  	// the logical link is still initializing.
  6698  	// Only subnet management and flow control link
  6699  	// packets can be received and transmitted.
  6700  	HostRdmaDeviceConnectionStateInit = HostRdmaDeviceConnectionState("init")
  6701  	// Device armed.
  6702  	//
  6703  	// Indicates that the physical link is up, but
  6704  	// the logical link is not yet fully configured.
  6705  	// Packets can be received, but non-SMPs
  6706  	// (subnet management packets) to be sent are discarded.
  6707  	HostRdmaDeviceConnectionStateArmed = HostRdmaDeviceConnectionState("armed")
  6708  	// Device active.
  6709  	//
  6710  	// Indicates that both the physical and logical
  6711  	// link are up. Packets can be transmitted and received.
  6712  	HostRdmaDeviceConnectionStateActive = HostRdmaDeviceConnectionState("active")
  6713  	// Device in active defer state.
  6714  	//
  6715  	// Indicates that the logical link was active, but the
  6716  	// physical link has suffered a failure. If it recovers
  6717  	// within a timeout, the connection state will return to active,
  6718  	// otherwise it will move to down.
  6719  	HostRdmaDeviceConnectionStateActiveDefer = HostRdmaDeviceConnectionState("activeDefer")
  6720  )
  6721  
  6722  func (e HostRdmaDeviceConnectionState) Values() []HostRdmaDeviceConnectionState {
  6723  	return []HostRdmaDeviceConnectionState{
  6724  		HostRdmaDeviceConnectionStateUnknown,
  6725  		HostRdmaDeviceConnectionStateDown,
  6726  		HostRdmaDeviceConnectionStateInit,
  6727  		HostRdmaDeviceConnectionStateArmed,
  6728  		HostRdmaDeviceConnectionStateActive,
  6729  		HostRdmaDeviceConnectionStateActiveDefer,
  6730  	}
  6731  }
  6732  
  6733  func (e HostRdmaDeviceConnectionState) Strings() []string {
  6734  	return EnumValuesAsStrings(e.Values())
  6735  }
  6736  
  6737  func init() {
  6738  	t["HostRdmaDeviceConnectionState"] = reflect.TypeOf((*HostRdmaDeviceConnectionState)(nil)).Elem()
  6739  }
  6740  
  6741  // Deprecated as of vSphere API 6.0.
  6742  //
  6743  // Set of possible values for
  6744  // `HostCapability.replayUnsupportedReason` and
  6745  // `HostCapability.replayCompatibilityIssues`.
  6746  type HostReplayUnsupportedReason string
  6747  
  6748  const (
  6749  	HostReplayUnsupportedReasonIncompatibleProduct = HostReplayUnsupportedReason("incompatibleProduct")
  6750  	HostReplayUnsupportedReasonIncompatibleCpu     = HostReplayUnsupportedReason("incompatibleCpu")
  6751  	HostReplayUnsupportedReasonHvDisabled          = HostReplayUnsupportedReason("hvDisabled")
  6752  	HostReplayUnsupportedReasonCpuidLimitSet       = HostReplayUnsupportedReason("cpuidLimitSet")
  6753  	HostReplayUnsupportedReasonOldBIOS             = HostReplayUnsupportedReason("oldBIOS")
  6754  	HostReplayUnsupportedReasonUnknown             = HostReplayUnsupportedReason("unknown")
  6755  )
  6756  
  6757  func (e HostReplayUnsupportedReason) Values() []HostReplayUnsupportedReason {
  6758  	return []HostReplayUnsupportedReason{
  6759  		HostReplayUnsupportedReasonIncompatibleProduct,
  6760  		HostReplayUnsupportedReasonIncompatibleCpu,
  6761  		HostReplayUnsupportedReasonHvDisabled,
  6762  		HostReplayUnsupportedReasonCpuidLimitSet,
  6763  		HostReplayUnsupportedReasonOldBIOS,
  6764  		HostReplayUnsupportedReasonUnknown,
  6765  	}
  6766  }
  6767  
  6768  func (e HostReplayUnsupportedReason) Strings() []string {
  6769  	return EnumValuesAsStrings(e.Values())
  6770  }
  6771  
  6772  func init() {
  6773  	t["HostReplayUnsupportedReason"] = reflect.TypeOf((*HostReplayUnsupportedReason)(nil)).Elem()
  6774  }
  6775  
  6776  // Define the instance state type
  6777  type HostRuntimeInfoNetStackInstanceRuntimeInfoState string
  6778  
  6779  const (
  6780  	// The instance is deleted or not running
  6781  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateInactive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("inactive")
  6782  	// The instance is running
  6783  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateActive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("active")
  6784  	// The instance is in the progress of asynchronous deletion
  6785  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateDeactivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("deactivating")
  6786  	// Reserved state for future proofing asynchronous creation
  6787  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateActivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("activating")
  6788  )
  6789  
  6790  func (e HostRuntimeInfoNetStackInstanceRuntimeInfoState) Values() []HostRuntimeInfoNetStackInstanceRuntimeInfoState {
  6791  	return []HostRuntimeInfoNetStackInstanceRuntimeInfoState{
  6792  		HostRuntimeInfoNetStackInstanceRuntimeInfoStateInactive,
  6793  		HostRuntimeInfoNetStackInstanceRuntimeInfoStateActive,
  6794  		HostRuntimeInfoNetStackInstanceRuntimeInfoStateDeactivating,
  6795  		HostRuntimeInfoNetStackInstanceRuntimeInfoStateActivating,
  6796  	}
  6797  }
  6798  
  6799  func (e HostRuntimeInfoNetStackInstanceRuntimeInfoState) Strings() []string {
  6800  	return EnumValuesAsStrings(e.Values())
  6801  }
  6802  
  6803  func init() {
  6804  	t["HostRuntimeInfoNetStackInstanceRuntimeInfoState"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfoState)(nil)).Elem()
  6805  }
  6806  
  6807  type HostRuntimeInfoStateEncryptionInfoProtectionMode string
  6808  
  6809  const (
  6810  	// Encryption is not protected.
  6811  	HostRuntimeInfoStateEncryptionInfoProtectionModeNone = HostRuntimeInfoStateEncryptionInfoProtectionMode("none")
  6812  	// Encryption is TPM protected.
  6813  	HostRuntimeInfoStateEncryptionInfoProtectionModeTpm = HostRuntimeInfoStateEncryptionInfoProtectionMode("tpm")
  6814  )
  6815  
  6816  func (e HostRuntimeInfoStateEncryptionInfoProtectionMode) Values() []HostRuntimeInfoStateEncryptionInfoProtectionMode {
  6817  	return []HostRuntimeInfoStateEncryptionInfoProtectionMode{
  6818  		HostRuntimeInfoStateEncryptionInfoProtectionModeNone,
  6819  		HostRuntimeInfoStateEncryptionInfoProtectionModeTpm,
  6820  	}
  6821  }
  6822  
  6823  func (e HostRuntimeInfoStateEncryptionInfoProtectionMode) Strings() []string {
  6824  	return EnumValuesAsStrings(e.Values())
  6825  }
  6826  
  6827  func init() {
  6828  	t["HostRuntimeInfoStateEncryptionInfoProtectionMode"] = reflect.TypeOf((*HostRuntimeInfoStateEncryptionInfoProtectionMode)(nil)).Elem()
  6829  	minAPIVersionForType["HostRuntimeInfoStateEncryptionInfoProtectionMode"] = "7.0.3.0"
  6830  }
  6831  
  6832  type HostRuntimeInfoStatelessNvdsMigrationState string
  6833  
  6834  const (
  6835  	// The host is ready for NVDS to VDS migration.
  6836  	HostRuntimeInfoStatelessNvdsMigrationStateReady = HostRuntimeInfoStatelessNvdsMigrationState("ready")
  6837  	// The host does not need NVDS to VDS migration
  6838  	HostRuntimeInfoStatelessNvdsMigrationStateNotNeeded = HostRuntimeInfoStatelessNvdsMigrationState("notNeeded")
  6839  	// The host is disconnected from VC.
  6840  	HostRuntimeInfoStatelessNvdsMigrationStateUnknown = HostRuntimeInfoStatelessNvdsMigrationState("unknown")
  6841  )
  6842  
  6843  func (e HostRuntimeInfoStatelessNvdsMigrationState) Values() []HostRuntimeInfoStatelessNvdsMigrationState {
  6844  	return []HostRuntimeInfoStatelessNvdsMigrationState{
  6845  		HostRuntimeInfoStatelessNvdsMigrationStateReady,
  6846  		HostRuntimeInfoStatelessNvdsMigrationStateNotNeeded,
  6847  		HostRuntimeInfoStatelessNvdsMigrationStateUnknown,
  6848  	}
  6849  }
  6850  
  6851  func (e HostRuntimeInfoStatelessNvdsMigrationState) Strings() []string {
  6852  	return EnumValuesAsStrings(e.Values())
  6853  }
  6854  
  6855  func init() {
  6856  	t["HostRuntimeInfoStatelessNvdsMigrationState"] = reflect.TypeOf((*HostRuntimeInfoStatelessNvdsMigrationState)(nil)).Elem()
  6857  	minAPIVersionForType["HostRuntimeInfoStatelessNvdsMigrationState"] = "7.0.2.0"
  6858  }
  6859  
  6860  // Set of valid service policy strings.
  6861  type HostServicePolicy string
  6862  
  6863  const (
  6864  	// Service should be started when the host starts up.
  6865  	HostServicePolicyOn = HostServicePolicy("on")
  6866  	// Service should run if and only if it has open firewall ports.
  6867  	HostServicePolicyAutomatic = HostServicePolicy("automatic")
  6868  	// Service should not be started when the host starts up.
  6869  	HostServicePolicyOff = HostServicePolicy("off")
  6870  )
  6871  
  6872  func (e HostServicePolicy) Values() []HostServicePolicy {
  6873  	return []HostServicePolicy{
  6874  		HostServicePolicyOn,
  6875  		HostServicePolicyAutomatic,
  6876  		HostServicePolicyOff,
  6877  	}
  6878  }
  6879  
  6880  func (e HostServicePolicy) Strings() []string {
  6881  	return EnumValuesAsStrings(e.Values())
  6882  }
  6883  
  6884  func init() {
  6885  	t["HostServicePolicy"] = reflect.TypeOf((*HostServicePolicy)(nil)).Elem()
  6886  }
  6887  
  6888  type HostSevInfoSevState string
  6889  
  6890  const (
  6891  	HostSevInfoSevStateUninitialized = HostSevInfoSevState("uninitialized")
  6892  	HostSevInfoSevStateInitialized   = HostSevInfoSevState("initialized")
  6893  	HostSevInfoSevStateWorking       = HostSevInfoSevState("working")
  6894  )
  6895  
  6896  func (e HostSevInfoSevState) Values() []HostSevInfoSevState {
  6897  	return []HostSevInfoSevState{
  6898  		HostSevInfoSevStateUninitialized,
  6899  		HostSevInfoSevStateInitialized,
  6900  		HostSevInfoSevStateWorking,
  6901  	}
  6902  }
  6903  
  6904  func (e HostSevInfoSevState) Strings() []string {
  6905  	return EnumValuesAsStrings(e.Values())
  6906  }
  6907  
  6908  func init() {
  6909  	t["HostSevInfoSevState"] = reflect.TypeOf((*HostSevInfoSevState)(nil)).Elem()
  6910  	minAPIVersionForType["HostSevInfoSevState"] = "7.0.1.0"
  6911  }
  6912  
  6913  // Flexible Launch Enclave (FLC) modes.
  6914  type HostSgxInfoFlcModes string
  6915  
  6916  const (
  6917  	// Flexible Launch Enclave (FLC) is not available on the host.
  6918  	//
  6919  	// The
  6920  	// "launch enclave MSRs" are initialized with Intel's public key hash.
  6921  	HostSgxInfoFlcModesOff = HostSgxInfoFlcModes("off")
  6922  	// FLC is available and the "launch Enclave MSRs" are locked and
  6923  	// initialized with the provided public key hash.
  6924  	HostSgxInfoFlcModesLocked = HostSgxInfoFlcModes("locked")
  6925  	// FLC is available and the "launch enclave MSRs" are writeable and
  6926  	// initialized with Intel's public key hash.
  6927  	HostSgxInfoFlcModesUnlocked = HostSgxInfoFlcModes("unlocked")
  6928  )
  6929  
  6930  func (e HostSgxInfoFlcModes) Values() []HostSgxInfoFlcModes {
  6931  	return []HostSgxInfoFlcModes{
  6932  		HostSgxInfoFlcModesOff,
  6933  		HostSgxInfoFlcModesLocked,
  6934  		HostSgxInfoFlcModesUnlocked,
  6935  	}
  6936  }
  6937  
  6938  func (e HostSgxInfoFlcModes) Strings() []string {
  6939  	return EnumValuesAsStrings(e.Values())
  6940  }
  6941  
  6942  func init() {
  6943  	t["HostSgxInfoFlcModes"] = reflect.TypeOf((*HostSgxInfoFlcModes)(nil)).Elem()
  6944  }
  6945  
  6946  // Host SGX states.
  6947  type HostSgxInfoSgxStates string
  6948  
  6949  const (
  6950  	// SGX is not present in the CPU.
  6951  	HostSgxInfoSgxStatesNotPresent = HostSgxInfoSgxStates("notPresent")
  6952  	// SGX is disabled in the BIOS.
  6953  	HostSgxInfoSgxStatesDisabledBIOS = HostSgxInfoSgxStates("disabledBIOS")
  6954  	// SGX is disabled because CPU erratum CFW101 is present.
  6955  	HostSgxInfoSgxStatesDisabledCFW101 = HostSgxInfoSgxStates("disabledCFW101")
  6956  	// SGX is disabled due to a mismatch in the SGX capabilities
  6957  	// exposed by different CPUs.
  6958  	HostSgxInfoSgxStatesDisabledCPUMismatch = HostSgxInfoSgxStates("disabledCPUMismatch")
  6959  	// SGX is disabled because the CPU does not support FLC.
  6960  	HostSgxInfoSgxStatesDisabledNoFLC = HostSgxInfoSgxStates("disabledNoFLC")
  6961  	// SGX is disabled because the host uses NUMA, which is not
  6962  	// supported with SGX.
  6963  	HostSgxInfoSgxStatesDisabledNUMAUnsup = HostSgxInfoSgxStates("disabledNUMAUnsup")
  6964  	// SGX is disabled because the host exceeds the maximum supported
  6965  	// number of EPC regions.
  6966  	HostSgxInfoSgxStatesDisabledMaxEPCRegs = HostSgxInfoSgxStates("disabledMaxEPCRegs")
  6967  	// SGX is enabled.
  6968  	HostSgxInfoSgxStatesEnabled = HostSgxInfoSgxStates("enabled")
  6969  )
  6970  
  6971  func (e HostSgxInfoSgxStates) Values() []HostSgxInfoSgxStates {
  6972  	return []HostSgxInfoSgxStates{
  6973  		HostSgxInfoSgxStatesNotPresent,
  6974  		HostSgxInfoSgxStatesDisabledBIOS,
  6975  		HostSgxInfoSgxStatesDisabledCFW101,
  6976  		HostSgxInfoSgxStatesDisabledCPUMismatch,
  6977  		HostSgxInfoSgxStatesDisabledNoFLC,
  6978  		HostSgxInfoSgxStatesDisabledNUMAUnsup,
  6979  		HostSgxInfoSgxStatesDisabledMaxEPCRegs,
  6980  		HostSgxInfoSgxStatesEnabled,
  6981  	}
  6982  }
  6983  
  6984  func (e HostSgxInfoSgxStates) Strings() []string {
  6985  	return EnumValuesAsStrings(e.Values())
  6986  }
  6987  
  6988  func init() {
  6989  	t["HostSgxInfoSgxStates"] = reflect.TypeOf((*HostSgxInfoSgxStates)(nil)).Elem()
  6990  }
  6991  
  6992  type HostSgxRegistrationInfoRegistrationStatus string
  6993  
  6994  const (
  6995  	// SGX is not available or the host is unisocket.
  6996  	HostSgxRegistrationInfoRegistrationStatusNotApplicable = HostSgxRegistrationInfoRegistrationStatus("notApplicable")
  6997  	// SGX registration is incomplete.
  6998  	HostSgxRegistrationInfoRegistrationStatusIncomplete = HostSgxRegistrationInfoRegistrationStatus("incomplete")
  6999  	// SGX registration is complete.
  7000  	HostSgxRegistrationInfoRegistrationStatusComplete = HostSgxRegistrationInfoRegistrationStatus("complete")
  7001  )
  7002  
  7003  func (e HostSgxRegistrationInfoRegistrationStatus) Values() []HostSgxRegistrationInfoRegistrationStatus {
  7004  	return []HostSgxRegistrationInfoRegistrationStatus{
  7005  		HostSgxRegistrationInfoRegistrationStatusNotApplicable,
  7006  		HostSgxRegistrationInfoRegistrationStatusIncomplete,
  7007  		HostSgxRegistrationInfoRegistrationStatusComplete,
  7008  	}
  7009  }
  7010  
  7011  func (e HostSgxRegistrationInfoRegistrationStatus) Strings() []string {
  7012  	return EnumValuesAsStrings(e.Values())
  7013  }
  7014  
  7015  func init() {
  7016  	t["HostSgxRegistrationInfoRegistrationStatus"] = reflect.TypeOf((*HostSgxRegistrationInfoRegistrationStatus)(nil)).Elem()
  7017  	minAPIVersionForType["HostSgxRegistrationInfoRegistrationStatus"] = "8.0.0.1"
  7018  }
  7019  
  7020  type HostSgxRegistrationInfoRegistrationType string
  7021  
  7022  const (
  7023  	// Indicates that an Initial Platform Establishment
  7024  	// or TCB recovery registration is pending.
  7025  	HostSgxRegistrationInfoRegistrationTypeManifest = HostSgxRegistrationInfoRegistrationType("manifest")
  7026  	// Indicates that new CPU package was added.
  7027  	HostSgxRegistrationInfoRegistrationTypeAddPackage = HostSgxRegistrationInfoRegistrationType("addPackage")
  7028  )
  7029  
  7030  func (e HostSgxRegistrationInfoRegistrationType) Values() []HostSgxRegistrationInfoRegistrationType {
  7031  	return []HostSgxRegistrationInfoRegistrationType{
  7032  		HostSgxRegistrationInfoRegistrationTypeManifest,
  7033  		HostSgxRegistrationInfoRegistrationTypeAddPackage,
  7034  	}
  7035  }
  7036  
  7037  func (e HostSgxRegistrationInfoRegistrationType) Strings() []string {
  7038  	return EnumValuesAsStrings(e.Values())
  7039  }
  7040  
  7041  func init() {
  7042  	t["HostSgxRegistrationInfoRegistrationType"] = reflect.TypeOf((*HostSgxRegistrationInfoRegistrationType)(nil)).Elem()
  7043  	minAPIVersionForType["HostSgxRegistrationInfoRegistrationType"] = "8.0.0.1"
  7044  }
  7045  
  7046  // SNMP Agent supported capabilities enum
  7047  type HostSnmpAgentCapability string
  7048  
  7049  const (
  7050  	// Implements test notifications and allows agent configuration
  7051  	HostSnmpAgentCapabilityCOMPLETE = HostSnmpAgentCapability("COMPLETE")
  7052  	// Implements only test notification capability only
  7053  	HostSnmpAgentCapabilityDIAGNOSTICS = HostSnmpAgentCapability("DIAGNOSTICS")
  7054  	// Allows for agent configuration only
  7055  	HostSnmpAgentCapabilityCONFIGURATION = HostSnmpAgentCapability("CONFIGURATION")
  7056  )
  7057  
  7058  func (e HostSnmpAgentCapability) Values() []HostSnmpAgentCapability {
  7059  	return []HostSnmpAgentCapability{
  7060  		HostSnmpAgentCapabilityCOMPLETE,
  7061  		HostSnmpAgentCapabilityDIAGNOSTICS,
  7062  		HostSnmpAgentCapabilityCONFIGURATION,
  7063  	}
  7064  }
  7065  
  7066  func (e HostSnmpAgentCapability) Strings() []string {
  7067  	return EnumValuesAsStrings(e.Values())
  7068  }
  7069  
  7070  func init() {
  7071  	t["HostSnmpAgentCapability"] = reflect.TypeOf((*HostSnmpAgentCapability)(nil)).Elem()
  7072  }
  7073  
  7074  // Defines a host's standby mode.
  7075  type HostStandbyMode string
  7076  
  7077  const (
  7078  	// The host is entering standby mode.
  7079  	HostStandbyModeEntering = HostStandbyMode("entering")
  7080  	// The host is exiting standby mode.
  7081  	HostStandbyModeExiting = HostStandbyMode("exiting")
  7082  	// The host is in standby mode.
  7083  	HostStandbyModeIn = HostStandbyMode("in")
  7084  	// The host is not in standy mode, and it is not
  7085  	// in the process of entering/exiting standby mode.
  7086  	HostStandbyModeNone = HostStandbyMode("none")
  7087  )
  7088  
  7089  func (e HostStandbyMode) Values() []HostStandbyMode {
  7090  	return []HostStandbyMode{
  7091  		HostStandbyModeEntering,
  7092  		HostStandbyModeExiting,
  7093  		HostStandbyModeIn,
  7094  		HostStandbyModeNone,
  7095  	}
  7096  }
  7097  
  7098  func (e HostStandbyMode) Strings() []string {
  7099  	return EnumValuesAsStrings(e.Values())
  7100  }
  7101  
  7102  func init() {
  7103  	t["HostStandbyMode"] = reflect.TypeOf((*HostStandbyMode)(nil)).Elem()
  7104  }
  7105  
  7106  // The set of supported host bus adapter protocols.
  7107  type HostStorageProtocol string
  7108  
  7109  const (
  7110  	// The Small Computer System Interface (SCSI) protocol.
  7111  	HostStorageProtocolScsi = HostStorageProtocol("scsi")
  7112  	// The Non-Volatile Memory Express (NVME) protocol.
  7113  	HostStorageProtocolNvme = HostStorageProtocol("nvme")
  7114  )
  7115  
  7116  func (e HostStorageProtocol) Values() []HostStorageProtocol {
  7117  	return []HostStorageProtocol{
  7118  		HostStorageProtocolScsi,
  7119  		HostStorageProtocolNvme,
  7120  	}
  7121  }
  7122  
  7123  func (e HostStorageProtocol) Strings() []string {
  7124  	return EnumValuesAsStrings(e.Values())
  7125  }
  7126  
  7127  func init() {
  7128  	t["HostStorageProtocol"] = reflect.TypeOf((*HostStorageProtocol)(nil)).Elem()
  7129  }
  7130  
  7131  // Defines a host's connection state.
  7132  type HostSystemConnectionState string
  7133  
  7134  const (
  7135  	// Connected to the server.
  7136  	//
  7137  	// For ESX Server, this is always the setting.
  7138  	HostSystemConnectionStateConnected = HostSystemConnectionState("connected")
  7139  	// VirtualCenter is not receiving heartbeats from the server.
  7140  	//
  7141  	// The state
  7142  	// automatically changes to connected once heartbeats are received
  7143  	// again. This state is typically used to trigger an alarm on the host.
  7144  	HostSystemConnectionStateNotResponding = HostSystemConnectionState("notResponding")
  7145  	// The user has explicitly taken the host down.
  7146  	//
  7147  	// VirtualCenter does not expect to
  7148  	// receive heartbeats from the host. The next time a heartbeat is received, the
  7149  	// host is moved to the connected state again and an event is logged.
  7150  	HostSystemConnectionStateDisconnected = HostSystemConnectionState("disconnected")
  7151  )
  7152  
  7153  func (e HostSystemConnectionState) Values() []HostSystemConnectionState {
  7154  	return []HostSystemConnectionState{
  7155  		HostSystemConnectionStateConnected,
  7156  		HostSystemConnectionStateNotResponding,
  7157  		HostSystemConnectionStateDisconnected,
  7158  	}
  7159  }
  7160  
  7161  func (e HostSystemConnectionState) Strings() []string {
  7162  	return EnumValuesAsStrings(e.Values())
  7163  }
  7164  
  7165  func init() {
  7166  	t["HostSystemConnectionState"] = reflect.TypeOf((*HostSystemConnectionState)(nil)).Elem()
  7167  }
  7168  
  7169  type HostSystemIdentificationInfoIdentifier string
  7170  
  7171  const (
  7172  	// The Asset tag of the system
  7173  	HostSystemIdentificationInfoIdentifierAssetTag = HostSystemIdentificationInfoIdentifier("AssetTag")
  7174  	// The Service tag of the system
  7175  	HostSystemIdentificationInfoIdentifierServiceTag = HostSystemIdentificationInfoIdentifier("ServiceTag")
  7176  	// OEM specific string
  7177  	HostSystemIdentificationInfoIdentifierOemSpecificString = HostSystemIdentificationInfoIdentifier("OemSpecificString")
  7178  	// The Enclosure Serial Number tag of the system
  7179  	HostSystemIdentificationInfoIdentifierEnclosureSerialNumberTag = HostSystemIdentificationInfoIdentifier("EnclosureSerialNumberTag")
  7180  	// The Serial Number tag of the system
  7181  	HostSystemIdentificationInfoIdentifierSerialNumberTag = HostSystemIdentificationInfoIdentifier("SerialNumberTag")
  7182  )
  7183  
  7184  func (e HostSystemIdentificationInfoIdentifier) Values() []HostSystemIdentificationInfoIdentifier {
  7185  	return []HostSystemIdentificationInfoIdentifier{
  7186  		HostSystemIdentificationInfoIdentifierAssetTag,
  7187  		HostSystemIdentificationInfoIdentifierServiceTag,
  7188  		HostSystemIdentificationInfoIdentifierOemSpecificString,
  7189  		HostSystemIdentificationInfoIdentifierEnclosureSerialNumberTag,
  7190  		HostSystemIdentificationInfoIdentifierSerialNumberTag,
  7191  	}
  7192  }
  7193  
  7194  func (e HostSystemIdentificationInfoIdentifier) Strings() []string {
  7195  	return EnumValuesAsStrings(e.Values())
  7196  }
  7197  
  7198  func init() {
  7199  	t["HostSystemIdentificationInfoIdentifier"] = reflect.TypeOf((*HostSystemIdentificationInfoIdentifier)(nil)).Elem()
  7200  }
  7201  
  7202  // Defines a host's power state.
  7203  type HostSystemPowerState string
  7204  
  7205  const (
  7206  	// The host is powered on.
  7207  	//
  7208  	// A host that is entering standby mode
  7209  	// `entering` is also in this state.
  7210  	HostSystemPowerStatePoweredOn = HostSystemPowerState("poweredOn")
  7211  	// The host was specifically powered off by the user through
  7212  	// VirtualCenter.
  7213  	//
  7214  	// This state is not a cetain state, because
  7215  	// after VirtualCenter issues the command to power off the host,
  7216  	// the host might crash, or kill all the processes but fail to
  7217  	// power off.
  7218  	HostSystemPowerStatePoweredOff = HostSystemPowerState("poweredOff")
  7219  	// The host was specifically put in standby mode, either
  7220  	// explicitly by the user, or automatically by DPM.
  7221  	//
  7222  	// This state
  7223  	// is not a cetain state, because after VirtualCenter issues the
  7224  	// command to put the host in standby state, the host might
  7225  	// crash, or kill all the processes but fail to power off. A host
  7226  	// that is exiting standby mode `exiting`
  7227  	// is also in this state.
  7228  	HostSystemPowerStateStandBy = HostSystemPowerState("standBy")
  7229  	// If the host is disconnected, or notResponding, we cannot
  7230  	// possibly have knowledge of its power state.
  7231  	//
  7232  	// Hence, the host
  7233  	// is marked as unknown.
  7234  	HostSystemPowerStateUnknown = HostSystemPowerState("unknown")
  7235  )
  7236  
  7237  func (e HostSystemPowerState) Values() []HostSystemPowerState {
  7238  	return []HostSystemPowerState{
  7239  		HostSystemPowerStatePoweredOn,
  7240  		HostSystemPowerStatePoweredOff,
  7241  		HostSystemPowerStateStandBy,
  7242  		HostSystemPowerStateUnknown,
  7243  	}
  7244  }
  7245  
  7246  func (e HostSystemPowerState) Strings() []string {
  7247  	return EnumValuesAsStrings(e.Values())
  7248  }
  7249  
  7250  func init() {
  7251  	t["HostSystemPowerState"] = reflect.TypeOf((*HostSystemPowerState)(nil)).Elem()
  7252  }
  7253  
  7254  // Valid state for host profile remediation.
  7255  type HostSystemRemediationStateState string
  7256  
  7257  const (
  7258  	// Before precheck remediation and remediation.
  7259  	HostSystemRemediationStateStateRemediationReady = HostSystemRemediationStateState("remediationReady")
  7260  	// Preecheck remediation is running.
  7261  	HostSystemRemediationStateStatePrecheckRemediationRunning = HostSystemRemediationStateState("precheckRemediationRunning")
  7262  	// Preecheck remediation succeeded.
  7263  	HostSystemRemediationStateStatePrecheckRemediationComplete = HostSystemRemediationStateState("precheckRemediationComplete")
  7264  	// Preecheck remediation failed.
  7265  	HostSystemRemediationStateStatePrecheckRemediationFailed = HostSystemRemediationStateState("precheckRemediationFailed")
  7266  	// Remediation is running.
  7267  	HostSystemRemediationStateStateRemediationRunning = HostSystemRemediationStateState("remediationRunning")
  7268  	// Remediation failed.
  7269  	HostSystemRemediationStateStateRemediationFailed = HostSystemRemediationStateState("remediationFailed")
  7270  )
  7271  
  7272  func (e HostSystemRemediationStateState) Values() []HostSystemRemediationStateState {
  7273  	return []HostSystemRemediationStateState{
  7274  		HostSystemRemediationStateStateRemediationReady,
  7275  		HostSystemRemediationStateStatePrecheckRemediationRunning,
  7276  		HostSystemRemediationStateStatePrecheckRemediationComplete,
  7277  		HostSystemRemediationStateStatePrecheckRemediationFailed,
  7278  		HostSystemRemediationStateStateRemediationRunning,
  7279  		HostSystemRemediationStateStateRemediationFailed,
  7280  	}
  7281  }
  7282  
  7283  func (e HostSystemRemediationStateState) Strings() []string {
  7284  	return EnumValuesAsStrings(e.Values())
  7285  }
  7286  
  7287  func init() {
  7288  	t["HostSystemRemediationStateState"] = reflect.TypeOf((*HostSystemRemediationStateState)(nil)).Elem()
  7289  }
  7290  
  7291  type HostTdxInfoTdxState string
  7292  
  7293  const (
  7294  	HostTdxInfoTdxStateInitializing = HostTdxInfoTdxState("initializing")
  7295  	HostTdxInfoTdxStateInitialized  = HostTdxInfoTdxState("initialized")
  7296  	HostTdxInfoTdxStateConfigured   = HostTdxInfoTdxState("configured")
  7297  	HostTdxInfoTdxStateReady        = HostTdxInfoTdxState("ready")
  7298  )
  7299  
  7300  func (e HostTdxInfoTdxState) Values() []HostTdxInfoTdxState {
  7301  	return []HostTdxInfoTdxState{
  7302  		HostTdxInfoTdxStateInitializing,
  7303  		HostTdxInfoTdxStateInitialized,
  7304  		HostTdxInfoTdxStateConfigured,
  7305  		HostTdxInfoTdxStateReady,
  7306  	}
  7307  }
  7308  
  7309  func (e HostTdxInfoTdxState) Strings() []string {
  7310  	return EnumValuesAsStrings(e.Values())
  7311  }
  7312  
  7313  func init() {
  7314  	t["HostTdxInfoTdxState"] = reflect.TypeOf((*HostTdxInfoTdxState)(nil)).Elem()
  7315  	minAPIVersionForType["HostTdxInfoTdxState"] = "9.0.0.0"
  7316  }
  7317  
  7318  // Status constants of TPM attestation.
  7319  type HostTpmAttestationInfoAcceptanceStatus string
  7320  
  7321  const (
  7322  	// TPM attestation failed.
  7323  	HostTpmAttestationInfoAcceptanceStatusNotAccepted = HostTpmAttestationInfoAcceptanceStatus("notAccepted")
  7324  	// TPM attestation succeeded.
  7325  	HostTpmAttestationInfoAcceptanceStatusAccepted = HostTpmAttestationInfoAcceptanceStatus("accepted")
  7326  )
  7327  
  7328  func (e HostTpmAttestationInfoAcceptanceStatus) Values() []HostTpmAttestationInfoAcceptanceStatus {
  7329  	return []HostTpmAttestationInfoAcceptanceStatus{
  7330  		HostTpmAttestationInfoAcceptanceStatusNotAccepted,
  7331  		HostTpmAttestationInfoAcceptanceStatusAccepted,
  7332  	}
  7333  }
  7334  
  7335  func (e HostTpmAttestationInfoAcceptanceStatus) Strings() []string {
  7336  	return EnumValuesAsStrings(e.Values())
  7337  }
  7338  
  7339  func init() {
  7340  	t["HostTpmAttestationInfoAcceptanceStatus"] = reflect.TypeOf((*HostTpmAttestationInfoAcceptanceStatus)(nil)).Elem()
  7341  }
  7342  
  7343  type HostTrustAuthorityAttestationInfoAttestationStatus string
  7344  
  7345  const (
  7346  	// Attestation succeeded.
  7347  	HostTrustAuthorityAttestationInfoAttestationStatusAttested = HostTrustAuthorityAttestationInfoAttestationStatus("attested")
  7348  	// Attestation failed.
  7349  	HostTrustAuthorityAttestationInfoAttestationStatusNotAttested = HostTrustAuthorityAttestationInfoAttestationStatus("notAttested")
  7350  	// Attestation status is unknown.
  7351  	HostTrustAuthorityAttestationInfoAttestationStatusUnknown = HostTrustAuthorityAttestationInfoAttestationStatus("unknown")
  7352  )
  7353  
  7354  func (e HostTrustAuthorityAttestationInfoAttestationStatus) Values() []HostTrustAuthorityAttestationInfoAttestationStatus {
  7355  	return []HostTrustAuthorityAttestationInfoAttestationStatus{
  7356  		HostTrustAuthorityAttestationInfoAttestationStatusAttested,
  7357  		HostTrustAuthorityAttestationInfoAttestationStatusNotAttested,
  7358  		HostTrustAuthorityAttestationInfoAttestationStatusUnknown,
  7359  	}
  7360  }
  7361  
  7362  func (e HostTrustAuthorityAttestationInfoAttestationStatus) Strings() []string {
  7363  	return EnumValuesAsStrings(e.Values())
  7364  }
  7365  
  7366  func init() {
  7367  	t["HostTrustAuthorityAttestationInfoAttestationStatus"] = reflect.TypeOf((*HostTrustAuthorityAttestationInfoAttestationStatus)(nil)).Elem()
  7368  	minAPIVersionForType["HostTrustAuthorityAttestationInfoAttestationStatus"] = "7.0.1.0"
  7369  }
  7370  
  7371  // Reasons for identifying the disk extent
  7372  // as copy of VMFS volume extent.
  7373  type HostUnresolvedVmfsExtentUnresolvedReason string
  7374  
  7375  const (
  7376  	// The VMFS detected 'diskid' does not match with
  7377  	// LVM detected 'diskId'
  7378  	HostUnresolvedVmfsExtentUnresolvedReasonDiskIdMismatch = HostUnresolvedVmfsExtentUnresolvedReason("diskIdMismatch")
  7379  	// VMFS 'uuid' does not match
  7380  	HostUnresolvedVmfsExtentUnresolvedReasonUuidConflict = HostUnresolvedVmfsExtentUnresolvedReason("uuidConflict")
  7381  )
  7382  
  7383  func (e HostUnresolvedVmfsExtentUnresolvedReason) Values() []HostUnresolvedVmfsExtentUnresolvedReason {
  7384  	return []HostUnresolvedVmfsExtentUnresolvedReason{
  7385  		HostUnresolvedVmfsExtentUnresolvedReasonDiskIdMismatch,
  7386  		HostUnresolvedVmfsExtentUnresolvedReasonUuidConflict,
  7387  	}
  7388  }
  7389  
  7390  func (e HostUnresolvedVmfsExtentUnresolvedReason) Strings() []string {
  7391  	return EnumValuesAsStrings(e.Values())
  7392  }
  7393  
  7394  func init() {
  7395  	t["HostUnresolvedVmfsExtentUnresolvedReason"] = reflect.TypeOf((*HostUnresolvedVmfsExtentUnresolvedReason)(nil)).Elem()
  7396  }
  7397  
  7398  type HostUnresolvedVmfsResolutionSpecVmfsUuidResolution string
  7399  
  7400  const (
  7401  	// Resignature the Unresolved VMFS volume.
  7402  	//
  7403  	// In the event the volume to be resignatured contains multiple
  7404  	// extents but only a single copy of each extent exists, only the
  7405  	// head extent needs to be specified.
  7406  	HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionResignature = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("resignature")
  7407  	// Keep the original Uuid of the VMFS volume and mount it
  7408  	//
  7409  	// In the event the volume to be force mounted contains multiple
  7410  	// extents but only a single copy of each extent exists, only the
  7411  	// head extent needs to be specified.
  7412  	HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionForceMount = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("forceMount")
  7413  )
  7414  
  7415  func (e HostUnresolvedVmfsResolutionSpecVmfsUuidResolution) Values() []HostUnresolvedVmfsResolutionSpecVmfsUuidResolution {
  7416  	return []HostUnresolvedVmfsResolutionSpecVmfsUuidResolution{
  7417  		HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionResignature,
  7418  		HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionForceMount,
  7419  	}
  7420  }
  7421  
  7422  func (e HostUnresolvedVmfsResolutionSpecVmfsUuidResolution) Strings() []string {
  7423  	return EnumValuesAsStrings(e.Values())
  7424  }
  7425  
  7426  func init() {
  7427  	t["HostUnresolvedVmfsResolutionSpecVmfsUuidResolution"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpecVmfsUuidResolution)(nil)).Elem()
  7428  }
  7429  
  7430  type HostVirtualNicManagerNicType string
  7431  
  7432  const (
  7433  	// The VirtualNic is used for VMotion.
  7434  	HostVirtualNicManagerNicTypeVmotion = HostVirtualNicManagerNicType("vmotion")
  7435  	// The VirtualNic is used for Fault Tolerance logging.
  7436  	HostVirtualNicManagerNicTypeFaultToleranceLogging = HostVirtualNicManagerNicType("faultToleranceLogging")
  7437  	// The VirtualNic is used for vSphere Replication LWD traffic
  7438  	// (i.e From the primary host to the VR server).
  7439  	HostVirtualNicManagerNicTypeVSphereReplication = HostVirtualNicManagerNicType("vSphereReplication")
  7440  	// The VirtualNic is used for vSphere Replication NFC traffic (i.e.
  7441  	//
  7442  	// From
  7443  	// the VR server to the secondary host).
  7444  	HostVirtualNicManagerNicTypeVSphereReplicationNFC = HostVirtualNicManagerNicType("vSphereReplicationNFC")
  7445  	// The VirtualNic is used for management network traffic .
  7446  	//
  7447  	// This nicType is available only when the system does not
  7448  	// support service console adapters.
  7449  	//
  7450  	// See also `HostNetCapabilities.usesServiceConsoleNic`.
  7451  	HostVirtualNicManagerNicTypeManagement = HostVirtualNicManagerNicType("management")
  7452  	// The VirtualNic is used for Virtual SAN data traffic.
  7453  	//
  7454  	// To enable or disable a VirtualNic for VSAN networking,
  7455  	// use `HostVsanSystem.UpdateVsan_Task`.
  7456  	//
  7457  	// See also `HostVsanSystem`, `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
  7458  	HostVirtualNicManagerNicTypeVsan = HostVirtualNicManagerNicType("vsan")
  7459  	// The VirtualNic is used for vSphere provisioning NFC traffic
  7460  	// (i.e.
  7461  	//
  7462  	// the NFC traffic between ESX hosts as a part of a VC initiated
  7463  	// provisioning operations like cold-migrations, clones, snapshot and
  7464  	// cold data in hot migration).
  7465  	HostVirtualNicManagerNicTypeVSphereProvisioning = HostVirtualNicManagerNicType("vSphereProvisioning")
  7466  	// The VirtualNic is used for Virtual SAN witness traffic.
  7467  	//
  7468  	// Witness traffic vmknic is required for Virtual SAN stretched cluster,
  7469  	// to help on communication between Virtual SAN data node and witness
  7470  	// node.
  7471  	// To enable or disable a VirtualNic for Virtual SAN networking,
  7472  	// use `HostVsanSystem.UpdateVsan_Task`.
  7473  	//
  7474  	// See also `HostVsanSystem`, `HostVsanSystem.UpdateVsan_Task`.
  7475  	HostVirtualNicManagerNicTypeVsanWitness = HostVirtualNicManagerNicType("vsanWitness")
  7476  	// The VirtualNic is used for vSphere backup NFC traffic
  7477  	// (i.e.
  7478  	//
  7479  	// the NFC traffic between backup appliance and ESX hosts).
  7480  	HostVirtualNicManagerNicTypeVSphereBackupNFC = HostVirtualNicManagerNicType("vSphereBackupNFC")
  7481  	// The VirtualNic is used for Precision Time Protocol (PTP).
  7482  	HostVirtualNicManagerNicTypePtp = HostVirtualNicManagerNicType("ptp")
  7483  	// The VirtualNic is used for NVMe over TCP traffic.
  7484  	HostVirtualNicManagerNicTypeNvmeTcp = HostVirtualNicManagerNicType("nvmeTcp")
  7485  	// The VirtualNic is used for NVMe over RDMA traffic.
  7486  	HostVirtualNicManagerNicTypeNvmeRdma = HostVirtualNicManagerNicType("nvmeRdma")
  7487  	// The VirtualNic is used for external vSAN traffic.
  7488  	HostVirtualNicManagerNicTypeVsanExternal = HostVirtualNicManagerNicType("vsanExternal")
  7489  )
  7490  
  7491  func (e HostVirtualNicManagerNicType) Values() []HostVirtualNicManagerNicType {
  7492  	return []HostVirtualNicManagerNicType{
  7493  		HostVirtualNicManagerNicTypeVmotion,
  7494  		HostVirtualNicManagerNicTypeFaultToleranceLogging,
  7495  		HostVirtualNicManagerNicTypeVSphereReplication,
  7496  		HostVirtualNicManagerNicTypeVSphereReplicationNFC,
  7497  		HostVirtualNicManagerNicTypeManagement,
  7498  		HostVirtualNicManagerNicTypeVsan,
  7499  		HostVirtualNicManagerNicTypeVSphereProvisioning,
  7500  		HostVirtualNicManagerNicTypeVsanWitness,
  7501  		HostVirtualNicManagerNicTypeVSphereBackupNFC,
  7502  		HostVirtualNicManagerNicTypePtp,
  7503  		HostVirtualNicManagerNicTypeNvmeTcp,
  7504  		HostVirtualNicManagerNicTypeNvmeRdma,
  7505  		HostVirtualNicManagerNicTypeVsanExternal,
  7506  	}
  7507  }
  7508  
  7509  func (e HostVirtualNicManagerNicType) Strings() []string {
  7510  	return EnumValuesAsStrings(e.Values())
  7511  }
  7512  
  7513  func init() {
  7514  	t["HostVirtualNicManagerNicType"] = reflect.TypeOf((*HostVirtualNicManagerNicType)(nil)).Elem()
  7515  	minAPIVersionForEnumValue["HostVirtualNicManagerNicType"] = map[string]string{
  7516  		"nvmeTcp":      "7.0.3.0",
  7517  		"nvmeRdma":     "7.0.3.0",
  7518  		"vsanExternal": "9.0.0.0",
  7519  	}
  7520  }
  7521  
  7522  // Set of possible values for mode field in AccessSpec.
  7523  type HostVmciAccessManagerMode string
  7524  
  7525  const (
  7526  	// Grant access to specified services in addition to existing services.
  7527  	HostVmciAccessManagerModeGrant = HostVmciAccessManagerMode("grant")
  7528  	// Replace existing services with specified services.
  7529  	HostVmciAccessManagerModeReplace = HostVmciAccessManagerMode("replace")
  7530  	// Revoke the specified services.
  7531  	HostVmciAccessManagerModeRevoke = HostVmciAccessManagerMode("revoke")
  7532  )
  7533  
  7534  func (e HostVmciAccessManagerMode) Values() []HostVmciAccessManagerMode {
  7535  	return []HostVmciAccessManagerMode{
  7536  		HostVmciAccessManagerModeGrant,
  7537  		HostVmciAccessManagerModeReplace,
  7538  		HostVmciAccessManagerModeRevoke,
  7539  	}
  7540  }
  7541  
  7542  func (e HostVmciAccessManagerMode) Strings() []string {
  7543  	return EnumValuesAsStrings(e.Values())
  7544  }
  7545  
  7546  func init() {
  7547  	t["HostVmciAccessManagerMode"] = reflect.TypeOf((*HostVmciAccessManagerMode)(nil)).Elem()
  7548  }
  7549  
  7550  // VMFS unmap bandwidth policy.
  7551  //
  7552  // VMFS unmap reclaims unused storage space.
  7553  // This specifies the bandwidth policy option of unmaps.
  7554  type HostVmfsVolumeUnmapBandwidthPolicy string
  7555  
  7556  const (
  7557  	// Unmap bandwidth is a fixed value.
  7558  	HostVmfsVolumeUnmapBandwidthPolicyFixed = HostVmfsVolumeUnmapBandwidthPolicy("fixed")
  7559  	// Unmaps bandwidth is a dynamic value with lower and upper limits
  7560  	HostVmfsVolumeUnmapBandwidthPolicyDynamic = HostVmfsVolumeUnmapBandwidthPolicy("dynamic")
  7561  )
  7562  
  7563  func (e HostVmfsVolumeUnmapBandwidthPolicy) Values() []HostVmfsVolumeUnmapBandwidthPolicy {
  7564  	return []HostVmfsVolumeUnmapBandwidthPolicy{
  7565  		HostVmfsVolumeUnmapBandwidthPolicyFixed,
  7566  		HostVmfsVolumeUnmapBandwidthPolicyDynamic,
  7567  	}
  7568  }
  7569  
  7570  func (e HostVmfsVolumeUnmapBandwidthPolicy) Strings() []string {
  7571  	return EnumValuesAsStrings(e.Values())
  7572  }
  7573  
  7574  func init() {
  7575  	t["HostVmfsVolumeUnmapBandwidthPolicy"] = reflect.TypeOf((*HostVmfsVolumeUnmapBandwidthPolicy)(nil)).Elem()
  7576  }
  7577  
  7578  // VMFS unmap priority.
  7579  //
  7580  // VMFS unmap reclaims unused storage space.
  7581  // This specifies the processing rate of unmaps.
  7582  type HostVmfsVolumeUnmapPriority string
  7583  
  7584  const (
  7585  	// Unmap is disabled.
  7586  	HostVmfsVolumeUnmapPriorityNone = HostVmfsVolumeUnmapPriority("none")
  7587  	// Unmaps are processed at low rate.
  7588  	HostVmfsVolumeUnmapPriorityLow = HostVmfsVolumeUnmapPriority("low")
  7589  )
  7590  
  7591  func (e HostVmfsVolumeUnmapPriority) Values() []HostVmfsVolumeUnmapPriority {
  7592  	return []HostVmfsVolumeUnmapPriority{
  7593  		HostVmfsVolumeUnmapPriorityNone,
  7594  		HostVmfsVolumeUnmapPriorityLow,
  7595  	}
  7596  }
  7597  
  7598  func (e HostVmfsVolumeUnmapPriority) Strings() []string {
  7599  	return EnumValuesAsStrings(e.Values())
  7600  }
  7601  
  7602  func init() {
  7603  	t["HostVmfsVolumeUnmapPriority"] = reflect.TypeOf((*HostVmfsVolumeUnmapPriority)(nil)).Elem()
  7604  }
  7605  
  7606  // List of supported algorithms for checksum calculation.
  7607  type HttpNfcLeaseManifestEntryChecksumType string
  7608  
  7609  const (
  7610  	HttpNfcLeaseManifestEntryChecksumTypeSha1   = HttpNfcLeaseManifestEntryChecksumType("sha1")
  7611  	HttpNfcLeaseManifestEntryChecksumTypeSha256 = HttpNfcLeaseManifestEntryChecksumType("sha256")
  7612  )
  7613  
  7614  func (e HttpNfcLeaseManifestEntryChecksumType) Values() []HttpNfcLeaseManifestEntryChecksumType {
  7615  	return []HttpNfcLeaseManifestEntryChecksumType{
  7616  		HttpNfcLeaseManifestEntryChecksumTypeSha1,
  7617  		HttpNfcLeaseManifestEntryChecksumTypeSha256,
  7618  	}
  7619  }
  7620  
  7621  func (e HttpNfcLeaseManifestEntryChecksumType) Strings() []string {
  7622  	return EnumValuesAsStrings(e.Values())
  7623  }
  7624  
  7625  func init() {
  7626  	t["HttpNfcLeaseManifestEntryChecksumType"] = reflect.TypeOf((*HttpNfcLeaseManifestEntryChecksumType)(nil)).Elem()
  7627  }
  7628  
  7629  // List of supported modes by HttpNfcLease
  7630  type HttpNfcLeaseMode string
  7631  
  7632  const (
  7633  	// Client pushes or downloads individual files from/to
  7634  	// each host/url provided by this lease in `HttpNfcLease.info`
  7635  	HttpNfcLeaseModePushOrGet = HttpNfcLeaseMode("pushOrGet")
  7636  	// Mode where hosts itself pull files from source URLs.
  7637  	//
  7638  	// See `HttpNfcLease.HttpNfcLeasePullFromUrls_Task`
  7639  	HttpNfcLeaseModePull = HttpNfcLeaseMode("pull")
  7640  )
  7641  
  7642  func (e HttpNfcLeaseMode) Values() []HttpNfcLeaseMode {
  7643  	return []HttpNfcLeaseMode{
  7644  		HttpNfcLeaseModePushOrGet,
  7645  		HttpNfcLeaseModePull,
  7646  	}
  7647  }
  7648  
  7649  func (e HttpNfcLeaseMode) Strings() []string {
  7650  	return EnumValuesAsStrings(e.Values())
  7651  }
  7652  
  7653  func init() {
  7654  	t["HttpNfcLeaseMode"] = reflect.TypeOf((*HttpNfcLeaseMode)(nil)).Elem()
  7655  }
  7656  
  7657  // List of possible states of a lease.
  7658  type HttpNfcLeaseState string
  7659  
  7660  const (
  7661  	// When the lease is being initialized.
  7662  	HttpNfcLeaseStateInitializing = HttpNfcLeaseState("initializing")
  7663  	// When the lease is ready and disks may be transferred.
  7664  	HttpNfcLeaseStateReady = HttpNfcLeaseState("ready")
  7665  	// When the import/export session is completed, and the lease
  7666  	// is no longer held.
  7667  	HttpNfcLeaseStateDone = HttpNfcLeaseState("done")
  7668  	// When an error has occurred.
  7669  	HttpNfcLeaseStateError = HttpNfcLeaseState("error")
  7670  )
  7671  
  7672  func (e HttpNfcLeaseState) Values() []HttpNfcLeaseState {
  7673  	return []HttpNfcLeaseState{
  7674  		HttpNfcLeaseStateInitializing,
  7675  		HttpNfcLeaseStateReady,
  7676  		HttpNfcLeaseStateDone,
  7677  		HttpNfcLeaseStateError,
  7678  	}
  7679  }
  7680  
  7681  func (e HttpNfcLeaseState) Strings() []string {
  7682  	return EnumValuesAsStrings(e.Values())
  7683  }
  7684  
  7685  func init() {
  7686  	t["HttpNfcLeaseState"] = reflect.TypeOf((*HttpNfcLeaseState)(nil)).Elem()
  7687  }
  7688  
  7689  type IncompatibleHostForVmReplicationIncompatibleReason string
  7690  
  7691  const (
  7692  	// Host does not support the RPO configured for VM replication.
  7693  	IncompatibleHostForVmReplicationIncompatibleReasonRpo = IncompatibleHostForVmReplicationIncompatibleReason("rpo")
  7694  	// Host does not support network compression configured for VM
  7695  	// replication.
  7696  	IncompatibleHostForVmReplicationIncompatibleReasonNetCompression = IncompatibleHostForVmReplicationIncompatibleReason("netCompression")
  7697  )
  7698  
  7699  func (e IncompatibleHostForVmReplicationIncompatibleReason) Values() []IncompatibleHostForVmReplicationIncompatibleReason {
  7700  	return []IncompatibleHostForVmReplicationIncompatibleReason{
  7701  		IncompatibleHostForVmReplicationIncompatibleReasonRpo,
  7702  		IncompatibleHostForVmReplicationIncompatibleReasonNetCompression,
  7703  	}
  7704  }
  7705  
  7706  func (e IncompatibleHostForVmReplicationIncompatibleReason) Strings() []string {
  7707  	return EnumValuesAsStrings(e.Values())
  7708  }
  7709  
  7710  func init() {
  7711  	t["IncompatibleHostForVmReplicationIncompatibleReason"] = reflect.TypeOf((*IncompatibleHostForVmReplicationIncompatibleReason)(nil)).Elem()
  7712  }
  7713  
  7714  // The available iSNS discovery methods.
  7715  type InternetScsiSnsDiscoveryMethod string
  7716  
  7717  const (
  7718  	InternetScsiSnsDiscoveryMethodIsnsStatic = InternetScsiSnsDiscoveryMethod("isnsStatic")
  7719  	InternetScsiSnsDiscoveryMethodIsnsDhcp   = InternetScsiSnsDiscoveryMethod("isnsDhcp")
  7720  	InternetScsiSnsDiscoveryMethodIsnsSlp    = InternetScsiSnsDiscoveryMethod("isnsSlp")
  7721  )
  7722  
  7723  func (e InternetScsiSnsDiscoveryMethod) Values() []InternetScsiSnsDiscoveryMethod {
  7724  	return []InternetScsiSnsDiscoveryMethod{
  7725  		InternetScsiSnsDiscoveryMethodIsnsStatic,
  7726  		InternetScsiSnsDiscoveryMethodIsnsDhcp,
  7727  		InternetScsiSnsDiscoveryMethodIsnsSlp,
  7728  	}
  7729  }
  7730  
  7731  func (e InternetScsiSnsDiscoveryMethod) Strings() []string {
  7732  	return EnumValuesAsStrings(e.Values())
  7733  }
  7734  
  7735  func init() {
  7736  	t["InternetScsiSnsDiscoveryMethod"] = reflect.TypeOf((*InternetScsiSnsDiscoveryMethod)(nil)).Elem()
  7737  }
  7738  
  7739  type InvalidDasConfigArgumentEntryForInvalidArgument string
  7740  
  7741  const (
  7742  	// Policies for admission control
  7743  	InvalidDasConfigArgumentEntryForInvalidArgumentAdmissionControl = InvalidDasConfigArgumentEntryForInvalidArgument("admissionControl")
  7744  	// User-specified heartbeat datastores
  7745  	InvalidDasConfigArgumentEntryForInvalidArgumentUserHeartbeatDs = InvalidDasConfigArgumentEntryForInvalidArgument("userHeartbeatDs")
  7746  	// VM override
  7747  	InvalidDasConfigArgumentEntryForInvalidArgumentVmConfig = InvalidDasConfigArgumentEntryForInvalidArgument("vmConfig")
  7748  )
  7749  
  7750  func (e InvalidDasConfigArgumentEntryForInvalidArgument) Values() []InvalidDasConfigArgumentEntryForInvalidArgument {
  7751  	return []InvalidDasConfigArgumentEntryForInvalidArgument{
  7752  		InvalidDasConfigArgumentEntryForInvalidArgumentAdmissionControl,
  7753  		InvalidDasConfigArgumentEntryForInvalidArgumentUserHeartbeatDs,
  7754  		InvalidDasConfigArgumentEntryForInvalidArgumentVmConfig,
  7755  	}
  7756  }
  7757  
  7758  func (e InvalidDasConfigArgumentEntryForInvalidArgument) Strings() []string {
  7759  	return EnumValuesAsStrings(e.Values())
  7760  }
  7761  
  7762  func init() {
  7763  	t["InvalidDasConfigArgumentEntryForInvalidArgument"] = reflect.TypeOf((*InvalidDasConfigArgumentEntryForInvalidArgument)(nil)).Elem()
  7764  }
  7765  
  7766  type InvalidProfileReferenceHostReason string
  7767  
  7768  const (
  7769  	// The associated host and profile version are incompatible.
  7770  	InvalidProfileReferenceHostReasonIncompatibleVersion = InvalidProfileReferenceHostReason("incompatibleVersion")
  7771  	// There is no reference host associated with the profile.
  7772  	InvalidProfileReferenceHostReasonMissingReferenceHost = InvalidProfileReferenceHostReason("missingReferenceHost")
  7773  )
  7774  
  7775  func (e InvalidProfileReferenceHostReason) Values() []InvalidProfileReferenceHostReason {
  7776  	return []InvalidProfileReferenceHostReason{
  7777  		InvalidProfileReferenceHostReasonIncompatibleVersion,
  7778  		InvalidProfileReferenceHostReasonMissingReferenceHost,
  7779  	}
  7780  }
  7781  
  7782  func (e InvalidProfileReferenceHostReason) Strings() []string {
  7783  	return EnumValuesAsStrings(e.Values())
  7784  }
  7785  
  7786  func init() {
  7787  	t["InvalidProfileReferenceHostReason"] = reflect.TypeOf((*InvalidProfileReferenceHostReason)(nil)).Elem()
  7788  }
  7789  
  7790  // Defines the type of operation for an IO Filter.
  7791  type IoFilterOperation string
  7792  
  7793  const (
  7794  	// Install an IO Filter.
  7795  	IoFilterOperationInstall = IoFilterOperation("install")
  7796  	// Uninstall an IO Filter.
  7797  	IoFilterOperationUninstall = IoFilterOperation("uninstall")
  7798  	// Upgrade an IO Filter.
  7799  	IoFilterOperationUpgrade = IoFilterOperation("upgrade")
  7800  )
  7801  
  7802  func (e IoFilterOperation) Values() []IoFilterOperation {
  7803  	return []IoFilterOperation{
  7804  		IoFilterOperationInstall,
  7805  		IoFilterOperationUninstall,
  7806  		IoFilterOperationUpgrade,
  7807  	}
  7808  }
  7809  
  7810  func (e IoFilterOperation) Strings() []string {
  7811  	return EnumValuesAsStrings(e.Values())
  7812  }
  7813  
  7814  func init() {
  7815  	t["IoFilterOperation"] = reflect.TypeOf((*IoFilterOperation)(nil)).Elem()
  7816  }
  7817  
  7818  // Defines the type of an IO Filter.
  7819  type IoFilterType string
  7820  
  7821  const (
  7822  	// Cache.
  7823  	IoFilterTypeCache = IoFilterType("cache")
  7824  	// Replication.
  7825  	IoFilterTypeReplication = IoFilterType("replication")
  7826  	// Encryption.
  7827  	IoFilterTypeEncryption = IoFilterType("encryption")
  7828  	// Compression.
  7829  	IoFilterTypeCompression = IoFilterType("compression")
  7830  	// Inspection.
  7831  	IoFilterTypeInspection = IoFilterType("inspection")
  7832  	// Datastore I/O Control.
  7833  	IoFilterTypeDatastoreIoControl = IoFilterType("datastoreIoControl")
  7834  	// Data Provider.
  7835  	IoFilterTypeDataProvider = IoFilterType("dataProvider")
  7836  	// Lightweight Data Capture.
  7837  	IoFilterTypeDataCapture = IoFilterType("dataCapture")
  7838  )
  7839  
  7840  func (e IoFilterType) Values() []IoFilterType {
  7841  	return []IoFilterType{
  7842  		IoFilterTypeCache,
  7843  		IoFilterTypeReplication,
  7844  		IoFilterTypeEncryption,
  7845  		IoFilterTypeCompression,
  7846  		IoFilterTypeInspection,
  7847  		IoFilterTypeDatastoreIoControl,
  7848  		IoFilterTypeDataProvider,
  7849  		IoFilterTypeDataCapture,
  7850  	}
  7851  }
  7852  
  7853  func (e IoFilterType) Strings() []string {
  7854  	return EnumValuesAsStrings(e.Values())
  7855  }
  7856  
  7857  func init() {
  7858  	t["IoFilterType"] = reflect.TypeOf((*IoFilterType)(nil)).Elem()
  7859  	minAPIVersionForEnumValue["IoFilterType"] = map[string]string{
  7860  		"dataCapture": "7.0.2.1",
  7861  	}
  7862  }
  7863  
  7864  type IscsiPortInfoPathStatus string
  7865  
  7866  const (
  7867  	// There are no paths on this Virtual NIC
  7868  	IscsiPortInfoPathStatusNotUsed = IscsiPortInfoPathStatus("notUsed")
  7869  	// All paths on this Virtual NIC are standby paths from SCSI stack
  7870  	// perspective.
  7871  	IscsiPortInfoPathStatusActive = IscsiPortInfoPathStatus("active")
  7872  	// One or more paths on the Virtual NIC are active paths to
  7873  	// storage.
  7874  	//
  7875  	// Unbinding this Virtual NIC will cause storage path
  7876  	// transitions.
  7877  	IscsiPortInfoPathStatusStandBy = IscsiPortInfoPathStatus("standBy")
  7878  	// One or more paths on the Virtual NIC is the last active
  7879  	// path to a particular storage device.
  7880  	IscsiPortInfoPathStatusLastActive = IscsiPortInfoPathStatus("lastActive")
  7881  )
  7882  
  7883  func (e IscsiPortInfoPathStatus) Values() []IscsiPortInfoPathStatus {
  7884  	return []IscsiPortInfoPathStatus{
  7885  		IscsiPortInfoPathStatusNotUsed,
  7886  		IscsiPortInfoPathStatusActive,
  7887  		IscsiPortInfoPathStatusStandBy,
  7888  		IscsiPortInfoPathStatusLastActive,
  7889  	}
  7890  }
  7891  
  7892  func (e IscsiPortInfoPathStatus) Strings() []string {
  7893  	return EnumValuesAsStrings(e.Values())
  7894  }
  7895  
  7896  func init() {
  7897  	t["IscsiPortInfoPathStatus"] = reflect.TypeOf((*IscsiPortInfoPathStatus)(nil)).Elem()
  7898  }
  7899  
  7900  type KmipClusterInfoKeyType string
  7901  
  7902  const (
  7903  	// Key is fetched directly from KMS.
  7904  	KmipClusterInfoKeyTypeRawKey = KmipClusterInfoKeyType("rawKey")
  7905  	// Key is wrapped by a wrapping key from KMS.
  7906  	//
  7907  	// The wrapping key details are specified in
  7908  	// `KmipClusterInfoWrappingKeyIdKeyInfo`
  7909  	// or
  7910  	// `KmipClusterInfoWrappingRotationIntervalKeyInfo`.
  7911  	KmipClusterInfoKeyTypeWrappedKey = KmipClusterInfoKeyType("wrappedKey")
  7912  )
  7913  
  7914  func (e KmipClusterInfoKeyType) Values() []KmipClusterInfoKeyType {
  7915  	return []KmipClusterInfoKeyType{
  7916  		KmipClusterInfoKeyTypeRawKey,
  7917  		KmipClusterInfoKeyTypeWrappedKey,
  7918  	}
  7919  }
  7920  
  7921  func (e KmipClusterInfoKeyType) Strings() []string {
  7922  	return EnumValuesAsStrings(e.Values())
  7923  }
  7924  
  7925  func init() {
  7926  	t["KmipClusterInfoKeyType"] = reflect.TypeOf((*KmipClusterInfoKeyType)(nil)).Elem()
  7927  	minAPIVersionForType["KmipClusterInfoKeyType"] = "9.0.0.0"
  7928  }
  7929  
  7930  // Key provider management type.
  7931  type KmipClusterInfoKmsManagementType string
  7932  
  7933  const (
  7934  	KmipClusterInfoKmsManagementTypeUnknown        = KmipClusterInfoKmsManagementType("unknown")
  7935  	KmipClusterInfoKmsManagementTypeVCenter        = KmipClusterInfoKmsManagementType("vCenter")
  7936  	KmipClusterInfoKmsManagementTypeTrustAuthority = KmipClusterInfoKmsManagementType("trustAuthority")
  7937  	// `**Since:**` vSphere API Release 7.0.2.0
  7938  	KmipClusterInfoKmsManagementTypeNativeProvider = KmipClusterInfoKmsManagementType("nativeProvider")
  7939  )
  7940  
  7941  func (e KmipClusterInfoKmsManagementType) Values() []KmipClusterInfoKmsManagementType {
  7942  	return []KmipClusterInfoKmsManagementType{
  7943  		KmipClusterInfoKmsManagementTypeUnknown,
  7944  		KmipClusterInfoKmsManagementTypeVCenter,
  7945  		KmipClusterInfoKmsManagementTypeTrustAuthority,
  7946  		KmipClusterInfoKmsManagementTypeNativeProvider,
  7947  	}
  7948  }
  7949  
  7950  func (e KmipClusterInfoKmsManagementType) Strings() []string {
  7951  	return EnumValuesAsStrings(e.Values())
  7952  }
  7953  
  7954  func init() {
  7955  	t["KmipClusterInfoKmsManagementType"] = reflect.TypeOf((*KmipClusterInfoKmsManagementType)(nil)).Elem()
  7956  	minAPIVersionForEnumValue["KmipClusterInfoKmsManagementType"] = map[string]string{
  7957  		"nativeProvider": "7.0.2.0",
  7958  	}
  7959  }
  7960  
  7961  // Enumeration of the nominal latency-sensitive values which can be
  7962  // used to specify the latency-sensitivity level of the application.
  7963  //
  7964  // In terms of latency-sensitivity the values relate:
  7965  // high&gt;medium&gt;normal&gt;low.
  7966  type LatencySensitivitySensitivityLevel string
  7967  
  7968  const (
  7969  	// The relative latency-sensitivity low value.
  7970  	LatencySensitivitySensitivityLevelLow = LatencySensitivitySensitivityLevel("low")
  7971  	// The relative latency-sensitivity normal value.
  7972  	//
  7973  	// This is the default latency-sensitivity value.
  7974  	LatencySensitivitySensitivityLevelNormal = LatencySensitivitySensitivityLevel("normal")
  7975  	// The relative latency-sensitivity medium value.
  7976  	LatencySensitivitySensitivityLevelMedium = LatencySensitivitySensitivityLevel("medium")
  7977  	// The relative latency-sensitivity high value.
  7978  	LatencySensitivitySensitivityLevelHigh = LatencySensitivitySensitivityLevel("high")
  7979  	// Deprecated as of vSphere API Ver 6.0. Value will be ignored and
  7980  	// treated as "normal" latency sensitivity.
  7981  	//
  7982  	// The custom absolute latency-sensitivity specified in
  7983  	// `LatencySensitivity.sensitivity` property is used to
  7984  	// define the latency-sensitivity.
  7985  	//
  7986  	// When this value is set to `LatencySensitivity.level` the
  7987  	// `LatencySensitivity.sensitivity` property should be
  7988  	// set also.
  7989  	LatencySensitivitySensitivityLevelCustom = LatencySensitivitySensitivityLevel("custom")
  7990  )
  7991  
  7992  func (e LatencySensitivitySensitivityLevel) Values() []LatencySensitivitySensitivityLevel {
  7993  	return []LatencySensitivitySensitivityLevel{
  7994  		LatencySensitivitySensitivityLevelLow,
  7995  		LatencySensitivitySensitivityLevelNormal,
  7996  		LatencySensitivitySensitivityLevelMedium,
  7997  		LatencySensitivitySensitivityLevelHigh,
  7998  		LatencySensitivitySensitivityLevelCustom,
  7999  	}
  8000  }
  8001  
  8002  func (e LatencySensitivitySensitivityLevel) Strings() []string {
  8003  	return EnumValuesAsStrings(e.Values())
  8004  }
  8005  
  8006  func init() {
  8007  	t["LatencySensitivitySensitivityLevel"] = reflect.TypeOf((*LatencySensitivitySensitivityLevel)(nil)).Elem()
  8008  }
  8009  
  8010  type LicenseAssignmentFailedReason string
  8011  
  8012  const (
  8013  	// The license and the entity to which it is to be assigned are not compatible.
  8014  	LicenseAssignmentFailedReasonKeyEntityMismatch = LicenseAssignmentFailedReason("keyEntityMismatch")
  8015  	// The license downgrade is disallowed because some features are in use.
  8016  	LicenseAssignmentFailedReasonDowngradeDisallowed = LicenseAssignmentFailedReason("downgradeDisallowed")
  8017  	// The inventory has hosts which are not manageable by vCenter unless in evaluation.
  8018  	LicenseAssignmentFailedReasonInventoryNotManageableByVirtualCenter = LicenseAssignmentFailedReason("inventoryNotManageableByVirtualCenter")
  8019  	// The inventory has hosts that need the license server to be configured unless vCenter is in evaluation
  8020  	LicenseAssignmentFailedReasonHostsUnmanageableByVirtualCenterWithoutLicenseServer = LicenseAssignmentFailedReason("hostsUnmanageableByVirtualCenterWithoutLicenseServer")
  8021  )
  8022  
  8023  func (e LicenseAssignmentFailedReason) Values() []LicenseAssignmentFailedReason {
  8024  	return []LicenseAssignmentFailedReason{
  8025  		LicenseAssignmentFailedReasonKeyEntityMismatch,
  8026  		LicenseAssignmentFailedReasonDowngradeDisallowed,
  8027  		LicenseAssignmentFailedReasonInventoryNotManageableByVirtualCenter,
  8028  		LicenseAssignmentFailedReasonHostsUnmanageableByVirtualCenterWithoutLicenseServer,
  8029  	}
  8030  }
  8031  
  8032  func (e LicenseAssignmentFailedReason) Strings() []string {
  8033  	return EnumValuesAsStrings(e.Values())
  8034  }
  8035  
  8036  func init() {
  8037  	t["LicenseAssignmentFailedReason"] = reflect.TypeOf((*LicenseAssignmentFailedReason)(nil)).Elem()
  8038  }
  8039  
  8040  // Some licenses may only be allowed to load from a specified source.
  8041  //
  8042  // This enum indicates what restrictions exist for this license if any.
  8043  type LicenseFeatureInfoSourceRestriction string
  8044  
  8045  const (
  8046  	// The feature does not have a source restriction.
  8047  	LicenseFeatureInfoSourceRestrictionUnrestricted = LicenseFeatureInfoSourceRestriction("unrestricted")
  8048  	// The feature's license can only be served.
  8049  	LicenseFeatureInfoSourceRestrictionServed = LicenseFeatureInfoSourceRestriction("served")
  8050  	// The feature's license can only come from a file.
  8051  	LicenseFeatureInfoSourceRestrictionFile = LicenseFeatureInfoSourceRestriction("file")
  8052  )
  8053  
  8054  func (e LicenseFeatureInfoSourceRestriction) Values() []LicenseFeatureInfoSourceRestriction {
  8055  	return []LicenseFeatureInfoSourceRestriction{
  8056  		LicenseFeatureInfoSourceRestrictionUnrestricted,
  8057  		LicenseFeatureInfoSourceRestrictionServed,
  8058  		LicenseFeatureInfoSourceRestrictionFile,
  8059  	}
  8060  }
  8061  
  8062  func (e LicenseFeatureInfoSourceRestriction) Strings() []string {
  8063  	return EnumValuesAsStrings(e.Values())
  8064  }
  8065  
  8066  func init() {
  8067  	t["LicenseFeatureInfoSourceRestriction"] = reflect.TypeOf((*LicenseFeatureInfoSourceRestriction)(nil)).Elem()
  8068  }
  8069  
  8070  // Describes the state of the feature.
  8071  type LicenseFeatureInfoState string
  8072  
  8073  const (
  8074  	// The current edition license has implicitly enabled this additional feature.
  8075  	LicenseFeatureInfoStateEnabled = LicenseFeatureInfoState("enabled")
  8076  	// The current edition license does not allow this additional feature.
  8077  	LicenseFeatureInfoStateDisabled = LicenseFeatureInfoState("disabled")
  8078  	// The current edition license allows this additional feature.
  8079  	//
  8080  	// The
  8081  	// `LicenseManager.EnableFeature` and `LicenseManager.DisableFeature` methods can be used to enable or disable
  8082  	// this feature.
  8083  	LicenseFeatureInfoStateOptional = LicenseFeatureInfoState("optional")
  8084  )
  8085  
  8086  func (e LicenseFeatureInfoState) Values() []LicenseFeatureInfoState {
  8087  	return []LicenseFeatureInfoState{
  8088  		LicenseFeatureInfoStateEnabled,
  8089  		LicenseFeatureInfoStateDisabled,
  8090  		LicenseFeatureInfoStateOptional,
  8091  	}
  8092  }
  8093  
  8094  func (e LicenseFeatureInfoState) Strings() []string {
  8095  	return EnumValuesAsStrings(e.Values())
  8096  }
  8097  
  8098  func init() {
  8099  	t["LicenseFeatureInfoState"] = reflect.TypeOf((*LicenseFeatureInfoState)(nil)).Elem()
  8100  }
  8101  
  8102  // Cost units apply to licenses for the purpose of determining
  8103  // how many licenses are needed.
  8104  type LicenseFeatureInfoUnit string
  8105  
  8106  const (
  8107  	// One license is acquired per host.
  8108  	LicenseFeatureInfoUnitHost = LicenseFeatureInfoUnit("host")
  8109  	// One license is acquired per CPU core.
  8110  	LicenseFeatureInfoUnitCpuCore = LicenseFeatureInfoUnit("cpuCore")
  8111  	// One license is acquired per CPU package.
  8112  	LicenseFeatureInfoUnitCpuPackage = LicenseFeatureInfoUnit("cpuPackage")
  8113  	// One license is acquired per server.
  8114  	LicenseFeatureInfoUnitServer = LicenseFeatureInfoUnit("server")
  8115  	// One license is acquired per virtual machine.
  8116  	LicenseFeatureInfoUnitVm = LicenseFeatureInfoUnit("vm")
  8117  )
  8118  
  8119  func (e LicenseFeatureInfoUnit) Values() []LicenseFeatureInfoUnit {
  8120  	return []LicenseFeatureInfoUnit{
  8121  		LicenseFeatureInfoUnitHost,
  8122  		LicenseFeatureInfoUnitCpuCore,
  8123  		LicenseFeatureInfoUnitCpuPackage,
  8124  		LicenseFeatureInfoUnitServer,
  8125  		LicenseFeatureInfoUnitVm,
  8126  	}
  8127  }
  8128  
  8129  func (e LicenseFeatureInfoUnit) Strings() []string {
  8130  	return EnumValuesAsStrings(e.Values())
  8131  }
  8132  
  8133  func init() {
  8134  	t["LicenseFeatureInfoUnit"] = reflect.TypeOf((*LicenseFeatureInfoUnit)(nil)).Elem()
  8135  }
  8136  
  8137  // Deprecated as of VI API 2.5, use `LicenseManager.QueryLicenseSourceAvailability`
  8138  // to obtain an array of `LicenseAvailabilityInfo` data
  8139  // objects.
  8140  //
  8141  // Licensed features have unique keys to identify them.
  8142  type LicenseManagerLicenseKey string
  8143  
  8144  const (
  8145  	// The edition license for the ESX Server, Standard edition.
  8146  	//
  8147  	// This is a per
  8148  	// CPU package license.
  8149  	LicenseManagerLicenseKeyEsxFull = LicenseManagerLicenseKey("esxFull")
  8150  	// The edition license for the ESX server, VMTN edition.
  8151  	//
  8152  	// This is a per CPU package
  8153  	// license.
  8154  	LicenseManagerLicenseKeyEsxVmtn = LicenseManagerLicenseKey("esxVmtn")
  8155  	// The edition license for the ESX server, Starter edition.
  8156  	//
  8157  	// This is a per CPU
  8158  	// package license.
  8159  	LicenseManagerLicenseKeyEsxExpress = LicenseManagerLicenseKey("esxExpress")
  8160  	// Enable use of SAN.
  8161  	//
  8162  	// This is a per CPU package license.
  8163  	LicenseManagerLicenseKeySan = LicenseManagerLicenseKey("san")
  8164  	// Enable use of iSCSI.
  8165  	//
  8166  	// This is a per CPU package license.
  8167  	LicenseManagerLicenseKeyIscsi = LicenseManagerLicenseKey("iscsi")
  8168  	// Enable use of NAS.
  8169  	//
  8170  	// This is a per CPU package license.
  8171  	LicenseManagerLicenseKeyNas = LicenseManagerLicenseKey("nas")
  8172  	// Enable up to 4-way VSMP feature.
  8173  	//
  8174  	// This is a per CPU package license.
  8175  	LicenseManagerLicenseKeyVsmp = LicenseManagerLicenseKey("vsmp")
  8176  	// Enable ESX Server consolidated backup feature.
  8177  	//
  8178  	// This is a per CPU package
  8179  	// license.
  8180  	LicenseManagerLicenseKeyBackup = LicenseManagerLicenseKey("backup")
  8181  	// The edition license for a VirtualCenter server, full edition.
  8182  	//
  8183  	// This license
  8184  	// is independent of the number of CPU packages for the VirtualCenter host.
  8185  	LicenseManagerLicenseKeyVc = LicenseManagerLicenseKey("vc")
  8186  	// The edition license for a VirtualCenter server, starter edition.
  8187  	//
  8188  	// This license
  8189  	// limits the number of hosts (esxHost or serverHost) that can be managed by the
  8190  	// VirtualCenter product.
  8191  	LicenseManagerLicenseKeyVcExpress = LicenseManagerLicenseKey("vcExpress")
  8192  	// Enable VirtualCenter ESX Server host management functionality.
  8193  	//
  8194  	// This is a per
  8195  	// ESX server CPU package license.
  8196  	LicenseManagerLicenseKeyEsxHost = LicenseManagerLicenseKey("esxHost")
  8197  	// Enable VirtualCenter GSX Server host management functionality.
  8198  	//
  8199  	// This is a per
  8200  	// GSX server CPU package license.
  8201  	LicenseManagerLicenseKeyGsxHost = LicenseManagerLicenseKey("gsxHost")
  8202  	// Enable VirtualCenter VMware server host management functionality.
  8203  	//
  8204  	// This is a per
  8205  	// VMware server CPU package license.
  8206  	LicenseManagerLicenseKeyServerHost = LicenseManagerLicenseKey("serverHost")
  8207  	// Enable VirtualCenter DRS Power Management Functionality.
  8208  	//
  8209  	// This is a per CPU package
  8210  	LicenseManagerLicenseKeyDrsPower = LicenseManagerLicenseKey("drsPower")
  8211  	// Enable VMotion.
  8212  	//
  8213  	// This is a per ESX server CPU package license.
  8214  	LicenseManagerLicenseKeyVmotion = LicenseManagerLicenseKey("vmotion")
  8215  	// Enable VirtualCenter Distributed Resource Scheduler.
  8216  	//
  8217  	// This is a per ESX server
  8218  	// CPU package license.
  8219  	LicenseManagerLicenseKeyDrs = LicenseManagerLicenseKey("drs")
  8220  	// Enable VirtualCenter HA.
  8221  	//
  8222  	// This is a per ESX server CPU package license.
  8223  	LicenseManagerLicenseKeyDas = LicenseManagerLicenseKey("das")
  8224  )
  8225  
  8226  func (e LicenseManagerLicenseKey) Values() []LicenseManagerLicenseKey {
  8227  	return []LicenseManagerLicenseKey{
  8228  		LicenseManagerLicenseKeyEsxFull,
  8229  		LicenseManagerLicenseKeyEsxVmtn,
  8230  		LicenseManagerLicenseKeyEsxExpress,
  8231  		LicenseManagerLicenseKeySan,
  8232  		LicenseManagerLicenseKeyIscsi,
  8233  		LicenseManagerLicenseKeyNas,
  8234  		LicenseManagerLicenseKeyVsmp,
  8235  		LicenseManagerLicenseKeyBackup,
  8236  		LicenseManagerLicenseKeyVc,
  8237  		LicenseManagerLicenseKeyVcExpress,
  8238  		LicenseManagerLicenseKeyEsxHost,
  8239  		LicenseManagerLicenseKeyGsxHost,
  8240  		LicenseManagerLicenseKeyServerHost,
  8241  		LicenseManagerLicenseKeyDrsPower,
  8242  		LicenseManagerLicenseKeyVmotion,
  8243  		LicenseManagerLicenseKeyDrs,
  8244  		LicenseManagerLicenseKeyDas,
  8245  	}
  8246  }
  8247  
  8248  func (e LicenseManagerLicenseKey) Strings() []string {
  8249  	return EnumValuesAsStrings(e.Values())
  8250  }
  8251  
  8252  func init() {
  8253  	t["LicenseManagerLicenseKey"] = reflect.TypeOf((*LicenseManagerLicenseKey)(nil)).Elem()
  8254  }
  8255  
  8256  // Deprecated as of vSphere API 4.0, this is not used by the system.
  8257  //
  8258  // State of licensing subsystem.
  8259  type LicenseManagerState string
  8260  
  8261  const (
  8262  	// Setting or resetting configuration in progress.
  8263  	LicenseManagerStateInitializing = LicenseManagerState("initializing")
  8264  	// Running within operating parameters.
  8265  	LicenseManagerStateNormal = LicenseManagerState("normal")
  8266  	// License source unavailable, using license cache.
  8267  	LicenseManagerStateMarginal = LicenseManagerState("marginal")
  8268  	// Initialization has failed or grace period expired.
  8269  	LicenseManagerStateFault = LicenseManagerState("fault")
  8270  )
  8271  
  8272  func (e LicenseManagerState) Values() []LicenseManagerState {
  8273  	return []LicenseManagerState{
  8274  		LicenseManagerStateInitializing,
  8275  		LicenseManagerStateNormal,
  8276  		LicenseManagerStateMarginal,
  8277  		LicenseManagerStateFault,
  8278  	}
  8279  }
  8280  
  8281  func (e LicenseManagerState) Strings() []string {
  8282  	return EnumValuesAsStrings(e.Values())
  8283  }
  8284  
  8285  func init() {
  8286  	t["LicenseManagerState"] = reflect.TypeOf((*LicenseManagerState)(nil)).Elem()
  8287  }
  8288  
  8289  // Describes the reservation state of a license.
  8290  type LicenseReservationInfoState string
  8291  
  8292  const (
  8293  	// This license is currently unused by the system, or the feature does not
  8294  	// apply.
  8295  	//
  8296  	// For example, a DRS license appears as NotUsed if the host is not
  8297  	// part of a DRS-enabled cluster.
  8298  	LicenseReservationInfoStateNotUsed = LicenseReservationInfoState("notUsed")
  8299  	// This indicates that the license has expired or the system attempted to acquire
  8300  	// the license but was not successful in reserving it.
  8301  	LicenseReservationInfoStateNoLicense = LicenseReservationInfoState("noLicense")
  8302  	// The LicenseManager failed to acquire a license but the implementation
  8303  	// policy allows us to use the licensed feature anyway.
  8304  	//
  8305  	// This is possible, for
  8306  	// example, when a license server becomes unavailable after a license had been
  8307  	// successfully reserved from it.
  8308  	LicenseReservationInfoStateUnlicensedUse = LicenseReservationInfoState("unlicensedUse")
  8309  	// The required number of licenses have been acquired from the license source.
  8310  	LicenseReservationInfoStateLicensed = LicenseReservationInfoState("licensed")
  8311  )
  8312  
  8313  func (e LicenseReservationInfoState) Values() []LicenseReservationInfoState {
  8314  	return []LicenseReservationInfoState{
  8315  		LicenseReservationInfoStateNotUsed,
  8316  		LicenseReservationInfoStateNoLicense,
  8317  		LicenseReservationInfoStateUnlicensedUse,
  8318  		LicenseReservationInfoStateLicensed,
  8319  	}
  8320  }
  8321  
  8322  func (e LicenseReservationInfoState) Strings() []string {
  8323  	return EnumValuesAsStrings(e.Values())
  8324  }
  8325  
  8326  func init() {
  8327  	t["LicenseReservationInfoState"] = reflect.TypeOf((*LicenseReservationInfoState)(nil)).Elem()
  8328  }
  8329  
  8330  // The Discovery Protocol operation.
  8331  type LinkDiscoveryProtocolConfigOperationType string
  8332  
  8333  const (
  8334  	// Don't listen for incoming discovery packets and don't sent discover
  8335  	// packets for the switch either.
  8336  	LinkDiscoveryProtocolConfigOperationTypeNone = LinkDiscoveryProtocolConfigOperationType("none")
  8337  	// Listen for incoming discovery packets but don't sent discovery packet
  8338  	// for the switch.
  8339  	LinkDiscoveryProtocolConfigOperationTypeListen = LinkDiscoveryProtocolConfigOperationType("listen")
  8340  	// Sent discovery packets for the switch, but don't listen for incoming
  8341  	// discovery packets.
  8342  	LinkDiscoveryProtocolConfigOperationTypeAdvertise = LinkDiscoveryProtocolConfigOperationType("advertise")
  8343  	// Sent discovery packets for the switch and listen for incoming
  8344  	// discovery packets.
  8345  	LinkDiscoveryProtocolConfigOperationTypeBoth = LinkDiscoveryProtocolConfigOperationType("both")
  8346  )
  8347  
  8348  func (e LinkDiscoveryProtocolConfigOperationType) Values() []LinkDiscoveryProtocolConfigOperationType {
  8349  	return []LinkDiscoveryProtocolConfigOperationType{
  8350  		LinkDiscoveryProtocolConfigOperationTypeNone,
  8351  		LinkDiscoveryProtocolConfigOperationTypeListen,
  8352  		LinkDiscoveryProtocolConfigOperationTypeAdvertise,
  8353  		LinkDiscoveryProtocolConfigOperationTypeBoth,
  8354  	}
  8355  }
  8356  
  8357  func (e LinkDiscoveryProtocolConfigOperationType) Strings() []string {
  8358  	return EnumValuesAsStrings(e.Values())
  8359  }
  8360  
  8361  func init() {
  8362  	t["LinkDiscoveryProtocolConfigOperationType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigOperationType)(nil)).Elem()
  8363  }
  8364  
  8365  // The Discovery Protocol types.
  8366  type LinkDiscoveryProtocolConfigProtocolType string
  8367  
  8368  const (
  8369  	// Cisco Discovery Protocol
  8370  	LinkDiscoveryProtocolConfigProtocolTypeCdp = LinkDiscoveryProtocolConfigProtocolType("cdp")
  8371  	// Link Layer Discovery Protocol
  8372  	LinkDiscoveryProtocolConfigProtocolTypeLldp = LinkDiscoveryProtocolConfigProtocolType("lldp")
  8373  )
  8374  
  8375  func (e LinkDiscoveryProtocolConfigProtocolType) Values() []LinkDiscoveryProtocolConfigProtocolType {
  8376  	return []LinkDiscoveryProtocolConfigProtocolType{
  8377  		LinkDiscoveryProtocolConfigProtocolTypeCdp,
  8378  		LinkDiscoveryProtocolConfigProtocolTypeLldp,
  8379  	}
  8380  }
  8381  
  8382  func (e LinkDiscoveryProtocolConfigProtocolType) Strings() []string {
  8383  	return EnumValuesAsStrings(e.Values())
  8384  }
  8385  
  8386  func init() {
  8387  	t["LinkDiscoveryProtocolConfigProtocolType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigProtocolType)(nil)).Elem()
  8388  }
  8389  
  8390  // The Status enumeration defines a general "health" value for a managed entity.
  8391  type ManagedEntityStatus string
  8392  
  8393  const (
  8394  	// The status is unknown.
  8395  	ManagedEntityStatusGray = ManagedEntityStatus("gray")
  8396  	// The entity is OK.
  8397  	ManagedEntityStatusGreen = ManagedEntityStatus("green")
  8398  	// The entity might have a problem.
  8399  	ManagedEntityStatusYellow = ManagedEntityStatus("yellow")
  8400  	// The entity definitely has a problem.
  8401  	ManagedEntityStatusRed = ManagedEntityStatus("red")
  8402  )
  8403  
  8404  func (e ManagedEntityStatus) Values() []ManagedEntityStatus {
  8405  	return []ManagedEntityStatus{
  8406  		ManagedEntityStatusGray,
  8407  		ManagedEntityStatusGreen,
  8408  		ManagedEntityStatusYellow,
  8409  		ManagedEntityStatusRed,
  8410  	}
  8411  }
  8412  
  8413  func (e ManagedEntityStatus) Strings() []string {
  8414  	return EnumValuesAsStrings(e.Values())
  8415  }
  8416  
  8417  func init() {
  8418  	t["ManagedEntityStatus"] = reflect.TypeOf((*ManagedEntityStatus)(nil)).Elem()
  8419  }
  8420  
  8421  type ManagedObjectTypes string
  8422  
  8423  const (
  8424  	ManagedObjectTypesPropertyCollector                       = ManagedObjectTypes("PropertyCollector")
  8425  	ManagedObjectTypesPropertyFilter                          = ManagedObjectTypes("PropertyFilter")
  8426  	ManagedObjectTypesAuthorizationManager                    = ManagedObjectTypes("AuthorizationManager")
  8427  	ManagedObjectTypesCertificateManager                      = ManagedObjectTypes("CertificateManager")
  8428  	ManagedObjectTypesClusterComputeResource                  = ManagedObjectTypes("ClusterComputeResource")
  8429  	ManagedObjectTypesComputeResource                         = ManagedObjectTypes("ComputeResource")
  8430  	ManagedObjectTypesCustomFieldsManager                     = ManagedObjectTypes("CustomFieldsManager")
  8431  	ManagedObjectTypesCustomizationSpecManager                = ManagedObjectTypes("CustomizationSpecManager")
  8432  	ManagedObjectTypesDatacenter                              = ManagedObjectTypes("Datacenter")
  8433  	ManagedObjectTypesDatastore                               = ManagedObjectTypes("Datastore")
  8434  	ManagedObjectTypesDatastoreNamespaceManager               = ManagedObjectTypes("DatastoreNamespaceManager")
  8435  	ManagedObjectTypesDiagnosticManager                       = ManagedObjectTypes("DiagnosticManager")
  8436  	ManagedObjectTypesDirectPathProfileManager                = ManagedObjectTypes("DirectPathProfileManager")
  8437  	ManagedObjectTypesDistributedVirtualSwitch                = ManagedObjectTypes("DistributedVirtualSwitch")
  8438  	ManagedObjectTypesEnvironmentBrowser                      = ManagedObjectTypes("EnvironmentBrowser")
  8439  	ManagedObjectTypesExtensibleManagedObject                 = ManagedObjectTypes("ExtensibleManagedObject")
  8440  	ManagedObjectTypesExtensionManager                        = ManagedObjectTypes("ExtensionManager")
  8441  	ManagedObjectTypesFileManager                             = ManagedObjectTypes("FileManager")
  8442  	ManagedObjectTypesFolder                                  = ManagedObjectTypes("Folder")
  8443  	ManagedObjectTypesHealthUpdateManager                     = ManagedObjectTypes("HealthUpdateManager")
  8444  	ManagedObjectTypesHistoryCollector                        = ManagedObjectTypes("HistoryCollector")
  8445  	ManagedObjectTypesHostSystem                              = ManagedObjectTypes("HostSystem")
  8446  	ManagedObjectTypesHttpNfcLease                            = ManagedObjectTypes("HttpNfcLease")
  8447  	ManagedObjectTypesIoFilterManager                         = ManagedObjectTypes("IoFilterManager")
  8448  	ManagedObjectTypesIpPoolManager                           = ManagedObjectTypes("IpPoolManager")
  8449  	ManagedObjectTypesLicenseAssignmentManager                = ManagedObjectTypes("LicenseAssignmentManager")
  8450  	ManagedObjectTypesLicenseManager                          = ManagedObjectTypes("LicenseManager")
  8451  	ManagedObjectTypesLocalizationManager                     = ManagedObjectTypes("LocalizationManager")
  8452  	ManagedObjectTypesManagedEntity                           = ManagedObjectTypes("ManagedEntity")
  8453  	ManagedObjectTypesNetwork                                 = ManagedObjectTypes("Network")
  8454  	ManagedObjectTypesOpaqueNetwork                           = ManagedObjectTypes("OpaqueNetwork")
  8455  	ManagedObjectTypesOverheadMemoryManager                   = ManagedObjectTypes("OverheadMemoryManager")
  8456  	ManagedObjectTypesOvfManager                              = ManagedObjectTypes("OvfManager")
  8457  	ManagedObjectTypesPerformanceManager                      = ManagedObjectTypes("PerformanceManager")
  8458  	ManagedObjectTypesResourcePlanningManager                 = ManagedObjectTypes("ResourcePlanningManager")
  8459  	ManagedObjectTypesResourcePool                            = ManagedObjectTypes("ResourcePool")
  8460  	ManagedObjectTypesSearchIndex                             = ManagedObjectTypes("SearchIndex")
  8461  	ManagedObjectTypesServiceInstance                         = ManagedObjectTypes("ServiceInstance")
  8462  	ManagedObjectTypesServiceManager                          = ManagedObjectTypes("ServiceManager")
  8463  	ManagedObjectTypesSessionManager                          = ManagedObjectTypes("SessionManager")
  8464  	ManagedObjectTypesSimpleCommand                           = ManagedObjectTypes("SimpleCommand")
  8465  	ManagedObjectTypesSiteInfoManager                         = ManagedObjectTypes("SiteInfoManager")
  8466  	ManagedObjectTypesStoragePod                              = ManagedObjectTypes("StoragePod")
  8467  	ManagedObjectTypesStorageQueryManager                     = ManagedObjectTypes("StorageQueryManager")
  8468  	ManagedObjectTypesStorageResourceManager                  = ManagedObjectTypes("StorageResourceManager")
  8469  	ManagedObjectTypesTask                                    = ManagedObjectTypes("Task")
  8470  	ManagedObjectTypesTaskHistoryCollector                    = ManagedObjectTypes("TaskHistoryCollector")
  8471  	ManagedObjectTypesTaskManager                             = ManagedObjectTypes("TaskManager")
  8472  	ManagedObjectTypesUserDirectory                           = ManagedObjectTypes("UserDirectory")
  8473  	ManagedObjectTypesVirtualApp                              = ManagedObjectTypes("VirtualApp")
  8474  	ManagedObjectTypesVirtualDiskManager                      = ManagedObjectTypes("VirtualDiskManager")
  8475  	ManagedObjectTypesVirtualMachine                          = ManagedObjectTypes("VirtualMachine")
  8476  	ManagedObjectTypesVirtualizationManager                   = ManagedObjectTypes("VirtualizationManager")
  8477  	ManagedObjectTypesVsanUpgradeSystem                       = ManagedObjectTypes("VsanUpgradeSystem")
  8478  	ManagedObjectTypesAlarm                                   = ManagedObjectTypes("Alarm")
  8479  	ManagedObjectTypesAlarmManager                            = ManagedObjectTypes("AlarmManager")
  8480  	ManagedObjectTypesClusterEVCManager                       = ManagedObjectTypes("ClusterEVCManager")
  8481  	ManagedObjectTypesDistributedVirtualPortgroup             = ManagedObjectTypes("DistributedVirtualPortgroup")
  8482  	ManagedObjectTypesDistributedVirtualSwitchManager         = ManagedObjectTypes("DistributedVirtualSwitchManager")
  8483  	ManagedObjectTypesVmwareDistributedVirtualSwitch          = ManagedObjectTypes("VmwareDistributedVirtualSwitch")
  8484  	ManagedObjectTypesCryptoManager                           = ManagedObjectTypes("CryptoManager")
  8485  	ManagedObjectTypesCryptoManagerHost                       = ManagedObjectTypes("CryptoManagerHost")
  8486  	ManagedObjectTypesCryptoManagerHostKMS                    = ManagedObjectTypes("CryptoManagerHostKMS")
  8487  	ManagedObjectTypesCryptoManagerKmip                       = ManagedObjectTypes("CryptoManagerKmip")
  8488  	ManagedObjectTypesEventHistoryCollector                   = ManagedObjectTypes("EventHistoryCollector")
  8489  	ManagedObjectTypesEventManager                            = ManagedObjectTypes("EventManager")
  8490  	ManagedObjectTypesHostActiveDirectoryAuthentication       = ManagedObjectTypes("HostActiveDirectoryAuthentication")
  8491  	ManagedObjectTypesHostAssignableHardwareManager           = ManagedObjectTypes("HostAssignableHardwareManager")
  8492  	ManagedObjectTypesHostAuthenticationManager               = ManagedObjectTypes("HostAuthenticationManager")
  8493  	ManagedObjectTypesHostAuthenticationStore                 = ManagedObjectTypes("HostAuthenticationStore")
  8494  	ManagedObjectTypesHostAutoStartManager                    = ManagedObjectTypes("HostAutoStartManager")
  8495  	ManagedObjectTypesHostBootDeviceSystem                    = ManagedObjectTypes("HostBootDeviceSystem")
  8496  	ManagedObjectTypesHostCacheConfigurationManager           = ManagedObjectTypes("HostCacheConfigurationManager")
  8497  	ManagedObjectTypesHostCertificateManager                  = ManagedObjectTypes("HostCertificateManager")
  8498  	ManagedObjectTypesHostCpuSchedulerSystem                  = ManagedObjectTypes("HostCpuSchedulerSystem")
  8499  	ManagedObjectTypesHostDatastoreBrowser                    = ManagedObjectTypes("HostDatastoreBrowser")
  8500  	ManagedObjectTypesHostDatastoreSystem                     = ManagedObjectTypes("HostDatastoreSystem")
  8501  	ManagedObjectTypesHostDateTimeSystem                      = ManagedObjectTypes("HostDateTimeSystem")
  8502  	ManagedObjectTypesHostDiagnosticSystem                    = ManagedObjectTypes("HostDiagnosticSystem")
  8503  	ManagedObjectTypesHostDirectoryStore                      = ManagedObjectTypes("HostDirectoryStore")
  8504  	ManagedObjectTypesHostEsxAgentHostManager                 = ManagedObjectTypes("HostEsxAgentHostManager")
  8505  	ManagedObjectTypesHostFirewallSystem                      = ManagedObjectTypes("HostFirewallSystem")
  8506  	ManagedObjectTypesHostFirmwareSystem                      = ManagedObjectTypes("HostFirmwareSystem")
  8507  	ManagedObjectTypesHostGraphicsManager                     = ManagedObjectTypes("HostGraphicsManager")
  8508  	ManagedObjectTypesHostHealthStatusSystem                  = ManagedObjectTypes("HostHealthStatusSystem")
  8509  	ManagedObjectTypesHostAccessManager                       = ManagedObjectTypes("HostAccessManager")
  8510  	ManagedObjectTypesHostImageConfigManager                  = ManagedObjectTypes("HostImageConfigManager")
  8511  	ManagedObjectTypesIscsiManager                            = ManagedObjectTypes("IscsiManager")
  8512  	ManagedObjectTypesHostKernelModuleSystem                  = ManagedObjectTypes("HostKernelModuleSystem")
  8513  	ManagedObjectTypesHostLocalAccountManager                 = ManagedObjectTypes("HostLocalAccountManager")
  8514  	ManagedObjectTypesHostLocalAuthentication                 = ManagedObjectTypes("HostLocalAuthentication")
  8515  	ManagedObjectTypesHostMemorySystem                        = ManagedObjectTypes("HostMemorySystem")
  8516  	ManagedObjectTypesMessageBusProxy                         = ManagedObjectTypes("MessageBusProxy")
  8517  	ManagedObjectTypesHostNetworkSystem                       = ManagedObjectTypes("HostNetworkSystem")
  8518  	ManagedObjectTypesHostNvdimmSystem                        = ManagedObjectTypes("HostNvdimmSystem")
  8519  	ManagedObjectTypesHostPatchManager                        = ManagedObjectTypes("HostPatchManager")
  8520  	ManagedObjectTypesHostPciPassthruSystem                   = ManagedObjectTypes("HostPciPassthruSystem")
  8521  	ManagedObjectTypesHostPowerSystem                         = ManagedObjectTypes("HostPowerSystem")
  8522  	ManagedObjectTypesHostServiceSystem                       = ManagedObjectTypes("HostServiceSystem")
  8523  	ManagedObjectTypesHostSnmpSystem                          = ManagedObjectTypes("HostSnmpSystem")
  8524  	ManagedObjectTypesHostStorageSystem                       = ManagedObjectTypes("HostStorageSystem")
  8525  	ManagedObjectTypesHostVFlashManager                       = ManagedObjectTypes("HostVFlashManager")
  8526  	ManagedObjectTypesHostVMotionSystem                       = ManagedObjectTypes("HostVMotionSystem")
  8527  	ManagedObjectTypesHostVirtualNicManager                   = ManagedObjectTypes("HostVirtualNicManager")
  8528  	ManagedObjectTypesHostVsanInternalSystem                  = ManagedObjectTypes("HostVsanInternalSystem")
  8529  	ManagedObjectTypesHostVsanSystem                          = ManagedObjectTypes("HostVsanSystem")
  8530  	ManagedObjectTypesOptionManager                           = ManagedObjectTypes("OptionManager")
  8531  	ManagedObjectTypesProfileComplianceManager                = ManagedObjectTypes("ProfileComplianceManager")
  8532  	ManagedObjectTypesProfile                                 = ManagedObjectTypes("Profile")
  8533  	ManagedObjectTypesProfileManager                          = ManagedObjectTypes("ProfileManager")
  8534  	ManagedObjectTypesClusterProfile                          = ManagedObjectTypes("ClusterProfile")
  8535  	ManagedObjectTypesClusterProfileManager                   = ManagedObjectTypes("ClusterProfileManager")
  8536  	ManagedObjectTypesHostProfile                             = ManagedObjectTypes("HostProfile")
  8537  	ManagedObjectTypesHostSpecificationManager                = ManagedObjectTypes("HostSpecificationManager")
  8538  	ManagedObjectTypesHostProfileManager                      = ManagedObjectTypes("HostProfileManager")
  8539  	ManagedObjectTypesScheduledTask                           = ManagedObjectTypes("ScheduledTask")
  8540  	ManagedObjectTypesScheduledTaskManager                    = ManagedObjectTypes("ScheduledTaskManager")
  8541  	ManagedObjectTypesTenantTenantManager                     = ManagedObjectTypes("TenantTenantManager")
  8542  	ManagedObjectTypesFailoverClusterConfigurator             = ManagedObjectTypes("FailoverClusterConfigurator")
  8543  	ManagedObjectTypesFailoverClusterManager                  = ManagedObjectTypes("FailoverClusterManager")
  8544  	ManagedObjectTypesContainerView                           = ManagedObjectTypes("ContainerView")
  8545  	ManagedObjectTypesInventoryView                           = ManagedObjectTypes("InventoryView")
  8546  	ManagedObjectTypesListView                                = ManagedObjectTypes("ListView")
  8547  	ManagedObjectTypesManagedObjectView                       = ManagedObjectTypes("ManagedObjectView")
  8548  	ManagedObjectTypesView                                    = ManagedObjectTypes("View")
  8549  	ManagedObjectTypesViewManager                             = ManagedObjectTypes("ViewManager")
  8550  	ManagedObjectTypesVirtualMachineGuestCustomizationManager = ManagedObjectTypes("VirtualMachineGuestCustomizationManager")
  8551  	ManagedObjectTypesVirtualMachineSnapshot                  = ManagedObjectTypes("VirtualMachineSnapshot")
  8552  	ManagedObjectTypesVirtualMachineCompatibilityChecker      = ManagedObjectTypes("VirtualMachineCompatibilityChecker")
  8553  	ManagedObjectTypesVirtualMachineProvisioningChecker       = ManagedObjectTypes("VirtualMachineProvisioningChecker")
  8554  	ManagedObjectTypesGuestAliasManager                       = ManagedObjectTypes("GuestAliasManager")
  8555  	ManagedObjectTypesGuestAuthManager                        = ManagedObjectTypes("GuestAuthManager")
  8556  	ManagedObjectTypesGuestFileManager                        = ManagedObjectTypes("GuestFileManager")
  8557  	ManagedObjectTypesGuestOperationsManager                  = ManagedObjectTypes("GuestOperationsManager")
  8558  	ManagedObjectTypesGuestProcessManager                     = ManagedObjectTypes("GuestProcessManager")
  8559  	ManagedObjectTypesGuestWindowsRegistryManager             = ManagedObjectTypes("GuestWindowsRegistryManager")
  8560  	ManagedObjectTypesVStorageObjectManagerBase               = ManagedObjectTypes("VStorageObjectManagerBase")
  8561  	ManagedObjectTypesHostVStorageObjectManager               = ManagedObjectTypes("HostVStorageObjectManager")
  8562  	ManagedObjectTypesVcenterVStorageObjectManager            = ManagedObjectTypes("VcenterVStorageObjectManager")
  8563  )
  8564  
  8565  func (e ManagedObjectTypes) Values() []ManagedObjectTypes {
  8566  	return []ManagedObjectTypes{
  8567  		ManagedObjectTypesPropertyCollector,
  8568  		ManagedObjectTypesPropertyFilter,
  8569  		ManagedObjectTypesAuthorizationManager,
  8570  		ManagedObjectTypesCertificateManager,
  8571  		ManagedObjectTypesClusterComputeResource,
  8572  		ManagedObjectTypesComputeResource,
  8573  		ManagedObjectTypesCustomFieldsManager,
  8574  		ManagedObjectTypesCustomizationSpecManager,
  8575  		ManagedObjectTypesDatacenter,
  8576  		ManagedObjectTypesDatastore,
  8577  		ManagedObjectTypesDatastoreNamespaceManager,
  8578  		ManagedObjectTypesDiagnosticManager,
  8579  		ManagedObjectTypesDirectPathProfileManager,
  8580  		ManagedObjectTypesDistributedVirtualSwitch,
  8581  		ManagedObjectTypesEnvironmentBrowser,
  8582  		ManagedObjectTypesExtensibleManagedObject,
  8583  		ManagedObjectTypesExtensionManager,
  8584  		ManagedObjectTypesFileManager,
  8585  		ManagedObjectTypesFolder,
  8586  		ManagedObjectTypesHealthUpdateManager,
  8587  		ManagedObjectTypesHistoryCollector,
  8588  		ManagedObjectTypesHostSystem,
  8589  		ManagedObjectTypesHttpNfcLease,
  8590  		ManagedObjectTypesIoFilterManager,
  8591  		ManagedObjectTypesIpPoolManager,
  8592  		ManagedObjectTypesLicenseAssignmentManager,
  8593  		ManagedObjectTypesLicenseManager,
  8594  		ManagedObjectTypesLocalizationManager,
  8595  		ManagedObjectTypesManagedEntity,
  8596  		ManagedObjectTypesNetwork,
  8597  		ManagedObjectTypesOpaqueNetwork,
  8598  		ManagedObjectTypesOverheadMemoryManager,
  8599  		ManagedObjectTypesOvfManager,
  8600  		ManagedObjectTypesPerformanceManager,
  8601  		ManagedObjectTypesResourcePlanningManager,
  8602  		ManagedObjectTypesResourcePool,
  8603  		ManagedObjectTypesSearchIndex,
  8604  		ManagedObjectTypesServiceInstance,
  8605  		ManagedObjectTypesServiceManager,
  8606  		ManagedObjectTypesSessionManager,
  8607  		ManagedObjectTypesSimpleCommand,
  8608  		ManagedObjectTypesSiteInfoManager,
  8609  		ManagedObjectTypesStoragePod,
  8610  		ManagedObjectTypesStorageQueryManager,
  8611  		ManagedObjectTypesStorageResourceManager,
  8612  		ManagedObjectTypesTask,
  8613  		ManagedObjectTypesTaskHistoryCollector,
  8614  		ManagedObjectTypesTaskManager,
  8615  		ManagedObjectTypesUserDirectory,
  8616  		ManagedObjectTypesVirtualApp,
  8617  		ManagedObjectTypesVirtualDiskManager,
  8618  		ManagedObjectTypesVirtualMachine,
  8619  		ManagedObjectTypesVirtualizationManager,
  8620  		ManagedObjectTypesVsanUpgradeSystem,
  8621  		ManagedObjectTypesAlarm,
  8622  		ManagedObjectTypesAlarmManager,
  8623  		ManagedObjectTypesClusterEVCManager,
  8624  		ManagedObjectTypesDistributedVirtualPortgroup,
  8625  		ManagedObjectTypesDistributedVirtualSwitchManager,
  8626  		ManagedObjectTypesVmwareDistributedVirtualSwitch,
  8627  		ManagedObjectTypesCryptoManager,
  8628  		ManagedObjectTypesCryptoManagerHost,
  8629  		ManagedObjectTypesCryptoManagerHostKMS,
  8630  		ManagedObjectTypesCryptoManagerKmip,
  8631  		ManagedObjectTypesEventHistoryCollector,
  8632  		ManagedObjectTypesEventManager,
  8633  		ManagedObjectTypesHostActiveDirectoryAuthentication,
  8634  		ManagedObjectTypesHostAssignableHardwareManager,
  8635  		ManagedObjectTypesHostAuthenticationManager,
  8636  		ManagedObjectTypesHostAuthenticationStore,
  8637  		ManagedObjectTypesHostAutoStartManager,
  8638  		ManagedObjectTypesHostBootDeviceSystem,
  8639  		ManagedObjectTypesHostCacheConfigurationManager,
  8640  		ManagedObjectTypesHostCertificateManager,
  8641  		ManagedObjectTypesHostCpuSchedulerSystem,
  8642  		ManagedObjectTypesHostDatastoreBrowser,
  8643  		ManagedObjectTypesHostDatastoreSystem,
  8644  		ManagedObjectTypesHostDateTimeSystem,
  8645  		ManagedObjectTypesHostDiagnosticSystem,
  8646  		ManagedObjectTypesHostDirectoryStore,
  8647  		ManagedObjectTypesHostEsxAgentHostManager,
  8648  		ManagedObjectTypesHostFirewallSystem,
  8649  		ManagedObjectTypesHostFirmwareSystem,
  8650  		ManagedObjectTypesHostGraphicsManager,
  8651  		ManagedObjectTypesHostHealthStatusSystem,
  8652  		ManagedObjectTypesHostAccessManager,
  8653  		ManagedObjectTypesHostImageConfigManager,
  8654  		ManagedObjectTypesIscsiManager,
  8655  		ManagedObjectTypesHostKernelModuleSystem,
  8656  		ManagedObjectTypesHostLocalAccountManager,
  8657  		ManagedObjectTypesHostLocalAuthentication,
  8658  		ManagedObjectTypesHostMemorySystem,
  8659  		ManagedObjectTypesMessageBusProxy,
  8660  		ManagedObjectTypesHostNetworkSystem,
  8661  		ManagedObjectTypesHostNvdimmSystem,
  8662  		ManagedObjectTypesHostPatchManager,
  8663  		ManagedObjectTypesHostPciPassthruSystem,
  8664  		ManagedObjectTypesHostPowerSystem,
  8665  		ManagedObjectTypesHostServiceSystem,
  8666  		ManagedObjectTypesHostSnmpSystem,
  8667  		ManagedObjectTypesHostStorageSystem,
  8668  		ManagedObjectTypesHostVFlashManager,
  8669  		ManagedObjectTypesHostVMotionSystem,
  8670  		ManagedObjectTypesHostVirtualNicManager,
  8671  		ManagedObjectTypesHostVsanInternalSystem,
  8672  		ManagedObjectTypesHostVsanSystem,
  8673  		ManagedObjectTypesOptionManager,
  8674  		ManagedObjectTypesProfileComplianceManager,
  8675  		ManagedObjectTypesProfile,
  8676  		ManagedObjectTypesProfileManager,
  8677  		ManagedObjectTypesClusterProfile,
  8678  		ManagedObjectTypesClusterProfileManager,
  8679  		ManagedObjectTypesHostProfile,
  8680  		ManagedObjectTypesHostSpecificationManager,
  8681  		ManagedObjectTypesHostProfileManager,
  8682  		ManagedObjectTypesScheduledTask,
  8683  		ManagedObjectTypesScheduledTaskManager,
  8684  		ManagedObjectTypesTenantTenantManager,
  8685  		ManagedObjectTypesFailoverClusterConfigurator,
  8686  		ManagedObjectTypesFailoverClusterManager,
  8687  		ManagedObjectTypesContainerView,
  8688  		ManagedObjectTypesInventoryView,
  8689  		ManagedObjectTypesListView,
  8690  		ManagedObjectTypesManagedObjectView,
  8691  		ManagedObjectTypesView,
  8692  		ManagedObjectTypesViewManager,
  8693  		ManagedObjectTypesVirtualMachineGuestCustomizationManager,
  8694  		ManagedObjectTypesVirtualMachineSnapshot,
  8695  		ManagedObjectTypesVirtualMachineCompatibilityChecker,
  8696  		ManagedObjectTypesVirtualMachineProvisioningChecker,
  8697  		ManagedObjectTypesGuestAliasManager,
  8698  		ManagedObjectTypesGuestAuthManager,
  8699  		ManagedObjectTypesGuestFileManager,
  8700  		ManagedObjectTypesGuestOperationsManager,
  8701  		ManagedObjectTypesGuestProcessManager,
  8702  		ManagedObjectTypesGuestWindowsRegistryManager,
  8703  		ManagedObjectTypesVStorageObjectManagerBase,
  8704  		ManagedObjectTypesHostVStorageObjectManager,
  8705  		ManagedObjectTypesVcenterVStorageObjectManager,
  8706  	}
  8707  }
  8708  
  8709  func (e ManagedObjectTypes) Strings() []string {
  8710  	return EnumValuesAsStrings(e.Values())
  8711  }
  8712  
  8713  func init() {
  8714  	t["ManagedObjectTypes"] = reflect.TypeOf((*ManagedObjectTypes)(nil)).Elem()
  8715  }
  8716  
  8717  // The operation on the target metric item.
  8718  type MetricAlarmOperator string
  8719  
  8720  const (
  8721  	// Test if the target metric item is above the given red or yellow values.
  8722  	MetricAlarmOperatorIsAbove = MetricAlarmOperator("isAbove")
  8723  	// Test if the target metric item is below the given red or yellow values.
  8724  	MetricAlarmOperatorIsBelow = MetricAlarmOperator("isBelow")
  8725  )
  8726  
  8727  func (e MetricAlarmOperator) Values() []MetricAlarmOperator {
  8728  	return []MetricAlarmOperator{
  8729  		MetricAlarmOperatorIsAbove,
  8730  		MetricAlarmOperatorIsBelow,
  8731  	}
  8732  }
  8733  
  8734  func (e MetricAlarmOperator) Strings() []string {
  8735  	return EnumValuesAsStrings(e.Values())
  8736  }
  8737  
  8738  func init() {
  8739  	t["MetricAlarmOperator"] = reflect.TypeOf((*MetricAlarmOperator)(nil)).Elem()
  8740  }
  8741  
  8742  // Set of constants defining the possible states of a multipath path.
  8743  type MultipathState string
  8744  
  8745  const (
  8746  	MultipathStateStandby  = MultipathState("standby")
  8747  	MultipathStateActive   = MultipathState("active")
  8748  	MultipathStateDisabled = MultipathState("disabled")
  8749  	MultipathStateDead     = MultipathState("dead")
  8750  	MultipathStateUnknown  = MultipathState("unknown")
  8751  )
  8752  
  8753  func (e MultipathState) Values() []MultipathState {
  8754  	return []MultipathState{
  8755  		MultipathStateStandby,
  8756  		MultipathStateActive,
  8757  		MultipathStateDisabled,
  8758  		MultipathStateDead,
  8759  		MultipathStateUnknown,
  8760  	}
  8761  }
  8762  
  8763  func (e MultipathState) Strings() []string {
  8764  	return EnumValuesAsStrings(e.Values())
  8765  }
  8766  
  8767  func init() {
  8768  	t["MultipathState"] = reflect.TypeOf((*MultipathState)(nil)).Elem()
  8769  }
  8770  
  8771  // NetBIOS configuration mode.
  8772  type NetBIOSConfigInfoMode string
  8773  
  8774  const (
  8775  	// Mode of NetBIOS is unknown.
  8776  	NetBIOSConfigInfoModeUnknown = NetBIOSConfigInfoMode("unknown")
  8777  	// NetBIOS is enabled.
  8778  	NetBIOSConfigInfoModeEnabled = NetBIOSConfigInfoMode("enabled")
  8779  	// NetBIOS is disabled.
  8780  	NetBIOSConfigInfoModeDisabled = NetBIOSConfigInfoMode("disabled")
  8781  	// DHCP server decides whether or not to use NetBIOS.
  8782  	NetBIOSConfigInfoModeEnabledViaDHCP = NetBIOSConfigInfoMode("enabledViaDHCP")
  8783  )
  8784  
  8785  func (e NetBIOSConfigInfoMode) Values() []NetBIOSConfigInfoMode {
  8786  	return []NetBIOSConfigInfoMode{
  8787  		NetBIOSConfigInfoModeUnknown,
  8788  		NetBIOSConfigInfoModeEnabled,
  8789  		NetBIOSConfigInfoModeDisabled,
  8790  		NetBIOSConfigInfoModeEnabledViaDHCP,
  8791  	}
  8792  }
  8793  
  8794  func (e NetBIOSConfigInfoMode) Strings() []string {
  8795  	return EnumValuesAsStrings(e.Values())
  8796  }
  8797  
  8798  func init() {
  8799  	t["NetBIOSConfigInfoMode"] = reflect.TypeOf((*NetBIOSConfigInfoMode)(nil)).Elem()
  8800  }
  8801  
  8802  // This specifies how an IP address was obtained for a given interface.
  8803  //
  8804  // See RFC 4293 IpAddressOriginTC.
  8805  type NetIpConfigInfoIpAddressOrigin string
  8806  
  8807  const (
  8808  	// Any other type of address configuration other than the below
  8809  	// mentioned ones will fall under this category.
  8810  	//
  8811  	// For e.g., automatic
  8812  	// address configuration for the link local address falls under
  8813  	// this type.
  8814  	NetIpConfigInfoIpAddressOriginOther = NetIpConfigInfoIpAddressOrigin("other")
  8815  	// The address is configured manually.
  8816  	//
  8817  	// The term 'static' is a synonym.
  8818  	NetIpConfigInfoIpAddressOriginManual = NetIpConfigInfoIpAddressOrigin("manual")
  8819  	// The address is configured through dhcp.
  8820  	NetIpConfigInfoIpAddressOriginDhcp = NetIpConfigInfoIpAddressOrigin("dhcp")
  8821  	// The address is obtained through stateless autoconfiguration (autoconf).
  8822  	//
  8823  	// See RFC 4862, IPv6 Stateless Address Autoconfiguration.
  8824  	NetIpConfigInfoIpAddressOriginLinklayer = NetIpConfigInfoIpAddressOrigin("linklayer")
  8825  	// The address is chosen by the system at random
  8826  	// e.g., an IPv4 address within 169.254/16, or an RFC 3041 privacy address.
  8827  	NetIpConfigInfoIpAddressOriginRandom = NetIpConfigInfoIpAddressOrigin("random")
  8828  )
  8829  
  8830  func (e NetIpConfigInfoIpAddressOrigin) Values() []NetIpConfigInfoIpAddressOrigin {
  8831  	return []NetIpConfigInfoIpAddressOrigin{
  8832  		NetIpConfigInfoIpAddressOriginOther,
  8833  		NetIpConfigInfoIpAddressOriginManual,
  8834  		NetIpConfigInfoIpAddressOriginDhcp,
  8835  		NetIpConfigInfoIpAddressOriginLinklayer,
  8836  		NetIpConfigInfoIpAddressOriginRandom,
  8837  	}
  8838  }
  8839  
  8840  func (e NetIpConfigInfoIpAddressOrigin) Strings() []string {
  8841  	return EnumValuesAsStrings(e.Values())
  8842  }
  8843  
  8844  func init() {
  8845  	t["NetIpConfigInfoIpAddressOrigin"] = reflect.TypeOf((*NetIpConfigInfoIpAddressOrigin)(nil)).Elem()
  8846  }
  8847  
  8848  type NetIpConfigInfoIpAddressStatus string
  8849  
  8850  const (
  8851  	// Indicates that this is a valid address.
  8852  	NetIpConfigInfoIpAddressStatusPreferred = NetIpConfigInfoIpAddressStatus("preferred")
  8853  	// Indicates that this is a valid but deprecated address
  8854  	// that should no longer be used as a source address.
  8855  	NetIpConfigInfoIpAddressStatusDeprecated = NetIpConfigInfoIpAddressStatus("deprecated")
  8856  	// Indicates that this isn't a valid.
  8857  	NetIpConfigInfoIpAddressStatusInvalid = NetIpConfigInfoIpAddressStatus("invalid")
  8858  	// Indicates that the address is not accessible because
  8859  	// interface is not operational.
  8860  	NetIpConfigInfoIpAddressStatusInaccessible = NetIpConfigInfoIpAddressStatus("inaccessible")
  8861  	// Indicates that the status cannot be determined.
  8862  	NetIpConfigInfoIpAddressStatusUnknown = NetIpConfigInfoIpAddressStatus("unknown")
  8863  	// Indicates that the uniqueness of the
  8864  	// address on the link is presently being verified.
  8865  	NetIpConfigInfoIpAddressStatusTentative = NetIpConfigInfoIpAddressStatus("tentative")
  8866  	// Indicates the address has been determined to be non-unique
  8867  	// on the link, this address will not be reachable.
  8868  	NetIpConfigInfoIpAddressStatusDuplicate = NetIpConfigInfoIpAddressStatus("duplicate")
  8869  )
  8870  
  8871  func (e NetIpConfigInfoIpAddressStatus) Values() []NetIpConfigInfoIpAddressStatus {
  8872  	return []NetIpConfigInfoIpAddressStatus{
  8873  		NetIpConfigInfoIpAddressStatusPreferred,
  8874  		NetIpConfigInfoIpAddressStatusDeprecated,
  8875  		NetIpConfigInfoIpAddressStatusInvalid,
  8876  		NetIpConfigInfoIpAddressStatusInaccessible,
  8877  		NetIpConfigInfoIpAddressStatusUnknown,
  8878  		NetIpConfigInfoIpAddressStatusTentative,
  8879  		NetIpConfigInfoIpAddressStatusDuplicate,
  8880  	}
  8881  }
  8882  
  8883  func (e NetIpConfigInfoIpAddressStatus) Strings() []string {
  8884  	return EnumValuesAsStrings(e.Values())
  8885  }
  8886  
  8887  func init() {
  8888  	t["NetIpConfigInfoIpAddressStatus"] = reflect.TypeOf((*NetIpConfigInfoIpAddressStatus)(nil)).Elem()
  8889  }
  8890  
  8891  // IP Stack keeps state on entries in IpNetToMedia table to perform
  8892  // physical address lookups for IP addresses.
  8893  //
  8894  // Here are the standard
  8895  // states per @see RFC 4293 ipNetToMediaType.
  8896  type NetIpStackInfoEntryType string
  8897  
  8898  const (
  8899  	// This implementation is reporting something other than
  8900  	// what states are listed below.
  8901  	NetIpStackInfoEntryTypeOther = NetIpStackInfoEntryType("other")
  8902  	// The IP Stack has marked this entry as not useable.
  8903  	NetIpStackInfoEntryTypeInvalid = NetIpStackInfoEntryType("invalid")
  8904  	// This entry has been learned using ARP or NDP.
  8905  	NetIpStackInfoEntryTypeDynamic = NetIpStackInfoEntryType("dynamic")
  8906  	// This entry was set manually.
  8907  	NetIpStackInfoEntryTypeManual = NetIpStackInfoEntryType("manual")
  8908  )
  8909  
  8910  func (e NetIpStackInfoEntryType) Values() []NetIpStackInfoEntryType {
  8911  	return []NetIpStackInfoEntryType{
  8912  		NetIpStackInfoEntryTypeOther,
  8913  		NetIpStackInfoEntryTypeInvalid,
  8914  		NetIpStackInfoEntryTypeDynamic,
  8915  		NetIpStackInfoEntryTypeManual,
  8916  	}
  8917  }
  8918  
  8919  func (e NetIpStackInfoEntryType) Strings() []string {
  8920  	return EnumValuesAsStrings(e.Values())
  8921  }
  8922  
  8923  func init() {
  8924  	t["NetIpStackInfoEntryType"] = reflect.TypeOf((*NetIpStackInfoEntryType)(nil)).Elem()
  8925  }
  8926  
  8927  // The set of values used to determine ordering of default routers.
  8928  //
  8929  // See RFC 4293 ipDefaultRouterPreference.
  8930  type NetIpStackInfoPreference string
  8931  
  8932  const (
  8933  	NetIpStackInfoPreferenceReserved = NetIpStackInfoPreference("reserved")
  8934  	NetIpStackInfoPreferenceLow      = NetIpStackInfoPreference("low")
  8935  	NetIpStackInfoPreferenceMedium   = NetIpStackInfoPreference("medium")
  8936  	NetIpStackInfoPreferenceHigh     = NetIpStackInfoPreference("high")
  8937  )
  8938  
  8939  func (e NetIpStackInfoPreference) Values() []NetIpStackInfoPreference {
  8940  	return []NetIpStackInfoPreference{
  8941  		NetIpStackInfoPreferenceReserved,
  8942  		NetIpStackInfoPreferenceLow,
  8943  		NetIpStackInfoPreferenceMedium,
  8944  		NetIpStackInfoPreferenceHigh,
  8945  	}
  8946  }
  8947  
  8948  func (e NetIpStackInfoPreference) Strings() []string {
  8949  	return EnumValuesAsStrings(e.Values())
  8950  }
  8951  
  8952  func init() {
  8953  	t["NetIpStackInfoPreference"] = reflect.TypeOf((*NetIpStackInfoPreference)(nil)).Elem()
  8954  }
  8955  
  8956  type NotSupportedDeviceForFTDeviceType string
  8957  
  8958  const (
  8959  	// vmxnet3 virtual Ethernet adapter
  8960  	NotSupportedDeviceForFTDeviceTypeVirtualVmxnet3 = NotSupportedDeviceForFTDeviceType("virtualVmxnet3")
  8961  	// paravirtualized SCSI controller
  8962  	NotSupportedDeviceForFTDeviceTypeParaVirtualSCSIController = NotSupportedDeviceForFTDeviceType("paraVirtualSCSIController")
  8963  )
  8964  
  8965  func (e NotSupportedDeviceForFTDeviceType) Values() []NotSupportedDeviceForFTDeviceType {
  8966  	return []NotSupportedDeviceForFTDeviceType{
  8967  		NotSupportedDeviceForFTDeviceTypeVirtualVmxnet3,
  8968  		NotSupportedDeviceForFTDeviceTypeParaVirtualSCSIController,
  8969  	}
  8970  }
  8971  
  8972  func (e NotSupportedDeviceForFTDeviceType) Strings() []string {
  8973  	return EnumValuesAsStrings(e.Values())
  8974  }
  8975  
  8976  func init() {
  8977  	t["NotSupportedDeviceForFTDeviceType"] = reflect.TypeOf((*NotSupportedDeviceForFTDeviceType)(nil)).Elem()
  8978  }
  8979  
  8980  // Reasons why the number of virtual CPUs is incompatible.
  8981  type NumVirtualCpusIncompatibleReason string
  8982  
  8983  const (
  8984  	// Deprecated as of vSphere API 6.0.
  8985  	//
  8986  	// The virtual machine needs to support record/replay functionality.
  8987  	NumVirtualCpusIncompatibleReasonRecordReplay = NumVirtualCpusIncompatibleReason("recordReplay")
  8988  	// The virtual machine is enabled for fault tolerance.
  8989  	NumVirtualCpusIncompatibleReasonFaultTolerance = NumVirtualCpusIncompatibleReason("faultTolerance")
  8990  )
  8991  
  8992  func (e NumVirtualCpusIncompatibleReason) Values() []NumVirtualCpusIncompatibleReason {
  8993  	return []NumVirtualCpusIncompatibleReason{
  8994  		NumVirtualCpusIncompatibleReasonRecordReplay,
  8995  		NumVirtualCpusIncompatibleReasonFaultTolerance,
  8996  	}
  8997  }
  8998  
  8999  func (e NumVirtualCpusIncompatibleReason) Strings() []string {
  9000  	return EnumValuesAsStrings(e.Values())
  9001  }
  9002  
  9003  func init() {
  9004  	t["NumVirtualCpusIncompatibleReason"] = reflect.TypeOf((*NumVirtualCpusIncompatibleReason)(nil)).Elem()
  9005  }
  9006  
  9007  // State of interleave set
  9008  type NvdimmInterleaveSetState string
  9009  
  9010  const (
  9011  	// Interleave set is invalid
  9012  	NvdimmInterleaveSetStateInvalid = NvdimmInterleaveSetState("invalid")
  9013  	// Interleave set is valid and active
  9014  	NvdimmInterleaveSetStateActive = NvdimmInterleaveSetState("active")
  9015  )
  9016  
  9017  func (e NvdimmInterleaveSetState) Values() []NvdimmInterleaveSetState {
  9018  	return []NvdimmInterleaveSetState{
  9019  		NvdimmInterleaveSetStateInvalid,
  9020  		NvdimmInterleaveSetStateActive,
  9021  	}
  9022  }
  9023  
  9024  func (e NvdimmInterleaveSetState) Strings() []string {
  9025  	return EnumValuesAsStrings(e.Values())
  9026  }
  9027  
  9028  func init() {
  9029  	t["NvdimmInterleaveSetState"] = reflect.TypeOf((*NvdimmInterleaveSetState)(nil)).Elem()
  9030  }
  9031  
  9032  // Overall health state for a namespace
  9033  type NvdimmNamespaceDetailsHealthStatus string
  9034  
  9035  const (
  9036  	// Namespace health is normal
  9037  	NvdimmNamespaceDetailsHealthStatusNormal = NvdimmNamespaceDetailsHealthStatus("normal")
  9038  	// Namespace health is missing
  9039  	NvdimmNamespaceDetailsHealthStatusMissing = NvdimmNamespaceDetailsHealthStatus("missing")
  9040  	// Namespace health label is missing
  9041  	NvdimmNamespaceDetailsHealthStatusLabelMissing = NvdimmNamespaceDetailsHealthStatus("labelMissing")
  9042  	// Namespace health interleave broken
  9043  	NvdimmNamespaceDetailsHealthStatusInterleaveBroken = NvdimmNamespaceDetailsHealthStatus("interleaveBroken")
  9044  	// Namespace health label is inconsistent
  9045  	NvdimmNamespaceDetailsHealthStatusLabelInconsistent = NvdimmNamespaceDetailsHealthStatus("labelInconsistent")
  9046  )
  9047  
  9048  func (e NvdimmNamespaceDetailsHealthStatus) Values() []NvdimmNamespaceDetailsHealthStatus {
  9049  	return []NvdimmNamespaceDetailsHealthStatus{
  9050  		NvdimmNamespaceDetailsHealthStatusNormal,
  9051  		NvdimmNamespaceDetailsHealthStatusMissing,
  9052  		NvdimmNamespaceDetailsHealthStatusLabelMissing,
  9053  		NvdimmNamespaceDetailsHealthStatusInterleaveBroken,
  9054  		NvdimmNamespaceDetailsHealthStatusLabelInconsistent,
  9055  	}
  9056  }
  9057  
  9058  func (e NvdimmNamespaceDetailsHealthStatus) Strings() []string {
  9059  	return EnumValuesAsStrings(e.Values())
  9060  }
  9061  
  9062  func init() {
  9063  	t["NvdimmNamespaceDetailsHealthStatus"] = reflect.TypeOf((*NvdimmNamespaceDetailsHealthStatus)(nil)).Elem()
  9064  }
  9065  
  9066  // State of Namespace
  9067  type NvdimmNamespaceDetailsState string
  9068  
  9069  const (
  9070  	// Namespace is invalid
  9071  	NvdimmNamespaceDetailsStateInvalid = NvdimmNamespaceDetailsState("invalid")
  9072  	// Namespace is valid but not in use
  9073  	NvdimmNamespaceDetailsStateNotInUse = NvdimmNamespaceDetailsState("notInUse")
  9074  	// Namespace is valid and is in use
  9075  	NvdimmNamespaceDetailsStateInUse = NvdimmNamespaceDetailsState("inUse")
  9076  )
  9077  
  9078  func (e NvdimmNamespaceDetailsState) Values() []NvdimmNamespaceDetailsState {
  9079  	return []NvdimmNamespaceDetailsState{
  9080  		NvdimmNamespaceDetailsStateInvalid,
  9081  		NvdimmNamespaceDetailsStateNotInUse,
  9082  		NvdimmNamespaceDetailsStateInUse,
  9083  	}
  9084  }
  9085  
  9086  func (e NvdimmNamespaceDetailsState) Strings() []string {
  9087  	return EnumValuesAsStrings(e.Values())
  9088  }
  9089  
  9090  func init() {
  9091  	t["NvdimmNamespaceDetailsState"] = reflect.TypeOf((*NvdimmNamespaceDetailsState)(nil)).Elem()
  9092  }
  9093  
  9094  // Overall health state for a namespace
  9095  type NvdimmNamespaceHealthStatus string
  9096  
  9097  const (
  9098  	// Namespace health is normal
  9099  	NvdimmNamespaceHealthStatusNormal = NvdimmNamespaceHealthStatus("normal")
  9100  	// Namespace health is missing
  9101  	NvdimmNamespaceHealthStatusMissing = NvdimmNamespaceHealthStatus("missing")
  9102  	// Namespace health label is missing
  9103  	NvdimmNamespaceHealthStatusLabelMissing = NvdimmNamespaceHealthStatus("labelMissing")
  9104  	// Namespace health interleave broken
  9105  	NvdimmNamespaceHealthStatusInterleaveBroken = NvdimmNamespaceHealthStatus("interleaveBroken")
  9106  	// Namespace health label is inconsistent
  9107  	NvdimmNamespaceHealthStatusLabelInconsistent = NvdimmNamespaceHealthStatus("labelInconsistent")
  9108  	// Namespace health BTT is corrupt
  9109  	NvdimmNamespaceHealthStatusBttCorrupt = NvdimmNamespaceHealthStatus("bttCorrupt")
  9110  	// Namespace health encountered bad block
  9111  	NvdimmNamespaceHealthStatusBadBlockSize = NvdimmNamespaceHealthStatus("badBlockSize")
  9112  )
  9113  
  9114  func (e NvdimmNamespaceHealthStatus) Values() []NvdimmNamespaceHealthStatus {
  9115  	return []NvdimmNamespaceHealthStatus{
  9116  		NvdimmNamespaceHealthStatusNormal,
  9117  		NvdimmNamespaceHealthStatusMissing,
  9118  		NvdimmNamespaceHealthStatusLabelMissing,
  9119  		NvdimmNamespaceHealthStatusInterleaveBroken,
  9120  		NvdimmNamespaceHealthStatusLabelInconsistent,
  9121  		NvdimmNamespaceHealthStatusBttCorrupt,
  9122  		NvdimmNamespaceHealthStatusBadBlockSize,
  9123  	}
  9124  }
  9125  
  9126  func (e NvdimmNamespaceHealthStatus) Strings() []string {
  9127  	return EnumValuesAsStrings(e.Values())
  9128  }
  9129  
  9130  func init() {
  9131  	t["NvdimmNamespaceHealthStatus"] = reflect.TypeOf((*NvdimmNamespaceHealthStatus)(nil)).Elem()
  9132  }
  9133  
  9134  // State of Namespace
  9135  type NvdimmNamespaceState string
  9136  
  9137  const (
  9138  	// Namespace is invalid
  9139  	NvdimmNamespaceStateInvalid = NvdimmNamespaceState("invalid")
  9140  	// Namespace is valid but not in use
  9141  	NvdimmNamespaceStateNotInUse = NvdimmNamespaceState("notInUse")
  9142  	// Namespace is valid and is in use
  9143  	NvdimmNamespaceStateInUse = NvdimmNamespaceState("inUse")
  9144  )
  9145  
  9146  func (e NvdimmNamespaceState) Values() []NvdimmNamespaceState {
  9147  	return []NvdimmNamespaceState{
  9148  		NvdimmNamespaceStateInvalid,
  9149  		NvdimmNamespaceStateNotInUse,
  9150  		NvdimmNamespaceStateInUse,
  9151  	}
  9152  }
  9153  
  9154  func (e NvdimmNamespaceState) Strings() []string {
  9155  	return EnumValuesAsStrings(e.Values())
  9156  }
  9157  
  9158  func init() {
  9159  	t["NvdimmNamespaceState"] = reflect.TypeOf((*NvdimmNamespaceState)(nil)).Elem()
  9160  }
  9161  
  9162  // Type of namespace.
  9163  type NvdimmNamespaceType string
  9164  
  9165  const (
  9166  	// Block mode namespace
  9167  	NvdimmNamespaceTypeBlockNamespace = NvdimmNamespaceType("blockNamespace")
  9168  	// Persistent mode namespace
  9169  	NvdimmNamespaceTypePersistentNamespace = NvdimmNamespaceType("persistentNamespace")
  9170  )
  9171  
  9172  func (e NvdimmNamespaceType) Values() []NvdimmNamespaceType {
  9173  	return []NvdimmNamespaceType{
  9174  		NvdimmNamespaceTypeBlockNamespace,
  9175  		NvdimmNamespaceTypePersistentNamespace,
  9176  	}
  9177  }
  9178  
  9179  func (e NvdimmNamespaceType) Strings() []string {
  9180  	return EnumValuesAsStrings(e.Values())
  9181  }
  9182  
  9183  func init() {
  9184  	t["NvdimmNamespaceType"] = reflect.TypeOf((*NvdimmNamespaceType)(nil)).Elem()
  9185  }
  9186  
  9187  // Overall state of NVDIMM
  9188  type NvdimmNvdimmHealthInfoState string
  9189  
  9190  const (
  9191  	// NVDIMM state is normal
  9192  	NvdimmNvdimmHealthInfoStateNormal = NvdimmNvdimmHealthInfoState("normal")
  9193  	// Error in NVDIMM state.
  9194  	//
  9195  	// Potential data loss.
  9196  	NvdimmNvdimmHealthInfoStateError = NvdimmNvdimmHealthInfoState("error")
  9197  )
  9198  
  9199  func (e NvdimmNvdimmHealthInfoState) Values() []NvdimmNvdimmHealthInfoState {
  9200  	return []NvdimmNvdimmHealthInfoState{
  9201  		NvdimmNvdimmHealthInfoStateNormal,
  9202  		NvdimmNvdimmHealthInfoStateError,
  9203  	}
  9204  }
  9205  
  9206  func (e NvdimmNvdimmHealthInfoState) Strings() []string {
  9207  	return EnumValuesAsStrings(e.Values())
  9208  }
  9209  
  9210  func init() {
  9211  	t["NvdimmNvdimmHealthInfoState"] = reflect.TypeOf((*NvdimmNvdimmHealthInfoState)(nil)).Elem()
  9212  }
  9213  
  9214  // An indicator of how a memory range is being used
  9215  type NvdimmRangeType string
  9216  
  9217  const (
  9218  	// Identifies the region to be volatile
  9219  	NvdimmRangeTypeVolatileRange = NvdimmRangeType("volatileRange")
  9220  	// Identifies the region to be persistent
  9221  	NvdimmRangeTypePersistentRange = NvdimmRangeType("persistentRange")
  9222  	// NVDIMM control region
  9223  	NvdimmRangeTypeControlRange = NvdimmRangeType("controlRange")
  9224  	// NVDIMM block data window region
  9225  	NvdimmRangeTypeBlockRange = NvdimmRangeType("blockRange")
  9226  	// NVDIMM volatile virtual disk region
  9227  	NvdimmRangeTypeVolatileVirtualDiskRange = NvdimmRangeType("volatileVirtualDiskRange")
  9228  	// NVDIMM volatile virtual CD region
  9229  	NvdimmRangeTypeVolatileVirtualCDRange = NvdimmRangeType("volatileVirtualCDRange")
  9230  	// NVDIMM persistent virtual disk region
  9231  	NvdimmRangeTypePersistentVirtualDiskRange = NvdimmRangeType("persistentVirtualDiskRange")
  9232  	// NVDIMM persistent virtual CD region
  9233  	NvdimmRangeTypePersistentVirtualCDRange = NvdimmRangeType("persistentVirtualCDRange")
  9234  )
  9235  
  9236  func (e NvdimmRangeType) Values() []NvdimmRangeType {
  9237  	return []NvdimmRangeType{
  9238  		NvdimmRangeTypeVolatileRange,
  9239  		NvdimmRangeTypePersistentRange,
  9240  		NvdimmRangeTypeControlRange,
  9241  		NvdimmRangeTypeBlockRange,
  9242  		NvdimmRangeTypeVolatileVirtualDiskRange,
  9243  		NvdimmRangeTypeVolatileVirtualCDRange,
  9244  		NvdimmRangeTypePersistentVirtualDiskRange,
  9245  		NvdimmRangeTypePersistentVirtualCDRange,
  9246  	}
  9247  }
  9248  
  9249  func (e NvdimmRangeType) Strings() []string {
  9250  	return EnumValuesAsStrings(e.Values())
  9251  }
  9252  
  9253  func init() {
  9254  	t["NvdimmRangeType"] = reflect.TypeOf((*NvdimmRangeType)(nil)).Elem()
  9255  }
  9256  
  9257  // Enumeration of different kinds of updates.
  9258  type ObjectUpdateKind string
  9259  
  9260  const (
  9261  	// A property of the managed object changed its value.
  9262  	ObjectUpdateKindModify = ObjectUpdateKind("modify")
  9263  	// A managed object became visible to a filter for the first time.
  9264  	//
  9265  	// For instance, this can happen if a virtual machine is added to a
  9266  	// folder.
  9267  	ObjectUpdateKindEnter = ObjectUpdateKind("enter")
  9268  	// A managed object left the set of objects visible to a filter.
  9269  	//
  9270  	// For
  9271  	// instance, this can happen when a virtual machine is destroyed.
  9272  	ObjectUpdateKindLeave = ObjectUpdateKind("leave")
  9273  )
  9274  
  9275  func (e ObjectUpdateKind) Values() []ObjectUpdateKind {
  9276  	return []ObjectUpdateKind{
  9277  		ObjectUpdateKindModify,
  9278  		ObjectUpdateKindEnter,
  9279  		ObjectUpdateKindLeave,
  9280  	}
  9281  }
  9282  
  9283  func (e ObjectUpdateKind) Strings() []string {
  9284  	return EnumValuesAsStrings(e.Values())
  9285  }
  9286  
  9287  func init() {
  9288  	t["ObjectUpdateKind"] = reflect.TypeOf((*ObjectUpdateKind)(nil)).Elem()
  9289  }
  9290  
  9291  // The type of an OST node.
  9292  //
  9293  // Each OST node corresponds to an element in the OVF descriptor. See `OvfConsumerOstNode`
  9294  // for a description of the different node types.
  9295  type OvfConsumerOstNodeType string
  9296  
  9297  const (
  9298  	OvfConsumerOstNodeTypeEnvelope                = OvfConsumerOstNodeType("envelope")
  9299  	OvfConsumerOstNodeTypeVirtualSystem           = OvfConsumerOstNodeType("virtualSystem")
  9300  	OvfConsumerOstNodeTypeVirtualSystemCollection = OvfConsumerOstNodeType("virtualSystemCollection")
  9301  )
  9302  
  9303  func (e OvfConsumerOstNodeType) Values() []OvfConsumerOstNodeType {
  9304  	return []OvfConsumerOstNodeType{
  9305  		OvfConsumerOstNodeTypeEnvelope,
  9306  		OvfConsumerOstNodeTypeVirtualSystem,
  9307  		OvfConsumerOstNodeTypeVirtualSystemCollection,
  9308  	}
  9309  }
  9310  
  9311  func (e OvfConsumerOstNodeType) Strings() []string {
  9312  	return EnumValuesAsStrings(e.Values())
  9313  }
  9314  
  9315  func init() {
  9316  	t["OvfConsumerOstNodeType"] = reflect.TypeOf((*OvfConsumerOstNodeType)(nil)).Elem()
  9317  }
  9318  
  9319  // Types of disk provisioning that can be set for the disk in the deployed OVF
  9320  // package.
  9321  type OvfCreateImportSpecParamsDiskProvisioningType string
  9322  
  9323  const (
  9324  	// A sparse (allocate on demand) monolithic disk.
  9325  	//
  9326  	// Disks in this format can
  9327  	// be used with other VMware products.
  9328  	OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicSparse = OvfCreateImportSpecParamsDiskProvisioningType("monolithicSparse")
  9329  	// A preallocated monolithic disk.
  9330  	//
  9331  	// Disks in this format can be used with
  9332  	// other VMware products.
  9333  	OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicFlat = OvfCreateImportSpecParamsDiskProvisioningType("monolithicFlat")
  9334  	// A sparse (allocate on demand) disk with 2GB maximum extent size.
  9335  	//
  9336  	// Disks in this format can be used with other VMware products. The 2GB
  9337  	// extent size makes these disks easier to burn to dvd or use on
  9338  	// filesystems that don't support large files.
  9339  	OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentSparse = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentSparse")
  9340  	// A preallocated disk with 2GB maximum extent size.
  9341  	//
  9342  	// Disks in this format
  9343  	// can be used with other VMware products. The 2GB extent size
  9344  	// makes these disks easier to burn to dvd or use on filesystems that
  9345  	// don't support large files.
  9346  	OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentFlat = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentFlat")
  9347  	// Space required for thin-provisioned virtual disk is allocated and
  9348  	// zeroed on demand as the space is used.
  9349  	OvfCreateImportSpecParamsDiskProvisioningTypeThin = OvfCreateImportSpecParamsDiskProvisioningType("thin")
  9350  	// A thick disk has all space allocated at creation time
  9351  	// and the space is zeroed on demand as the space is used.
  9352  	OvfCreateImportSpecParamsDiskProvisioningTypeThick = OvfCreateImportSpecParamsDiskProvisioningType("thick")
  9353  	// A sparse (allocate on demand) format with additional space
  9354  	// optimizations.
  9355  	OvfCreateImportSpecParamsDiskProvisioningTypeSeSparse = OvfCreateImportSpecParamsDiskProvisioningType("seSparse")
  9356  	// An eager zeroed thick disk has all space allocated and wiped clean
  9357  	// of any previous contents on the physical media at creation time.
  9358  	//
  9359  	// Such disks may take longer time during creation compared to other
  9360  	// disk formats.
  9361  	OvfCreateImportSpecParamsDiskProvisioningTypeEagerZeroedThick = OvfCreateImportSpecParamsDiskProvisioningType("eagerZeroedThick")
  9362  	// Depending on the host type, Sparse is mapped to either
  9363  	// MonolithicSparse or Thin.
  9364  	OvfCreateImportSpecParamsDiskProvisioningTypeSparse = OvfCreateImportSpecParamsDiskProvisioningType("sparse")
  9365  	// Depending on the host type, Flat is mapped to either
  9366  	// MonolithicFlat or Thick.
  9367  	OvfCreateImportSpecParamsDiskProvisioningTypeFlat = OvfCreateImportSpecParamsDiskProvisioningType("flat")
  9368  )
  9369  
  9370  func (e OvfCreateImportSpecParamsDiskProvisioningType) Values() []OvfCreateImportSpecParamsDiskProvisioningType {
  9371  	return []OvfCreateImportSpecParamsDiskProvisioningType{
  9372  		OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicSparse,
  9373  		OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicFlat,
  9374  		OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentSparse,
  9375  		OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentFlat,
  9376  		OvfCreateImportSpecParamsDiskProvisioningTypeThin,
  9377  		OvfCreateImportSpecParamsDiskProvisioningTypeThick,
  9378  		OvfCreateImportSpecParamsDiskProvisioningTypeSeSparse,
  9379  		OvfCreateImportSpecParamsDiskProvisioningTypeEagerZeroedThick,
  9380  		OvfCreateImportSpecParamsDiskProvisioningTypeSparse,
  9381  		OvfCreateImportSpecParamsDiskProvisioningTypeFlat,
  9382  	}
  9383  }
  9384  
  9385  func (e OvfCreateImportSpecParamsDiskProvisioningType) Strings() []string {
  9386  	return EnumValuesAsStrings(e.Values())
  9387  }
  9388  
  9389  func init() {
  9390  	t["OvfCreateImportSpecParamsDiskProvisioningType"] = reflect.TypeOf((*OvfCreateImportSpecParamsDiskProvisioningType)(nil)).Elem()
  9391  }
  9392  
  9393  // The format in which performance counter data is returned.
  9394  type PerfFormat string
  9395  
  9396  const (
  9397  	// Counters returned in an array of data objects.
  9398  	PerfFormatNormal = PerfFormat("normal")
  9399  	// Counters returned in comma-separate value (CSV) format.
  9400  	PerfFormatCsv = PerfFormat("csv")
  9401  )
  9402  
  9403  func (e PerfFormat) Values() []PerfFormat {
  9404  	return []PerfFormat{
  9405  		PerfFormatNormal,
  9406  		PerfFormatCsv,
  9407  	}
  9408  }
  9409  
  9410  func (e PerfFormat) Strings() []string {
  9411  	return EnumValuesAsStrings(e.Values())
  9412  }
  9413  
  9414  func init() {
  9415  	t["PerfFormat"] = reflect.TypeOf((*PerfFormat)(nil)).Elem()
  9416  }
  9417  
  9418  // Indicates the type of statistical measurement that a counter&#146;s
  9419  // value represents.
  9420  //
  9421  // Valid types are &#147;absolute&#148;,
  9422  // &#147;delta&#148;, or &#147;rate&#148;.
  9423  type PerfStatsType string
  9424  
  9425  const (
  9426  	// Represents an actual value, level, or state of the counter.
  9427  	//
  9428  	// For
  9429  	// example, the &#147;uptime&#148; counter (`*system*` group)
  9430  	// represents the actual number of seconds since startup. The
  9431  	// &#147;capacity&#148; counter represents the actual configured size
  9432  	// of the specified datastore. In other words, number of samples,
  9433  	// samplingPeriod, and intervals have no bearing on an
  9434  	// &#147;absolute&#148; counter&#147;s value.
  9435  	PerfStatsTypeAbsolute = PerfStatsType("absolute")
  9436  	// Represents an amount of change for the counter during the `PerfInterval.samplingPeriod` as compared to the previous
  9437  	// `interval`.
  9438  	//
  9439  	// The first sampling interval
  9440  	PerfStatsTypeDelta = PerfStatsType("delta")
  9441  	// Represents a value that has been normalized over the `PerfInterval.samplingPeriod`, enabling values for the same
  9442  	// counter type to be compared, regardless of interval.
  9443  	//
  9444  	// For example,
  9445  	// the number of reads per second.
  9446  	PerfStatsTypeRate = PerfStatsType("rate")
  9447  )
  9448  
  9449  func (e PerfStatsType) Values() []PerfStatsType {
  9450  	return []PerfStatsType{
  9451  		PerfStatsTypeAbsolute,
  9452  		PerfStatsTypeDelta,
  9453  		PerfStatsTypeRate,
  9454  	}
  9455  }
  9456  
  9457  func (e PerfStatsType) Strings() []string {
  9458  	return EnumValuesAsStrings(e.Values())
  9459  }
  9460  
  9461  func init() {
  9462  	t["PerfStatsType"] = reflect.TypeOf((*PerfStatsType)(nil)).Elem()
  9463  }
  9464  
  9465  // Indicates how multiple samples of a specific counter type are
  9466  // transformed into a single statistical value.
  9467  type PerfSummaryType string
  9468  
  9469  const (
  9470  	// The actual value collected or the average of all values collected
  9471  	// during the summary period.
  9472  	PerfSummaryTypeAverage = PerfSummaryType("average")
  9473  	// The maximum value of the performance counter value over the
  9474  	// summarization period.
  9475  	PerfSummaryTypeMaximum = PerfSummaryType("maximum")
  9476  	// The minimum value of the performance counter value over the
  9477  	// summarization period.
  9478  	PerfSummaryTypeMinimum = PerfSummaryType("minimum")
  9479  	// The most recent value of the performance counter over the
  9480  	// summarization period.
  9481  	PerfSummaryTypeLatest = PerfSummaryType("latest")
  9482  	// The sum of all the values of the performance counter over the
  9483  	// summarization period.
  9484  	PerfSummaryTypeSummation = PerfSummaryType("summation")
  9485  	// The counter is never rolled up.
  9486  	PerfSummaryTypeNone = PerfSummaryType("none")
  9487  )
  9488  
  9489  func (e PerfSummaryType) Values() []PerfSummaryType {
  9490  	return []PerfSummaryType{
  9491  		PerfSummaryTypeAverage,
  9492  		PerfSummaryTypeMaximum,
  9493  		PerfSummaryTypeMinimum,
  9494  		PerfSummaryTypeLatest,
  9495  		PerfSummaryTypeSummation,
  9496  		PerfSummaryTypeNone,
  9497  	}
  9498  }
  9499  
  9500  func (e PerfSummaryType) Strings() []string {
  9501  	return EnumValuesAsStrings(e.Values())
  9502  }
  9503  
  9504  func init() {
  9505  	t["PerfSummaryType"] = reflect.TypeOf((*PerfSummaryType)(nil)).Elem()
  9506  }
  9507  
  9508  // Indicates the unit of measure represented by a counter or statistical
  9509  // value.
  9510  type PerformanceManagerUnit string
  9511  
  9512  const (
  9513  	// Percentage values in units of 1/100th of a percent.
  9514  	//
  9515  	// For example 100
  9516  	// represents 1%.
  9517  	PerformanceManagerUnitPercent = PerformanceManagerUnit("percent")
  9518  	// Kilobytes.
  9519  	PerformanceManagerUnitKiloBytes = PerformanceManagerUnit("kiloBytes")
  9520  	// Megabytes.
  9521  	PerformanceManagerUnitMegaBytes = PerformanceManagerUnit("megaBytes")
  9522  	// Megahertz.
  9523  	PerformanceManagerUnitMegaHertz = PerformanceManagerUnit("megaHertz")
  9524  	// A quantity of items, for example, the number of CPUs.
  9525  	PerformanceManagerUnitNumber = PerformanceManagerUnit("number")
  9526  	// The time in microseconds.
  9527  	PerformanceManagerUnitMicrosecond = PerformanceManagerUnit("microsecond")
  9528  	// The time in milliseconds.
  9529  	PerformanceManagerUnitMillisecond = PerformanceManagerUnit("millisecond")
  9530  	// The time in seconds.
  9531  	PerformanceManagerUnitSecond = PerformanceManagerUnit("second")
  9532  	// Kilobytes per second.
  9533  	PerformanceManagerUnitKiloBytesPerSecond = PerformanceManagerUnit("kiloBytesPerSecond")
  9534  	// Megabytes per second.
  9535  	PerformanceManagerUnitMegaBytesPerSecond = PerformanceManagerUnit("megaBytesPerSecond")
  9536  	// Watts
  9537  	PerformanceManagerUnitWatt = PerformanceManagerUnit("watt")
  9538  	// Joules
  9539  	PerformanceManagerUnitJoule = PerformanceManagerUnit("joule")
  9540  	// Terabytes.
  9541  	PerformanceManagerUnitTeraBytes = PerformanceManagerUnit("teraBytes")
  9542  	// Temperature in celsius.
  9543  	PerformanceManagerUnitCelsius = PerformanceManagerUnit("celsius")
  9544  	// The time in nanoseconds.
  9545  	PerformanceManagerUnitNanosecond = PerformanceManagerUnit("nanosecond")
  9546  )
  9547  
  9548  func (e PerformanceManagerUnit) Values() []PerformanceManagerUnit {
  9549  	return []PerformanceManagerUnit{
  9550  		PerformanceManagerUnitPercent,
  9551  		PerformanceManagerUnitKiloBytes,
  9552  		PerformanceManagerUnitMegaBytes,
  9553  		PerformanceManagerUnitMegaHertz,
  9554  		PerformanceManagerUnitNumber,
  9555  		PerformanceManagerUnitMicrosecond,
  9556  		PerformanceManagerUnitMillisecond,
  9557  		PerformanceManagerUnitSecond,
  9558  		PerformanceManagerUnitKiloBytesPerSecond,
  9559  		PerformanceManagerUnitMegaBytesPerSecond,
  9560  		PerformanceManagerUnitWatt,
  9561  		PerformanceManagerUnitJoule,
  9562  		PerformanceManagerUnitTeraBytes,
  9563  		PerformanceManagerUnitCelsius,
  9564  		PerformanceManagerUnitNanosecond,
  9565  	}
  9566  }
  9567  
  9568  func (e PerformanceManagerUnit) Strings() []string {
  9569  	return EnumValuesAsStrings(e.Values())
  9570  }
  9571  
  9572  func init() {
  9573  	t["PerformanceManagerUnit"] = reflect.TypeOf((*PerformanceManagerUnit)(nil)).Elem()
  9574  	minAPIVersionForEnumValue["PerformanceManagerUnit"] = map[string]string{
  9575  		"nanosecond": "8.0.0.1",
  9576  	}
  9577  }
  9578  
  9579  type PhysicalNicResourcePoolSchedulerDisallowedReason string
  9580  
  9581  const (
  9582  	// Indicates that the user has opted out the Physical NIC from resource pool
  9583  	// based scheduling.
  9584  	PhysicalNicResourcePoolSchedulerDisallowedReasonUserOptOut = PhysicalNicResourcePoolSchedulerDisallowedReason("userOptOut")
  9585  	// Indicates that the NIC device does is not capable of resource pool
  9586  	// based scheduling.
  9587  	PhysicalNicResourcePoolSchedulerDisallowedReasonHardwareUnsupported = PhysicalNicResourcePoolSchedulerDisallowedReason("hardwareUnsupported")
  9588  )
  9589  
  9590  func (e PhysicalNicResourcePoolSchedulerDisallowedReason) Values() []PhysicalNicResourcePoolSchedulerDisallowedReason {
  9591  	return []PhysicalNicResourcePoolSchedulerDisallowedReason{
  9592  		PhysicalNicResourcePoolSchedulerDisallowedReasonUserOptOut,
  9593  		PhysicalNicResourcePoolSchedulerDisallowedReasonHardwareUnsupported,
  9594  	}
  9595  }
  9596  
  9597  func (e PhysicalNicResourcePoolSchedulerDisallowedReason) Strings() []string {
  9598  	return EnumValuesAsStrings(e.Values())
  9599  }
  9600  
  9601  func init() {
  9602  	t["PhysicalNicResourcePoolSchedulerDisallowedReason"] = reflect.TypeOf((*PhysicalNicResourcePoolSchedulerDisallowedReason)(nil)).Elem()
  9603  }
  9604  
  9605  // Set of possible values for `PhysicalNic.vmDirectPathGen2SupportedMode`.
  9606  type PhysicalNicVmDirectPathGen2SupportedMode string
  9607  
  9608  const (
  9609  	PhysicalNicVmDirectPathGen2SupportedModeUpt = PhysicalNicVmDirectPathGen2SupportedMode("upt")
  9610  )
  9611  
  9612  func (e PhysicalNicVmDirectPathGen2SupportedMode) Values() []PhysicalNicVmDirectPathGen2SupportedMode {
  9613  	return []PhysicalNicVmDirectPathGen2SupportedMode{
  9614  		PhysicalNicVmDirectPathGen2SupportedModeUpt,
  9615  	}
  9616  }
  9617  
  9618  func (e PhysicalNicVmDirectPathGen2SupportedMode) Strings() []string {
  9619  	return EnumValuesAsStrings(e.Values())
  9620  }
  9621  
  9622  func init() {
  9623  	t["PhysicalNicVmDirectPathGen2SupportedMode"] = reflect.TypeOf((*PhysicalNicVmDirectPathGen2SupportedMode)(nil)).Elem()
  9624  }
  9625  
  9626  type PlaceVmsXClusterSpecPlacementType string
  9627  
  9628  const (
  9629  	// Create a new VM that should be powered-on in the near future.
  9630  	PlaceVmsXClusterSpecPlacementTypeCreateAndPowerOn = PlaceVmsXClusterSpecPlacementType("createAndPowerOn")
  9631  	// Reconfigure a powered-off or a powered-on VM.
  9632  	PlaceVmsXClusterSpecPlacementTypeReconfigure = PlaceVmsXClusterSpecPlacementType("reconfigure")
  9633  	// Relocate a powered-off or a powered-on VM.
  9634  	PlaceVmsXClusterSpecPlacementTypeRelocate = PlaceVmsXClusterSpecPlacementType("relocate")
  9635  )
  9636  
  9637  func (e PlaceVmsXClusterSpecPlacementType) Values() []PlaceVmsXClusterSpecPlacementType {
  9638  	return []PlaceVmsXClusterSpecPlacementType{
  9639  		PlaceVmsXClusterSpecPlacementTypeCreateAndPowerOn,
  9640  		PlaceVmsXClusterSpecPlacementTypeReconfigure,
  9641  		PlaceVmsXClusterSpecPlacementTypeRelocate,
  9642  	}
  9643  }
  9644  
  9645  func (e PlaceVmsXClusterSpecPlacementType) Strings() []string {
  9646  	return EnumValuesAsStrings(e.Values())
  9647  }
  9648  
  9649  func init() {
  9650  	t["PlaceVmsXClusterSpecPlacementType"] = reflect.TypeOf((*PlaceVmsXClusterSpecPlacementType)(nil)).Elem()
  9651  	minAPIVersionForType["PlaceVmsXClusterSpecPlacementType"] = "9.0.0.0"
  9652  }
  9653  
  9654  // Rule scope determines conditions when an affinity rule is
  9655  // satisfied.
  9656  //
  9657  // The following uses affinity rule as example.
  9658  // cluster: All Vms in the rule list are placed in a single cluster.
  9659  // host: All Vms in the rule list are placed in a single host.
  9660  // storagePod: All Vms in the rule list are placed in a single storagePod.
  9661  // datastore: All Vms in the rule list are placed in a single datastore.
  9662  type PlacementAffinityRuleRuleScope string
  9663  
  9664  const (
  9665  	// clusters are the scope
  9666  	PlacementAffinityRuleRuleScopeCluster = PlacementAffinityRuleRuleScope("cluster")
  9667  	// individual hosts are the scope
  9668  	PlacementAffinityRuleRuleScopeHost = PlacementAffinityRuleRuleScope("host")
  9669  	// datastore cluster is teh scope
  9670  	PlacementAffinityRuleRuleScopeStoragePod = PlacementAffinityRuleRuleScope("storagePod")
  9671  	// individual datastores are the scope
  9672  	PlacementAffinityRuleRuleScopeDatastore = PlacementAffinityRuleRuleScope("datastore")
  9673  )
  9674  
  9675  func (e PlacementAffinityRuleRuleScope) Values() []PlacementAffinityRuleRuleScope {
  9676  	return []PlacementAffinityRuleRuleScope{
  9677  		PlacementAffinityRuleRuleScopeCluster,
  9678  		PlacementAffinityRuleRuleScopeHost,
  9679  		PlacementAffinityRuleRuleScopeStoragePod,
  9680  		PlacementAffinityRuleRuleScopeDatastore,
  9681  	}
  9682  }
  9683  
  9684  func (e PlacementAffinityRuleRuleScope) Strings() []string {
  9685  	return EnumValuesAsStrings(e.Values())
  9686  }
  9687  
  9688  func init() {
  9689  	t["PlacementAffinityRuleRuleScope"] = reflect.TypeOf((*PlacementAffinityRuleRuleScope)(nil)).Elem()
  9690  }
  9691  
  9692  // Rule type determines how the affinity rule is to be enforced:
  9693  // affinity: Vms in the list are kept together within the rule
  9694  // scope.
  9695  //
  9696  // anti-affinity: Vms in the rule list are kept separate
  9697  // across the objects in the rule scope.
  9698  // soft rule: The enforcement is best effort.
  9699  type PlacementAffinityRuleRuleType string
  9700  
  9701  const (
  9702  	// Affinity
  9703  	PlacementAffinityRuleRuleTypeAffinity = PlacementAffinityRuleRuleType("affinity")
  9704  	// Anti-Affinity
  9705  	PlacementAffinityRuleRuleTypeAntiAffinity = PlacementAffinityRuleRuleType("antiAffinity")
  9706  	// Best-effort affinity
  9707  	PlacementAffinityRuleRuleTypeSoftAffinity = PlacementAffinityRuleRuleType("softAffinity")
  9708  	// Best-effort anti-affinity
  9709  	PlacementAffinityRuleRuleTypeSoftAntiAffinity = PlacementAffinityRuleRuleType("softAntiAffinity")
  9710  )
  9711  
  9712  func (e PlacementAffinityRuleRuleType) Values() []PlacementAffinityRuleRuleType {
  9713  	return []PlacementAffinityRuleRuleType{
  9714  		PlacementAffinityRuleRuleTypeAffinity,
  9715  		PlacementAffinityRuleRuleTypeAntiAffinity,
  9716  		PlacementAffinityRuleRuleTypeSoftAffinity,
  9717  		PlacementAffinityRuleRuleTypeSoftAntiAffinity,
  9718  	}
  9719  }
  9720  
  9721  func (e PlacementAffinityRuleRuleType) Strings() []string {
  9722  	return EnumValuesAsStrings(e.Values())
  9723  }
  9724  
  9725  func init() {
  9726  	t["PlacementAffinityRuleRuleType"] = reflect.TypeOf((*PlacementAffinityRuleRuleType)(nil)).Elem()
  9727  }
  9728  
  9729  // Defines the type of placement
  9730  type PlacementSpecPlacementType string
  9731  
  9732  const (
  9733  	// Create a new VM
  9734  	PlacementSpecPlacementTypeCreate = PlacementSpecPlacementType("create")
  9735  	// Reconfigure a VM
  9736  	PlacementSpecPlacementTypeReconfigure = PlacementSpecPlacementType("reconfigure")
  9737  	// Relocate a VM
  9738  	PlacementSpecPlacementTypeRelocate = PlacementSpecPlacementType("relocate")
  9739  	// Clone a VM
  9740  	PlacementSpecPlacementTypeClone = PlacementSpecPlacementType("clone")
  9741  )
  9742  
  9743  func (e PlacementSpecPlacementType) Values() []PlacementSpecPlacementType {
  9744  	return []PlacementSpecPlacementType{
  9745  		PlacementSpecPlacementTypeCreate,
  9746  		PlacementSpecPlacementTypeReconfigure,
  9747  		PlacementSpecPlacementTypeRelocate,
  9748  		PlacementSpecPlacementTypeClone,
  9749  	}
  9750  }
  9751  
  9752  func (e PlacementSpecPlacementType) Strings() []string {
  9753  	return EnumValuesAsStrings(e.Values())
  9754  }
  9755  
  9756  func init() {
  9757  	t["PlacementSpecPlacementType"] = reflect.TypeOf((*PlacementSpecPlacementType)(nil)).Elem()
  9758  }
  9759  
  9760  // The type of component connected to a port group.
  9761  type PortGroupConnecteeType string
  9762  
  9763  const (
  9764  	// A virtual machine is connected to this port group.
  9765  	PortGroupConnecteeTypeVirtualMachine = PortGroupConnecteeType("virtualMachine")
  9766  	// A system management entity (service console)
  9767  	// is connected to this port group.
  9768  	PortGroupConnecteeTypeSystemManagement = PortGroupConnecteeType("systemManagement")
  9769  	// The VMkernel is connected to this port group.
  9770  	PortGroupConnecteeTypeHost = PortGroupConnecteeType("host")
  9771  	// This port group serves an entity of unspecified kind.
  9772  	PortGroupConnecteeTypeUnknown = PortGroupConnecteeType("unknown")
  9773  )
  9774  
  9775  func (e PortGroupConnecteeType) Values() []PortGroupConnecteeType {
  9776  	return []PortGroupConnecteeType{
  9777  		PortGroupConnecteeTypeVirtualMachine,
  9778  		PortGroupConnecteeTypeSystemManagement,
  9779  		PortGroupConnecteeTypeHost,
  9780  		PortGroupConnecteeTypeUnknown,
  9781  	}
  9782  }
  9783  
  9784  func (e PortGroupConnecteeType) Strings() []string {
  9785  	return EnumValuesAsStrings(e.Values())
  9786  }
  9787  
  9788  func init() {
  9789  	t["PortGroupConnecteeType"] = reflect.TypeOf((*PortGroupConnecteeType)(nil)).Elem()
  9790  }
  9791  
  9792  // Defines the result status values for a
  9793  // `HostProfile*.*HostProfile.ExecuteHostProfile`
  9794  // operation.
  9795  //
  9796  // The result data is contained in the
  9797  // `ProfileExecuteResult` data object.
  9798  type ProfileExecuteResultStatus string
  9799  
  9800  const (
  9801  	// Profile execution was successful.
  9802  	//
  9803  	// You can use the output configuration data
  9804  	// to apply the profile to a host.
  9805  	ProfileExecuteResultStatusSuccess = ProfileExecuteResultStatus("success")
  9806  	// Additional data is required to complete the operation.
  9807  	//
  9808  	// The data requirements are defined in the list of policy options for the profile
  9809  	// (`ApplyProfile*.*ApplyProfile.policy`\[\]).
  9810  	ProfileExecuteResultStatusNeedInput = ProfileExecuteResultStatus("needInput")
  9811  	// Profile execution generated an error.
  9812  	//
  9813  	// See `ProfileExecuteResult*.*ProfileExecuteResult.error`.
  9814  	ProfileExecuteResultStatusError = ProfileExecuteResultStatus("error")
  9815  )
  9816  
  9817  func (e ProfileExecuteResultStatus) Values() []ProfileExecuteResultStatus {
  9818  	return []ProfileExecuteResultStatus{
  9819  		ProfileExecuteResultStatusSuccess,
  9820  		ProfileExecuteResultStatusNeedInput,
  9821  		ProfileExecuteResultStatusError,
  9822  	}
  9823  }
  9824  
  9825  func (e ProfileExecuteResultStatus) Strings() []string {
  9826  	return EnumValuesAsStrings(e.Values())
  9827  }
  9828  
  9829  func init() {
  9830  	t["ProfileExecuteResultStatus"] = reflect.TypeOf((*ProfileExecuteResultStatus)(nil)).Elem()
  9831  }
  9832  
  9833  // Enumerates different operations supported for comparing
  9834  // numerical values.
  9835  type ProfileNumericComparator string
  9836  
  9837  const (
  9838  	ProfileNumericComparatorLessThan         = ProfileNumericComparator("lessThan")
  9839  	ProfileNumericComparatorLessThanEqual    = ProfileNumericComparator("lessThanEqual")
  9840  	ProfileNumericComparatorEqual            = ProfileNumericComparator("equal")
  9841  	ProfileNumericComparatorNotEqual         = ProfileNumericComparator("notEqual")
  9842  	ProfileNumericComparatorGreaterThanEqual = ProfileNumericComparator("greaterThanEqual")
  9843  	ProfileNumericComparatorGreaterThan      = ProfileNumericComparator("greaterThan")
  9844  )
  9845  
  9846  func (e ProfileNumericComparator) Values() []ProfileNumericComparator {
  9847  	return []ProfileNumericComparator{
  9848  		ProfileNumericComparatorLessThan,
  9849  		ProfileNumericComparatorLessThanEqual,
  9850  		ProfileNumericComparatorEqual,
  9851  		ProfileNumericComparatorNotEqual,
  9852  		ProfileNumericComparatorGreaterThanEqual,
  9853  		ProfileNumericComparatorGreaterThan,
  9854  	}
  9855  }
  9856  
  9857  func (e ProfileNumericComparator) Strings() []string {
  9858  	return EnumValuesAsStrings(e.Values())
  9859  }
  9860  
  9861  func init() {
  9862  	t["ProfileNumericComparator"] = reflect.TypeOf((*ProfileNumericComparator)(nil)).Elem()
  9863  }
  9864  
  9865  // The relation type to be supported.
  9866  type ProfileParameterMetadataRelationType string
  9867  
  9868  const (
  9869  	// The relation to a subprofile or a parameter.
  9870  	ProfileParameterMetadataRelationTypeDynamic_relation = ProfileParameterMetadataRelationType("dynamic_relation")
  9871  	// The values from sources other than the parameter/profile or the static
  9872  	// value list are allowed.
  9873  	ProfileParameterMetadataRelationTypeExtensible_relation = ProfileParameterMetadataRelationType("extensible_relation")
  9874  	// The value list contains localization keys instead of values.
  9875  	ProfileParameterMetadataRelationTypeLocalizable_relation = ProfileParameterMetadataRelationType("localizable_relation")
  9876  	// The relation is defined by static valid value list.
  9877  	ProfileParameterMetadataRelationTypeStatic_relation = ProfileParameterMetadataRelationType("static_relation")
  9878  	// The relation is defined for validation purpose.
  9879  	ProfileParameterMetadataRelationTypeValidation_relation = ProfileParameterMetadataRelationType("validation_relation")
  9880  )
  9881  
  9882  func (e ProfileParameterMetadataRelationType) Values() []ProfileParameterMetadataRelationType {
  9883  	return []ProfileParameterMetadataRelationType{
  9884  		ProfileParameterMetadataRelationTypeDynamic_relation,
  9885  		ProfileParameterMetadataRelationTypeExtensible_relation,
  9886  		ProfileParameterMetadataRelationTypeLocalizable_relation,
  9887  		ProfileParameterMetadataRelationTypeStatic_relation,
  9888  		ProfileParameterMetadataRelationTypeValidation_relation,
  9889  	}
  9890  }
  9891  
  9892  func (e ProfileParameterMetadataRelationType) Strings() []string {
  9893  	return EnumValuesAsStrings(e.Values())
  9894  }
  9895  
  9896  func init() {
  9897  	t["ProfileParameterMetadataRelationType"] = reflect.TypeOf((*ProfileParameterMetadataRelationType)(nil)).Elem()
  9898  }
  9899  
  9900  // Enumeration of possible changes to a property.
  9901  type PropertyChangeOp string
  9902  
  9903  const (
  9904  	PropertyChangeOpAdd            = PropertyChangeOp("add")
  9905  	PropertyChangeOpRemove         = PropertyChangeOp("remove")
  9906  	PropertyChangeOpAssign         = PropertyChangeOp("assign")
  9907  	PropertyChangeOpIndirectRemove = PropertyChangeOp("indirectRemove")
  9908  )
  9909  
  9910  func (e PropertyChangeOp) Values() []PropertyChangeOp {
  9911  	return []PropertyChangeOp{
  9912  		PropertyChangeOpAdd,
  9913  		PropertyChangeOpRemove,
  9914  		PropertyChangeOpAssign,
  9915  		PropertyChangeOpIndirectRemove,
  9916  	}
  9917  }
  9918  
  9919  func (e PropertyChangeOp) Strings() []string {
  9920  	return EnumValuesAsStrings(e.Values())
  9921  }
  9922  
  9923  func init() {
  9924  	t["PropertyChangeOp"] = reflect.TypeOf((*PropertyChangeOp)(nil)).Elem()
  9925  }
  9926  
  9927  type QuarantineModeFaultFaultType string
  9928  
  9929  const (
  9930  	// The cluster does not contain any non-quarantined host satisfying the
  9931  	// VM/host affinity rules for the VM.
  9932  	QuarantineModeFaultFaultTypeNoCompatibleNonQuarantinedHost = QuarantineModeFaultFaultType("NoCompatibleNonQuarantinedHost")
  9933  	// The current DRS migration priority setting disallows generating a
  9934  	// recommendation to prevent VMs on quarantined hosts.
  9935  	//
  9936  	// Thus, the
  9937  	// violation will not be corrected.
  9938  	QuarantineModeFaultFaultTypeCorrectionDisallowed = QuarantineModeFaultFaultType("CorrectionDisallowed")
  9939  	// DRS has determined that evacuation of VMs from quarantined hosts
  9940  	// impacts respecting cluster constraints or performance goals so they
  9941  	// are not evacuated.
  9942  	QuarantineModeFaultFaultTypeCorrectionImpact = QuarantineModeFaultFaultType("CorrectionImpact")
  9943  )
  9944  
  9945  func (e QuarantineModeFaultFaultType) Values() []QuarantineModeFaultFaultType {
  9946  	return []QuarantineModeFaultFaultType{
  9947  		QuarantineModeFaultFaultTypeNoCompatibleNonQuarantinedHost,
  9948  		QuarantineModeFaultFaultTypeCorrectionDisallowed,
  9949  		QuarantineModeFaultFaultTypeCorrectionImpact,
  9950  	}
  9951  }
  9952  
  9953  func (e QuarantineModeFaultFaultType) Strings() []string {
  9954  	return EnumValuesAsStrings(e.Values())
  9955  }
  9956  
  9957  func init() {
  9958  	t["QuarantineModeFaultFaultType"] = reflect.TypeOf((*QuarantineModeFaultFaultType)(nil)).Elem()
  9959  }
  9960  
  9961  // Quiescing is a boolean flag in `ReplicationConfigSpec`
  9962  // and QuiesceModeType describes the supported quiesce mode
  9963  // for `VirtualMachine`.
  9964  //
  9965  // If application quiescing fails, HBR would attempt
  9966  // filesystem quiescing and if even filesystem quiescing
  9967  // fails, then we would just create a crash consistent
  9968  // instance.
  9969  type QuiesceMode string
  9970  
  9971  const (
  9972  	// HBR supports application quescing for this
  9973  	// `VirtualMachine`.
  9974  	QuiesceModeApplication = QuiesceMode("application")
  9975  	// HBR supports filesystem quescing for this
  9976  	// `VirtualMachine`.
  9977  	QuiesceModeFilesystem = QuiesceMode("filesystem")
  9978  	// HBR does not support quescing for this
  9979  	// `VirtualMachine`.
  9980  	QuiesceModeNone = QuiesceMode("none")
  9981  )
  9982  
  9983  func (e QuiesceMode) Values() []QuiesceMode {
  9984  	return []QuiesceMode{
  9985  		QuiesceModeApplication,
  9986  		QuiesceModeFilesystem,
  9987  		QuiesceModeNone,
  9988  	}
  9989  }
  9990  
  9991  func (e QuiesceMode) Strings() []string {
  9992  	return EnumValuesAsStrings(e.Values())
  9993  }
  9994  
  9995  func init() {
  9996  	t["QuiesceMode"] = reflect.TypeOf((*QuiesceMode)(nil)).Elem()
  9997  }
  9998  
  9999  // List of defined migration reason codes:
 10000  type RecommendationReasonCode string
 10001  
 10002  const (
 10003  	// Balance average CPU utilization.
 10004  	RecommendationReasonCodeFairnessCpuAvg = RecommendationReasonCode("fairnessCpuAvg")
 10005  	// Balance average memory utilization.
 10006  	RecommendationReasonCodeFairnessMemAvg = RecommendationReasonCode("fairnessMemAvg")
 10007  	// Fulfill affinity rule.
 10008  	RecommendationReasonCodeJointAffin = RecommendationReasonCode("jointAffin")
 10009  	// Fulfill anti-affinity rule.
 10010  	RecommendationReasonCodeAntiAffin = RecommendationReasonCode("antiAffin")
 10011  	// Host entering maintenance mode.
 10012  	RecommendationReasonCodeHostMaint = RecommendationReasonCode("hostMaint")
 10013  	// Host entering standby mode.
 10014  	RecommendationReasonCodeEnterStandby = RecommendationReasonCode("enterStandby")
 10015  	// balance CPU reservations
 10016  	RecommendationReasonCodeReservationCpu = RecommendationReasonCode("reservationCpu")
 10017  	// balance memory reservations
 10018  	RecommendationReasonCodeReservationMem = RecommendationReasonCode("reservationMem")
 10019  	// Power on virtual machine
 10020  	RecommendationReasonCodePowerOnVm = RecommendationReasonCode("powerOnVm")
 10021  	// Power off host for power savings
 10022  	RecommendationReasonCodePowerSaving = RecommendationReasonCode("powerSaving")
 10023  	// Power on host to increase cluster capacity
 10024  	RecommendationReasonCodeIncreaseCapacity = RecommendationReasonCode("increaseCapacity")
 10025  	// Sanity-check resource pool hierarchy
 10026  	RecommendationReasonCodeCheckResource = RecommendationReasonCode("checkResource")
 10027  	// Maintain unreserved capacity
 10028  	RecommendationReasonCodeUnreservedCapacity = RecommendationReasonCode("unreservedCapacity")
 10029  	// Fix hard VM/host affinity rule violation
 10030  	RecommendationReasonCodeVmHostHardAffinity = RecommendationReasonCode("vmHostHardAffinity")
 10031  	// Fix soft VM/host affinity rule violation
 10032  	RecommendationReasonCodeVmHostSoftAffinity = RecommendationReasonCode("vmHostSoftAffinity")
 10033  	// Balance datastore space usage.
 10034  	RecommendationReasonCodeBalanceDatastoreSpaceUsage = RecommendationReasonCode("balanceDatastoreSpaceUsage")
 10035  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 10036  	//
 10037  	// Balance datastore I/O workload.
 10038  	RecommendationReasonCodeBalanceDatastoreIOLoad = RecommendationReasonCode("balanceDatastoreIOLoad")
 10039  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 10040  	//
 10041  	// Balance datastore IOPS reservation
 10042  	RecommendationReasonCodeBalanceDatastoreIOPSReservation = RecommendationReasonCode("balanceDatastoreIOPSReservation")
 10043  	// Datastore entering maintenance mode.
 10044  	RecommendationReasonCodeDatastoreMaint = RecommendationReasonCode("datastoreMaint")
 10045  	// Fix virtual disk affinity rule violation.
 10046  	RecommendationReasonCodeVirtualDiskJointAffin = RecommendationReasonCode("virtualDiskJointAffin")
 10047  	// Fix virtual disk anti-affinity rule violation.
 10048  	RecommendationReasonCodeVirtualDiskAntiAffin = RecommendationReasonCode("virtualDiskAntiAffin")
 10049  	// Fix the issue that a datastore run out of space.
 10050  	RecommendationReasonCodeDatastoreSpaceOutage = RecommendationReasonCode("datastoreSpaceOutage")
 10051  	// Satisfy storage initial placement requests.
 10052  	RecommendationReasonCodeStoragePlacement = RecommendationReasonCode("storagePlacement")
 10053  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 10054  	//
 10055  	// IO load balancing was disabled internally.
 10056  	RecommendationReasonCodeIolbDisabledInternal = RecommendationReasonCode("iolbDisabledInternal")
 10057  	// Satisfy unified vmotion placement requests.
 10058  	RecommendationReasonCodeXvmotionPlacement = RecommendationReasonCode("xvmotionPlacement")
 10059  	// Fix network bandwidth reservation violation
 10060  	RecommendationReasonCodeNetworkBandwidthReservation = RecommendationReasonCode("networkBandwidthReservation")
 10061  	// Host is partially degraded.
 10062  	RecommendationReasonCodeHostInDegradation = RecommendationReasonCode("hostInDegradation")
 10063  	// Host is not degraded.
 10064  	RecommendationReasonCodeHostExitDegradation = RecommendationReasonCode("hostExitDegradation")
 10065  	// Fix maxVms constraint violation
 10066  	RecommendationReasonCodeMaxVmsConstraint = RecommendationReasonCode("maxVmsConstraint")
 10067  	// Fix ft maxVMs and maxVcpus constraint violations
 10068  	RecommendationReasonCodeFtConstraints = RecommendationReasonCode("ftConstraints")
 10069  	// Fix VM/host affinity policy violation
 10070  	RecommendationReasonCodeVmHostAffinityPolicy = RecommendationReasonCode("vmHostAffinityPolicy")
 10071  	// Fix VM/host anti-affinity policy violation
 10072  	RecommendationReasonCodeVmHostAntiAffinityPolicy = RecommendationReasonCode("vmHostAntiAffinityPolicy")
 10073  	// Fix VM-VM anti-affinity policy violations
 10074  	RecommendationReasonCodeVmAntiAffinityPolicy = RecommendationReasonCode("vmAntiAffinityPolicy")
 10075  	// `**Since:**` vSphere API Release 7.0.2.0
 10076  	RecommendationReasonCodeBalanceVsanUsage = RecommendationReasonCode("balanceVsanUsage")
 10077  	// Optimize assignable hardware resource orchestration
 10078  	RecommendationReasonCodeAhPlacementOptimization = RecommendationReasonCode("ahPlacementOptimization")
 10079  	// Upgrade virtual machine to new vmx binary
 10080  	RecommendationReasonCodeVmxUpgrade = RecommendationReasonCode("vmxUpgrade")
 10081  )
 10082  
 10083  func (e RecommendationReasonCode) Values() []RecommendationReasonCode {
 10084  	return []RecommendationReasonCode{
 10085  		RecommendationReasonCodeFairnessCpuAvg,
 10086  		RecommendationReasonCodeFairnessMemAvg,
 10087  		RecommendationReasonCodeJointAffin,
 10088  		RecommendationReasonCodeAntiAffin,
 10089  		RecommendationReasonCodeHostMaint,
 10090  		RecommendationReasonCodeEnterStandby,
 10091  		RecommendationReasonCodeReservationCpu,
 10092  		RecommendationReasonCodeReservationMem,
 10093  		RecommendationReasonCodePowerOnVm,
 10094  		RecommendationReasonCodePowerSaving,
 10095  		RecommendationReasonCodeIncreaseCapacity,
 10096  		RecommendationReasonCodeCheckResource,
 10097  		RecommendationReasonCodeUnreservedCapacity,
 10098  		RecommendationReasonCodeVmHostHardAffinity,
 10099  		RecommendationReasonCodeVmHostSoftAffinity,
 10100  		RecommendationReasonCodeBalanceDatastoreSpaceUsage,
 10101  		RecommendationReasonCodeBalanceDatastoreIOLoad,
 10102  		RecommendationReasonCodeBalanceDatastoreIOPSReservation,
 10103  		RecommendationReasonCodeDatastoreMaint,
 10104  		RecommendationReasonCodeVirtualDiskJointAffin,
 10105  		RecommendationReasonCodeVirtualDiskAntiAffin,
 10106  		RecommendationReasonCodeDatastoreSpaceOutage,
 10107  		RecommendationReasonCodeStoragePlacement,
 10108  		RecommendationReasonCodeIolbDisabledInternal,
 10109  		RecommendationReasonCodeXvmotionPlacement,
 10110  		RecommendationReasonCodeNetworkBandwidthReservation,
 10111  		RecommendationReasonCodeHostInDegradation,
 10112  		RecommendationReasonCodeHostExitDegradation,
 10113  		RecommendationReasonCodeMaxVmsConstraint,
 10114  		RecommendationReasonCodeFtConstraints,
 10115  		RecommendationReasonCodeVmHostAffinityPolicy,
 10116  		RecommendationReasonCodeVmHostAntiAffinityPolicy,
 10117  		RecommendationReasonCodeVmAntiAffinityPolicy,
 10118  		RecommendationReasonCodeBalanceVsanUsage,
 10119  		RecommendationReasonCodeAhPlacementOptimization,
 10120  		RecommendationReasonCodeVmxUpgrade,
 10121  	}
 10122  }
 10123  
 10124  func (e RecommendationReasonCode) Strings() []string {
 10125  	return EnumValuesAsStrings(e.Values())
 10126  }
 10127  
 10128  func init() {
 10129  	t["RecommendationReasonCode"] = reflect.TypeOf((*RecommendationReasonCode)(nil)).Elem()
 10130  	minAPIVersionForEnumValue["RecommendationReasonCode"] = map[string]string{
 10131  		"balanceVsanUsage":        "7.0.2.0",
 10132  		"ahPlacementOptimization": "8.0.2.0",
 10133  		"vmxUpgrade":              "8.0.3.0",
 10134  	}
 10135  }
 10136  
 10137  // Pre-defined constants for possible recommendation types.
 10138  //
 10139  // Virtual Center
 10140  // uses this information to coordinate with the clients.
 10141  type RecommendationType string
 10142  
 10143  const (
 10144  	RecommendationTypeV1 = RecommendationType("V1")
 10145  )
 10146  
 10147  func (e RecommendationType) Values() []RecommendationType {
 10148  	return []RecommendationType{
 10149  		RecommendationTypeV1,
 10150  	}
 10151  }
 10152  
 10153  func (e RecommendationType) Strings() []string {
 10154  	return EnumValuesAsStrings(e.Values())
 10155  }
 10156  
 10157  func init() {
 10158  	t["RecommendationType"] = reflect.TypeOf((*RecommendationType)(nil)).Elem()
 10159  }
 10160  
 10161  type ReplicationDiskConfigFaultReasonForFault string
 10162  
 10163  const (
 10164  	// Could not look up device by key
 10165  	ReplicationDiskConfigFaultReasonForFaultDiskNotFound = ReplicationDiskConfigFaultReasonForFault("diskNotFound")
 10166  	// Replication not supported for disk type or backend
 10167  	ReplicationDiskConfigFaultReasonForFaultDiskTypeNotSupported = ReplicationDiskConfigFaultReasonForFault("diskTypeNotSupported")
 10168  	// Invalid key value
 10169  	ReplicationDiskConfigFaultReasonForFaultInvalidDiskKey = ReplicationDiskConfigFaultReasonForFault("invalidDiskKey")
 10170  	// Invalid disk replication ID string
 10171  	ReplicationDiskConfigFaultReasonForFaultInvalidDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("invalidDiskReplicationId")
 10172  	// Another disk in the VM has the same replication ID
 10173  	ReplicationDiskConfigFaultReasonForFaultDuplicateDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("duplicateDiskReplicationId")
 10174  	// Invalid path (string) for the persistent file
 10175  	ReplicationDiskConfigFaultReasonForFaultInvalidPersistentFilePath = ReplicationDiskConfigFaultReasonForFault("invalidPersistentFilePath")
 10176  	// Attempting to re-configure the disk's replication ID
 10177  	ReplicationDiskConfigFaultReasonForFaultReconfigureDiskReplicationIdNotAllowed = ReplicationDiskConfigFaultReasonForFault("reconfigureDiskReplicationIdNotAllowed")
 10178  )
 10179  
 10180  func (e ReplicationDiskConfigFaultReasonForFault) Values() []ReplicationDiskConfigFaultReasonForFault {
 10181  	return []ReplicationDiskConfigFaultReasonForFault{
 10182  		ReplicationDiskConfigFaultReasonForFaultDiskNotFound,
 10183  		ReplicationDiskConfigFaultReasonForFaultDiskTypeNotSupported,
 10184  		ReplicationDiskConfigFaultReasonForFaultInvalidDiskKey,
 10185  		ReplicationDiskConfigFaultReasonForFaultInvalidDiskReplicationId,
 10186  		ReplicationDiskConfigFaultReasonForFaultDuplicateDiskReplicationId,
 10187  		ReplicationDiskConfigFaultReasonForFaultInvalidPersistentFilePath,
 10188  		ReplicationDiskConfigFaultReasonForFaultReconfigureDiskReplicationIdNotAllowed,
 10189  	}
 10190  }
 10191  
 10192  func (e ReplicationDiskConfigFaultReasonForFault) Strings() []string {
 10193  	return EnumValuesAsStrings(e.Values())
 10194  }
 10195  
 10196  func init() {
 10197  	t["ReplicationDiskConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultReasonForFault)(nil)).Elem()
 10198  }
 10199  
 10200  type ReplicationVmConfigFaultReasonForFault string
 10201  
 10202  const (
 10203  	// Incompatible VM hardware version
 10204  	ReplicationVmConfigFaultReasonForFaultIncompatibleHwVersion = ReplicationVmConfigFaultReasonForFault("incompatibleHwVersion")
 10205  	// Invalid VM Replication ID string
 10206  	ReplicationVmConfigFaultReasonForFaultInvalidVmReplicationId = ReplicationVmConfigFaultReasonForFault("invalidVmReplicationId")
 10207  	// Invalid generation number in VM's configuration
 10208  	ReplicationVmConfigFaultReasonForFaultInvalidGenerationNumber = ReplicationVmConfigFaultReasonForFault("invalidGenerationNumber")
 10209  	// Invalid RPO value (out of bounds)
 10210  	ReplicationVmConfigFaultReasonForFaultOutOfBoundsRpoValue = ReplicationVmConfigFaultReasonForFault("outOfBoundsRpoValue")
 10211  	// Invalid destination IP address
 10212  	ReplicationVmConfigFaultReasonForFaultInvalidDestinationIpAddress = ReplicationVmConfigFaultReasonForFault("invalidDestinationIpAddress")
 10213  	// Invalid destination port
 10214  	ReplicationVmConfigFaultReasonForFaultInvalidDestinationPort = ReplicationVmConfigFaultReasonForFault("invalidDestinationPort")
 10215  	// Malformed extra options list
 10216  	ReplicationVmConfigFaultReasonForFaultInvalidExtraVmOptions = ReplicationVmConfigFaultReasonForFault("invalidExtraVmOptions")
 10217  	// Mis-matching generation number (stale)
 10218  	ReplicationVmConfigFaultReasonForFaultStaleGenerationNumber = ReplicationVmConfigFaultReasonForFault("staleGenerationNumber")
 10219  	// Attempting to re-configure the VM replication ID
 10220  	ReplicationVmConfigFaultReasonForFaultReconfigureVmReplicationIdNotAllowed = ReplicationVmConfigFaultReasonForFault("reconfigureVmReplicationIdNotAllowed")
 10221  	// Could not retrieve the VM configuration
 10222  	ReplicationVmConfigFaultReasonForFaultCannotRetrieveVmReplicationConfiguration = ReplicationVmConfigFaultReasonForFault("cannotRetrieveVmReplicationConfiguration")
 10223  	// Attempting to re-enable replication for the VM
 10224  	ReplicationVmConfigFaultReasonForFaultReplicationAlreadyEnabled = ReplicationVmConfigFaultReasonForFault("replicationAlreadyEnabled")
 10225  	// The existing replication configuration of the VM is broken
 10226  	// (applicable to re-configuration only).
 10227  	ReplicationVmConfigFaultReasonForFaultInvalidPriorConfiguration = ReplicationVmConfigFaultReasonForFault("invalidPriorConfiguration")
 10228  	// Attempting to re-configure or disable replication for a VM
 10229  	// for which replication has not been enabled.
 10230  	ReplicationVmConfigFaultReasonForFaultReplicationNotEnabled = ReplicationVmConfigFaultReasonForFault("replicationNotEnabled")
 10231  	// Failed to commit the new replication properties for the VM.
 10232  	ReplicationVmConfigFaultReasonForFaultReplicationConfigurationFailed = ReplicationVmConfigFaultReasonForFault("replicationConfigurationFailed")
 10233  	// VM is encrypted
 10234  	ReplicationVmConfigFaultReasonForFaultEncryptedVm = ReplicationVmConfigFaultReasonForFault("encryptedVm")
 10235  	// Remote certificate thumbprint is invalid
 10236  	ReplicationVmConfigFaultReasonForFaultInvalidThumbprint = ReplicationVmConfigFaultReasonForFault("invalidThumbprint")
 10237  	// VM hardware contains devices incompatible with replication
 10238  	ReplicationVmConfigFaultReasonForFaultIncompatibleDevice = ReplicationVmConfigFaultReasonForFault("incompatibleDevice")
 10239  )
 10240  
 10241  func (e ReplicationVmConfigFaultReasonForFault) Values() []ReplicationVmConfigFaultReasonForFault {
 10242  	return []ReplicationVmConfigFaultReasonForFault{
 10243  		ReplicationVmConfigFaultReasonForFaultIncompatibleHwVersion,
 10244  		ReplicationVmConfigFaultReasonForFaultInvalidVmReplicationId,
 10245  		ReplicationVmConfigFaultReasonForFaultInvalidGenerationNumber,
 10246  		ReplicationVmConfigFaultReasonForFaultOutOfBoundsRpoValue,
 10247  		ReplicationVmConfigFaultReasonForFaultInvalidDestinationIpAddress,
 10248  		ReplicationVmConfigFaultReasonForFaultInvalidDestinationPort,
 10249  		ReplicationVmConfigFaultReasonForFaultInvalidExtraVmOptions,
 10250  		ReplicationVmConfigFaultReasonForFaultStaleGenerationNumber,
 10251  		ReplicationVmConfigFaultReasonForFaultReconfigureVmReplicationIdNotAllowed,
 10252  		ReplicationVmConfigFaultReasonForFaultCannotRetrieveVmReplicationConfiguration,
 10253  		ReplicationVmConfigFaultReasonForFaultReplicationAlreadyEnabled,
 10254  		ReplicationVmConfigFaultReasonForFaultInvalidPriorConfiguration,
 10255  		ReplicationVmConfigFaultReasonForFaultReplicationNotEnabled,
 10256  		ReplicationVmConfigFaultReasonForFaultReplicationConfigurationFailed,
 10257  		ReplicationVmConfigFaultReasonForFaultEncryptedVm,
 10258  		ReplicationVmConfigFaultReasonForFaultInvalidThumbprint,
 10259  		ReplicationVmConfigFaultReasonForFaultIncompatibleDevice,
 10260  	}
 10261  }
 10262  
 10263  func (e ReplicationVmConfigFaultReasonForFault) Strings() []string {
 10264  	return EnumValuesAsStrings(e.Values())
 10265  }
 10266  
 10267  func init() {
 10268  	t["ReplicationVmConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmConfigFaultReasonForFault)(nil)).Elem()
 10269  }
 10270  
 10271  type ReplicationVmFaultReasonForFault string
 10272  
 10273  const (
 10274  	// `VirtualMachine` is not configured for replication
 10275  	ReplicationVmFaultReasonForFaultNotConfigured = ReplicationVmFaultReasonForFault("notConfigured")
 10276  	// `VirtualMachine` is powered off (and is not undergoing
 10277  	// offline replication)
 10278  	ReplicationVmFaultReasonForFaultPoweredOff = ReplicationVmFaultReasonForFault("poweredOff")
 10279  	// `VirtualMachine` is suspended (and is not undergoing
 10280  	// offline replication)
 10281  	ReplicationVmFaultReasonForFaultSuspended = ReplicationVmFaultReasonForFault("suspended")
 10282  	// `VirtualMachine` is powered on
 10283  	ReplicationVmFaultReasonForFaultPoweredOn = ReplicationVmFaultReasonForFault("poweredOn")
 10284  	// `VirtualMachine` is in the process of creating an
 10285  	// an offline instance.
 10286  	ReplicationVmFaultReasonForFaultOfflineReplicating = ReplicationVmFaultReasonForFault("offlineReplicating")
 10287  	// `VirtualMachine` is in an invalid state
 10288  	ReplicationVmFaultReasonForFaultInvalidState = ReplicationVmFaultReasonForFault("invalidState")
 10289  	// The specified instanceId does not match the `VirtualMachine`
 10290  	// instanceId
 10291  	ReplicationVmFaultReasonForFaultInvalidInstanceId = ReplicationVmFaultReasonForFault("invalidInstanceId")
 10292  	// `VirtualMachine` is in the process of creating an
 10293  	// offline instance and we are trying to disable it.
 10294  	//
 10295  	// The first step is to close the offline disk. If closing disks
 10296  	// is not successful, throw this fault.
 10297  	ReplicationVmFaultReasonForFaultCloseDiskError = ReplicationVmFaultReasonForFault("closeDiskError")
 10298  	// `VirtualMachine` is trying to create a group already
 10299  	// owned by another VM.
 10300  	ReplicationVmFaultReasonForFaultGroupExist = ReplicationVmFaultReasonForFault("groupExist")
 10301  )
 10302  
 10303  func (e ReplicationVmFaultReasonForFault) Values() []ReplicationVmFaultReasonForFault {
 10304  	return []ReplicationVmFaultReasonForFault{
 10305  		ReplicationVmFaultReasonForFaultNotConfigured,
 10306  		ReplicationVmFaultReasonForFaultPoweredOff,
 10307  		ReplicationVmFaultReasonForFaultSuspended,
 10308  		ReplicationVmFaultReasonForFaultPoweredOn,
 10309  		ReplicationVmFaultReasonForFaultOfflineReplicating,
 10310  		ReplicationVmFaultReasonForFaultInvalidState,
 10311  		ReplicationVmFaultReasonForFaultInvalidInstanceId,
 10312  		ReplicationVmFaultReasonForFaultCloseDiskError,
 10313  		ReplicationVmFaultReasonForFaultGroupExist,
 10314  	}
 10315  }
 10316  
 10317  func (e ReplicationVmFaultReasonForFault) Strings() []string {
 10318  	return EnumValuesAsStrings(e.Values())
 10319  }
 10320  
 10321  func init() {
 10322  	t["ReplicationVmFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmFaultReasonForFault)(nil)).Elem()
 10323  }
 10324  
 10325  type ReplicationVmInProgressFaultActivity string
 10326  
 10327  const (
 10328  	// Initial synchronization with the remote site
 10329  	ReplicationVmInProgressFaultActivityFullSync = ReplicationVmInProgressFaultActivity("fullSync")
 10330  	// Delta updates to generate a consistent instance
 10331  	ReplicationVmInProgressFaultActivityDelta = ReplicationVmInProgressFaultActivity("delta")
 10332  )
 10333  
 10334  func (e ReplicationVmInProgressFaultActivity) Values() []ReplicationVmInProgressFaultActivity {
 10335  	return []ReplicationVmInProgressFaultActivity{
 10336  		ReplicationVmInProgressFaultActivityFullSync,
 10337  		ReplicationVmInProgressFaultActivityDelta,
 10338  	}
 10339  }
 10340  
 10341  func (e ReplicationVmInProgressFaultActivity) Strings() []string {
 10342  	return EnumValuesAsStrings(e.Values())
 10343  }
 10344  
 10345  func init() {
 10346  	t["ReplicationVmInProgressFaultActivity"] = reflect.TypeOf((*ReplicationVmInProgressFaultActivity)(nil)).Elem()
 10347  }
 10348  
 10349  // Describes the current state of a replicated `VirtualMachine`
 10350  type ReplicationVmState string
 10351  
 10352  const (
 10353  	// The `VirtualMachine` has no current replication state.
 10354  	//
 10355  	// This is a virtual machine that is configured for replication, but is
 10356  	// powered off and not undergoing offline replication.
 10357  	ReplicationVmStateNone = ReplicationVmState("none")
 10358  	// The `VirtualMachine` replication is paused.
 10359  	ReplicationVmStatePaused = ReplicationVmState("paused")
 10360  	// One or more of the `VirtualMachine` disks is in the
 10361  	// process of an initial synchronization with the remote site.
 10362  	ReplicationVmStateSyncing = ReplicationVmState("syncing")
 10363  	// The `VirtualMachine` is being replicated but is not
 10364  	// currently in the process of having a consistent instance created.
 10365  	ReplicationVmStateIdle = ReplicationVmState("idle")
 10366  	// The `VirtualMachine` is in the process of having
 10367  	// a consistent instance created.
 10368  	ReplicationVmStateActive = ReplicationVmState("active")
 10369  	// The `VirtualMachine` is unable to replicate due to
 10370  	// errors.
 10371  	//
 10372  	// XXX Currently unused.
 10373  	ReplicationVmStateError = ReplicationVmState("error")
 10374  )
 10375  
 10376  func (e ReplicationVmState) Values() []ReplicationVmState {
 10377  	return []ReplicationVmState{
 10378  		ReplicationVmStateNone,
 10379  		ReplicationVmStatePaused,
 10380  		ReplicationVmStateSyncing,
 10381  		ReplicationVmStateIdle,
 10382  		ReplicationVmStateActive,
 10383  		ReplicationVmStateError,
 10384  	}
 10385  }
 10386  
 10387  func (e ReplicationVmState) Strings() []string {
 10388  	return EnumValuesAsStrings(e.Values())
 10389  }
 10390  
 10391  func init() {
 10392  	t["ReplicationVmState"] = reflect.TypeOf((*ReplicationVmState)(nil)).Elem()
 10393  }
 10394  
 10395  type ResourceConfigSpecScaleSharesBehavior string
 10396  
 10397  const (
 10398  	// Do not scale shares
 10399  	ResourceConfigSpecScaleSharesBehaviorDisabled = ResourceConfigSpecScaleSharesBehavior("disabled")
 10400  	// Scale both CPU and memory shares
 10401  	ResourceConfigSpecScaleSharesBehaviorScaleCpuAndMemoryShares = ResourceConfigSpecScaleSharesBehavior("scaleCpuAndMemoryShares")
 10402  )
 10403  
 10404  func (e ResourceConfigSpecScaleSharesBehavior) Values() []ResourceConfigSpecScaleSharesBehavior {
 10405  	return []ResourceConfigSpecScaleSharesBehavior{
 10406  		ResourceConfigSpecScaleSharesBehaviorDisabled,
 10407  		ResourceConfigSpecScaleSharesBehaviorScaleCpuAndMemoryShares,
 10408  	}
 10409  }
 10410  
 10411  func (e ResourceConfigSpecScaleSharesBehavior) Strings() []string {
 10412  	return EnumValuesAsStrings(e.Values())
 10413  }
 10414  
 10415  func init() {
 10416  	t["ResourceConfigSpecScaleSharesBehavior"] = reflect.TypeOf((*ResourceConfigSpecScaleSharesBehavior)(nil)).Elem()
 10417  }
 10418  
 10419  // The policy setting used to determine when to perform scheduled
 10420  // upgrades for a virtual machine.
 10421  type ScheduledHardwareUpgradeInfoHardwareUpgradePolicy string
 10422  
 10423  const (
 10424  	// No scheduled upgrades.
 10425  	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyNever = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("never")
 10426  	// Run scheduled upgrades only on normal guest OS shutdown.
 10427  	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyOnSoftPowerOff = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("onSoftPowerOff")
 10428  	// Always run scheduled upgrades.
 10429  	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyAlways = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("always")
 10430  )
 10431  
 10432  func (e ScheduledHardwareUpgradeInfoHardwareUpgradePolicy) Values() []ScheduledHardwareUpgradeInfoHardwareUpgradePolicy {
 10433  	return []ScheduledHardwareUpgradeInfoHardwareUpgradePolicy{
 10434  		ScheduledHardwareUpgradeInfoHardwareUpgradePolicyNever,
 10435  		ScheduledHardwareUpgradeInfoHardwareUpgradePolicyOnSoftPowerOff,
 10436  		ScheduledHardwareUpgradeInfoHardwareUpgradePolicyAlways,
 10437  	}
 10438  }
 10439  
 10440  func (e ScheduledHardwareUpgradeInfoHardwareUpgradePolicy) Strings() []string {
 10441  	return EnumValuesAsStrings(e.Values())
 10442  }
 10443  
 10444  func init() {
 10445  	t["ScheduledHardwareUpgradeInfoHardwareUpgradePolicy"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradePolicy)(nil)).Elem()
 10446  }
 10447  
 10448  // Status for last attempt to run scheduled hardware upgrade.
 10449  type ScheduledHardwareUpgradeInfoHardwareUpgradeStatus string
 10450  
 10451  const (
 10452  	// No scheduled upgrade ever happened.
 10453  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusNone = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("none")
 10454  	// Upgrade is scheduled, but was not run yet.
 10455  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusPending = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("pending")
 10456  	// Upgrade succeeded.
 10457  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusSuccess = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("success")
 10458  	// Upgrade failed.
 10459  	//
 10460  	// # For more information about the failure
 10461  	//
 10462  	// See also `ScheduledHardwareUpgradeInfo.fault`.
 10463  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusFailed = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("failed")
 10464  )
 10465  
 10466  func (e ScheduledHardwareUpgradeInfoHardwareUpgradeStatus) Values() []ScheduledHardwareUpgradeInfoHardwareUpgradeStatus {
 10467  	return []ScheduledHardwareUpgradeInfoHardwareUpgradeStatus{
 10468  		ScheduledHardwareUpgradeInfoHardwareUpgradeStatusNone,
 10469  		ScheduledHardwareUpgradeInfoHardwareUpgradeStatusPending,
 10470  		ScheduledHardwareUpgradeInfoHardwareUpgradeStatusSuccess,
 10471  		ScheduledHardwareUpgradeInfoHardwareUpgradeStatusFailed,
 10472  	}
 10473  }
 10474  
 10475  func (e ScheduledHardwareUpgradeInfoHardwareUpgradeStatus) Strings() []string {
 10476  	return EnumValuesAsStrings(e.Values())
 10477  }
 10478  
 10479  func init() {
 10480  	t["ScheduledHardwareUpgradeInfoHardwareUpgradeStatus"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradeStatus)(nil)).Elem()
 10481  }
 10482  
 10483  // The types of disk drives.
 10484  type ScsiDiskType string
 10485  
 10486  const (
 10487  	// 512 native sector size drive.
 10488  	ScsiDiskTypeNative512 = ScsiDiskType("native512")
 10489  	// 4K sector size drive in 512 emulation mode.
 10490  	ScsiDiskTypeEmulated512 = ScsiDiskType("emulated512")
 10491  	// 4K native sector size drive.
 10492  	ScsiDiskTypeNative4k = ScsiDiskType("native4k")
 10493  	// Software emulated 4k.
 10494  	ScsiDiskTypeSoftwareEmulated4k = ScsiDiskType("SoftwareEmulated4k")
 10495  	// Unknown type.
 10496  	ScsiDiskTypeUnknown = ScsiDiskType("unknown")
 10497  )
 10498  
 10499  func (e ScsiDiskType) Values() []ScsiDiskType {
 10500  	return []ScsiDiskType{
 10501  		ScsiDiskTypeNative512,
 10502  		ScsiDiskTypeEmulated512,
 10503  		ScsiDiskTypeNative4k,
 10504  		ScsiDiskTypeSoftwareEmulated4k,
 10505  		ScsiDiskTypeUnknown,
 10506  	}
 10507  }
 10508  
 10509  func (e ScsiDiskType) Strings() []string {
 10510  	return EnumValuesAsStrings(e.Values())
 10511  }
 10512  
 10513  func init() {
 10514  	t["ScsiDiskType"] = reflect.TypeOf((*ScsiDiskType)(nil)).Elem()
 10515  }
 10516  
 10517  // An indicator of the utility of Descriptor in being used as an
 10518  // identifier that is stable, unique, and correlatable.
 10519  type ScsiLunDescriptorQuality string
 10520  
 10521  const (
 10522  	// The Descriptor has an identifier that is useful for identification
 10523  	// and correlation across hosts.
 10524  	ScsiLunDescriptorQualityHighQuality = ScsiLunDescriptorQuality("highQuality")
 10525  	// The Descriptor has an identifier that may be used for identification
 10526  	// and correlation across hosts.
 10527  	ScsiLunDescriptorQualityMediumQuality = ScsiLunDescriptorQuality("mediumQuality")
 10528  	// The Descriptor has an identifier that should not be used for
 10529  	// identification and correlation across hosts.
 10530  	ScsiLunDescriptorQualityLowQuality = ScsiLunDescriptorQuality("lowQuality")
 10531  	// The Descriptor has an identifier that may or may not be useful for
 10532  	// identification and correlation across hosts.
 10533  	ScsiLunDescriptorQualityUnknownQuality = ScsiLunDescriptorQuality("unknownQuality")
 10534  )
 10535  
 10536  func (e ScsiLunDescriptorQuality) Values() []ScsiLunDescriptorQuality {
 10537  	return []ScsiLunDescriptorQuality{
 10538  		ScsiLunDescriptorQualityHighQuality,
 10539  		ScsiLunDescriptorQualityMediumQuality,
 10540  		ScsiLunDescriptorQualityLowQuality,
 10541  		ScsiLunDescriptorQualityUnknownQuality,
 10542  	}
 10543  }
 10544  
 10545  func (e ScsiLunDescriptorQuality) Strings() []string {
 10546  	return EnumValuesAsStrings(e.Values())
 10547  }
 10548  
 10549  func init() {
 10550  	t["ScsiLunDescriptorQuality"] = reflect.TypeOf((*ScsiLunDescriptorQuality)(nil)).Elem()
 10551  }
 10552  
 10553  type ScsiLunLunReservationStatus string
 10554  
 10555  const (
 10556  	ScsiLunLunReservationStatusLUN_RESERVED_UNKNOWN       = ScsiLunLunReservationStatus("LUN_RESERVED_UNKNOWN")
 10557  	ScsiLunLunReservationStatusLUN_RESERVED_YES           = ScsiLunLunReservationStatus("LUN_RESERVED_YES")
 10558  	ScsiLunLunReservationStatusLUN_RESERVED_NO            = ScsiLunLunReservationStatus("LUN_RESERVED_NO")
 10559  	ScsiLunLunReservationStatusLUN_RESERVED_NOT_SUPPORTED = ScsiLunLunReservationStatus("LUN_RESERVED_NOT_SUPPORTED")
 10560  )
 10561  
 10562  func (e ScsiLunLunReservationStatus) Values() []ScsiLunLunReservationStatus {
 10563  	return []ScsiLunLunReservationStatus{
 10564  		ScsiLunLunReservationStatusLUN_RESERVED_UNKNOWN,
 10565  		ScsiLunLunReservationStatusLUN_RESERVED_YES,
 10566  		ScsiLunLunReservationStatusLUN_RESERVED_NO,
 10567  		ScsiLunLunReservationStatusLUN_RESERVED_NOT_SUPPORTED,
 10568  	}
 10569  }
 10570  
 10571  func (e ScsiLunLunReservationStatus) Strings() []string {
 10572  	return EnumValuesAsStrings(e.Values())
 10573  }
 10574  
 10575  func init() {
 10576  	t["ScsiLunLunReservationStatus"] = reflect.TypeOf((*ScsiLunLunReservationStatus)(nil)).Elem()
 10577  	minAPIVersionForType["ScsiLunLunReservationStatus"] = "8.0.3.0"
 10578  }
 10579  
 10580  // The Operational state of the LUN
 10581  type ScsiLunState string
 10582  
 10583  const (
 10584  	// The LUN state is unknown.
 10585  	ScsiLunStateUnknownState = ScsiLunState("unknownState")
 10586  	// The LUN is on and available.
 10587  	ScsiLunStateOk = ScsiLunState("ok")
 10588  	// The LUN is dead and/or not reachable.
 10589  	ScsiLunStateError = ScsiLunState("error")
 10590  	// The LUN is off.
 10591  	ScsiLunStateOff = ScsiLunState("off")
 10592  	// The LUN is inactive.
 10593  	ScsiLunStateQuiesced = ScsiLunState("quiesced")
 10594  	// One or more paths to the LUN are down, but I/O
 10595  	// is still possible.
 10596  	//
 10597  	// Further path failures may
 10598  	// result in lost connectivity.
 10599  	ScsiLunStateDegraded = ScsiLunState("degraded")
 10600  	// No more paths are available to the LUN.
 10601  	ScsiLunStateLostCommunication = ScsiLunState("lostCommunication")
 10602  	// All Paths have been down for the timeout condition
 10603  	// determined by a user-configurable host advanced option.
 10604  	ScsiLunStateTimeout = ScsiLunState("timeout")
 10605  )
 10606  
 10607  func (e ScsiLunState) Values() []ScsiLunState {
 10608  	return []ScsiLunState{
 10609  		ScsiLunStateUnknownState,
 10610  		ScsiLunStateOk,
 10611  		ScsiLunStateError,
 10612  		ScsiLunStateOff,
 10613  		ScsiLunStateQuiesced,
 10614  		ScsiLunStateDegraded,
 10615  		ScsiLunStateLostCommunication,
 10616  		ScsiLunStateTimeout,
 10617  	}
 10618  }
 10619  
 10620  func (e ScsiLunState) Strings() []string {
 10621  	return EnumValuesAsStrings(e.Values())
 10622  }
 10623  
 10624  func init() {
 10625  	t["ScsiLunState"] = reflect.TypeOf((*ScsiLunState)(nil)).Elem()
 10626  }
 10627  
 10628  // The list of SCSI device types.
 10629  //
 10630  // These values correspond to values
 10631  // published in the SCSI specification.
 10632  type ScsiLunType string
 10633  
 10634  const (
 10635  	ScsiLunTypeDisk                   = ScsiLunType("disk")
 10636  	ScsiLunTypeTape                   = ScsiLunType("tape")
 10637  	ScsiLunTypePrinter                = ScsiLunType("printer")
 10638  	ScsiLunTypeProcessor              = ScsiLunType("processor")
 10639  	ScsiLunTypeWorm                   = ScsiLunType("worm")
 10640  	ScsiLunTypeCdrom                  = ScsiLunType("cdrom")
 10641  	ScsiLunTypeScanner                = ScsiLunType("scanner")
 10642  	ScsiLunTypeOpticalDevice          = ScsiLunType("opticalDevice")
 10643  	ScsiLunTypeMediaChanger           = ScsiLunType("mediaChanger")
 10644  	ScsiLunTypeCommunications         = ScsiLunType("communications")
 10645  	ScsiLunTypeStorageArrayController = ScsiLunType("storageArrayController")
 10646  	ScsiLunTypeEnclosure              = ScsiLunType("enclosure")
 10647  	ScsiLunTypeUnknown                = ScsiLunType("unknown")
 10648  )
 10649  
 10650  func (e ScsiLunType) Values() []ScsiLunType {
 10651  	return []ScsiLunType{
 10652  		ScsiLunTypeDisk,
 10653  		ScsiLunTypeTape,
 10654  		ScsiLunTypePrinter,
 10655  		ScsiLunTypeProcessor,
 10656  		ScsiLunTypeWorm,
 10657  		ScsiLunTypeCdrom,
 10658  		ScsiLunTypeScanner,
 10659  		ScsiLunTypeOpticalDevice,
 10660  		ScsiLunTypeMediaChanger,
 10661  		ScsiLunTypeCommunications,
 10662  		ScsiLunTypeStorageArrayController,
 10663  		ScsiLunTypeEnclosure,
 10664  		ScsiLunTypeUnknown,
 10665  	}
 10666  }
 10667  
 10668  func (e ScsiLunType) Strings() []string {
 10669  	return EnumValuesAsStrings(e.Values())
 10670  }
 10671  
 10672  func init() {
 10673  	t["ScsiLunType"] = reflect.TypeOf((*ScsiLunType)(nil)).Elem()
 10674  }
 10675  
 10676  // Storage array hardware acceleration support status.
 10677  //
 10678  // When a host boots, the support status is unknown.
 10679  // As a host attempts hardware-accelerated operations,
 10680  // it determines whether the storage device supports hardware acceleration
 10681  // and sets the `ScsiLun.vStorageSupport` property accordingly.
 10682  type ScsiLunVStorageSupportStatus string
 10683  
 10684  const (
 10685  	// Storage device supports hardware acceleration.
 10686  	//
 10687  	// The ESX host will use the feature to offload certain
 10688  	// storage-related operations to the device.
 10689  	ScsiLunVStorageSupportStatusVStorageSupported = ScsiLunVStorageSupportStatus("vStorageSupported")
 10690  	// Storage device does not support hardware acceleration.
 10691  	//
 10692  	// The ESX host will handle all storage-related operations.
 10693  	ScsiLunVStorageSupportStatusVStorageUnsupported = ScsiLunVStorageSupportStatus("vStorageUnsupported")
 10694  	// Initial support status value.
 10695  	ScsiLunVStorageSupportStatusVStorageUnknown = ScsiLunVStorageSupportStatus("vStorageUnknown")
 10696  )
 10697  
 10698  func (e ScsiLunVStorageSupportStatus) Values() []ScsiLunVStorageSupportStatus {
 10699  	return []ScsiLunVStorageSupportStatus{
 10700  		ScsiLunVStorageSupportStatusVStorageSupported,
 10701  		ScsiLunVStorageSupportStatusVStorageUnsupported,
 10702  		ScsiLunVStorageSupportStatusVStorageUnknown,
 10703  	}
 10704  }
 10705  
 10706  func (e ScsiLunVStorageSupportStatus) Strings() []string {
 10707  	return EnumValuesAsStrings(e.Values())
 10708  }
 10709  
 10710  func init() {
 10711  	t["ScsiLunVStorageSupportStatus"] = reflect.TypeOf((*ScsiLunVStorageSupportStatus)(nil)).Elem()
 10712  }
 10713  
 10714  type SessionManagerGenericServiceTicketTicketType string
 10715  
 10716  const (
 10717  	// Ticket used for HttpNfc access to a file or disk on a datastore
 10718  	SessionManagerGenericServiceTicketTicketTypeHttpNfcServiceTicket = SessionManagerGenericServiceTicketTicketType("HttpNfcServiceTicket")
 10719  	// Ticket used for service request on a host
 10720  	SessionManagerGenericServiceTicketTicketTypeHostServiceTicket = SessionManagerGenericServiceTicketTicketType("HostServiceTicket")
 10721  	// Ticket used for service request on a VC
 10722  	SessionManagerGenericServiceTicketTicketTypeVcServiceTicket = SessionManagerGenericServiceTicketTicketType("VcServiceTicket")
 10723  )
 10724  
 10725  func (e SessionManagerGenericServiceTicketTicketType) Values() []SessionManagerGenericServiceTicketTicketType {
 10726  	return []SessionManagerGenericServiceTicketTicketType{
 10727  		SessionManagerGenericServiceTicketTicketTypeHttpNfcServiceTicket,
 10728  		SessionManagerGenericServiceTicketTicketTypeHostServiceTicket,
 10729  		SessionManagerGenericServiceTicketTicketTypeVcServiceTicket,
 10730  	}
 10731  }
 10732  
 10733  func (e SessionManagerGenericServiceTicketTicketType) Strings() []string {
 10734  	return EnumValuesAsStrings(e.Values())
 10735  }
 10736  
 10737  func init() {
 10738  	t["SessionManagerGenericServiceTicketTicketType"] = reflect.TypeOf((*SessionManagerGenericServiceTicketTicketType)(nil)).Elem()
 10739  	minAPIVersionForType["SessionManagerGenericServiceTicketTicketType"] = "7.0.2.0"
 10740  }
 10741  
 10742  // HTTP request methods.
 10743  type SessionManagerHttpServiceRequestSpecMethod string
 10744  
 10745  const (
 10746  	SessionManagerHttpServiceRequestSpecMethodHttpOptions = SessionManagerHttpServiceRequestSpecMethod("httpOptions")
 10747  	SessionManagerHttpServiceRequestSpecMethodHttpGet     = SessionManagerHttpServiceRequestSpecMethod("httpGet")
 10748  	SessionManagerHttpServiceRequestSpecMethodHttpHead    = SessionManagerHttpServiceRequestSpecMethod("httpHead")
 10749  	SessionManagerHttpServiceRequestSpecMethodHttpPost    = SessionManagerHttpServiceRequestSpecMethod("httpPost")
 10750  	SessionManagerHttpServiceRequestSpecMethodHttpPut     = SessionManagerHttpServiceRequestSpecMethod("httpPut")
 10751  	SessionManagerHttpServiceRequestSpecMethodHttpDelete  = SessionManagerHttpServiceRequestSpecMethod("httpDelete")
 10752  	SessionManagerHttpServiceRequestSpecMethodHttpTrace   = SessionManagerHttpServiceRequestSpecMethod("httpTrace")
 10753  	SessionManagerHttpServiceRequestSpecMethodHttpConnect = SessionManagerHttpServiceRequestSpecMethod("httpConnect")
 10754  )
 10755  
 10756  func (e SessionManagerHttpServiceRequestSpecMethod) Values() []SessionManagerHttpServiceRequestSpecMethod {
 10757  	return []SessionManagerHttpServiceRequestSpecMethod{
 10758  		SessionManagerHttpServiceRequestSpecMethodHttpOptions,
 10759  		SessionManagerHttpServiceRequestSpecMethodHttpGet,
 10760  		SessionManagerHttpServiceRequestSpecMethodHttpHead,
 10761  		SessionManagerHttpServiceRequestSpecMethodHttpPost,
 10762  		SessionManagerHttpServiceRequestSpecMethodHttpPut,
 10763  		SessionManagerHttpServiceRequestSpecMethodHttpDelete,
 10764  		SessionManagerHttpServiceRequestSpecMethodHttpTrace,
 10765  		SessionManagerHttpServiceRequestSpecMethodHttpConnect,
 10766  	}
 10767  }
 10768  
 10769  func (e SessionManagerHttpServiceRequestSpecMethod) Strings() []string {
 10770  	return EnumValuesAsStrings(e.Values())
 10771  }
 10772  
 10773  func init() {
 10774  	t["SessionManagerHttpServiceRequestSpecMethod"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpecMethod)(nil)).Elem()
 10775  }
 10776  
 10777  // Simplified shares notation.
 10778  //
 10779  // These designations have different meanings for different resources.
 10780  type SharesLevel string
 10781  
 10782  const (
 10783  	// For CPU: Shares = 500 \* number of virtual CPUs
 10784  	// For Memory: Shares = 5 \* virtual machine memory size in megabytes
 10785  	// For Disk: Shares = 500
 10786  	// For Network: Shares = 0.25 \* `DVSFeatureCapability.networkResourcePoolHighShareValue`
 10787  	SharesLevelLow = SharesLevel("low")
 10788  	// For CPU: Shares = 1000 \* number of virtual CPUs
 10789  	// For Memory: Shares = 10 \* virtual machine memory size in megabytes
 10790  	// For Disk: Shares = 1000
 10791  	// For Network: Shares = 0.5 \* `DVSFeatureCapability.networkResourcePoolHighShareValue`
 10792  	SharesLevelNormal = SharesLevel("normal")
 10793  	// For CPU: Shares = 2000 \* number of virtual CPUs
 10794  	// For Memory: Shares = 20 \* virtual machine memory size in megabytes
 10795  	// For Disk: Shares = 2000
 10796  	// For Network: Shares = `DVSFeatureCapability.networkResourcePoolHighShareValue`
 10797  	SharesLevelHigh = SharesLevel("high")
 10798  	// 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.
 10799  	SharesLevelCustom = SharesLevel("custom")
 10800  )
 10801  
 10802  func (e SharesLevel) Values() []SharesLevel {
 10803  	return []SharesLevel{
 10804  		SharesLevelLow,
 10805  		SharesLevelNormal,
 10806  		SharesLevelHigh,
 10807  		SharesLevelCustom,
 10808  	}
 10809  }
 10810  
 10811  func (e SharesLevel) Strings() []string {
 10812  	return EnumValuesAsStrings(e.Values())
 10813  }
 10814  
 10815  func init() {
 10816  	t["SharesLevel"] = reflect.TypeOf((*SharesLevel)(nil)).Elem()
 10817  }
 10818  
 10819  // The encoding of the resultant return data.
 10820  //
 10821  // This is a hint to the client side
 10822  // to indicate the format of the information being returned.
 10823  type SimpleCommandEncoding string
 10824  
 10825  const (
 10826  	// Comma separated values
 10827  	SimpleCommandEncodingCSV = SimpleCommandEncoding("CSV")
 10828  	// Hex encoded binary data
 10829  	SimpleCommandEncodingHEX    = SimpleCommandEncoding("HEX")
 10830  	SimpleCommandEncodingSTRING = SimpleCommandEncoding("STRING")
 10831  )
 10832  
 10833  func (e SimpleCommandEncoding) Values() []SimpleCommandEncoding {
 10834  	return []SimpleCommandEncoding{
 10835  		SimpleCommandEncodingCSV,
 10836  		SimpleCommandEncodingHEX,
 10837  		SimpleCommandEncodingSTRING,
 10838  	}
 10839  }
 10840  
 10841  func (e SimpleCommandEncoding) Strings() []string {
 10842  	return EnumValuesAsStrings(e.Values())
 10843  }
 10844  
 10845  func init() {
 10846  	t["SimpleCommandEncoding"] = reflect.TypeOf((*SimpleCommandEncoding)(nil)).Elem()
 10847  }
 10848  
 10849  // The available SLP discovery methods.
 10850  type SlpDiscoveryMethod string
 10851  
 10852  const (
 10853  	// Use DHCP to find the SLP DAs.
 10854  	SlpDiscoveryMethodSlpDhcp = SlpDiscoveryMethod("slpDhcp")
 10855  	// Use broadcasting to find SLP DAs.
 10856  	//
 10857  	// Only DAs on the current subnet will be found.
 10858  	SlpDiscoveryMethodSlpAutoUnicast = SlpDiscoveryMethod("slpAutoUnicast")
 10859  	// Use the well known multicast address to find DAs.
 10860  	SlpDiscoveryMethodSlpAutoMulticast = SlpDiscoveryMethod("slpAutoMulticast")
 10861  	// User specified address for a DA.
 10862  	SlpDiscoveryMethodSlpManual = SlpDiscoveryMethod("slpManual")
 10863  )
 10864  
 10865  func (e SlpDiscoveryMethod) Values() []SlpDiscoveryMethod {
 10866  	return []SlpDiscoveryMethod{
 10867  		SlpDiscoveryMethodSlpDhcp,
 10868  		SlpDiscoveryMethodSlpAutoUnicast,
 10869  		SlpDiscoveryMethodSlpAutoMulticast,
 10870  		SlpDiscoveryMethodSlpManual,
 10871  	}
 10872  }
 10873  
 10874  func (e SlpDiscoveryMethod) Strings() []string {
 10875  	return EnumValuesAsStrings(e.Values())
 10876  }
 10877  
 10878  func init() {
 10879  	t["SlpDiscoveryMethod"] = reflect.TypeOf((*SlpDiscoveryMethod)(nil)).Elem()
 10880  }
 10881  
 10882  // These are the constraint relationships between software packages.
 10883  type SoftwarePackageConstraint string
 10884  
 10885  const (
 10886  	SoftwarePackageConstraintEquals           = SoftwarePackageConstraint("equals")
 10887  	SoftwarePackageConstraintLessThan         = SoftwarePackageConstraint("lessThan")
 10888  	SoftwarePackageConstraintLessThanEqual    = SoftwarePackageConstraint("lessThanEqual")
 10889  	SoftwarePackageConstraintGreaterThanEqual = SoftwarePackageConstraint("greaterThanEqual")
 10890  	SoftwarePackageConstraintGreaterThan      = SoftwarePackageConstraint("greaterThan")
 10891  )
 10892  
 10893  func (e SoftwarePackageConstraint) Values() []SoftwarePackageConstraint {
 10894  	return []SoftwarePackageConstraint{
 10895  		SoftwarePackageConstraintEquals,
 10896  		SoftwarePackageConstraintLessThan,
 10897  		SoftwarePackageConstraintLessThanEqual,
 10898  		SoftwarePackageConstraintGreaterThanEqual,
 10899  		SoftwarePackageConstraintGreaterThan,
 10900  	}
 10901  }
 10902  
 10903  func (e SoftwarePackageConstraint) Strings() []string {
 10904  	return EnumValuesAsStrings(e.Values())
 10905  }
 10906  
 10907  func init() {
 10908  	t["SoftwarePackageConstraint"] = reflect.TypeOf((*SoftwarePackageConstraint)(nil)).Elem()
 10909  }
 10910  
 10911  type SoftwarePackageVibType string
 10912  
 10913  const (
 10914  	// This package is installed into bootbank in storage.
 10915  	SoftwarePackageVibTypeBootbank = SoftwarePackageVibType("bootbank")
 10916  	// This package is installed into tools partition in storage.
 10917  	SoftwarePackageVibTypeTools = SoftwarePackageVibType("tools")
 10918  	// This package contains install related data without
 10919  	// content to install.
 10920  	SoftwarePackageVibTypeMeta = SoftwarePackageVibType("meta")
 10921  )
 10922  
 10923  func (e SoftwarePackageVibType) Values() []SoftwarePackageVibType {
 10924  	return []SoftwarePackageVibType{
 10925  		SoftwarePackageVibTypeBootbank,
 10926  		SoftwarePackageVibTypeTools,
 10927  		SoftwarePackageVibTypeMeta,
 10928  	}
 10929  }
 10930  
 10931  func (e SoftwarePackageVibType) Strings() []string {
 10932  	return EnumValuesAsStrings(e.Values())
 10933  }
 10934  
 10935  func init() {
 10936  	t["SoftwarePackageVibType"] = reflect.TypeOf((*SoftwarePackageVibType)(nil)).Elem()
 10937  }
 10938  
 10939  // The operation on the target state.
 10940  type StateAlarmOperator string
 10941  
 10942  const (
 10943  	// Test if the target state matches the given red or yellow states.
 10944  	StateAlarmOperatorIsEqual = StateAlarmOperator("isEqual")
 10945  	// Test if the target state does not match the given red or yellow states.
 10946  	StateAlarmOperatorIsUnequal = StateAlarmOperator("isUnequal")
 10947  )
 10948  
 10949  func (e StateAlarmOperator) Values() []StateAlarmOperator {
 10950  	return []StateAlarmOperator{
 10951  		StateAlarmOperatorIsEqual,
 10952  		StateAlarmOperatorIsUnequal,
 10953  	}
 10954  }
 10955  
 10956  func (e StateAlarmOperator) Strings() []string {
 10957  	return EnumValuesAsStrings(e.Values())
 10958  }
 10959  
 10960  func init() {
 10961  	t["StateAlarmOperator"] = reflect.TypeOf((*StateAlarmOperator)(nil)).Elem()
 10962  }
 10963  
 10964  // Storage DRS behavior.
 10965  type StorageDrsPodConfigInfoBehavior string
 10966  
 10967  const (
 10968  	// Specifies that VirtualCenter should generate recommendations for
 10969  	// virtual disk migration and for placement with a datastore,
 10970  	// but should not execute the recommendations automatically.
 10971  	StorageDrsPodConfigInfoBehaviorManual = StorageDrsPodConfigInfoBehavior("manual")
 10972  	// Specifies that VirtualCenter should generate recommendations
 10973  	// for virtual disk migration and for placement with a
 10974  	// datastore.
 10975  	//
 10976  	// The recommendations for virtual disk migrations
 10977  	// will be executed automatically, but the placement
 10978  	// recommendations will be done manually.
 10979  	StorageDrsPodConfigInfoBehaviorAutomated = StorageDrsPodConfigInfoBehavior("automated")
 10980  )
 10981  
 10982  func (e StorageDrsPodConfigInfoBehavior) Values() []StorageDrsPodConfigInfoBehavior {
 10983  	return []StorageDrsPodConfigInfoBehavior{
 10984  		StorageDrsPodConfigInfoBehaviorManual,
 10985  		StorageDrsPodConfigInfoBehaviorAutomated,
 10986  	}
 10987  }
 10988  
 10989  func (e StorageDrsPodConfigInfoBehavior) Strings() []string {
 10990  	return EnumValuesAsStrings(e.Values())
 10991  }
 10992  
 10993  func init() {
 10994  	t["StorageDrsPodConfigInfoBehavior"] = reflect.TypeOf((*StorageDrsPodConfigInfoBehavior)(nil)).Elem()
 10995  }
 10996  
 10997  // Defines the two ways a space utilization threshold can be specified.
 10998  type StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode string
 10999  
 11000  const (
 11001  	// Default mode: threshold as a percentage of datastore capacity
 11002  	StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeUtilization = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("utilization")
 11003  	// Threshold as an absolute value of free space in GBs
 11004  	StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeFreeSpace = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("freeSpace")
 11005  )
 11006  
 11007  func (e StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode) Values() []StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode {
 11008  	return []StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode{
 11009  		StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeUtilization,
 11010  		StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeFreeSpace,
 11011  	}
 11012  }
 11013  
 11014  func (e StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode) Strings() []string {
 11015  	return EnumValuesAsStrings(e.Values())
 11016  }
 11017  
 11018  func init() {
 11019  	t["StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode)(nil)).Elem()
 11020  }
 11021  
 11022  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 11023  //
 11024  // # User specification of congestion threshold mode on a given datastore
 11025  //
 11026  // For more information, see
 11027  // `StorageIORMInfo.congestionThreshold`
 11028  type StorageIORMThresholdMode string
 11029  
 11030  const (
 11031  	// Storagage IO Control will choose appropriate congestion threshold value
 11032  	// for that datastore to operate at given percentage of peak throughput.
 11033  	//
 11034  	// This is the default setting
 11035  	StorageIORMThresholdModeAutomatic = StorageIORMThresholdMode("automatic")
 11036  	// Use user specified Storage IO Control congestion threshold value
 11037  	StorageIORMThresholdModeManual = StorageIORMThresholdMode("manual")
 11038  )
 11039  
 11040  func (e StorageIORMThresholdMode) Values() []StorageIORMThresholdMode {
 11041  	return []StorageIORMThresholdMode{
 11042  		StorageIORMThresholdModeAutomatic,
 11043  		StorageIORMThresholdModeManual,
 11044  	}
 11045  }
 11046  
 11047  func (e StorageIORMThresholdMode) Strings() []string {
 11048  	return EnumValuesAsStrings(e.Values())
 11049  }
 11050  
 11051  func init() {
 11052  	t["StorageIORMThresholdMode"] = reflect.TypeOf((*StorageIORMThresholdMode)(nil)).Elem()
 11053  }
 11054  
 11055  // Defines the storage placement operation type.
 11056  type StoragePlacementSpecPlacementType string
 11057  
 11058  const (
 11059  	// Create a VM.
 11060  	StoragePlacementSpecPlacementTypeCreate = StoragePlacementSpecPlacementType("create")
 11061  	// Reconfigure a VM.
 11062  	StoragePlacementSpecPlacementTypeReconfigure = StoragePlacementSpecPlacementType("reconfigure")
 11063  	// Relocate a VM.
 11064  	StoragePlacementSpecPlacementTypeRelocate = StoragePlacementSpecPlacementType("relocate")
 11065  	// Clone a VM.
 11066  	StoragePlacementSpecPlacementTypeClone = StoragePlacementSpecPlacementType("clone")
 11067  )
 11068  
 11069  func (e StoragePlacementSpecPlacementType) Values() []StoragePlacementSpecPlacementType {
 11070  	return []StoragePlacementSpecPlacementType{
 11071  		StoragePlacementSpecPlacementTypeCreate,
 11072  		StoragePlacementSpecPlacementTypeReconfigure,
 11073  		StoragePlacementSpecPlacementTypeRelocate,
 11074  		StoragePlacementSpecPlacementTypeClone,
 11075  	}
 11076  }
 11077  
 11078  func (e StoragePlacementSpecPlacementType) Strings() []string {
 11079  	return EnumValuesAsStrings(e.Values())
 11080  }
 11081  
 11082  func init() {
 11083  	t["StoragePlacementSpecPlacementType"] = reflect.TypeOf((*StoragePlacementSpecPlacementType)(nil)).Elem()
 11084  }
 11085  
 11086  // This option specifies how to select tasks based on child relationships
 11087  // in the inventory hierarchy.
 11088  //
 11089  // If a managed entity has children, their tasks
 11090  // can be retrieved with this filter option.
 11091  type TaskFilterSpecRecursionOption string
 11092  
 11093  const (
 11094  	// Returns tasks that pertain only to the specified managed entity,
 11095  	// and not its children.
 11096  	TaskFilterSpecRecursionOptionSelf = TaskFilterSpecRecursionOption("self")
 11097  	// Returns tasks pertaining to child entities only.
 11098  	//
 11099  	// Excludes
 11100  	// tasks pertaining to the specified managed entity itself.
 11101  	TaskFilterSpecRecursionOptionChildren = TaskFilterSpecRecursionOption("children")
 11102  	// Returns tasks pertaining either to the specified managed entity
 11103  	// or to its child entities.
 11104  	TaskFilterSpecRecursionOptionAll = TaskFilterSpecRecursionOption("all")
 11105  )
 11106  
 11107  func (e TaskFilterSpecRecursionOption) Values() []TaskFilterSpecRecursionOption {
 11108  	return []TaskFilterSpecRecursionOption{
 11109  		TaskFilterSpecRecursionOptionSelf,
 11110  		TaskFilterSpecRecursionOptionChildren,
 11111  		TaskFilterSpecRecursionOptionAll,
 11112  	}
 11113  }
 11114  
 11115  func (e TaskFilterSpecRecursionOption) Strings() []string {
 11116  	return EnumValuesAsStrings(e.Values())
 11117  }
 11118  
 11119  func init() {
 11120  	t["TaskFilterSpecRecursionOption"] = reflect.TypeOf((*TaskFilterSpecRecursionOption)(nil)).Elem()
 11121  }
 11122  
 11123  // This option specifies a time stamp governing the selection of tasks.
 11124  type TaskFilterSpecTimeOption string
 11125  
 11126  const (
 11127  	// The time stamp when the task was created and queued.
 11128  	TaskFilterSpecTimeOptionQueuedTime = TaskFilterSpecTimeOption("queuedTime")
 11129  	// The time stamp when the task started.
 11130  	TaskFilterSpecTimeOptionStartedTime = TaskFilterSpecTimeOption("startedTime")
 11131  	// The time stamp when the task finished.
 11132  	TaskFilterSpecTimeOptionCompletedTime = TaskFilterSpecTimeOption("completedTime")
 11133  )
 11134  
 11135  func (e TaskFilterSpecTimeOption) Values() []TaskFilterSpecTimeOption {
 11136  	return []TaskFilterSpecTimeOption{
 11137  		TaskFilterSpecTimeOptionQueuedTime,
 11138  		TaskFilterSpecTimeOptionStartedTime,
 11139  		TaskFilterSpecTimeOptionCompletedTime,
 11140  	}
 11141  }
 11142  
 11143  func (e TaskFilterSpecTimeOption) Strings() []string {
 11144  	return EnumValuesAsStrings(e.Values())
 11145  }
 11146  
 11147  func init() {
 11148  	t["TaskFilterSpecTimeOption"] = reflect.TypeOf((*TaskFilterSpecTimeOption)(nil)).Elem()
 11149  }
 11150  
 11151  // List of possible states of a task.
 11152  type TaskInfoState string
 11153  
 11154  const (
 11155  	// When there are too many tasks for threads to handle.
 11156  	TaskInfoStateQueued = TaskInfoState("queued")
 11157  	// When the busy thread is freed from its current task by
 11158  	// finishing the task, it picks a queued task to run.
 11159  	//
 11160  	// Then the queued tasks are marked as running.
 11161  	TaskInfoStateRunning = TaskInfoState("running")
 11162  	// When a running task has completed.
 11163  	TaskInfoStateSuccess = TaskInfoState("success")
 11164  	// When a running task has encountered an error.
 11165  	TaskInfoStateError = TaskInfoState("error")
 11166  )
 11167  
 11168  func (e TaskInfoState) Values() []TaskInfoState {
 11169  	return []TaskInfoState{
 11170  		TaskInfoStateQueued,
 11171  		TaskInfoStateRunning,
 11172  		TaskInfoStateSuccess,
 11173  		TaskInfoStateError,
 11174  	}
 11175  }
 11176  
 11177  func (e TaskInfoState) Strings() []string {
 11178  	return EnumValuesAsStrings(e.Values())
 11179  }
 11180  
 11181  func init() {
 11182  	t["TaskInfoState"] = reflect.TypeOf((*TaskInfoState)(nil)).Elem()
 11183  }
 11184  
 11185  type ThirdPartyLicenseAssignmentFailedReason string
 11186  
 11187  const (
 11188  	// A general failure has occurred during assigning license to the 3rd party module
 11189  	ThirdPartyLicenseAssignmentFailedReasonLicenseAssignmentFailed = ThirdPartyLicenseAssignmentFailedReason("licenseAssignmentFailed")
 11190  	// The 3rd party module we are trying to license is not installed.
 11191  	ThirdPartyLicenseAssignmentFailedReasonModuleNotInstalled = ThirdPartyLicenseAssignmentFailedReason("moduleNotInstalled")
 11192  )
 11193  
 11194  func (e ThirdPartyLicenseAssignmentFailedReason) Values() []ThirdPartyLicenseAssignmentFailedReason {
 11195  	return []ThirdPartyLicenseAssignmentFailedReason{
 11196  		ThirdPartyLicenseAssignmentFailedReasonLicenseAssignmentFailed,
 11197  		ThirdPartyLicenseAssignmentFailedReasonModuleNotInstalled,
 11198  	}
 11199  }
 11200  
 11201  func (e ThirdPartyLicenseAssignmentFailedReason) Strings() []string {
 11202  	return EnumValuesAsStrings(e.Values())
 11203  }
 11204  
 11205  func init() {
 11206  	t["ThirdPartyLicenseAssignmentFailedReason"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedReason)(nil)).Elem()
 11207  }
 11208  
 11209  // The policy setting used to determine when tools are auto-upgraded for
 11210  // a virtual machine
 11211  type UpgradePolicy string
 11212  
 11213  const (
 11214  	// No auto-upgrades for tools will be performed for this
 11215  	// virtual machine.
 11216  	//
 11217  	// Users must manually invoke the UpgradeTools
 11218  	// operation to update the tools.
 11219  	UpgradePolicyManual = UpgradePolicy("manual")
 11220  	// When the virtual machine is power-cycled, the system checks
 11221  	// for a newer version of tools when the VM comes back up.
 11222  	//
 11223  	// If it
 11224  	// is available, a tools upgrade is automatically performed on the
 11225  	// virtual machine and it is rebooted if necessary.
 11226  	UpgradePolicyUpgradeAtPowerCycle = UpgradePolicy("upgradeAtPowerCycle")
 11227  )
 11228  
 11229  func (e UpgradePolicy) Values() []UpgradePolicy {
 11230  	return []UpgradePolicy{
 11231  		UpgradePolicyManual,
 11232  		UpgradePolicyUpgradeAtPowerCycle,
 11233  	}
 11234  }
 11235  
 11236  func (e UpgradePolicy) Strings() []string {
 11237  	return EnumValuesAsStrings(e.Values())
 11238  }
 11239  
 11240  func init() {
 11241  	t["UpgradePolicy"] = reflect.TypeOf((*UpgradePolicy)(nil)).Elem()
 11242  }
 11243  
 11244  type VAppAutoStartAction string
 11245  
 11246  const (
 11247  	// No action is taken for this virtual machine.
 11248  	//
 11249  	// This virtual machine is
 11250  	// not a part of the auto-start sequence. This can be used for both auto-start
 11251  	// and auto-start settings.
 11252  	VAppAutoStartActionNone = VAppAutoStartAction("none")
 11253  	// This virtual machine is powered on when it is next in the auto-start order.
 11254  	VAppAutoStartActionPowerOn = VAppAutoStartAction("powerOn")
 11255  	// This virtual machine is powered off when it is next in the auto-stop order.
 11256  	//
 11257  	// This is the default stopAction.
 11258  	VAppAutoStartActionPowerOff = VAppAutoStartAction("powerOff")
 11259  	// The guest operating system for a virtual machine is shut down when that
 11260  	// virtual machine in next in the auto-stop order.
 11261  	VAppAutoStartActionGuestShutdown = VAppAutoStartAction("guestShutdown")
 11262  	// This virtual machine is suspended when it is next in the auto-stop order.
 11263  	VAppAutoStartActionSuspend = VAppAutoStartAction("suspend")
 11264  )
 11265  
 11266  func (e VAppAutoStartAction) Values() []VAppAutoStartAction {
 11267  	return []VAppAutoStartAction{
 11268  		VAppAutoStartActionNone,
 11269  		VAppAutoStartActionPowerOn,
 11270  		VAppAutoStartActionPowerOff,
 11271  		VAppAutoStartActionGuestShutdown,
 11272  		VAppAutoStartActionSuspend,
 11273  	}
 11274  }
 11275  
 11276  func (e VAppAutoStartAction) Strings() []string {
 11277  	return EnumValuesAsStrings(e.Values())
 11278  }
 11279  
 11280  func init() {
 11281  	t["VAppAutoStartAction"] = reflect.TypeOf((*VAppAutoStartAction)(nil)).Elem()
 11282  }
 11283  
 11284  // The cloned VMs can either be provisioned the same way as the VMs
 11285  // they are a clone of, thin provisioned or thick provisioned, or
 11286  // linked clones (i.e., using delta disks).
 11287  type VAppCloneSpecProvisioningType string
 11288  
 11289  const (
 11290  	// Each disk in the cloned virtual machines will have the same
 11291  	// type of disk as the source vApp.
 11292  	VAppCloneSpecProvisioningTypeSameAsSource = VAppCloneSpecProvisioningType("sameAsSource")
 11293  	// Each disk in the cloned virtual machines is allocated in full
 11294  	// size now and committed on demand.
 11295  	//
 11296  	// This is only supported on
 11297  	// VMFS-3 and newer datastores. Other types of datastores may
 11298  	// create thick disks.
 11299  	VAppCloneSpecProvisioningTypeThin = VAppCloneSpecProvisioningType("thin")
 11300  	// Each disk in the cloned virtual machines are allocated and
 11301  	// committed in full size immediately.
 11302  	VAppCloneSpecProvisioningTypeThick = VAppCloneSpecProvisioningType("thick")
 11303  )
 11304  
 11305  func (e VAppCloneSpecProvisioningType) Values() []VAppCloneSpecProvisioningType {
 11306  	return []VAppCloneSpecProvisioningType{
 11307  		VAppCloneSpecProvisioningTypeSameAsSource,
 11308  		VAppCloneSpecProvisioningTypeThin,
 11309  		VAppCloneSpecProvisioningTypeThick,
 11310  	}
 11311  }
 11312  
 11313  func (e VAppCloneSpecProvisioningType) Strings() []string {
 11314  	return EnumValuesAsStrings(e.Values())
 11315  }
 11316  
 11317  func init() {
 11318  	t["VAppCloneSpecProvisioningType"] = reflect.TypeOf((*VAppCloneSpecProvisioningType)(nil)).Elem()
 11319  }
 11320  
 11321  // IP allocation schemes supported by the guest.
 11322  type VAppIPAssignmentInfoAllocationSchemes string
 11323  
 11324  const (
 11325  	// The vApp supports DHCP to acquire IP configuration.
 11326  	VAppIPAssignmentInfoAllocationSchemesDhcp = VAppIPAssignmentInfoAllocationSchemes("dhcp")
 11327  	// The vApp supports setting the IP configuration through the
 11328  	// properties provided in the OVF environment.
 11329  	VAppIPAssignmentInfoAllocationSchemesOvfenv = VAppIPAssignmentInfoAllocationSchemes("ovfenv")
 11330  )
 11331  
 11332  func (e VAppIPAssignmentInfoAllocationSchemes) Values() []VAppIPAssignmentInfoAllocationSchemes {
 11333  	return []VAppIPAssignmentInfoAllocationSchemes{
 11334  		VAppIPAssignmentInfoAllocationSchemesDhcp,
 11335  		VAppIPAssignmentInfoAllocationSchemesOvfenv,
 11336  	}
 11337  }
 11338  
 11339  func (e VAppIPAssignmentInfoAllocationSchemes) Strings() []string {
 11340  	return EnumValuesAsStrings(e.Values())
 11341  }
 11342  
 11343  func init() {
 11344  	t["VAppIPAssignmentInfoAllocationSchemes"] = reflect.TypeOf((*VAppIPAssignmentInfoAllocationSchemes)(nil)).Elem()
 11345  }
 11346  
 11347  // IP allocation policy for a deployment.
 11348  type VAppIPAssignmentInfoIpAllocationPolicy string
 11349  
 11350  const (
 11351  	// Specifies that DHCP must be used to allocate IP addresses to the vApp
 11352  	VAppIPAssignmentInfoIpAllocationPolicyDhcpPolicy = VAppIPAssignmentInfoIpAllocationPolicy("dhcpPolicy")
 11353  	// Specifies that IP allocation is done through the range managed by the
 11354  	// vSphere platform.
 11355  	//
 11356  	// The IP addresses are allocated when needed, typically at
 11357  	// power-on, and deallocated during power-off. There is no guarantee that a
 11358  	// vApp will get the same IP address when restarted.
 11359  	VAppIPAssignmentInfoIpAllocationPolicyTransientPolicy = VAppIPAssignmentInfoIpAllocationPolicy("transientPolicy")
 11360  	// Specifies that IP addresses are configured manually when the vApp is deployed
 11361  	// and will be kept until reconfigured or the vApp destroyed.
 11362  	//
 11363  	// This will ensure
 11364  	// that a vApp gets a consistent IP for its life-time.
 11365  	VAppIPAssignmentInfoIpAllocationPolicyFixedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedPolicy")
 11366  	// Specifies that IP allocation is done through the range managed by the VI
 11367  	// platform.
 11368  	//
 11369  	// The IP addresses are allocated at first power-on, and remain
 11370  	// allocated at power-off. This will ensure that a vApp gets a consistent
 11371  	// IP for its life-time.
 11372  	VAppIPAssignmentInfoIpAllocationPolicyFixedAllocatedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedAllocatedPolicy")
 11373  )
 11374  
 11375  func (e VAppIPAssignmentInfoIpAllocationPolicy) Values() []VAppIPAssignmentInfoIpAllocationPolicy {
 11376  	return []VAppIPAssignmentInfoIpAllocationPolicy{
 11377  		VAppIPAssignmentInfoIpAllocationPolicyDhcpPolicy,
 11378  		VAppIPAssignmentInfoIpAllocationPolicyTransientPolicy,
 11379  		VAppIPAssignmentInfoIpAllocationPolicyFixedPolicy,
 11380  		VAppIPAssignmentInfoIpAllocationPolicyFixedAllocatedPolicy,
 11381  	}
 11382  }
 11383  
 11384  func (e VAppIPAssignmentInfoIpAllocationPolicy) Strings() []string {
 11385  	return EnumValuesAsStrings(e.Values())
 11386  }
 11387  
 11388  func init() {
 11389  	t["VAppIPAssignmentInfoIpAllocationPolicy"] = reflect.TypeOf((*VAppIPAssignmentInfoIpAllocationPolicy)(nil)).Elem()
 11390  }
 11391  
 11392  // IP protocols supported by the guest.
 11393  type VAppIPAssignmentInfoProtocols string
 11394  
 11395  const (
 11396  	// The vApp supports IPv4 protocol.
 11397  	VAppIPAssignmentInfoProtocolsIPv4 = VAppIPAssignmentInfoProtocols("IPv4")
 11398  	// The vApp supports IPv6 protocol.
 11399  	VAppIPAssignmentInfoProtocolsIPv6 = VAppIPAssignmentInfoProtocols("IPv6")
 11400  )
 11401  
 11402  func (e VAppIPAssignmentInfoProtocols) Values() []VAppIPAssignmentInfoProtocols {
 11403  	return []VAppIPAssignmentInfoProtocols{
 11404  		VAppIPAssignmentInfoProtocolsIPv4,
 11405  		VAppIPAssignmentInfoProtocolsIPv6,
 11406  	}
 11407  }
 11408  
 11409  func (e VAppIPAssignmentInfoProtocols) Strings() []string {
 11410  	return EnumValuesAsStrings(e.Values())
 11411  }
 11412  
 11413  func init() {
 11414  	t["VAppIPAssignmentInfoProtocols"] = reflect.TypeOf((*VAppIPAssignmentInfoProtocols)(nil)).Elem()
 11415  }
 11416  
 11417  type VFlashModuleNotSupportedReason string
 11418  
 11419  const (
 11420  	VFlashModuleNotSupportedReasonCacheModeNotSupported            = VFlashModuleNotSupportedReason("CacheModeNotSupported")
 11421  	VFlashModuleNotSupportedReasonCacheConsistencyTypeNotSupported = VFlashModuleNotSupportedReason("CacheConsistencyTypeNotSupported")
 11422  	VFlashModuleNotSupportedReasonCacheBlockSizeNotSupported       = VFlashModuleNotSupportedReason("CacheBlockSizeNotSupported")
 11423  	VFlashModuleNotSupportedReasonCacheReservationNotSupported     = VFlashModuleNotSupportedReason("CacheReservationNotSupported")
 11424  	VFlashModuleNotSupportedReasonDiskSizeNotSupported             = VFlashModuleNotSupportedReason("DiskSizeNotSupported")
 11425  )
 11426  
 11427  func (e VFlashModuleNotSupportedReason) Values() []VFlashModuleNotSupportedReason {
 11428  	return []VFlashModuleNotSupportedReason{
 11429  		VFlashModuleNotSupportedReasonCacheModeNotSupported,
 11430  		VFlashModuleNotSupportedReasonCacheConsistencyTypeNotSupported,
 11431  		VFlashModuleNotSupportedReasonCacheBlockSizeNotSupported,
 11432  		VFlashModuleNotSupportedReasonCacheReservationNotSupported,
 11433  		VFlashModuleNotSupportedReasonDiskSizeNotSupported,
 11434  	}
 11435  }
 11436  
 11437  func (e VFlashModuleNotSupportedReason) Strings() []string {
 11438  	return EnumValuesAsStrings(e.Values())
 11439  }
 11440  
 11441  func init() {
 11442  	t["VFlashModuleNotSupportedReason"] = reflect.TypeOf((*VFlashModuleNotSupportedReason)(nil)).Elem()
 11443  }
 11444  
 11445  // Types of a host's compatibility with a designated virtual machine
 11446  // that is a candidate for VMotion.
 11447  //
 11448  // Used with queryVMotionCompatibility
 11449  // both as inputs (to designate which compatibility types to test for)
 11450  // and as outputs (to specify which compatibility types apply for
 11451  // each host).
 11452  type VMotionCompatibilityType string
 11453  
 11454  const (
 11455  	// The host's CPU features are compatible with the
 11456  	// the virtual machine's requirements.
 11457  	VMotionCompatibilityTypeCpu = VMotionCompatibilityType("cpu")
 11458  	// The software platform on the host supports VMotion
 11459  	// and is compatible with the virtual machine.
 11460  	VMotionCompatibilityTypeSoftware = VMotionCompatibilityType("software")
 11461  )
 11462  
 11463  func (e VMotionCompatibilityType) Values() []VMotionCompatibilityType {
 11464  	return []VMotionCompatibilityType{
 11465  		VMotionCompatibilityTypeCpu,
 11466  		VMotionCompatibilityTypeSoftware,
 11467  	}
 11468  }
 11469  
 11470  func (e VMotionCompatibilityType) Strings() []string {
 11471  	return EnumValuesAsStrings(e.Values())
 11472  }
 11473  
 11474  func init() {
 11475  	t["VMotionCompatibilityType"] = reflect.TypeOf((*VMotionCompatibilityType)(nil)).Elem()
 11476  }
 11477  
 11478  // The teaming health check match status.
 11479  type VMwareDVSTeamingMatchStatus string
 11480  
 11481  const (
 11482  	// The value of 'loadbalance\_ip' is used in a uplink teaming policy
 11483  	// `VmwareUplinkPortTeamingPolicy.policy`
 11484  	// in the vSphere Distributed Switch, and the external physical switch
 11485  	// has the matching EtherChannel configuration.
 11486  	VMwareDVSTeamingMatchStatusIphashMatch = VMwareDVSTeamingMatchStatus("iphashMatch")
 11487  	// The value of 'loadbalance\_ip' is not used in a uplink teaming policy
 11488  	// `VmwareUplinkPortTeamingPolicy.policy`
 11489  	// in the vSphere Distributed Switch, and the external physical switch
 11490  	// does not have EtherChannel configuration.
 11491  	VMwareDVSTeamingMatchStatusNonIphashMatch = VMwareDVSTeamingMatchStatus("nonIphashMatch")
 11492  	// The value of 'loadbalance\_ip' is used in a uplink teaming policy
 11493  	// `VmwareUplinkPortTeamingPolicy.policy`
 11494  	// in the vSphere Distributed Switch, but the external physical switch
 11495  	// does not have the matching EtherChannel configuration.
 11496  	VMwareDVSTeamingMatchStatusIphashMismatch = VMwareDVSTeamingMatchStatus("iphashMismatch")
 11497  	// The value of 'loadbalance\_ip' is not used in a uplink teaming policy
 11498  	// `VmwareUplinkPortTeamingPolicy.policy`
 11499  	// in the vSphere Distributed Switch, but the external physical switch
 11500  	// has EtherChannel configuration.
 11501  	VMwareDVSTeamingMatchStatusNonIphashMismatch = VMwareDVSTeamingMatchStatus("nonIphashMismatch")
 11502  )
 11503  
 11504  func (e VMwareDVSTeamingMatchStatus) Values() []VMwareDVSTeamingMatchStatus {
 11505  	return []VMwareDVSTeamingMatchStatus{
 11506  		VMwareDVSTeamingMatchStatusIphashMatch,
 11507  		VMwareDVSTeamingMatchStatusNonIphashMatch,
 11508  		VMwareDVSTeamingMatchStatusIphashMismatch,
 11509  		VMwareDVSTeamingMatchStatusNonIphashMismatch,
 11510  	}
 11511  }
 11512  
 11513  func (e VMwareDVSTeamingMatchStatus) Strings() []string {
 11514  	return EnumValuesAsStrings(e.Values())
 11515  }
 11516  
 11517  func init() {
 11518  	t["VMwareDVSTeamingMatchStatus"] = reflect.TypeOf((*VMwareDVSTeamingMatchStatus)(nil)).Elem()
 11519  }
 11520  
 11521  // Distributed Port Mirroring session Encapsulation types.
 11522  type VMwareDVSVspanSessionEncapType string
 11523  
 11524  const (
 11525  	// Encapsulate original packets with GRE protocol
 11526  	VMwareDVSVspanSessionEncapTypeGre = VMwareDVSVspanSessionEncapType("gre")
 11527  	// Encapsulate original packets with ERSPAN Type2 protocol
 11528  	VMwareDVSVspanSessionEncapTypeErspan2 = VMwareDVSVspanSessionEncapType("erspan2")
 11529  	// Encapsulate original packets with ERSPAN Type3 protocol
 11530  	VMwareDVSVspanSessionEncapTypeErspan3 = VMwareDVSVspanSessionEncapType("erspan3")
 11531  )
 11532  
 11533  func (e VMwareDVSVspanSessionEncapType) Values() []VMwareDVSVspanSessionEncapType {
 11534  	return []VMwareDVSVspanSessionEncapType{
 11535  		VMwareDVSVspanSessionEncapTypeGre,
 11536  		VMwareDVSVspanSessionEncapTypeErspan2,
 11537  		VMwareDVSVspanSessionEncapTypeErspan3,
 11538  	}
 11539  }
 11540  
 11541  func (e VMwareDVSVspanSessionEncapType) Strings() []string {
 11542  	return EnumValuesAsStrings(e.Values())
 11543  }
 11544  
 11545  func init() {
 11546  	t["VMwareDVSVspanSessionEncapType"] = reflect.TypeOf((*VMwareDVSVspanSessionEncapType)(nil)).Elem()
 11547  }
 11548  
 11549  // Distributed Port Mirroring session types.
 11550  type VMwareDVSVspanSessionType string
 11551  
 11552  const (
 11553  	// Deprecated as of vSphere API 5.1.
 11554  	//
 11555  	// In mixedDestMirror session, Distributed Ports can be used as source entities,
 11556  	// and both Distributed Ports and Uplink Ports Name can be used as destination entities.
 11557  	VMwareDVSVspanSessionTypeMixedDestMirror = VMwareDVSVspanSessionType("mixedDestMirror")
 11558  	// In dvPortMirror session, Distributed Ports can be used as both source
 11559  	// and destination entities.
 11560  	VMwareDVSVspanSessionTypeDvPortMirror = VMwareDVSVspanSessionType("dvPortMirror")
 11561  	// In remoteMirrorSource session, Distributed Ports can be used as source entities,
 11562  	// and uplink ports name can be used as destination entities.
 11563  	VMwareDVSVspanSessionTypeRemoteMirrorSource = VMwareDVSVspanSessionType("remoteMirrorSource")
 11564  	// In remoteMirrorDest session, vlan Ids can be used as source entities,
 11565  	// and Distributed Ports can be used as destination entities.
 11566  	VMwareDVSVspanSessionTypeRemoteMirrorDest = VMwareDVSVspanSessionType("remoteMirrorDest")
 11567  	// In encapsulatedRemoteMirrorSource session, Distributed Ports can be used as source entities,
 11568  	// and Ip address can be used as destination entities.
 11569  	VMwareDVSVspanSessionTypeEncapsulatedRemoteMirrorSource = VMwareDVSVspanSessionType("encapsulatedRemoteMirrorSource")
 11570  )
 11571  
 11572  func (e VMwareDVSVspanSessionType) Values() []VMwareDVSVspanSessionType {
 11573  	return []VMwareDVSVspanSessionType{
 11574  		VMwareDVSVspanSessionTypeMixedDestMirror,
 11575  		VMwareDVSVspanSessionTypeDvPortMirror,
 11576  		VMwareDVSVspanSessionTypeRemoteMirrorSource,
 11577  		VMwareDVSVspanSessionTypeRemoteMirrorDest,
 11578  		VMwareDVSVspanSessionTypeEncapsulatedRemoteMirrorSource,
 11579  	}
 11580  }
 11581  
 11582  func (e VMwareDVSVspanSessionType) Strings() []string {
 11583  	return EnumValuesAsStrings(e.Values())
 11584  }
 11585  
 11586  func init() {
 11587  	t["VMwareDVSVspanSessionType"] = reflect.TypeOf((*VMwareDVSVspanSessionType)(nil)).Elem()
 11588  }
 11589  
 11590  // Link Aggregation Control Protocol API versions.
 11591  type VMwareDvsLacpApiVersion string
 11592  
 11593  const (
 11594  	// Deprecated as of vSphere API 7.0u1.
 11595  	//
 11596  	// One Link Aggregation Control Protocol group in the switch
 11597  	VMwareDvsLacpApiVersionSingleLag = VMwareDvsLacpApiVersion("singleLag")
 11598  	// Multiple Link Aggregation Control Protocol in the switch.
 11599  	VMwareDvsLacpApiVersionMultipleLag = VMwareDvsLacpApiVersion("multipleLag")
 11600  )
 11601  
 11602  func (e VMwareDvsLacpApiVersion) Values() []VMwareDvsLacpApiVersion {
 11603  	return []VMwareDvsLacpApiVersion{
 11604  		VMwareDvsLacpApiVersionSingleLag,
 11605  		VMwareDvsLacpApiVersionMultipleLag,
 11606  	}
 11607  }
 11608  
 11609  func (e VMwareDvsLacpApiVersion) Strings() []string {
 11610  	return EnumValuesAsStrings(e.Values())
 11611  }
 11612  
 11613  func init() {
 11614  	t["VMwareDvsLacpApiVersion"] = reflect.TypeOf((*VMwareDvsLacpApiVersion)(nil)).Elem()
 11615  }
 11616  
 11617  // Load balance algorithm in a Link Aggregation Control Protocol group.
 11618  type VMwareDvsLacpLoadBalanceAlgorithm string
 11619  
 11620  const (
 11621  	// Source MAC address
 11622  	VMwareDvsLacpLoadBalanceAlgorithmSrcMac = VMwareDvsLacpLoadBalanceAlgorithm("srcMac")
 11623  	// Destination MAC address
 11624  	VMwareDvsLacpLoadBalanceAlgorithmDestMac = VMwareDvsLacpLoadBalanceAlgorithm("destMac")
 11625  	// Source and destination MAC address
 11626  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestMac = VMwareDvsLacpLoadBalanceAlgorithm("srcDestMac")
 11627  	// Destination IP and VLAN
 11628  	VMwareDvsLacpLoadBalanceAlgorithmDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpVlan")
 11629  	// Source IP and VLAN
 11630  	VMwareDvsLacpLoadBalanceAlgorithmSrcIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpVlan")
 11631  	// Source and destination IP and VLAN
 11632  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpVlan")
 11633  	// Destination TCP/UDP port number
 11634  	VMwareDvsLacpLoadBalanceAlgorithmDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destTcpUdpPort")
 11635  	// Source TCP/UDP port number
 11636  	VMwareDvsLacpLoadBalanceAlgorithmSrcTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcTcpUdpPort")
 11637  	// Source and destination TCP/UDP port number
 11638  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestTcpUdpPort")
 11639  	// Destination IP and TCP/UDP port number
 11640  	VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPort")
 11641  	// Source IP and TCP/UDP port number
 11642  	VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPort")
 11643  	// Source and destination IP and TCP/UDP port number
 11644  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPort")
 11645  	// Destination IP, TCP/UDP port number and VLAN
 11646  	VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPortVlan")
 11647  	// Source IP, TCP/UDP port number and VLAN
 11648  	VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPortVlan")
 11649  	// Source and destination IP,
 11650  	// source and destination TCP/UDP port number and VLAN.
 11651  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPortVlan")
 11652  	// Destination IP
 11653  	VMwareDvsLacpLoadBalanceAlgorithmDestIp = VMwareDvsLacpLoadBalanceAlgorithm("destIp")
 11654  	// Source IP
 11655  	VMwareDvsLacpLoadBalanceAlgorithmSrcIp = VMwareDvsLacpLoadBalanceAlgorithm("srcIp")
 11656  	// Source and Destination IP
 11657  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIp = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIp")
 11658  	// VLAN only
 11659  	VMwareDvsLacpLoadBalanceAlgorithmVlan = VMwareDvsLacpLoadBalanceAlgorithm("vlan")
 11660  	// Source Virtual Port Id
 11661  	VMwareDvsLacpLoadBalanceAlgorithmSrcPortId = VMwareDvsLacpLoadBalanceAlgorithm("srcPortId")
 11662  )
 11663  
 11664  func (e VMwareDvsLacpLoadBalanceAlgorithm) Values() []VMwareDvsLacpLoadBalanceAlgorithm {
 11665  	return []VMwareDvsLacpLoadBalanceAlgorithm{
 11666  		VMwareDvsLacpLoadBalanceAlgorithmSrcMac,
 11667  		VMwareDvsLacpLoadBalanceAlgorithmDestMac,
 11668  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestMac,
 11669  		VMwareDvsLacpLoadBalanceAlgorithmDestIpVlan,
 11670  		VMwareDvsLacpLoadBalanceAlgorithmSrcIpVlan,
 11671  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpVlan,
 11672  		VMwareDvsLacpLoadBalanceAlgorithmDestTcpUdpPort,
 11673  		VMwareDvsLacpLoadBalanceAlgorithmSrcTcpUdpPort,
 11674  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestTcpUdpPort,
 11675  		VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPort,
 11676  		VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPort,
 11677  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPort,
 11678  		VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPortVlan,
 11679  		VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPortVlan,
 11680  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPortVlan,
 11681  		VMwareDvsLacpLoadBalanceAlgorithmDestIp,
 11682  		VMwareDvsLacpLoadBalanceAlgorithmSrcIp,
 11683  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestIp,
 11684  		VMwareDvsLacpLoadBalanceAlgorithmVlan,
 11685  		VMwareDvsLacpLoadBalanceAlgorithmSrcPortId,
 11686  	}
 11687  }
 11688  
 11689  func (e VMwareDvsLacpLoadBalanceAlgorithm) Strings() []string {
 11690  	return EnumValuesAsStrings(e.Values())
 11691  }
 11692  
 11693  func init() {
 11694  	t["VMwareDvsLacpLoadBalanceAlgorithm"] = reflect.TypeOf((*VMwareDvsLacpLoadBalanceAlgorithm)(nil)).Elem()
 11695  }
 11696  
 11697  // Multicast Filtering mode.
 11698  type VMwareDvsMulticastFilteringMode string
 11699  
 11700  const (
 11701  	// Legacy filtering mode
 11702  	VMwareDvsMulticastFilteringModeLegacyFiltering = VMwareDvsMulticastFilteringMode("legacyFiltering")
 11703  	// IGMP/MLD snooping mode
 11704  	VMwareDvsMulticastFilteringModeSnooping = VMwareDvsMulticastFilteringMode("snooping")
 11705  )
 11706  
 11707  func (e VMwareDvsMulticastFilteringMode) Values() []VMwareDvsMulticastFilteringMode {
 11708  	return []VMwareDvsMulticastFilteringMode{
 11709  		VMwareDvsMulticastFilteringModeLegacyFiltering,
 11710  		VMwareDvsMulticastFilteringModeSnooping,
 11711  	}
 11712  }
 11713  
 11714  func (e VMwareDvsMulticastFilteringMode) Strings() []string {
 11715  	return EnumValuesAsStrings(e.Values())
 11716  }
 11717  
 11718  func init() {
 11719  	t["VMwareDvsMulticastFilteringMode"] = reflect.TypeOf((*VMwareDvsMulticastFilteringMode)(nil)).Elem()
 11720  }
 11721  
 11722  // Link Aggregation Control Protocol policy modes.
 11723  type VMwareUplinkLacpMode string
 11724  
 11725  const (
 11726  	// Link Aggregation Control Protocol always sends frames along the configured uplinks
 11727  	VMwareUplinkLacpModeActive = VMwareUplinkLacpMode("active")
 11728  	// Link Aggregation Control Protocol acts as "speak when spoken to".
 11729  	VMwareUplinkLacpModePassive = VMwareUplinkLacpMode("passive")
 11730  )
 11731  
 11732  func (e VMwareUplinkLacpMode) Values() []VMwareUplinkLacpMode {
 11733  	return []VMwareUplinkLacpMode{
 11734  		VMwareUplinkLacpModeActive,
 11735  		VMwareUplinkLacpModePassive,
 11736  	}
 11737  }
 11738  
 11739  func (e VMwareUplinkLacpMode) Strings() []string {
 11740  	return EnumValuesAsStrings(e.Values())
 11741  }
 11742  
 11743  func init() {
 11744  	t["VMwareUplinkLacpMode"] = reflect.TypeOf((*VMwareUplinkLacpMode)(nil)).Elem()
 11745  }
 11746  
 11747  type VMwareUplinkLacpTimeoutMode string
 11748  
 11749  const (
 11750  	// Set long timeout for vmnics in one LACP LAG.
 11751  	//
 11752  	// Device send fast LACPDUs
 11753  	VMwareUplinkLacpTimeoutModeFast = VMwareUplinkLacpTimeoutMode("fast")
 11754  	// Set short timeout for vmnics in one LACP LAG.
 11755  	//
 11756  	// Device send slow LACPDUs
 11757  	VMwareUplinkLacpTimeoutModeSlow = VMwareUplinkLacpTimeoutMode("slow")
 11758  )
 11759  
 11760  func (e VMwareUplinkLacpTimeoutMode) Values() []VMwareUplinkLacpTimeoutMode {
 11761  	return []VMwareUplinkLacpTimeoutMode{
 11762  		VMwareUplinkLacpTimeoutModeFast,
 11763  		VMwareUplinkLacpTimeoutModeSlow,
 11764  	}
 11765  }
 11766  
 11767  func (e VMwareUplinkLacpTimeoutMode) Strings() []string {
 11768  	return EnumValuesAsStrings(e.Values())
 11769  }
 11770  
 11771  func init() {
 11772  	t["VMwareUplinkLacpTimeoutMode"] = reflect.TypeOf((*VMwareUplinkLacpTimeoutMode)(nil)).Elem()
 11773  	minAPIVersionForType["VMwareUplinkLacpTimeoutMode"] = "7.0.2.0"
 11774  }
 11775  
 11776  // Consumption type constants.
 11777  //
 11778  // Consumption type describes how the virtual storage object is connected and
 11779  // consumed for data by the clients.
 11780  type VStorageObjectConsumptionType string
 11781  
 11782  const (
 11783  	// Disk type.
 11784  	VStorageObjectConsumptionTypeDisk = VStorageObjectConsumptionType("disk")
 11785  )
 11786  
 11787  func (e VStorageObjectConsumptionType) Values() []VStorageObjectConsumptionType {
 11788  	return []VStorageObjectConsumptionType{
 11789  		VStorageObjectConsumptionTypeDisk,
 11790  	}
 11791  }
 11792  
 11793  func (e VStorageObjectConsumptionType) Strings() []string {
 11794  	return EnumValuesAsStrings(e.Values())
 11795  }
 11796  
 11797  func init() {
 11798  	t["VStorageObjectConsumptionType"] = reflect.TypeOf((*VStorageObjectConsumptionType)(nil)).Elem()
 11799  }
 11800  
 11801  // Deprecated as of vSphere API 4.0, use `CheckTestType_enum` instead.
 11802  //
 11803  // Types of tests available for validateMigration.
 11804  type ValidateMigrationTestType string
 11805  
 11806  const (
 11807  	// Tests that examine only the configuration
 11808  	// of the virtual machine and its current host; the destination
 11809  	// resource pool and host or cluster are irrelevant.
 11810  	ValidateMigrationTestTypeSourceTests = ValidateMigrationTestType("sourceTests")
 11811  	// Tests that examine both the virtual
 11812  	// machine and the destination host or cluster; the destination
 11813  	// resource pool is irrelevant.
 11814  	//
 11815  	// This set excludes tests that fall
 11816  	// into the diskAccessibilityTests group.
 11817  	ValidateMigrationTestTypeCompatibilityTests = ValidateMigrationTestType("compatibilityTests")
 11818  	// Tests that check that the
 11819  	// destination host or cluster can see the datastores where the virtual
 11820  	// machine's virtual disks are currently located.
 11821  	//
 11822  	// The destination
 11823  	// resource pool is irrelevant. If you are planning to relocate the
 11824  	// virtual disks, do not use these tests; instead examine the relevant
 11825  	// datastore objects for your planned disk locations to see if they
 11826  	// are accessible to the destination host.
 11827  	ValidateMigrationTestTypeDiskAccessibilityTests = ValidateMigrationTestType("diskAccessibilityTests")
 11828  	// Tests that check that the destination resource
 11829  	// pool can support the virtual machine if it is powered on.
 11830  	//
 11831  	// The
 11832  	// destination host or cluster is relevant because it will affect the
 11833  	// amount of overhead memory required to run the virtual machine.
 11834  	ValidateMigrationTestTypeResourceTests = ValidateMigrationTestType("resourceTests")
 11835  )
 11836  
 11837  func (e ValidateMigrationTestType) Values() []ValidateMigrationTestType {
 11838  	return []ValidateMigrationTestType{
 11839  		ValidateMigrationTestTypeSourceTests,
 11840  		ValidateMigrationTestTypeCompatibilityTests,
 11841  		ValidateMigrationTestTypeDiskAccessibilityTests,
 11842  		ValidateMigrationTestTypeResourceTests,
 11843  	}
 11844  }
 11845  
 11846  func (e ValidateMigrationTestType) Strings() []string {
 11847  	return EnumValuesAsStrings(e.Values())
 11848  }
 11849  
 11850  func init() {
 11851  	t["ValidateMigrationTestType"] = reflect.TypeOf((*ValidateMigrationTestType)(nil)).Elem()
 11852  }
 11853  
 11854  // VchaClusterMode enum defines the possible modes for a VCHA Cluster.
 11855  type VchaClusterMode string
 11856  
 11857  const (
 11858  	// VCHA Cluster is enabled.
 11859  	//
 11860  	// State replication between the Active and
 11861  	// Passive node is enabled and automatic failover is allowed.
 11862  	VchaClusterModeEnabled = VchaClusterMode("enabled")
 11863  	// VCHA Cluster is disabled.
 11864  	//
 11865  	// State replication between the Active and
 11866  	// Passive node is disabled and automatic failover is not allowed.
 11867  	VchaClusterModeDisabled = VchaClusterMode("disabled")
 11868  	// VCHA Cluster is in maintenance mode.
 11869  	//
 11870  	// State replication between the
 11871  	// Active and Passive node is enabled but automatic failover
 11872  	// is not allowed.
 11873  	VchaClusterModeMaintenance = VchaClusterMode("maintenance")
 11874  )
 11875  
 11876  func (e VchaClusterMode) Values() []VchaClusterMode {
 11877  	return []VchaClusterMode{
 11878  		VchaClusterModeEnabled,
 11879  		VchaClusterModeDisabled,
 11880  		VchaClusterModeMaintenance,
 11881  	}
 11882  }
 11883  
 11884  func (e VchaClusterMode) Strings() []string {
 11885  	return EnumValuesAsStrings(e.Values())
 11886  }
 11887  
 11888  func init() {
 11889  	t["VchaClusterMode"] = reflect.TypeOf((*VchaClusterMode)(nil)).Elem()
 11890  }
 11891  
 11892  // VchaClusterState enum defines the possible states for a VCHA Cluster.
 11893  type VchaClusterState string
 11894  
 11895  const (
 11896  	// All three nodes in a VCHA Cluster are healthy and connected.
 11897  	//
 11898  	// State
 11899  	// replication between Active and Passive node is working and both
 11900  	// nodes are in sync.
 11901  	VchaClusterStateHealthy = VchaClusterState("healthy")
 11902  	// A VCHA Cluster is said to be in a degraded state for
 11903  	// either or all of the following reasons:
 11904  	// \- There is a node loss.
 11905  	//
 11906  	// \- State replication between the Active and Passive node fails.
 11907  	VchaClusterStateDegraded = VchaClusterState("degraded")
 11908  	// All three nodes are isolated from each other.
 11909  	VchaClusterStateIsolated = VchaClusterState("isolated")
 11910  )
 11911  
 11912  func (e VchaClusterState) Values() []VchaClusterState {
 11913  	return []VchaClusterState{
 11914  		VchaClusterStateHealthy,
 11915  		VchaClusterStateDegraded,
 11916  		VchaClusterStateIsolated,
 11917  	}
 11918  }
 11919  
 11920  func (e VchaClusterState) Strings() []string {
 11921  	return EnumValuesAsStrings(e.Values())
 11922  }
 11923  
 11924  func init() {
 11925  	t["VchaClusterState"] = reflect.TypeOf((*VchaClusterState)(nil)).Elem()
 11926  }
 11927  
 11928  type VchaNodeRole string
 11929  
 11930  const (
 11931  	// Node is having a role of Active.
 11932  	//
 11933  	// In this role, node runs a vCenter
 11934  	// Server that serves client requests.
 11935  	VchaNodeRoleActive = VchaNodeRole("active")
 11936  	// Node is having a role of Passive.
 11937  	//
 11938  	// In this role node, runs as a standby
 11939  	// for the Active vCenter Server and receives state updates. This node
 11940  	// takes over the role of Active vCenter Server upon failover.
 11941  	VchaNodeRolePassive = VchaNodeRole("passive")
 11942  	// Node is having a role of Witness.
 11943  	//
 11944  	// In this role, node acts as a quorom
 11945  	// node for avoiding the classic split-brain problem.
 11946  	VchaNodeRoleWitness = VchaNodeRole("witness")
 11947  )
 11948  
 11949  func (e VchaNodeRole) Values() []VchaNodeRole {
 11950  	return []VchaNodeRole{
 11951  		VchaNodeRoleActive,
 11952  		VchaNodeRolePassive,
 11953  		VchaNodeRoleWitness,
 11954  	}
 11955  }
 11956  
 11957  func (e VchaNodeRole) Strings() []string {
 11958  	return EnumValuesAsStrings(e.Values())
 11959  }
 11960  
 11961  func init() {
 11962  	t["VchaNodeRole"] = reflect.TypeOf((*VchaNodeRole)(nil)).Elem()
 11963  }
 11964  
 11965  // VchaNodeState enum defines possible state a node can be in a
 11966  // VCHA Cluster.
 11967  type VchaNodeState string
 11968  
 11969  const (
 11970  	// Node is up and has joined the VCHA Cluster.
 11971  	VchaNodeStateUp = VchaNodeState("up")
 11972  	// Node is down and has left the VCHA Cluster.
 11973  	VchaNodeStateDown = VchaNodeState("down")
 11974  )
 11975  
 11976  func (e VchaNodeState) Values() []VchaNodeState {
 11977  	return []VchaNodeState{
 11978  		VchaNodeStateUp,
 11979  		VchaNodeStateDown,
 11980  	}
 11981  }
 11982  
 11983  func (e VchaNodeState) Strings() []string {
 11984  	return EnumValuesAsStrings(e.Values())
 11985  }
 11986  
 11987  func init() {
 11988  	t["VchaNodeState"] = reflect.TypeOf((*VchaNodeState)(nil)).Elem()
 11989  }
 11990  
 11991  type VchaState string
 11992  
 11993  const (
 11994  	// VCHA cluster is configured.
 11995  	VchaStateConfigured = VchaState("configured")
 11996  	// VCHA cluster is not configured.
 11997  	VchaStateNotConfigured = VchaState("notConfigured")
 11998  	// VCHA cluster is in an invalid/dirty state.
 11999  	VchaStateInvalid = VchaState("invalid")
 12000  	// VC appliance has been prepared for VCHA cluster configuration.
 12001  	VchaStatePrepared = VchaState("prepared")
 12002  )
 12003  
 12004  func (e VchaState) Values() []VchaState {
 12005  	return []VchaState{
 12006  		VchaStateConfigured,
 12007  		VchaStateNotConfigured,
 12008  		VchaStateInvalid,
 12009  		VchaStatePrepared,
 12010  	}
 12011  }
 12012  
 12013  func (e VchaState) Strings() []string {
 12014  	return EnumValuesAsStrings(e.Values())
 12015  }
 12016  
 12017  func init() {
 12018  	t["VchaState"] = reflect.TypeOf((*VchaState)(nil)).Elem()
 12019  }
 12020  
 12021  // The VAppState type defines the set of states a vApp can be
 12022  // in.
 12023  //
 12024  // The transitory states between started and stopped is modeled explicitly,
 12025  // since the starting or stopping of a vApp is typically a time-consuming
 12026  // process that might take minutes to complete.
 12027  type VirtualAppVAppState string
 12028  
 12029  const (
 12030  	// The vApp is currently powered on .
 12031  	VirtualAppVAppStateStarted = VirtualAppVAppState("started")
 12032  	// The vApp is currently powered off or suspended.
 12033  	VirtualAppVAppStateStopped = VirtualAppVAppState("stopped")
 12034  	// The vApp is in the process of starting.
 12035  	VirtualAppVAppStateStarting = VirtualAppVAppState("starting")
 12036  	// The vApp is in the process of stopping.
 12037  	VirtualAppVAppStateStopping = VirtualAppVAppState("stopping")
 12038  )
 12039  
 12040  func (e VirtualAppVAppState) Values() []VirtualAppVAppState {
 12041  	return []VirtualAppVAppState{
 12042  		VirtualAppVAppStateStarted,
 12043  		VirtualAppVAppStateStopped,
 12044  		VirtualAppVAppStateStarting,
 12045  		VirtualAppVAppStateStopping,
 12046  	}
 12047  }
 12048  
 12049  func (e VirtualAppVAppState) Strings() []string {
 12050  	return EnumValuesAsStrings(e.Values())
 12051  }
 12052  
 12053  func init() {
 12054  	t["VirtualAppVAppState"] = reflect.TypeOf((*VirtualAppVAppState)(nil)).Elem()
 12055  }
 12056  
 12057  // Describes the change mode of the device.
 12058  //
 12059  // Applies only to virtual disks during VirtualDeviceSpec.Operation "add"
 12060  type VirtualDeviceConfigSpecChangeMode string
 12061  
 12062  const (
 12063  	VirtualDeviceConfigSpecChangeModeFail = VirtualDeviceConfigSpecChangeMode("fail")
 12064  	VirtualDeviceConfigSpecChangeModeSkip = VirtualDeviceConfigSpecChangeMode("skip")
 12065  )
 12066  
 12067  func (e VirtualDeviceConfigSpecChangeMode) Values() []VirtualDeviceConfigSpecChangeMode {
 12068  	return []VirtualDeviceConfigSpecChangeMode{
 12069  		VirtualDeviceConfigSpecChangeModeFail,
 12070  		VirtualDeviceConfigSpecChangeModeSkip,
 12071  	}
 12072  }
 12073  
 12074  func (e VirtualDeviceConfigSpecChangeMode) Strings() []string {
 12075  	return EnumValuesAsStrings(e.Values())
 12076  }
 12077  
 12078  func init() {
 12079  	t["VirtualDeviceConfigSpecChangeMode"] = reflect.TypeOf((*VirtualDeviceConfigSpecChangeMode)(nil)).Elem()
 12080  	minAPIVersionForType["VirtualDeviceConfigSpecChangeMode"] = "8.0.0.1"
 12081  }
 12082  
 12083  // The type of operation being performed on the backing of a virtual device.
 12084  //
 12085  // Valid values are:
 12086  type VirtualDeviceConfigSpecFileOperation string
 12087  
 12088  const (
 12089  	// Specifies the creation of the device backing; for example,
 12090  	// the creation of a virtual disk or floppy image file.
 12091  	VirtualDeviceConfigSpecFileOperationCreate = VirtualDeviceConfigSpecFileOperation("create")
 12092  	// Specifies the destruction of a device backing.
 12093  	VirtualDeviceConfigSpecFileOperationDestroy = VirtualDeviceConfigSpecFileOperation("destroy")
 12094  	// Specifies the deletion of the existing backing for a virtual device
 12095  	// and the creation of a new backing.
 12096  	VirtualDeviceConfigSpecFileOperationReplace = VirtualDeviceConfigSpecFileOperation("replace")
 12097  )
 12098  
 12099  func (e VirtualDeviceConfigSpecFileOperation) Values() []VirtualDeviceConfigSpecFileOperation {
 12100  	return []VirtualDeviceConfigSpecFileOperation{
 12101  		VirtualDeviceConfigSpecFileOperationCreate,
 12102  		VirtualDeviceConfigSpecFileOperationDestroy,
 12103  		VirtualDeviceConfigSpecFileOperationReplace,
 12104  	}
 12105  }
 12106  
 12107  func (e VirtualDeviceConfigSpecFileOperation) Strings() []string {
 12108  	return EnumValuesAsStrings(e.Values())
 12109  }
 12110  
 12111  func init() {
 12112  	t["VirtualDeviceConfigSpecFileOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecFileOperation)(nil)).Elem()
 12113  }
 12114  
 12115  // The type of operation being performed on the specified virtual device.
 12116  //
 12117  // Valid values are:
 12118  type VirtualDeviceConfigSpecOperation string
 12119  
 12120  const (
 12121  	// Specifies the addition of a virtual device to the configuration.
 12122  	VirtualDeviceConfigSpecOperationAdd = VirtualDeviceConfigSpecOperation("add")
 12123  	// Specifies the removal of a virtual device.
 12124  	VirtualDeviceConfigSpecOperationRemove = VirtualDeviceConfigSpecOperation("remove")
 12125  	// Specifies changes to the virtual device specification.
 12126  	VirtualDeviceConfigSpecOperationEdit = VirtualDeviceConfigSpecOperation("edit")
 12127  )
 12128  
 12129  func (e VirtualDeviceConfigSpecOperation) Values() []VirtualDeviceConfigSpecOperation {
 12130  	return []VirtualDeviceConfigSpecOperation{
 12131  		VirtualDeviceConfigSpecOperationAdd,
 12132  		VirtualDeviceConfigSpecOperationRemove,
 12133  		VirtualDeviceConfigSpecOperationEdit,
 12134  	}
 12135  }
 12136  
 12137  func (e VirtualDeviceConfigSpecOperation) Strings() []string {
 12138  	return EnumValuesAsStrings(e.Values())
 12139  }
 12140  
 12141  func init() {
 12142  	t["VirtualDeviceConfigSpecOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecOperation)(nil)).Elem()
 12143  }
 12144  
 12145  // Contains information about connectable virtual devices when
 12146  // the virtual machine restores from a migration.
 12147  type VirtualDeviceConnectInfoMigrateConnectOp string
 12148  
 12149  const (
 12150  	// Attempt to connect the virtual device when the virtual machine
 12151  	// restores from a migration.
 12152  	//
 12153  	// This property has no effect if it
 12154  	// is set on a device that is already connected.
 12155  	VirtualDeviceConnectInfoMigrateConnectOpConnect = VirtualDeviceConnectInfoMigrateConnectOp("connect")
 12156  	// Attempt to disconnect the virtual device when the virtual machine
 12157  	// restores from a migration.
 12158  	//
 12159  	// This property has no effect if it
 12160  	// is set on a device that is already disconnected.
 12161  	VirtualDeviceConnectInfoMigrateConnectOpDisconnect = VirtualDeviceConnectInfoMigrateConnectOp("disconnect")
 12162  	// Unset the property, which resets the device to its default state.
 12163  	//
 12164  	// Under most circumstances, a device will return to the same
 12165  	// connection state before the migration was initiated.
 12166  	VirtualDeviceConnectInfoMigrateConnectOpUnset = VirtualDeviceConnectInfoMigrateConnectOp("unset")
 12167  )
 12168  
 12169  func (e VirtualDeviceConnectInfoMigrateConnectOp) Values() []VirtualDeviceConnectInfoMigrateConnectOp {
 12170  	return []VirtualDeviceConnectInfoMigrateConnectOp{
 12171  		VirtualDeviceConnectInfoMigrateConnectOpConnect,
 12172  		VirtualDeviceConnectInfoMigrateConnectOpDisconnect,
 12173  		VirtualDeviceConnectInfoMigrateConnectOpUnset,
 12174  	}
 12175  }
 12176  
 12177  func (e VirtualDeviceConnectInfoMigrateConnectOp) Strings() []string {
 12178  	return EnumValuesAsStrings(e.Values())
 12179  }
 12180  
 12181  func init() {
 12182  	t["VirtualDeviceConnectInfoMigrateConnectOp"] = reflect.TypeOf((*VirtualDeviceConnectInfoMigrateConnectOp)(nil)).Elem()
 12183  }
 12184  
 12185  // Specifies the connectable virtual device status.
 12186  type VirtualDeviceConnectInfoStatus string
 12187  
 12188  const (
 12189  	// The device is working correctly.
 12190  	VirtualDeviceConnectInfoStatusOk = VirtualDeviceConnectInfoStatus("ok")
 12191  	// The device has reported a recoverable error.
 12192  	//
 12193  	// For example,
 12194  	// attempting to connect to floppy device that is being used by
 12195  	// another virtual machine or some other program would result in
 12196  	// this status.
 12197  	VirtualDeviceConnectInfoStatusRecoverableError = VirtualDeviceConnectInfoStatus("recoverableError")
 12198  	// The device cannot be used.
 12199  	//
 12200  	// For example, attempting to connect to
 12201  	// a floppy device that does not exist would result in this status.
 12202  	VirtualDeviceConnectInfoStatusUnrecoverableError = VirtualDeviceConnectInfoStatus("unrecoverableError")
 12203  	// The device status is unknown, or it has not been requested to
 12204  	// connect when the VM is powered on.
 12205  	VirtualDeviceConnectInfoStatusUntried = VirtualDeviceConnectInfoStatus("untried")
 12206  )
 12207  
 12208  func (e VirtualDeviceConnectInfoStatus) Values() []VirtualDeviceConnectInfoStatus {
 12209  	return []VirtualDeviceConnectInfoStatus{
 12210  		VirtualDeviceConnectInfoStatusOk,
 12211  		VirtualDeviceConnectInfoStatusRecoverableError,
 12212  		VirtualDeviceConnectInfoStatusUnrecoverableError,
 12213  		VirtualDeviceConnectInfoStatusUntried,
 12214  	}
 12215  }
 12216  
 12217  func (e VirtualDeviceConnectInfoStatus) Strings() []string {
 12218  	return EnumValuesAsStrings(e.Values())
 12219  }
 12220  
 12221  func init() {
 12222  	t["VirtualDeviceConnectInfoStatus"] = reflect.TypeOf((*VirtualDeviceConnectInfoStatus)(nil)).Elem()
 12223  }
 12224  
 12225  // All known file extensions.
 12226  //
 12227  // Valid ones are:
 12228  type VirtualDeviceFileExtension string
 12229  
 12230  const (
 12231  	// CD ISO Image backings
 12232  	VirtualDeviceFileExtensionIso = VirtualDeviceFileExtension("iso")
 12233  	// Floppy File Backings
 12234  	VirtualDeviceFileExtensionFlp = VirtualDeviceFileExtension("flp")
 12235  	// virtual disks
 12236  	VirtualDeviceFileExtensionVmdk = VirtualDeviceFileExtension("vmdk")
 12237  	// legacy virtual disks
 12238  	VirtualDeviceFileExtensionDsk = VirtualDeviceFileExtension("dsk")
 12239  	// pre 3.0 virtual disks using Raw Disk Maps
 12240  	VirtualDeviceFileExtensionRdm = VirtualDeviceFileExtension("rdm")
 12241  )
 12242  
 12243  func (e VirtualDeviceFileExtension) Values() []VirtualDeviceFileExtension {
 12244  	return []VirtualDeviceFileExtension{
 12245  		VirtualDeviceFileExtensionIso,
 12246  		VirtualDeviceFileExtensionFlp,
 12247  		VirtualDeviceFileExtensionVmdk,
 12248  		VirtualDeviceFileExtensionDsk,
 12249  		VirtualDeviceFileExtensionRdm,
 12250  	}
 12251  }
 12252  
 12253  func (e VirtualDeviceFileExtension) Strings() []string {
 12254  	return EnumValuesAsStrings(e.Values())
 12255  }
 12256  
 12257  func init() {
 12258  	t["VirtualDeviceFileExtension"] = reflect.TypeOf((*VirtualDeviceFileExtension)(nil)).Elem()
 12259  }
 12260  
 12261  // The <code>VirtualDeviceURIBackingOptionDirection</code> enum type
 12262  // provides values for the direction of a network connection.
 12263  type VirtualDeviceURIBackingOptionDirection string
 12264  
 12265  const (
 12266  	// Indicates that the virtual machine can listen for a connection
 12267  	// on the specified `VirtualDeviceURIBackingInfo.serviceURI`.
 12268  	VirtualDeviceURIBackingOptionDirectionServer = VirtualDeviceURIBackingOptionDirection("server")
 12269  	// Indicates that the virtual machine can initiate a connection
 12270  	// with a system on the network using the specified
 12271  	// `VirtualDeviceURIBackingInfo.serviceURI`.
 12272  	VirtualDeviceURIBackingOptionDirectionClient = VirtualDeviceURIBackingOptionDirection("client")
 12273  )
 12274  
 12275  func (e VirtualDeviceURIBackingOptionDirection) Values() []VirtualDeviceURIBackingOptionDirection {
 12276  	return []VirtualDeviceURIBackingOptionDirection{
 12277  		VirtualDeviceURIBackingOptionDirectionServer,
 12278  		VirtualDeviceURIBackingOptionDirectionClient,
 12279  	}
 12280  }
 12281  
 12282  func (e VirtualDeviceURIBackingOptionDirection) Strings() []string {
 12283  	return EnumValuesAsStrings(e.Values())
 12284  }
 12285  
 12286  func init() {
 12287  	t["VirtualDeviceURIBackingOptionDirection"] = reflect.TypeOf((*VirtualDeviceURIBackingOptionDirection)(nil)).Elem()
 12288  }
 12289  
 12290  // The types of virtual disk adapters used by virtual disks
 12291  type VirtualDiskAdapterType string
 12292  
 12293  const (
 12294  	// Use IDE emulation for the virtual disk
 12295  	VirtualDiskAdapterTypeIde = VirtualDiskAdapterType("ide")
 12296  	// Use BusLogic emulation for the virtual disk
 12297  	VirtualDiskAdapterTypeBusLogic = VirtualDiskAdapterType("busLogic")
 12298  	// Use LSILogic emulation for the virtual disk
 12299  	VirtualDiskAdapterTypeLsiLogic = VirtualDiskAdapterType("lsiLogic")
 12300  )
 12301  
 12302  func (e VirtualDiskAdapterType) Values() []VirtualDiskAdapterType {
 12303  	return []VirtualDiskAdapterType{
 12304  		VirtualDiskAdapterTypeIde,
 12305  		VirtualDiskAdapterTypeBusLogic,
 12306  		VirtualDiskAdapterTypeLsiLogic,
 12307  	}
 12308  }
 12309  
 12310  func (e VirtualDiskAdapterType) Strings() []string {
 12311  	return EnumValuesAsStrings(e.Values())
 12312  }
 12313  
 12314  func init() {
 12315  	t["VirtualDiskAdapterType"] = reflect.TypeOf((*VirtualDiskAdapterType)(nil)).Elem()
 12316  }
 12317  
 12318  // All known compatibility modes for raw disk mappings.
 12319  //
 12320  // Valid compatibility
 12321  // modes are:
 12322  //   - virtualMode
 12323  //   - physicalMode
 12324  type VirtualDiskCompatibilityMode string
 12325  
 12326  const (
 12327  	// A disk device backed by a virtual compatibility mode raw disk mapping can
 12328  	// use disk modes.
 12329  	//
 12330  	// See also `VirtualDiskMode_enum`.
 12331  	VirtualDiskCompatibilityModeVirtualMode = VirtualDiskCompatibilityMode("virtualMode")
 12332  	// A disk device backed by a physical compatibility mode raw disk mapping cannot
 12333  	// use disk modes, and commands are passed straight through to the LUN
 12334  	// indicated by the raw disk mapping.
 12335  	VirtualDiskCompatibilityModePhysicalMode = VirtualDiskCompatibilityMode("physicalMode")
 12336  )
 12337  
 12338  func (e VirtualDiskCompatibilityMode) Values() []VirtualDiskCompatibilityMode {
 12339  	return []VirtualDiskCompatibilityMode{
 12340  		VirtualDiskCompatibilityModeVirtualMode,
 12341  		VirtualDiskCompatibilityModePhysicalMode,
 12342  	}
 12343  }
 12344  
 12345  func (e VirtualDiskCompatibilityMode) Strings() []string {
 12346  	return EnumValuesAsStrings(e.Values())
 12347  }
 12348  
 12349  func init() {
 12350  	t["VirtualDiskCompatibilityMode"] = reflect.TypeOf((*VirtualDiskCompatibilityMode)(nil)).Elem()
 12351  }
 12352  
 12353  // The delta disk format constants
 12354  type VirtualDiskDeltaDiskFormat string
 12355  
 12356  const (
 12357  	// redo-log based format
 12358  	VirtualDiskDeltaDiskFormatRedoLogFormat = VirtualDiskDeltaDiskFormat("redoLogFormat")
 12359  	// native snapshot format
 12360  	VirtualDiskDeltaDiskFormatNativeFormat = VirtualDiskDeltaDiskFormat("nativeFormat")
 12361  	// Flex-SE redo-log based format
 12362  	VirtualDiskDeltaDiskFormatSeSparseFormat = VirtualDiskDeltaDiskFormat("seSparseFormat")
 12363  )
 12364  
 12365  func (e VirtualDiskDeltaDiskFormat) Values() []VirtualDiskDeltaDiskFormat {
 12366  	return []VirtualDiskDeltaDiskFormat{
 12367  		VirtualDiskDeltaDiskFormatRedoLogFormat,
 12368  		VirtualDiskDeltaDiskFormatNativeFormat,
 12369  		VirtualDiskDeltaDiskFormatSeSparseFormat,
 12370  	}
 12371  }
 12372  
 12373  func (e VirtualDiskDeltaDiskFormat) Strings() []string {
 12374  	return EnumValuesAsStrings(e.Values())
 12375  }
 12376  
 12377  func init() {
 12378  	t["VirtualDiskDeltaDiskFormat"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormat)(nil)).Elem()
 12379  }
 12380  
 12381  // The delta disk format variant constants
 12382  type VirtualDiskDeltaDiskFormatVariant string
 12383  
 12384  const (
 12385  	// vmfsSparse based redo-log format
 12386  	VirtualDiskDeltaDiskFormatVariantVmfsSparseVariant = VirtualDiskDeltaDiskFormatVariant("vmfsSparseVariant")
 12387  	// vsanSparse based redo-log format
 12388  	VirtualDiskDeltaDiskFormatVariantVsanSparseVariant = VirtualDiskDeltaDiskFormatVariant("vsanSparseVariant")
 12389  )
 12390  
 12391  func (e VirtualDiskDeltaDiskFormatVariant) Values() []VirtualDiskDeltaDiskFormatVariant {
 12392  	return []VirtualDiskDeltaDiskFormatVariant{
 12393  		VirtualDiskDeltaDiskFormatVariantVmfsSparseVariant,
 12394  		VirtualDiskDeltaDiskFormatVariantVsanSparseVariant,
 12395  	}
 12396  }
 12397  
 12398  func (e VirtualDiskDeltaDiskFormatVariant) Strings() []string {
 12399  	return EnumValuesAsStrings(e.Values())
 12400  }
 12401  
 12402  func init() {
 12403  	t["VirtualDiskDeltaDiskFormatVariant"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatVariant)(nil)).Elem()
 12404  }
 12405  
 12406  // The list of known disk modes.
 12407  //
 12408  // The list of supported disk modes varies by the backing type. The "persistent"
 12409  // mode is supported by every backing type.
 12410  type VirtualDiskMode string
 12411  
 12412  const (
 12413  	// Changes are immediately and permanently written to the virtual disk.
 12414  	VirtualDiskModePersistent = VirtualDiskMode("persistent")
 12415  	// Changes to virtual disk are made to a redo log and discarded at power off.
 12416  	VirtualDiskModeNonpersistent = VirtualDiskMode("nonpersistent")
 12417  	// Changes are made to a redo log, but you are given the option to commit or undo.
 12418  	VirtualDiskModeUndoable = VirtualDiskMode("undoable")
 12419  	// Same as persistent, but not affected by snapshots.
 12420  	VirtualDiskModeIndependent_persistent = VirtualDiskMode("independent_persistent")
 12421  	// Same as nonpersistent, but not affected by snapshots.
 12422  	VirtualDiskModeIndependent_nonpersistent = VirtualDiskMode("independent_nonpersistent")
 12423  	// Changes are appended to the redo log; you revoke changes by removing the undo log.
 12424  	VirtualDiskModeAppend = VirtualDiskMode("append")
 12425  )
 12426  
 12427  func (e VirtualDiskMode) Values() []VirtualDiskMode {
 12428  	return []VirtualDiskMode{
 12429  		VirtualDiskModePersistent,
 12430  		VirtualDiskModeNonpersistent,
 12431  		VirtualDiskModeUndoable,
 12432  		VirtualDiskModeIndependent_persistent,
 12433  		VirtualDiskModeIndependent_nonpersistent,
 12434  		VirtualDiskModeAppend,
 12435  	}
 12436  }
 12437  
 12438  func (e VirtualDiskMode) Strings() []string {
 12439  	return EnumValuesAsStrings(e.Values())
 12440  }
 12441  
 12442  func init() {
 12443  	t["VirtualDiskMode"] = reflect.TypeOf((*VirtualDiskMode)(nil)).Elem()
 12444  }
 12445  
 12446  // Rule type determines how the virtual disks in a vm can be grouped
 12447  // together.
 12448  type VirtualDiskRuleSpecRuleType string
 12449  
 12450  const (
 12451  	// Virtual disks in the list are grouped together and placed on
 12452  	// the same data store.
 12453  	VirtualDiskRuleSpecRuleTypeAffinity = VirtualDiskRuleSpecRuleType("affinity")
 12454  	// Virtual disks in the list are placed on different data stores.
 12455  	VirtualDiskRuleSpecRuleTypeAntiAffinity = VirtualDiskRuleSpecRuleType("antiAffinity")
 12456  	// SDRS will be disabled for the disks in the list.
 12457  	VirtualDiskRuleSpecRuleTypeDisabled = VirtualDiskRuleSpecRuleType("disabled")
 12458  )
 12459  
 12460  func (e VirtualDiskRuleSpecRuleType) Values() []VirtualDiskRuleSpecRuleType {
 12461  	return []VirtualDiskRuleSpecRuleType{
 12462  		VirtualDiskRuleSpecRuleTypeAffinity,
 12463  		VirtualDiskRuleSpecRuleTypeAntiAffinity,
 12464  		VirtualDiskRuleSpecRuleTypeDisabled,
 12465  	}
 12466  }
 12467  
 12468  func (e VirtualDiskRuleSpecRuleType) Strings() []string {
 12469  	return EnumValuesAsStrings(e.Values())
 12470  }
 12471  
 12472  func init() {
 12473  	t["VirtualDiskRuleSpecRuleType"] = reflect.TypeOf((*VirtualDiskRuleSpecRuleType)(nil)).Elem()
 12474  }
 12475  
 12476  // The sharing mode of the virtual disk.
 12477  //
 12478  // Setting the value to sharingMultiWriter means that multiple virtual
 12479  // machines can write to the virtual disk. This sharing mode is allowed
 12480  // only for eagerly zeroed thick virtual disks.
 12481  type VirtualDiskSharing string
 12482  
 12483  const (
 12484  	// The virtual disk is not shared.
 12485  	VirtualDiskSharingSharingNone = VirtualDiskSharing("sharingNone")
 12486  	// The virtual disk is shared between multiple virtual machines.
 12487  	VirtualDiskSharingSharingMultiWriter = VirtualDiskSharing("sharingMultiWriter")
 12488  )
 12489  
 12490  func (e VirtualDiskSharing) Values() []VirtualDiskSharing {
 12491  	return []VirtualDiskSharing{
 12492  		VirtualDiskSharingSharingNone,
 12493  		VirtualDiskSharingSharingMultiWriter,
 12494  	}
 12495  }
 12496  
 12497  func (e VirtualDiskSharing) Strings() []string {
 12498  	return EnumValuesAsStrings(e.Values())
 12499  }
 12500  
 12501  func init() {
 12502  	t["VirtualDiskSharing"] = reflect.TypeOf((*VirtualDiskSharing)(nil)).Elem()
 12503  }
 12504  
 12505  // The types of virtual disks that can be created or cloned.
 12506  type VirtualDiskType string
 12507  
 12508  const (
 12509  	// A preallocated disk has all space allocated at creation time
 12510  	// and the space is zeroed on demand as the space is used.
 12511  	VirtualDiskTypePreallocated = VirtualDiskType("preallocated")
 12512  	// Space required for thin-provisioned virtual disk is allocated and
 12513  	// zeroed on demand as the space is used.
 12514  	VirtualDiskTypeThin = VirtualDiskType("thin")
 12515  	// A sparse (allocate on demand) format with additional space
 12516  	// optimizations.
 12517  	VirtualDiskTypeSeSparse = VirtualDiskType("seSparse")
 12518  	// Virtual compatibility mode raw disk mapping.
 12519  	//
 12520  	// An rdm virtual disk
 12521  	// grants access to the entire raw disk and the virtual disk can
 12522  	// participate in snapshots.
 12523  	VirtualDiskTypeRdm = VirtualDiskType("rdm")
 12524  	// Physical compatibility mode (pass-through) raw disk mapping.
 12525  	//
 12526  	// An rdmp
 12527  	// virtual disk passes SCSI commands directly to the hardware, but the
 12528  	// virtual disk cannot participate in snapshots.
 12529  	VirtualDiskTypeRdmp = VirtualDiskType("rdmp")
 12530  	// Raw device.
 12531  	VirtualDiskTypeRaw = VirtualDiskType("raw")
 12532  	// A redo log disk.
 12533  	//
 12534  	// This format is only applicable as a destination format
 12535  	// in a clone operation, and not usable for disk creation.
 12536  	VirtualDiskTypeDelta = VirtualDiskType("delta")
 12537  	// A sparse disk with 2GB maximum extent size.
 12538  	//
 12539  	// Disks in this format
 12540  	// can be used with other VMware products. The 2GB extent size
 12541  	// makes these disks easier to burn to dvd or use on filesystems that
 12542  	// don't support large files. This format is only applicable as a
 12543  	// destination format in a clone operation, and not usable for disk
 12544  	// creation.
 12545  	VirtualDiskTypeSparse2Gb = VirtualDiskType("sparse2Gb")
 12546  	// A thick disk with 2GB maximum extent size.
 12547  	//
 12548  	// Disks in this format
 12549  	// can be used with other VMware products. The 2GB extent size
 12550  	// makes these disks easier to burn to dvd or use on filesystems that
 12551  	// don't support large files. This format is only applicable as a
 12552  	// destination format in a clone operation, and not usable for disk
 12553  	// creation.
 12554  	VirtualDiskTypeThick2Gb = VirtualDiskType("thick2Gb")
 12555  	// An eager zeroed thick disk has all space allocated and wiped clean
 12556  	// of any previous contents on the physical media at creation time.
 12557  	//
 12558  	// Such disks may take longer time during creation compared to other
 12559  	// disk formats.
 12560  	VirtualDiskTypeEagerZeroedThick = VirtualDiskType("eagerZeroedThick")
 12561  	// A sparse monolithic disk.
 12562  	//
 12563  	// Disks in this format can be used with other
 12564  	// VMware products. This format is only applicable as a destination
 12565  	// format in a clone operation, and not usable for disk creation.
 12566  	VirtualDiskTypeSparseMonolithic = VirtualDiskType("sparseMonolithic")
 12567  	// A preallocated monolithic disk.
 12568  	//
 12569  	// Disks in this format can be used with
 12570  	// other VMware products. This format is only applicable as a destination
 12571  	// format in a clone operation, and not usable for disk creation.
 12572  	VirtualDiskTypeFlatMonolithic = VirtualDiskType("flatMonolithic")
 12573  	// Deprecated as of vSphere API 4.x, use `eagerZeroedThick` instead
 12574  	// for clustering application, and `preallocated` for other applications.
 12575  	//
 12576  	// A thick disk has all space allocated at creation time.
 12577  	//
 12578  	// This
 12579  	// space may contain stale data on the physical media. Thick disks
 12580  	// are primarily used for virtual machine clustering, but they are
 12581  	// generally insecure and should not be used. Due to better performance
 12582  	// and security properties, the use of the 'preallocated' format is
 12583  	// preferred over this format.
 12584  	VirtualDiskTypeThick = VirtualDiskType("thick")
 12585  )
 12586  
 12587  func (e VirtualDiskType) Values() []VirtualDiskType {
 12588  	return []VirtualDiskType{
 12589  		VirtualDiskTypePreallocated,
 12590  		VirtualDiskTypeThin,
 12591  		VirtualDiskTypeSeSparse,
 12592  		VirtualDiskTypeRdm,
 12593  		VirtualDiskTypeRdmp,
 12594  		VirtualDiskTypeRaw,
 12595  		VirtualDiskTypeDelta,
 12596  		VirtualDiskTypeSparse2Gb,
 12597  		VirtualDiskTypeThick2Gb,
 12598  		VirtualDiskTypeEagerZeroedThick,
 12599  		VirtualDiskTypeSparseMonolithic,
 12600  		VirtualDiskTypeFlatMonolithic,
 12601  		VirtualDiskTypeThick,
 12602  	}
 12603  }
 12604  
 12605  func (e VirtualDiskType) Strings() []string {
 12606  	return EnumValuesAsStrings(e.Values())
 12607  }
 12608  
 12609  func init() {
 12610  	t["VirtualDiskType"] = reflect.TypeOf((*VirtualDiskType)(nil)).Elem()
 12611  }
 12612  
 12613  // Pre-defined constants for cache consistency types
 12614  type VirtualDiskVFlashCacheConfigInfoCacheConsistencyType string
 12615  
 12616  const (
 12617  	// With strong consistency, it ensures that
 12618  	// a crash will leave the cache data consistent.
 12619  	VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeStrong = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("strong")
 12620  	// Cache data consistency is not guaranteed after a crash.
 12621  	VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeWeak = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("weak")
 12622  )
 12623  
 12624  func (e VirtualDiskVFlashCacheConfigInfoCacheConsistencyType) Values() []VirtualDiskVFlashCacheConfigInfoCacheConsistencyType {
 12625  	return []VirtualDiskVFlashCacheConfigInfoCacheConsistencyType{
 12626  		VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeStrong,
 12627  		VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeWeak,
 12628  	}
 12629  }
 12630  
 12631  func (e VirtualDiskVFlashCacheConfigInfoCacheConsistencyType) Strings() []string {
 12632  	return EnumValuesAsStrings(e.Values())
 12633  }
 12634  
 12635  func init() {
 12636  	t["VirtualDiskVFlashCacheConfigInfoCacheConsistencyType"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheConsistencyType)(nil)).Elem()
 12637  }
 12638  
 12639  // Pre-defined constants for cache modes.
 12640  type VirtualDiskVFlashCacheConfigInfoCacheMode string
 12641  
 12642  const (
 12643  	// In write-through cache mode, writes to the cache cause writes
 12644  	// to the underlying storage.
 12645  	//
 12646  	// The cache acts as a facade to the underlying
 12647  	// storage.
 12648  	VirtualDiskVFlashCacheConfigInfoCacheModeWrite_thru = VirtualDiskVFlashCacheConfigInfoCacheMode("write_thru")
 12649  	// In write-back mode, writes to the cache do not go to the underlying storage
 12650  	// right away.
 12651  	//
 12652  	// Cache holds data temporarily till it can be permanently saved or
 12653  	// otherwise modified.
 12654  	VirtualDiskVFlashCacheConfigInfoCacheModeWrite_back = VirtualDiskVFlashCacheConfigInfoCacheMode("write_back")
 12655  )
 12656  
 12657  func (e VirtualDiskVFlashCacheConfigInfoCacheMode) Values() []VirtualDiskVFlashCacheConfigInfoCacheMode {
 12658  	return []VirtualDiskVFlashCacheConfigInfoCacheMode{
 12659  		VirtualDiskVFlashCacheConfigInfoCacheModeWrite_thru,
 12660  		VirtualDiskVFlashCacheConfigInfoCacheModeWrite_back,
 12661  	}
 12662  }
 12663  
 12664  func (e VirtualDiskVFlashCacheConfigInfoCacheMode) Strings() []string {
 12665  	return EnumValuesAsStrings(e.Values())
 12666  }
 12667  
 12668  func init() {
 12669  	t["VirtualDiskVFlashCacheConfigInfoCacheMode"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheMode)(nil)).Elem()
 12670  }
 12671  
 12672  // Possible device names for legacy network backing option are listed below.
 12673  //
 12674  // Note: This is not an exhaustive list. It is possible to specify
 12675  // a specific device as well.
 12676  // For example, on ESX hosts, the device name could be specified as "vmnic\[0-9\]"
 12677  // or vmnet\_\[0-9\].
 12678  // For VMware Server Windows hosts, the device name could be specified as "vmnet\[0-9\]"
 12679  // and for VMware Server Linux hosts, the device name could be specified as "/dev/vmnet\[0-9\]"
 12680  // depending on what devices are available on that particular host.
 12681  type VirtualEthernetCardLegacyNetworkDeviceName string
 12682  
 12683  const (
 12684  	VirtualEthernetCardLegacyNetworkDeviceNameBridged  = VirtualEthernetCardLegacyNetworkDeviceName("bridged")
 12685  	VirtualEthernetCardLegacyNetworkDeviceNameNat      = VirtualEthernetCardLegacyNetworkDeviceName("nat")
 12686  	VirtualEthernetCardLegacyNetworkDeviceNameHostonly = VirtualEthernetCardLegacyNetworkDeviceName("hostonly")
 12687  )
 12688  
 12689  func (e VirtualEthernetCardLegacyNetworkDeviceName) Values() []VirtualEthernetCardLegacyNetworkDeviceName {
 12690  	return []VirtualEthernetCardLegacyNetworkDeviceName{
 12691  		VirtualEthernetCardLegacyNetworkDeviceNameBridged,
 12692  		VirtualEthernetCardLegacyNetworkDeviceNameNat,
 12693  		VirtualEthernetCardLegacyNetworkDeviceNameHostonly,
 12694  	}
 12695  }
 12696  
 12697  func (e VirtualEthernetCardLegacyNetworkDeviceName) Strings() []string {
 12698  	return EnumValuesAsStrings(e.Values())
 12699  }
 12700  
 12701  func init() {
 12702  	t["VirtualEthernetCardLegacyNetworkDeviceName"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkDeviceName)(nil)).Elem()
 12703  }
 12704  
 12705  // The enumeration of all known valid MAC address types.
 12706  type VirtualEthernetCardMacType string
 12707  
 12708  const (
 12709  	// A statistically assigned MAC address.
 12710  	VirtualEthernetCardMacTypeManual = VirtualEthernetCardMacType("manual")
 12711  	// An automatically generated MAC address.
 12712  	VirtualEthernetCardMacTypeGenerated = VirtualEthernetCardMacType("generated")
 12713  	// A MAC address assigned by VirtualCenter.
 12714  	VirtualEthernetCardMacTypeAssigned = VirtualEthernetCardMacType("assigned")
 12715  )
 12716  
 12717  func (e VirtualEthernetCardMacType) Values() []VirtualEthernetCardMacType {
 12718  	return []VirtualEthernetCardMacType{
 12719  		VirtualEthernetCardMacTypeManual,
 12720  		VirtualEthernetCardMacTypeGenerated,
 12721  		VirtualEthernetCardMacTypeAssigned,
 12722  	}
 12723  }
 12724  
 12725  func (e VirtualEthernetCardMacType) Strings() []string {
 12726  	return EnumValuesAsStrings(e.Values())
 12727  }
 12728  
 12729  func init() {
 12730  	t["VirtualEthernetCardMacType"] = reflect.TypeOf((*VirtualEthernetCardMacType)(nil)).Elem()
 12731  }
 12732  
 12733  type VirtualHardwareMotherboardLayout string
 12734  
 12735  const (
 12736  	// Single i440BX host bridge.
 12737  	VirtualHardwareMotherboardLayoutI440bxHostBridge = VirtualHardwareMotherboardLayout("i440bxHostBridge")
 12738  	// Multiple ACPI host bridges.
 12739  	VirtualHardwareMotherboardLayoutAcpiHostBridges = VirtualHardwareMotherboardLayout("acpiHostBridges")
 12740  )
 12741  
 12742  func (e VirtualHardwareMotherboardLayout) Values() []VirtualHardwareMotherboardLayout {
 12743  	return []VirtualHardwareMotherboardLayout{
 12744  		VirtualHardwareMotherboardLayoutI440bxHostBridge,
 12745  		VirtualHardwareMotherboardLayoutAcpiHostBridges,
 12746  	}
 12747  }
 12748  
 12749  func (e VirtualHardwareMotherboardLayout) Strings() []string {
 12750  	return EnumValuesAsStrings(e.Values())
 12751  }
 12752  
 12753  func init() {
 12754  	t["VirtualHardwareMotherboardLayout"] = reflect.TypeOf((*VirtualHardwareMotherboardLayout)(nil)).Elem()
 12755  	minAPIVersionForType["VirtualHardwareMotherboardLayout"] = "8.0.0.1"
 12756  }
 12757  
 12758  // Application heartbeat status type.
 12759  type VirtualMachineAppHeartbeatStatusType string
 12760  
 12761  const (
 12762  	// Heartbeat status is disabled
 12763  	VirtualMachineAppHeartbeatStatusTypeAppStatusGray = VirtualMachineAppHeartbeatStatusType("appStatusGray")
 12764  	// Heartbeat status is OK
 12765  	VirtualMachineAppHeartbeatStatusTypeAppStatusGreen = VirtualMachineAppHeartbeatStatusType("appStatusGreen")
 12766  	// Heartbeating has stopped
 12767  	VirtualMachineAppHeartbeatStatusTypeAppStatusRed = VirtualMachineAppHeartbeatStatusType("appStatusRed")
 12768  )
 12769  
 12770  func (e VirtualMachineAppHeartbeatStatusType) Values() []VirtualMachineAppHeartbeatStatusType {
 12771  	return []VirtualMachineAppHeartbeatStatusType{
 12772  		VirtualMachineAppHeartbeatStatusTypeAppStatusGray,
 12773  		VirtualMachineAppHeartbeatStatusTypeAppStatusGreen,
 12774  		VirtualMachineAppHeartbeatStatusTypeAppStatusRed,
 12775  	}
 12776  }
 12777  
 12778  func (e VirtualMachineAppHeartbeatStatusType) Strings() []string {
 12779  	return EnumValuesAsStrings(e.Values())
 12780  }
 12781  
 12782  func init() {
 12783  	t["VirtualMachineAppHeartbeatStatusType"] = reflect.TypeOf((*VirtualMachineAppHeartbeatStatusType)(nil)).Elem()
 12784  }
 12785  
 12786  type VirtualMachineBootOptionsNetworkBootProtocolType string
 12787  
 12788  const (
 12789  	// PXE (or Apple NetBoot) over IPv4.
 12790  	//
 12791  	// The default.
 12792  	VirtualMachineBootOptionsNetworkBootProtocolTypeIpv4 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv4")
 12793  	// PXE over IPv6.
 12794  	//
 12795  	// Only meaningful for EFI virtual machines.
 12796  	VirtualMachineBootOptionsNetworkBootProtocolTypeIpv6 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv6")
 12797  )
 12798  
 12799  func (e VirtualMachineBootOptionsNetworkBootProtocolType) Values() []VirtualMachineBootOptionsNetworkBootProtocolType {
 12800  	return []VirtualMachineBootOptionsNetworkBootProtocolType{
 12801  		VirtualMachineBootOptionsNetworkBootProtocolTypeIpv4,
 12802  		VirtualMachineBootOptionsNetworkBootProtocolTypeIpv6,
 12803  	}
 12804  }
 12805  
 12806  func (e VirtualMachineBootOptionsNetworkBootProtocolType) Strings() []string {
 12807  	return EnumValuesAsStrings(e.Values())
 12808  }
 12809  
 12810  func init() {
 12811  	t["VirtualMachineBootOptionsNetworkBootProtocolType"] = reflect.TypeOf((*VirtualMachineBootOptionsNetworkBootProtocolType)(nil)).Elem()
 12812  }
 12813  
 12814  type VirtualMachineCertThumbprintHashAlgorithm string
 12815  
 12816  const (
 12817  	// SHA256
 12818  	VirtualMachineCertThumbprintHashAlgorithmSha256 = VirtualMachineCertThumbprintHashAlgorithm("sha256")
 12819  )
 12820  
 12821  func (e VirtualMachineCertThumbprintHashAlgorithm) Values() []VirtualMachineCertThumbprintHashAlgorithm {
 12822  	return []VirtualMachineCertThumbprintHashAlgorithm{
 12823  		VirtualMachineCertThumbprintHashAlgorithmSha256,
 12824  	}
 12825  }
 12826  
 12827  func (e VirtualMachineCertThumbprintHashAlgorithm) Strings() []string {
 12828  	return EnumValuesAsStrings(e.Values())
 12829  }
 12830  
 12831  func init() {
 12832  	t["VirtualMachineCertThumbprintHashAlgorithm"] = reflect.TypeOf((*VirtualMachineCertThumbprintHashAlgorithm)(nil)).Elem()
 12833  	minAPIVersionForType["VirtualMachineCertThumbprintHashAlgorithm"] = "7.0.3.1"
 12834  }
 12835  
 12836  // TPM provisioning policies used when cloning a VM with a virtual TPM
 12837  type VirtualMachineCloneSpecTpmProvisionPolicy string
 12838  
 12839  const (
 12840  	// The virtual TPM is copied.
 12841  	//
 12842  	// The virtual machine clone will have access
 12843  	// to the original virtual machine's TPM secrets.
 12844  	VirtualMachineCloneSpecTpmProvisionPolicyCopy = VirtualMachineCloneSpecTpmProvisionPolicy("copy")
 12845  	// The virtual TPM is replaced with a new one.
 12846  	//
 12847  	// The virtual machine clone
 12848  	// will not have access to the original virtual machine's TPM secrets.
 12849  	VirtualMachineCloneSpecTpmProvisionPolicyReplace = VirtualMachineCloneSpecTpmProvisionPolicy("replace")
 12850  )
 12851  
 12852  func (e VirtualMachineCloneSpecTpmProvisionPolicy) Values() []VirtualMachineCloneSpecTpmProvisionPolicy {
 12853  	return []VirtualMachineCloneSpecTpmProvisionPolicy{
 12854  		VirtualMachineCloneSpecTpmProvisionPolicyCopy,
 12855  		VirtualMachineCloneSpecTpmProvisionPolicyReplace,
 12856  	}
 12857  }
 12858  
 12859  func (e VirtualMachineCloneSpecTpmProvisionPolicy) Strings() []string {
 12860  	return EnumValuesAsStrings(e.Values())
 12861  }
 12862  
 12863  func init() {
 12864  	t["VirtualMachineCloneSpecTpmProvisionPolicy"] = reflect.TypeOf((*VirtualMachineCloneSpecTpmProvisionPolicy)(nil)).Elem()
 12865  	minAPIVersionForType["VirtualMachineCloneSpecTpmProvisionPolicy"] = "8.0.0.1"
 12866  }
 12867  
 12868  // The NPIV WWN source type.
 12869  type VirtualMachineConfigInfoNpivWwnType string
 12870  
 12871  const (
 12872  	// This set of WWNs is generated by VC server.
 12873  	VirtualMachineConfigInfoNpivWwnTypeVc = VirtualMachineConfigInfoNpivWwnType("vc")
 12874  	// This set of WWNs is generated by Host Agent.
 12875  	VirtualMachineConfigInfoNpivWwnTypeHost = VirtualMachineConfigInfoNpivWwnType("host")
 12876  	// This set of WWNs is provided by the client.
 12877  	VirtualMachineConfigInfoNpivWwnTypeExternal = VirtualMachineConfigInfoNpivWwnType("external")
 12878  )
 12879  
 12880  func (e VirtualMachineConfigInfoNpivWwnType) Values() []VirtualMachineConfigInfoNpivWwnType {
 12881  	return []VirtualMachineConfigInfoNpivWwnType{
 12882  		VirtualMachineConfigInfoNpivWwnTypeVc,
 12883  		VirtualMachineConfigInfoNpivWwnTypeHost,
 12884  		VirtualMachineConfigInfoNpivWwnTypeExternal,
 12885  	}
 12886  }
 12887  
 12888  func (e VirtualMachineConfigInfoNpivWwnType) Strings() []string {
 12889  	return EnumValuesAsStrings(e.Values())
 12890  }
 12891  
 12892  func init() {
 12893  	t["VirtualMachineConfigInfoNpivWwnType"] = reflect.TypeOf((*VirtualMachineConfigInfoNpivWwnType)(nil)).Elem()
 12894  }
 12895  
 12896  // Available choices for virtual machine swapfile placement policy.
 12897  //
 12898  // This is
 12899  // the set of legal values for the virtual machine configuration's
 12900  // `swapPlacement` property. All
 12901  // values except for "inherit" and "vmConfigured" are also valid values for
 12902  // a compute resource configuration's
 12903  // `vmSwapPlacement`
 12904  // property.
 12905  type VirtualMachineConfigInfoSwapPlacementType string
 12906  
 12907  const (
 12908  	// Honor the virtual machine swapfile placement policy of the compute
 12909  	// resource that contains this virtual machine.
 12910  	VirtualMachineConfigInfoSwapPlacementTypeInherit = VirtualMachineConfigInfoSwapPlacementType("inherit")
 12911  	// Store the swapfile in the same directory as the virtual machine.
 12912  	VirtualMachineConfigInfoSwapPlacementTypeVmDirectory = VirtualMachineConfigInfoSwapPlacementType("vmDirectory")
 12913  	// Store the swapfile in the datastore specified by the
 12914  	// `localSwapDatastore`
 12915  	// property of the virtual machine's host, if that property is set and
 12916  	// indicates a datastore with sufficient free space.
 12917  	//
 12918  	// Otherwise store the
 12919  	// swapfile in the same directory as the virtual machine.
 12920  	//
 12921  	// Note: This setting may degrade VMotion performance.
 12922  	VirtualMachineConfigInfoSwapPlacementTypeHostLocal = VirtualMachineConfigInfoSwapPlacementType("hostLocal")
 12923  )
 12924  
 12925  func (e VirtualMachineConfigInfoSwapPlacementType) Values() []VirtualMachineConfigInfoSwapPlacementType {
 12926  	return []VirtualMachineConfigInfoSwapPlacementType{
 12927  		VirtualMachineConfigInfoSwapPlacementTypeInherit,
 12928  		VirtualMachineConfigInfoSwapPlacementTypeVmDirectory,
 12929  		VirtualMachineConfigInfoSwapPlacementTypeHostLocal,
 12930  	}
 12931  }
 12932  
 12933  func (e VirtualMachineConfigInfoSwapPlacementType) Strings() []string {
 12934  	return EnumValuesAsStrings(e.Values())
 12935  }
 12936  
 12937  func init() {
 12938  	t["VirtualMachineConfigInfoSwapPlacementType"] = reflect.TypeOf((*VirtualMachineConfigInfoSwapPlacementType)(nil)).Elem()
 12939  }
 12940  
 12941  // The set of valid encrypted Fault Tolerance modes for a VM.
 12942  //
 12943  // If the VM is encrypted, its encrypted Fault Tolerance mode
 12944  type VirtualMachineConfigSpecEncryptedFtModes string
 12945  
 12946  const (
 12947  	// Do not use encrypted Fault Tolerance, even if available.
 12948  	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionDisabled = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionDisabled")
 12949  	// Use encrypted Fault Tolerance if source and destination hosts
 12950  	// support it, fall back to unencrypted Fault Tolerance otherwise.
 12951  	//
 12952  	// This is the default option.
 12953  	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionOpportunistic = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionOpportunistic")
 12954  	// Allow only encrypted Fault Tolerance.
 12955  	//
 12956  	// If either the source or
 12957  	// destination host does not support encrypted Fault Tolerance,
 12958  	// do not allow the Fault Tolerance to occur.
 12959  	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionRequired = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionRequired")
 12960  )
 12961  
 12962  func (e VirtualMachineConfigSpecEncryptedFtModes) Values() []VirtualMachineConfigSpecEncryptedFtModes {
 12963  	return []VirtualMachineConfigSpecEncryptedFtModes{
 12964  		VirtualMachineConfigSpecEncryptedFtModesFtEncryptionDisabled,
 12965  		VirtualMachineConfigSpecEncryptedFtModesFtEncryptionOpportunistic,
 12966  		VirtualMachineConfigSpecEncryptedFtModesFtEncryptionRequired,
 12967  	}
 12968  }
 12969  
 12970  func (e VirtualMachineConfigSpecEncryptedFtModes) Strings() []string {
 12971  	return EnumValuesAsStrings(e.Values())
 12972  }
 12973  
 12974  func init() {
 12975  	t["VirtualMachineConfigSpecEncryptedFtModes"] = reflect.TypeOf((*VirtualMachineConfigSpecEncryptedFtModes)(nil)).Elem()
 12976  	minAPIVersionForType["VirtualMachineConfigSpecEncryptedFtModes"] = "7.0.2.0"
 12977  }
 12978  
 12979  // The set of valid encrypted vMotion modes for a VM.
 12980  //
 12981  // If the VM is encrypted, its encrypted vMotion mode will be required.
 12982  type VirtualMachineConfigSpecEncryptedVMotionModes string
 12983  
 12984  const (
 12985  	// Do not use encrypted vMotion, even if available.
 12986  	VirtualMachineConfigSpecEncryptedVMotionModesDisabled = VirtualMachineConfigSpecEncryptedVMotionModes("disabled")
 12987  	// Use encrypted vMotion if source and destination hosts support it,
 12988  	// fall back to unencrypted vMotion otherwise.
 12989  	//
 12990  	// This is the default option.
 12991  	VirtualMachineConfigSpecEncryptedVMotionModesOpportunistic = VirtualMachineConfigSpecEncryptedVMotionModes("opportunistic")
 12992  	// Allow only encrypted vMotion.
 12993  	//
 12994  	// If the source or destination host does
 12995  	// not support vMotion encryption, do not allow the vMotion to occur.
 12996  	VirtualMachineConfigSpecEncryptedVMotionModesRequired = VirtualMachineConfigSpecEncryptedVMotionModes("required")
 12997  )
 12998  
 12999  func (e VirtualMachineConfigSpecEncryptedVMotionModes) Values() []VirtualMachineConfigSpecEncryptedVMotionModes {
 13000  	return []VirtualMachineConfigSpecEncryptedVMotionModes{
 13001  		VirtualMachineConfigSpecEncryptedVMotionModesDisabled,
 13002  		VirtualMachineConfigSpecEncryptedVMotionModesOpportunistic,
 13003  		VirtualMachineConfigSpecEncryptedVMotionModesRequired,
 13004  	}
 13005  }
 13006  
 13007  func (e VirtualMachineConfigSpecEncryptedVMotionModes) Strings() []string {
 13008  	return EnumValuesAsStrings(e.Values())
 13009  }
 13010  
 13011  func init() {
 13012  	t["VirtualMachineConfigSpecEncryptedVMotionModes"] = reflect.TypeOf((*VirtualMachineConfigSpecEncryptedVMotionModes)(nil)).Elem()
 13013  }
 13014  
 13015  // The root WWN operation mode.
 13016  type VirtualMachineConfigSpecNpivWwnOp string
 13017  
 13018  const (
 13019  	// Generate a new set of WWNs and assign it to the virtual machine.
 13020  	VirtualMachineConfigSpecNpivWwnOpGenerate = VirtualMachineConfigSpecNpivWwnOp("generate")
 13021  	// Take a client-specified set of WWNs (specified in "wwn" property) and
 13022  	// assign them to the virtual machine.
 13023  	//
 13024  	// If the new WWN quntity are more
 13025  	// than existing then we will append them to the existing list of WWNs.
 13026  	VirtualMachineConfigSpecNpivWwnOpSet = VirtualMachineConfigSpecNpivWwnOp("set")
 13027  	// Remove the currently assigned WWNs from the virtual machine.
 13028  	VirtualMachineConfigSpecNpivWwnOpRemove = VirtualMachineConfigSpecNpivWwnOp("remove")
 13029  	// Generate a new set of WWNs and append them to the existing list
 13030  	VirtualMachineConfigSpecNpivWwnOpExtend = VirtualMachineConfigSpecNpivWwnOp("extend")
 13031  )
 13032  
 13033  func (e VirtualMachineConfigSpecNpivWwnOp) Values() []VirtualMachineConfigSpecNpivWwnOp {
 13034  	return []VirtualMachineConfigSpecNpivWwnOp{
 13035  		VirtualMachineConfigSpecNpivWwnOpGenerate,
 13036  		VirtualMachineConfigSpecNpivWwnOpSet,
 13037  		VirtualMachineConfigSpecNpivWwnOpRemove,
 13038  		VirtualMachineConfigSpecNpivWwnOpExtend,
 13039  	}
 13040  }
 13041  
 13042  func (e VirtualMachineConfigSpecNpivWwnOp) Strings() []string {
 13043  	return EnumValuesAsStrings(e.Values())
 13044  }
 13045  
 13046  func init() {
 13047  	t["VirtualMachineConfigSpecNpivWwnOp"] = reflect.TypeOf((*VirtualMachineConfigSpecNpivWwnOp)(nil)).Elem()
 13048  }
 13049  
 13050  // The connectivity state of a virtual machine.
 13051  //
 13052  // When the API is provided directly by
 13053  // a server product, such as ESX Server, then the disconnected state is not
 13054  // possible. However, when accessed through VirtualCenter, the state of a virtual
 13055  // machine is set to disconnected if the hosts that manage the virtual
 13056  // machine becomes unavailable.
 13057  type VirtualMachineConnectionState string
 13058  
 13059  const (
 13060  	// The server has access to the virtual machine.
 13061  	VirtualMachineConnectionStateConnected = VirtualMachineConnectionState("connected")
 13062  	// The server is currently disconnected from the virtual machine, since its
 13063  	// host is disconnected.
 13064  	//
 13065  	// See general comment for this enumerated type for more
 13066  	// details.
 13067  	VirtualMachineConnectionStateDisconnected = VirtualMachineConnectionState("disconnected")
 13068  	// The virtual machine is no longer registered on the host it is associated
 13069  	// with.
 13070  	//
 13071  	// For example, a virtual machine that is unregistered or deleted
 13072  	// directly on a host managed by VirtualCenter shows up in this state.
 13073  	VirtualMachineConnectionStateOrphaned = VirtualMachineConnectionState("orphaned")
 13074  	// One or more of the virtual machine configuration files are inaccessible.
 13075  	//
 13076  	// For
 13077  	// example, this can be due to transient disk failures. In this case, no
 13078  	// configuration can be returned for a virtual machine.
 13079  	VirtualMachineConnectionStateInaccessible = VirtualMachineConnectionState("inaccessible")
 13080  	// The virtual machine configuration format is invalid.
 13081  	//
 13082  	// Thus, it is accessible
 13083  	// on disk, but corrupted in a way that does not allow the server to read the
 13084  	// content. In this case, no configuration can be returned for a virtual
 13085  	// machine.
 13086  	VirtualMachineConnectionStateInvalid = VirtualMachineConnectionState("invalid")
 13087  )
 13088  
 13089  func (e VirtualMachineConnectionState) Values() []VirtualMachineConnectionState {
 13090  	return []VirtualMachineConnectionState{
 13091  		VirtualMachineConnectionStateConnected,
 13092  		VirtualMachineConnectionStateDisconnected,
 13093  		VirtualMachineConnectionStateOrphaned,
 13094  		VirtualMachineConnectionStateInaccessible,
 13095  		VirtualMachineConnectionStateInvalid,
 13096  	}
 13097  }
 13098  
 13099  func (e VirtualMachineConnectionState) Strings() []string {
 13100  	return EnumValuesAsStrings(e.Values())
 13101  }
 13102  
 13103  func init() {
 13104  	t["VirtualMachineConnectionState"] = reflect.TypeOf((*VirtualMachineConnectionState)(nil)).Elem()
 13105  }
 13106  
 13107  // The crypto state of a encrypted virtual machine.
 13108  type VirtualMachineCryptoState string
 13109  
 13110  const (
 13111  	// The virtual machine is in unlocked state.
 13112  	VirtualMachineCryptoStateUnlocked = VirtualMachineCryptoState("unlocked")
 13113  	// The virtual machine is in locked state for the configuration key missing
 13114  	// on the ESX host where the VM is registered.
 13115  	VirtualMachineCryptoStateLocked = VirtualMachineCryptoState("locked")
 13116  )
 13117  
 13118  func (e VirtualMachineCryptoState) Values() []VirtualMachineCryptoState {
 13119  	return []VirtualMachineCryptoState{
 13120  		VirtualMachineCryptoStateUnlocked,
 13121  		VirtualMachineCryptoStateLocked,
 13122  	}
 13123  }
 13124  
 13125  func (e VirtualMachineCryptoState) Strings() []string {
 13126  	return EnumValuesAsStrings(e.Values())
 13127  }
 13128  
 13129  func init() {
 13130  	t["VirtualMachineCryptoState"] = reflect.TypeOf((*VirtualMachineCryptoState)(nil)).Elem()
 13131  }
 13132  
 13133  type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther string
 13134  
 13135  const (
 13136  	// The virtual machine's host does not support VMDirectPath Gen 2.
 13137  	//
 13138  	// See also `HostCapability.vmDirectPathGen2Supported`.
 13139  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleHost = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleHost")
 13140  	// The configuration or state of the attached network prevents
 13141  	// VMDirectPath Gen 2.
 13142  	//
 13143  	// Refer to
 13144  	// `vmDirectPathGen2InactiveReasonNetwork`
 13145  	// and/or
 13146  	// `vmDirectPathGen2InactiveReasonExtended`
 13147  	// in the RuntimeInfo of the DistributedVirtualPort connected to this
 13148  	// device.
 13149  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleNetwork = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleNetwork")
 13150  )
 13151  
 13152  func (e VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther) Values() []VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther {
 13153  	return []VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther{
 13154  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleHost,
 13155  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleNetwork,
 13156  	}
 13157  }
 13158  
 13159  func (e VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther) Strings() []string {
 13160  	return EnumValuesAsStrings(e.Values())
 13161  }
 13162  
 13163  func init() {
 13164  	t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther)(nil)).Elem()
 13165  }
 13166  
 13167  type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm string
 13168  
 13169  const (
 13170  	// The virtual machine's guest OS does not support
 13171  	// VMDirectPath Gen 2.
 13172  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuest = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuest")
 13173  	// The virtual machine's guest network driver does not support
 13174  	// VMDirectPath Gen 2.
 13175  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuestDriver = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuestDriver")
 13176  	// The device type does not support VMDirectPath Gen 2.
 13177  	//
 13178  	// See also `VirtualEthernetCardOption.vmDirectPathGen2Supported`.
 13179  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterType")
 13180  	// The virtual machine's network adapter is disabled or
 13181  	// disconnected, and thus is not participating in VMDirectPath Gen 2.
 13182  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptDisabledOrDisconnectedAdapter = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptDisabledOrDisconnectedAdapter")
 13183  	// The virtual machine's network adapter has features enabled
 13184  	// which preclude it participating in VMDirectPath Gen 2 such
 13185  	// as INT-x or PXE booting.
 13186  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterFeatures = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterFeatures")
 13187  	// The device backing is not a DistributedVirtualPortBacking.
 13188  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleBackingType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleBackingType")
 13189  	// The virtual machine does not have full memory reservation
 13190  	// required to activate VMDirectPath Gen 2.
 13191  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptInsufficientMemoryReservation = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptInsufficientMemoryReservation")
 13192  	// Deprecated as of vSphere API 6.0.
 13193  	//
 13194  	// The virtual machine is configured for Fault Tolerance or
 13195  	// Record &amp; Replay, which prevents VMDirectPath Gen 2.
 13196  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptFaultToleranceOrRecordReplayConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptFaultToleranceOrRecordReplayConfigured")
 13197  	// Some networking feature has placed a conflicting IOChain on
 13198  	// the network adapter, which prevents VMDirectPath Gen 2.
 13199  	//
 13200  	// Examples
 13201  	// include DVFilter.
 13202  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingIOChainConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingIOChainConfigured")
 13203  	// The virtual machine monitor is exercising functionality which
 13204  	// which prevents VMDirectPath Gen 2.
 13205  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptMonitorBlocks = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptMonitorBlocks")
 13206  	// VMDirectPath Gen 2 is temporarily suspended while the virtual
 13207  	// machine executes an operation such as suspend.
 13208  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingOperationInProgress = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingOperationInProgress")
 13209  	// VMDirectPath Gen 2 is unavailable due to an unforeseen runtime error
 13210  	// in the virtualization platform (typically resource constraints.)
 13211  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptRuntimeError = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptRuntimeError")
 13212  	// VMDirectPath Gen 2 is unavailable due to host run out of intr
 13213  	// vector in host.
 13214  	//
 13215  	// Guest can configure the vNIC to use less rx/tx
 13216  	// queues or use MSI instead of MSIX.
 13217  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptOutOfIntrVector = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptOutOfIntrVector")
 13218  	// VMDirectPath Gen 2 is unavailable due to Incompatibe feature
 13219  	// VMCI is active in the current VM.
 13220  	//
 13221  	// Kill the relevant VMCI
 13222  	// application(s) and restart the VM will allow the vNIC(s) to enter
 13223  	// passthrough mode.
 13224  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptVMCIActive = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptVMCIActive")
 13225  )
 13226  
 13227  func (e VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm) Values() []VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm {
 13228  	return []VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm{
 13229  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuest,
 13230  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuestDriver,
 13231  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterType,
 13232  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptDisabledOrDisconnectedAdapter,
 13233  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterFeatures,
 13234  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleBackingType,
 13235  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptInsufficientMemoryReservation,
 13236  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptFaultToleranceOrRecordReplayConfigured,
 13237  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingIOChainConfigured,
 13238  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptMonitorBlocks,
 13239  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingOperationInProgress,
 13240  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptRuntimeError,
 13241  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptOutOfIntrVector,
 13242  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptVMCIActive,
 13243  	}
 13244  }
 13245  
 13246  func (e VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm) Strings() []string {
 13247  	return EnumValuesAsStrings(e.Values())
 13248  }
 13249  
 13250  func init() {
 13251  	t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm)(nil)).Elem()
 13252  }
 13253  
 13254  // The FaultToleranceState type defines a simple set of states for a
 13255  // fault tolerant virtual machine:
 13256  // disabled, starting, and enabled.
 13257  type VirtualMachineFaultToleranceState string
 13258  
 13259  const (
 13260  	// This state indicates that the virtual machine has not been
 13261  	// configured for fault tolerance.
 13262  	VirtualMachineFaultToleranceStateNotConfigured = VirtualMachineFaultToleranceState("notConfigured")
 13263  	// For a virtual machine that is the primary in a fault tolerant group,
 13264  	// this state indicates that the virtual machine has at least one
 13265  	// registered secondary, but no secondary is enabled.
 13266  	//
 13267  	// For a virtual machine that is the secondary in a fault tolerant
 13268  	// group, this state indicates that the secondary is disabled.
 13269  	VirtualMachineFaultToleranceStateDisabled = VirtualMachineFaultToleranceState("disabled")
 13270  	// For a virtual machine that is the primary in a fault tolerant group,
 13271  	// this state indicates that the virtual machine is not currently
 13272  	// powered on, but has at least one enabled secondary
 13273  	// For a virtual machine that is the secondary in a fault tolerant
 13274  	// group, this state indicates that the secondary is enabled, but is
 13275  	// not currently powered on.
 13276  	VirtualMachineFaultToleranceStateEnabled = VirtualMachineFaultToleranceState("enabled")
 13277  	// For a virtual machine that is the primary in a fault tolerant group,
 13278  	// this state indicates that the virtual machine is powered on and
 13279  	// has at least one enabled secondary, but no secondary is currently
 13280  	// active.
 13281  	//
 13282  	// This state is not valid for a virtual machine that is a secondary
 13283  	// in a fault tolerant group.
 13284  	VirtualMachineFaultToleranceStateNeedSecondary = VirtualMachineFaultToleranceState("needSecondary")
 13285  	// For a virtual machine that is the primary in a fault tolerant group,
 13286  	// this state indicates that the virtual machine is powered on and has
 13287  	// at least one secondary that is synchronizing its state with the
 13288  	// primary.
 13289  	//
 13290  	// For a virtual machine that is the secondary in a fault tolerant
 13291  	// group, this state indicates that the secondary is powered on and is
 13292  	// synchronizing its state with the primary virtual machine.
 13293  	VirtualMachineFaultToleranceStateStarting = VirtualMachineFaultToleranceState("starting")
 13294  	// This state indicates that the virtual machine is running with fault
 13295  	// tolerance protection.
 13296  	VirtualMachineFaultToleranceStateRunning = VirtualMachineFaultToleranceState("running")
 13297  )
 13298  
 13299  func (e VirtualMachineFaultToleranceState) Values() []VirtualMachineFaultToleranceState {
 13300  	return []VirtualMachineFaultToleranceState{
 13301  		VirtualMachineFaultToleranceStateNotConfigured,
 13302  		VirtualMachineFaultToleranceStateDisabled,
 13303  		VirtualMachineFaultToleranceStateEnabled,
 13304  		VirtualMachineFaultToleranceStateNeedSecondary,
 13305  		VirtualMachineFaultToleranceStateStarting,
 13306  		VirtualMachineFaultToleranceStateRunning,
 13307  	}
 13308  }
 13309  
 13310  func (e VirtualMachineFaultToleranceState) Strings() []string {
 13311  	return EnumValuesAsStrings(e.Values())
 13312  }
 13313  
 13314  func init() {
 13315  	t["VirtualMachineFaultToleranceState"] = reflect.TypeOf((*VirtualMachineFaultToleranceState)(nil)).Elem()
 13316  }
 13317  
 13318  // The FaultToleranceType defines the type of fault tolerance, if any,
 13319  // the virtual machine is configured for.
 13320  type VirtualMachineFaultToleranceType string
 13321  
 13322  const (
 13323  	// FT not set
 13324  	VirtualMachineFaultToleranceTypeUnset = VirtualMachineFaultToleranceType("unset")
 13325  	// Record/replay
 13326  	VirtualMachineFaultToleranceTypeRecordReplay = VirtualMachineFaultToleranceType("recordReplay")
 13327  	// Checkpointing
 13328  	VirtualMachineFaultToleranceTypeCheckpointing = VirtualMachineFaultToleranceType("checkpointing")
 13329  )
 13330  
 13331  func (e VirtualMachineFaultToleranceType) Values() []VirtualMachineFaultToleranceType {
 13332  	return []VirtualMachineFaultToleranceType{
 13333  		VirtualMachineFaultToleranceTypeUnset,
 13334  		VirtualMachineFaultToleranceTypeRecordReplay,
 13335  		VirtualMachineFaultToleranceTypeCheckpointing,
 13336  	}
 13337  }
 13338  
 13339  func (e VirtualMachineFaultToleranceType) Strings() []string {
 13340  	return EnumValuesAsStrings(e.Values())
 13341  }
 13342  
 13343  func init() {
 13344  	t["VirtualMachineFaultToleranceType"] = reflect.TypeOf((*VirtualMachineFaultToleranceType)(nil)).Elem()
 13345  }
 13346  
 13347  // File-type constants.
 13348  type VirtualMachineFileLayoutExFileType string
 13349  
 13350  const (
 13351  	// Config (vmx) file.
 13352  	VirtualMachineFileLayoutExFileTypeConfig = VirtualMachineFileLayoutExFileType("config")
 13353  	// Extended config (vmxf) file.
 13354  	VirtualMachineFileLayoutExFileTypeExtendedConfig = VirtualMachineFileLayoutExFileType("extendedConfig")
 13355  	// Disk descriptor (vmdk) file.
 13356  	VirtualMachineFileLayoutExFileTypeDiskDescriptor = VirtualMachineFileLayoutExFileType("diskDescriptor")
 13357  	// Disk extent (-flat/-delta/-s/-rdm/-rdmp.vmdk) file.
 13358  	VirtualMachineFileLayoutExFileTypeDiskExtent = VirtualMachineFileLayoutExFileType("diskExtent")
 13359  	// Disk digest descriptor file.
 13360  	VirtualMachineFileLayoutExFileTypeDigestDescriptor = VirtualMachineFileLayoutExFileType("digestDescriptor")
 13361  	// Disk digest extent file.
 13362  	VirtualMachineFileLayoutExFileTypeDigestExtent = VirtualMachineFileLayoutExFileType("digestExtent")
 13363  	// Host based replicated disk persistent state (psf) file.
 13364  	VirtualMachineFileLayoutExFileTypeDiskReplicationState = VirtualMachineFileLayoutExFileType("diskReplicationState")
 13365  	// Log (log) file.
 13366  	VirtualMachineFileLayoutExFileTypeLog = VirtualMachineFileLayoutExFileType("log")
 13367  	// Virtual machine statistics (stat) file.
 13368  	VirtualMachineFileLayoutExFileTypeStat = VirtualMachineFileLayoutExFileType("stat")
 13369  	// Namespace data file.
 13370  	VirtualMachineFileLayoutExFileTypeNamespaceData = VirtualMachineFileLayoutExFileType("namespaceData")
 13371  	// DataSets disk mode store (dsd) file.
 13372  	VirtualMachineFileLayoutExFileTypeDataSetsDiskModeStore = VirtualMachineFileLayoutExFileType("dataSetsDiskModeStore")
 13373  	// DataSets vm mode store (dsv) file.
 13374  	VirtualMachineFileLayoutExFileTypeDataSetsVmModeStore = VirtualMachineFileLayoutExFileType("dataSetsVmModeStore")
 13375  	// Non-volatile RAM (nvram) file.
 13376  	VirtualMachineFileLayoutExFileTypeNvram = VirtualMachineFileLayoutExFileType("nvram")
 13377  	// Snapshot data (vmsn) file.
 13378  	VirtualMachineFileLayoutExFileTypeSnapshotData = VirtualMachineFileLayoutExFileType("snapshotData")
 13379  	// Snapshot memory (vmem) file.
 13380  	VirtualMachineFileLayoutExFileTypeSnapshotMemory = VirtualMachineFileLayoutExFileType("snapshotMemory")
 13381  	// Snapshot metadata (vmsd) file.
 13382  	VirtualMachineFileLayoutExFileTypeSnapshotList = VirtualMachineFileLayoutExFileType("snapshotList")
 13383  	// Snapshot manifest metadata (-aux.xml) file.
 13384  	//
 13385  	// This file is still being created but is no longer necessary since
 13386  	// the manifest metadata is now available in the snapshot metadata
 13387  	// (vmsd) file in vSphere 5.0. This type will be deprecated when
 13388  	// vSphere 4.1 is no longer supported.
 13389  	VirtualMachineFileLayoutExFileTypeSnapshotManifestList = VirtualMachineFileLayoutExFileType("snapshotManifestList")
 13390  	// Suspend (vmss) file.
 13391  	VirtualMachineFileLayoutExFileTypeSuspend = VirtualMachineFileLayoutExFileType("suspend")
 13392  	// Suspend (vmem) file.
 13393  	VirtualMachineFileLayoutExFileTypeSuspendMemory = VirtualMachineFileLayoutExFileType("suspendMemory")
 13394  	// Swap (vswp) file.
 13395  	VirtualMachineFileLayoutExFileTypeSwap = VirtualMachineFileLayoutExFileType("swap")
 13396  	// File generated by VMware ESX kernel for a running virtual
 13397  	// machine.
 13398  	VirtualMachineFileLayoutExFileTypeUwswap = VirtualMachineFileLayoutExFileType("uwswap")
 13399  	// Core (core) file.
 13400  	VirtualMachineFileLayoutExFileTypeCore = VirtualMachineFileLayoutExFileType("core")
 13401  	// Screenshot file.
 13402  	VirtualMachineFileLayoutExFileTypeScreenshot = VirtualMachineFileLayoutExFileType("screenshot")
 13403  	// Fault Tolerance metadata file.
 13404  	VirtualMachineFileLayoutExFileTypeFtMetadata = VirtualMachineFileLayoutExFileType("ftMetadata")
 13405  	// Guest image customization file.
 13406  	VirtualMachineFileLayoutExFileTypeGuestCustomization = VirtualMachineFileLayoutExFileType("guestCustomization")
 13407  )
 13408  
 13409  func (e VirtualMachineFileLayoutExFileType) Values() []VirtualMachineFileLayoutExFileType {
 13410  	return []VirtualMachineFileLayoutExFileType{
 13411  		VirtualMachineFileLayoutExFileTypeConfig,
 13412  		VirtualMachineFileLayoutExFileTypeExtendedConfig,
 13413  		VirtualMachineFileLayoutExFileTypeDiskDescriptor,
 13414  		VirtualMachineFileLayoutExFileTypeDiskExtent,
 13415  		VirtualMachineFileLayoutExFileTypeDigestDescriptor,
 13416  		VirtualMachineFileLayoutExFileTypeDigestExtent,
 13417  		VirtualMachineFileLayoutExFileTypeDiskReplicationState,
 13418  		VirtualMachineFileLayoutExFileTypeLog,
 13419  		VirtualMachineFileLayoutExFileTypeStat,
 13420  		VirtualMachineFileLayoutExFileTypeNamespaceData,
 13421  		VirtualMachineFileLayoutExFileTypeDataSetsDiskModeStore,
 13422  		VirtualMachineFileLayoutExFileTypeDataSetsVmModeStore,
 13423  		VirtualMachineFileLayoutExFileTypeNvram,
 13424  		VirtualMachineFileLayoutExFileTypeSnapshotData,
 13425  		VirtualMachineFileLayoutExFileTypeSnapshotMemory,
 13426  		VirtualMachineFileLayoutExFileTypeSnapshotList,
 13427  		VirtualMachineFileLayoutExFileTypeSnapshotManifestList,
 13428  		VirtualMachineFileLayoutExFileTypeSuspend,
 13429  		VirtualMachineFileLayoutExFileTypeSuspendMemory,
 13430  		VirtualMachineFileLayoutExFileTypeSwap,
 13431  		VirtualMachineFileLayoutExFileTypeUwswap,
 13432  		VirtualMachineFileLayoutExFileTypeCore,
 13433  		VirtualMachineFileLayoutExFileTypeScreenshot,
 13434  		VirtualMachineFileLayoutExFileTypeFtMetadata,
 13435  		VirtualMachineFileLayoutExFileTypeGuestCustomization,
 13436  	}
 13437  }
 13438  
 13439  func (e VirtualMachineFileLayoutExFileType) Strings() []string {
 13440  	return EnumValuesAsStrings(e.Values())
 13441  }
 13442  
 13443  func init() {
 13444  	t["VirtualMachineFileLayoutExFileType"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileType)(nil)).Elem()
 13445  	minAPIVersionForEnumValue["VirtualMachineFileLayoutExFileType"] = map[string]string{
 13446  		"dataSetsDiskModeStore": "8.0.0.0",
 13447  		"dataSetsVmModeStore":   "8.0.0.0",
 13448  	}
 13449  }
 13450  
 13451  // Set of possible values for `VirtualMachineFlagInfo.monitorType`.
 13452  type VirtualMachineFlagInfoMonitorType string
 13453  
 13454  const (
 13455  	// Run vmx in default mode, matching the build type of vmkernel.
 13456  	VirtualMachineFlagInfoMonitorTypeRelease = VirtualMachineFlagInfoMonitorType("release")
 13457  	// Run vmx in debug mode.
 13458  	VirtualMachineFlagInfoMonitorTypeDebug = VirtualMachineFlagInfoMonitorType("debug")
 13459  	// Run vmx in stats mode.
 13460  	VirtualMachineFlagInfoMonitorTypeStats = VirtualMachineFlagInfoMonitorType("stats")
 13461  )
 13462  
 13463  func (e VirtualMachineFlagInfoMonitorType) Values() []VirtualMachineFlagInfoMonitorType {
 13464  	return []VirtualMachineFlagInfoMonitorType{
 13465  		VirtualMachineFlagInfoMonitorTypeRelease,
 13466  		VirtualMachineFlagInfoMonitorTypeDebug,
 13467  		VirtualMachineFlagInfoMonitorTypeStats,
 13468  	}
 13469  }
 13470  
 13471  func (e VirtualMachineFlagInfoMonitorType) Strings() []string {
 13472  	return EnumValuesAsStrings(e.Values())
 13473  }
 13474  
 13475  func init() {
 13476  	t["VirtualMachineFlagInfoMonitorType"] = reflect.TypeOf((*VirtualMachineFlagInfoMonitorType)(nil)).Elem()
 13477  }
 13478  
 13479  // Set of possible values for `VirtualMachineFlagInfo.virtualExecUsage`.
 13480  type VirtualMachineFlagInfoVirtualExecUsage string
 13481  
 13482  const (
 13483  	// Determine automatically whether to use hardware virtualization (HV) support.
 13484  	VirtualMachineFlagInfoVirtualExecUsageHvAuto = VirtualMachineFlagInfoVirtualExecUsage("hvAuto")
 13485  	// Use hardware virtualization (HV) support if the physical hardware supports it.
 13486  	VirtualMachineFlagInfoVirtualExecUsageHvOn = VirtualMachineFlagInfoVirtualExecUsage("hvOn")
 13487  	// Do not use hardware virtualization (HV) support.
 13488  	VirtualMachineFlagInfoVirtualExecUsageHvOff = VirtualMachineFlagInfoVirtualExecUsage("hvOff")
 13489  )
 13490  
 13491  func (e VirtualMachineFlagInfoVirtualExecUsage) Values() []VirtualMachineFlagInfoVirtualExecUsage {
 13492  	return []VirtualMachineFlagInfoVirtualExecUsage{
 13493  		VirtualMachineFlagInfoVirtualExecUsageHvAuto,
 13494  		VirtualMachineFlagInfoVirtualExecUsageHvOn,
 13495  		VirtualMachineFlagInfoVirtualExecUsageHvOff,
 13496  	}
 13497  }
 13498  
 13499  func (e VirtualMachineFlagInfoVirtualExecUsage) Strings() []string {
 13500  	return EnumValuesAsStrings(e.Values())
 13501  }
 13502  
 13503  func init() {
 13504  	t["VirtualMachineFlagInfoVirtualExecUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualExecUsage)(nil)).Elem()
 13505  }
 13506  
 13507  // Set of possible values for `VirtualMachineFlagInfo.virtualMmuUsage`.
 13508  type VirtualMachineFlagInfoVirtualMmuUsage string
 13509  
 13510  const (
 13511  	// Determine automatically whether to use nested page table hardware support.
 13512  	VirtualMachineFlagInfoVirtualMmuUsageAutomatic = VirtualMachineFlagInfoVirtualMmuUsage("automatic")
 13513  	// Use nested paging hardware support if the physical hardware supports it.
 13514  	VirtualMachineFlagInfoVirtualMmuUsageOn = VirtualMachineFlagInfoVirtualMmuUsage("on")
 13515  	// Do not use nested page table hardware support.
 13516  	VirtualMachineFlagInfoVirtualMmuUsageOff = VirtualMachineFlagInfoVirtualMmuUsage("off")
 13517  )
 13518  
 13519  func (e VirtualMachineFlagInfoVirtualMmuUsage) Values() []VirtualMachineFlagInfoVirtualMmuUsage {
 13520  	return []VirtualMachineFlagInfoVirtualMmuUsage{
 13521  		VirtualMachineFlagInfoVirtualMmuUsageAutomatic,
 13522  		VirtualMachineFlagInfoVirtualMmuUsageOn,
 13523  		VirtualMachineFlagInfoVirtualMmuUsageOff,
 13524  	}
 13525  }
 13526  
 13527  func (e VirtualMachineFlagInfoVirtualMmuUsage) Strings() []string {
 13528  	return EnumValuesAsStrings(e.Values())
 13529  }
 13530  
 13531  func init() {
 13532  	t["VirtualMachineFlagInfoVirtualMmuUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualMmuUsage)(nil)).Elem()
 13533  }
 13534  
 13535  // Fork child type.
 13536  //
 13537  // A child could be type of none, persistent, or
 13538  // nonpersistent.
 13539  type VirtualMachineForkConfigInfoChildType string
 13540  
 13541  const (
 13542  	// The virtual machine is not a child.
 13543  	VirtualMachineForkConfigInfoChildTypeNone = VirtualMachineForkConfigInfoChildType("none")
 13544  	// The virtual machine is a persistent child.
 13545  	VirtualMachineForkConfigInfoChildTypePersistent = VirtualMachineForkConfigInfoChildType("persistent")
 13546  	// The virtual machine is a non-persistent child.
 13547  	VirtualMachineForkConfigInfoChildTypeNonpersistent = VirtualMachineForkConfigInfoChildType("nonpersistent")
 13548  )
 13549  
 13550  func (e VirtualMachineForkConfigInfoChildType) Values() []VirtualMachineForkConfigInfoChildType {
 13551  	return []VirtualMachineForkConfigInfoChildType{
 13552  		VirtualMachineForkConfigInfoChildTypeNone,
 13553  		VirtualMachineForkConfigInfoChildTypePersistent,
 13554  		VirtualMachineForkConfigInfoChildTypeNonpersistent,
 13555  	}
 13556  }
 13557  
 13558  func (e VirtualMachineForkConfigInfoChildType) Strings() []string {
 13559  	return EnumValuesAsStrings(e.Values())
 13560  }
 13561  
 13562  func init() {
 13563  	t["VirtualMachineForkConfigInfoChildType"] = reflect.TypeOf((*VirtualMachineForkConfigInfoChildType)(nil)).Elem()
 13564  }
 13565  
 13566  // Guest operating system family constants.
 13567  type VirtualMachineGuestOsFamily string
 13568  
 13569  const (
 13570  	// Windows operating system
 13571  	VirtualMachineGuestOsFamilyWindowsGuest = VirtualMachineGuestOsFamily("windowsGuest")
 13572  	// Linux operating system
 13573  	VirtualMachineGuestOsFamilyLinuxGuest = VirtualMachineGuestOsFamily("linuxGuest")
 13574  	// Novell Netware
 13575  	VirtualMachineGuestOsFamilyNetwareGuest = VirtualMachineGuestOsFamily("netwareGuest")
 13576  	// Solaris operating system
 13577  	VirtualMachineGuestOsFamilySolarisGuest = VirtualMachineGuestOsFamily("solarisGuest")
 13578  	// Mac OS operating system
 13579  	VirtualMachineGuestOsFamilyDarwinGuestFamily = VirtualMachineGuestOsFamily("darwinGuestFamily")
 13580  	// Other operating systems
 13581  	VirtualMachineGuestOsFamilyOtherGuestFamily = VirtualMachineGuestOsFamily("otherGuestFamily")
 13582  )
 13583  
 13584  func (e VirtualMachineGuestOsFamily) Values() []VirtualMachineGuestOsFamily {
 13585  	return []VirtualMachineGuestOsFamily{
 13586  		VirtualMachineGuestOsFamilyWindowsGuest,
 13587  		VirtualMachineGuestOsFamilyLinuxGuest,
 13588  		VirtualMachineGuestOsFamilyNetwareGuest,
 13589  		VirtualMachineGuestOsFamilySolarisGuest,
 13590  		VirtualMachineGuestOsFamilyDarwinGuestFamily,
 13591  		VirtualMachineGuestOsFamilyOtherGuestFamily,
 13592  	}
 13593  }
 13594  
 13595  func (e VirtualMachineGuestOsFamily) Strings() []string {
 13596  	return EnumValuesAsStrings(e.Values())
 13597  }
 13598  
 13599  func init() {
 13600  	t["VirtualMachineGuestOsFamily"] = reflect.TypeOf((*VirtualMachineGuestOsFamily)(nil)).Elem()
 13601  }
 13602  
 13603  // Guest operating system identifier.
 13604  type VirtualMachineGuestOsIdentifier string
 13605  
 13606  const (
 13607  	// MS-DOS.
 13608  	VirtualMachineGuestOsIdentifierDosGuest = VirtualMachineGuestOsIdentifier("dosGuest")
 13609  	// Windows 3.1
 13610  	VirtualMachineGuestOsIdentifierWin31Guest = VirtualMachineGuestOsIdentifier("win31Guest")
 13611  	// Windows 95
 13612  	VirtualMachineGuestOsIdentifierWin95Guest = VirtualMachineGuestOsIdentifier("win95Guest")
 13613  	// Windows 98
 13614  	VirtualMachineGuestOsIdentifierWin98Guest = VirtualMachineGuestOsIdentifier("win98Guest")
 13615  	// Windows Millennium Edition
 13616  	VirtualMachineGuestOsIdentifierWinMeGuest = VirtualMachineGuestOsIdentifier("winMeGuest")
 13617  	// Windows NT 4
 13618  	VirtualMachineGuestOsIdentifierWinNTGuest = VirtualMachineGuestOsIdentifier("winNTGuest")
 13619  	// Windows 2000 Professional
 13620  	VirtualMachineGuestOsIdentifierWin2000ProGuest = VirtualMachineGuestOsIdentifier("win2000ProGuest")
 13621  	// Windows 2000 Server
 13622  	VirtualMachineGuestOsIdentifierWin2000ServGuest = VirtualMachineGuestOsIdentifier("win2000ServGuest")
 13623  	// Windows 2000 Advanced Server
 13624  	VirtualMachineGuestOsIdentifierWin2000AdvServGuest = VirtualMachineGuestOsIdentifier("win2000AdvServGuest")
 13625  	// Windows XP Home Edition
 13626  	VirtualMachineGuestOsIdentifierWinXPHomeGuest = VirtualMachineGuestOsIdentifier("winXPHomeGuest")
 13627  	// Windows XP Professional
 13628  	VirtualMachineGuestOsIdentifierWinXPProGuest = VirtualMachineGuestOsIdentifier("winXPProGuest")
 13629  	// Windows XP Professional Edition (64 bit)
 13630  	VirtualMachineGuestOsIdentifierWinXPPro64Guest = VirtualMachineGuestOsIdentifier("winXPPro64Guest")
 13631  	// Windows Server 2003, Web Edition
 13632  	VirtualMachineGuestOsIdentifierWinNetWebGuest = VirtualMachineGuestOsIdentifier("winNetWebGuest")
 13633  	// Windows Server 2003, Standard Edition
 13634  	VirtualMachineGuestOsIdentifierWinNetStandardGuest = VirtualMachineGuestOsIdentifier("winNetStandardGuest")
 13635  	// Windows Server 2003, Enterprise Edition
 13636  	VirtualMachineGuestOsIdentifierWinNetEnterpriseGuest = VirtualMachineGuestOsIdentifier("winNetEnterpriseGuest")
 13637  	// Windows Server 2003, Datacenter Edition
 13638  	VirtualMachineGuestOsIdentifierWinNetDatacenterGuest = VirtualMachineGuestOsIdentifier("winNetDatacenterGuest")
 13639  	// Windows Small Business Server 2003
 13640  	VirtualMachineGuestOsIdentifierWinNetBusinessGuest = VirtualMachineGuestOsIdentifier("winNetBusinessGuest")
 13641  	// Windows Server 2003, Standard Edition (64 bit)
 13642  	VirtualMachineGuestOsIdentifierWinNetStandard64Guest = VirtualMachineGuestOsIdentifier("winNetStandard64Guest")
 13643  	// Windows Server 2003, Enterprise Edition (64 bit)
 13644  	VirtualMachineGuestOsIdentifierWinNetEnterprise64Guest = VirtualMachineGuestOsIdentifier("winNetEnterprise64Guest")
 13645  	// Windows Longhorn
 13646  	VirtualMachineGuestOsIdentifierWinLonghornGuest = VirtualMachineGuestOsIdentifier("winLonghornGuest")
 13647  	// Windows Longhorn (64 bit)
 13648  	VirtualMachineGuestOsIdentifierWinLonghorn64Guest = VirtualMachineGuestOsIdentifier("winLonghorn64Guest")
 13649  	// Windows Server 2003, Datacenter Edition (64 bit)
 13650  	VirtualMachineGuestOsIdentifierWinNetDatacenter64Guest = VirtualMachineGuestOsIdentifier("winNetDatacenter64Guest")
 13651  	// Windows Vista
 13652  	VirtualMachineGuestOsIdentifierWinVistaGuest = VirtualMachineGuestOsIdentifier("winVistaGuest")
 13653  	// Windows Vista (64 bit)
 13654  	VirtualMachineGuestOsIdentifierWinVista64Guest = VirtualMachineGuestOsIdentifier("winVista64Guest")
 13655  	// Windows 7
 13656  	VirtualMachineGuestOsIdentifierWindows7Guest = VirtualMachineGuestOsIdentifier("windows7Guest")
 13657  	// Windows 7 (64 bit)
 13658  	VirtualMachineGuestOsIdentifierWindows7_64Guest = VirtualMachineGuestOsIdentifier("windows7_64Guest")
 13659  	// Windows Server 2008 R2 (64 bit)
 13660  	VirtualMachineGuestOsIdentifierWindows7Server64Guest = VirtualMachineGuestOsIdentifier("windows7Server64Guest")
 13661  	// Windows 8
 13662  	VirtualMachineGuestOsIdentifierWindows8Guest = VirtualMachineGuestOsIdentifier("windows8Guest")
 13663  	// Windows 8 (64 bit)
 13664  	VirtualMachineGuestOsIdentifierWindows8_64Guest = VirtualMachineGuestOsIdentifier("windows8_64Guest")
 13665  	// Windows 8 Server (64 bit)
 13666  	VirtualMachineGuestOsIdentifierWindows8Server64Guest = VirtualMachineGuestOsIdentifier("windows8Server64Guest")
 13667  	// Windows 10
 13668  	VirtualMachineGuestOsIdentifierWindows9Guest = VirtualMachineGuestOsIdentifier("windows9Guest")
 13669  	// Windows 10 (64 bit)
 13670  	VirtualMachineGuestOsIdentifierWindows9_64Guest = VirtualMachineGuestOsIdentifier("windows9_64Guest")
 13671  	// Windows 10 Server (64 bit)
 13672  	VirtualMachineGuestOsIdentifierWindows9Server64Guest = VirtualMachineGuestOsIdentifier("windows9Server64Guest")
 13673  	// Windows 11
 13674  	VirtualMachineGuestOsIdentifierWindows11_64Guest = VirtualMachineGuestOsIdentifier("windows11_64Guest")
 13675  	// Windows 12
 13676  	VirtualMachineGuestOsIdentifierWindows12_64Guest = VirtualMachineGuestOsIdentifier("windows12_64Guest")
 13677  	// Windows Hyper-V
 13678  	VirtualMachineGuestOsIdentifierWindowsHyperVGuest = VirtualMachineGuestOsIdentifier("windowsHyperVGuest")
 13679  	// Windows Server 2019
 13680  	VirtualMachineGuestOsIdentifierWindows2019srv_64Guest = VirtualMachineGuestOsIdentifier("windows2019srv_64Guest")
 13681  	// Windows Server 2022
 13682  	VirtualMachineGuestOsIdentifierWindows2019srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2019srvNext_64Guest")
 13683  	// Windows Server 2025
 13684  	VirtualMachineGuestOsIdentifierWindows2022srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2022srvNext_64Guest")
 13685  	// FreeBSD
 13686  	VirtualMachineGuestOsIdentifierFreebsdGuest = VirtualMachineGuestOsIdentifier("freebsdGuest")
 13687  	// FreeBSD x64
 13688  	VirtualMachineGuestOsIdentifierFreebsd64Guest = VirtualMachineGuestOsIdentifier("freebsd64Guest")
 13689  	// FreeBSD 11
 13690  	VirtualMachineGuestOsIdentifierFreebsd11Guest = VirtualMachineGuestOsIdentifier("freebsd11Guest")
 13691  	// FreeBSD 11 x64
 13692  	VirtualMachineGuestOsIdentifierFreebsd11_64Guest = VirtualMachineGuestOsIdentifier("freebsd11_64Guest")
 13693  	// FreeBSD 12
 13694  	VirtualMachineGuestOsIdentifierFreebsd12Guest = VirtualMachineGuestOsIdentifier("freebsd12Guest")
 13695  	// FreeBSD 12 x64
 13696  	VirtualMachineGuestOsIdentifierFreebsd12_64Guest = VirtualMachineGuestOsIdentifier("freebsd12_64Guest")
 13697  	// FreeBSD 13
 13698  	VirtualMachineGuestOsIdentifierFreebsd13Guest = VirtualMachineGuestOsIdentifier("freebsd13Guest")
 13699  	// FreeBSD 13 x64
 13700  	VirtualMachineGuestOsIdentifierFreebsd13_64Guest = VirtualMachineGuestOsIdentifier("freebsd13_64Guest")
 13701  	// FreeBSD 14
 13702  	VirtualMachineGuestOsIdentifierFreebsd14Guest = VirtualMachineGuestOsIdentifier("freebsd14Guest")
 13703  	// FreeBSD 14 x64
 13704  	VirtualMachineGuestOsIdentifierFreebsd14_64Guest = VirtualMachineGuestOsIdentifier("freebsd14_64Guest")
 13705  	// FreeBSD 15
 13706  	VirtualMachineGuestOsIdentifierFreebsd15Guest = VirtualMachineGuestOsIdentifier("freebsd15Guest")
 13707  	// FreeBSD 15 x64
 13708  	VirtualMachineGuestOsIdentifierFreebsd15_64Guest = VirtualMachineGuestOsIdentifier("freebsd15_64Guest")
 13709  	// Red Hat Linux 2.1
 13710  	VirtualMachineGuestOsIdentifierRedhatGuest = VirtualMachineGuestOsIdentifier("redhatGuest")
 13711  	// Red Hat Enterprise Linux 2
 13712  	VirtualMachineGuestOsIdentifierRhel2Guest = VirtualMachineGuestOsIdentifier("rhel2Guest")
 13713  	// Red Hat Enterprise Linux 3
 13714  	VirtualMachineGuestOsIdentifierRhel3Guest = VirtualMachineGuestOsIdentifier("rhel3Guest")
 13715  	// Red Hat Enterprise Linux 3 (64 bit)
 13716  	VirtualMachineGuestOsIdentifierRhel3_64Guest = VirtualMachineGuestOsIdentifier("rhel3_64Guest")
 13717  	// Red Hat Enterprise Linux 4
 13718  	VirtualMachineGuestOsIdentifierRhel4Guest = VirtualMachineGuestOsIdentifier("rhel4Guest")
 13719  	// Red Hat Enterprise Linux 4 (64 bit)
 13720  	VirtualMachineGuestOsIdentifierRhel4_64Guest = VirtualMachineGuestOsIdentifier("rhel4_64Guest")
 13721  	// Red Hat Enterprise Linux 5
 13722  	VirtualMachineGuestOsIdentifierRhel5Guest = VirtualMachineGuestOsIdentifier("rhel5Guest")
 13723  	// Red Hat Enterprise Linux 5 (64 bit)
 13724  	VirtualMachineGuestOsIdentifierRhel5_64Guest = VirtualMachineGuestOsIdentifier("rhel5_64Guest")
 13725  	// Red Hat Enterprise Linux 6
 13726  	VirtualMachineGuestOsIdentifierRhel6Guest = VirtualMachineGuestOsIdentifier("rhel6Guest")
 13727  	// Red Hat Enterprise Linux 6 (64 bit)
 13728  	VirtualMachineGuestOsIdentifierRhel6_64Guest = VirtualMachineGuestOsIdentifier("rhel6_64Guest")
 13729  	// Red Hat Enterprise Linux 7
 13730  	VirtualMachineGuestOsIdentifierRhel7Guest = VirtualMachineGuestOsIdentifier("rhel7Guest")
 13731  	// Red Hat Enterprise Linux 7 (64 bit)
 13732  	VirtualMachineGuestOsIdentifierRhel7_64Guest = VirtualMachineGuestOsIdentifier("rhel7_64Guest")
 13733  	// Red Hat Enterprise Linux 8 (64 bit)
 13734  	VirtualMachineGuestOsIdentifierRhel8_64Guest = VirtualMachineGuestOsIdentifier("rhel8_64Guest")
 13735  	// Red Hat Enterprise Linux 9 (64 bit)
 13736  	VirtualMachineGuestOsIdentifierRhel9_64Guest = VirtualMachineGuestOsIdentifier("rhel9_64Guest")
 13737  	// Red Hat Enterprise Linux 10 (64 bit)
 13738  	VirtualMachineGuestOsIdentifierRhel10_64Guest = VirtualMachineGuestOsIdentifier("rhel10_64Guest")
 13739  	// CentOS 4/5
 13740  	VirtualMachineGuestOsIdentifierCentosGuest = VirtualMachineGuestOsIdentifier("centosGuest")
 13741  	// CentOS 4/5 (64-bit)
 13742  	VirtualMachineGuestOsIdentifierCentos64Guest = VirtualMachineGuestOsIdentifier("centos64Guest")
 13743  	// CentOS 6
 13744  	VirtualMachineGuestOsIdentifierCentos6Guest = VirtualMachineGuestOsIdentifier("centos6Guest")
 13745  	// CentOS 6 (64-bit)
 13746  	VirtualMachineGuestOsIdentifierCentos6_64Guest = VirtualMachineGuestOsIdentifier("centos6_64Guest")
 13747  	// CentOS 7
 13748  	VirtualMachineGuestOsIdentifierCentos7Guest = VirtualMachineGuestOsIdentifier("centos7Guest")
 13749  	// CentOS 7 (64-bit)
 13750  	VirtualMachineGuestOsIdentifierCentos7_64Guest = VirtualMachineGuestOsIdentifier("centos7_64Guest")
 13751  	// CentOS 8 (64-bit)
 13752  	VirtualMachineGuestOsIdentifierCentos8_64Guest = VirtualMachineGuestOsIdentifier("centos8_64Guest")
 13753  	// CentOS 9 (64-bit)
 13754  	VirtualMachineGuestOsIdentifierCentos9_64Guest = VirtualMachineGuestOsIdentifier("centos9_64Guest")
 13755  	// Oracle Linux 4/5
 13756  	VirtualMachineGuestOsIdentifierOracleLinuxGuest = VirtualMachineGuestOsIdentifier("oracleLinuxGuest")
 13757  	// Oracle Linux 4/5 (64-bit)
 13758  	VirtualMachineGuestOsIdentifierOracleLinux64Guest = VirtualMachineGuestOsIdentifier("oracleLinux64Guest")
 13759  	// Oracle 6
 13760  	VirtualMachineGuestOsIdentifierOracleLinux6Guest = VirtualMachineGuestOsIdentifier("oracleLinux6Guest")
 13761  	// Oracle 6 (64-bit)
 13762  	VirtualMachineGuestOsIdentifierOracleLinux6_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux6_64Guest")
 13763  	// Oracle 7
 13764  	VirtualMachineGuestOsIdentifierOracleLinux7Guest = VirtualMachineGuestOsIdentifier("oracleLinux7Guest")
 13765  	// Oracle 7 (64-bit)
 13766  	VirtualMachineGuestOsIdentifierOracleLinux7_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux7_64Guest")
 13767  	// Oracle 8 (64-bit)
 13768  	VirtualMachineGuestOsIdentifierOracleLinux8_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux8_64Guest")
 13769  	// Oracle 9 (64-bit)
 13770  	VirtualMachineGuestOsIdentifierOracleLinux9_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux9_64Guest")
 13771  	// Oracle 10 (64-bit)
 13772  	VirtualMachineGuestOsIdentifierOracleLinux10_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux10_64Guest")
 13773  	// Suse Linux
 13774  	VirtualMachineGuestOsIdentifierSuseGuest = VirtualMachineGuestOsIdentifier("suseGuest")
 13775  	// Suse Linux (64 bit)
 13776  	VirtualMachineGuestOsIdentifierSuse64Guest = VirtualMachineGuestOsIdentifier("suse64Guest")
 13777  	// Suse Linux Enterprise Server 9
 13778  	VirtualMachineGuestOsIdentifierSlesGuest = VirtualMachineGuestOsIdentifier("slesGuest")
 13779  	// Suse Linux Enterprise Server 9 (64 bit)
 13780  	VirtualMachineGuestOsIdentifierSles64Guest = VirtualMachineGuestOsIdentifier("sles64Guest")
 13781  	// Suse linux Enterprise Server 10
 13782  	VirtualMachineGuestOsIdentifierSles10Guest = VirtualMachineGuestOsIdentifier("sles10Guest")
 13783  	// Suse Linux Enterprise Server 10 (64 bit)
 13784  	VirtualMachineGuestOsIdentifierSles10_64Guest = VirtualMachineGuestOsIdentifier("sles10_64Guest")
 13785  	// Suse linux Enterprise Server 11
 13786  	VirtualMachineGuestOsIdentifierSles11Guest = VirtualMachineGuestOsIdentifier("sles11Guest")
 13787  	// Suse Linux Enterprise Server 11 (64 bit)
 13788  	VirtualMachineGuestOsIdentifierSles11_64Guest = VirtualMachineGuestOsIdentifier("sles11_64Guest")
 13789  	// Suse linux Enterprise Server 12
 13790  	VirtualMachineGuestOsIdentifierSles12Guest = VirtualMachineGuestOsIdentifier("sles12Guest")
 13791  	// Suse Linux Enterprise Server 12 (64 bit)
 13792  	VirtualMachineGuestOsIdentifierSles12_64Guest = VirtualMachineGuestOsIdentifier("sles12_64Guest")
 13793  	// Suse Linux Enterprise Server 15 (64 bit)
 13794  	VirtualMachineGuestOsIdentifierSles15_64Guest = VirtualMachineGuestOsIdentifier("sles15_64Guest")
 13795  	// Suse Linux Enterprise Server 16 (64 bit)
 13796  	VirtualMachineGuestOsIdentifierSles16_64Guest = VirtualMachineGuestOsIdentifier("sles16_64Guest")
 13797  	// Novell Linux Desktop 9
 13798  	VirtualMachineGuestOsIdentifierNld9Guest = VirtualMachineGuestOsIdentifier("nld9Guest")
 13799  	// Open Enterprise Server
 13800  	VirtualMachineGuestOsIdentifierOesGuest = VirtualMachineGuestOsIdentifier("oesGuest")
 13801  	// Sun Java Desktop System
 13802  	VirtualMachineGuestOsIdentifierSjdsGuest = VirtualMachineGuestOsIdentifier("sjdsGuest")
 13803  	// Mandrake Linux
 13804  	VirtualMachineGuestOsIdentifierMandrakeGuest = VirtualMachineGuestOsIdentifier("mandrakeGuest")
 13805  	// Mandriva Linux
 13806  	VirtualMachineGuestOsIdentifierMandrivaGuest = VirtualMachineGuestOsIdentifier("mandrivaGuest")
 13807  	// Mandriva Linux (64 bit)
 13808  	VirtualMachineGuestOsIdentifierMandriva64Guest = VirtualMachineGuestOsIdentifier("mandriva64Guest")
 13809  	// Turbolinux
 13810  	VirtualMachineGuestOsIdentifierTurboLinuxGuest = VirtualMachineGuestOsIdentifier("turboLinuxGuest")
 13811  	// Turbolinux (64 bit)
 13812  	VirtualMachineGuestOsIdentifierTurboLinux64Guest = VirtualMachineGuestOsIdentifier("turboLinux64Guest")
 13813  	// Ubuntu Linux
 13814  	VirtualMachineGuestOsIdentifierUbuntuGuest = VirtualMachineGuestOsIdentifier("ubuntuGuest")
 13815  	// Ubuntu Linux (64 bit)
 13816  	VirtualMachineGuestOsIdentifierUbuntu64Guest = VirtualMachineGuestOsIdentifier("ubuntu64Guest")
 13817  	// Debian GNU/Linux 4
 13818  	VirtualMachineGuestOsIdentifierDebian4Guest = VirtualMachineGuestOsIdentifier("debian4Guest")
 13819  	// Debian GNU/Linux 4 (64 bit)
 13820  	VirtualMachineGuestOsIdentifierDebian4_64Guest = VirtualMachineGuestOsIdentifier("debian4_64Guest")
 13821  	// Debian GNU/Linux 5
 13822  	VirtualMachineGuestOsIdentifierDebian5Guest = VirtualMachineGuestOsIdentifier("debian5Guest")
 13823  	// Debian GNU/Linux 5 (64 bit)
 13824  	VirtualMachineGuestOsIdentifierDebian5_64Guest = VirtualMachineGuestOsIdentifier("debian5_64Guest")
 13825  	// Debian GNU/Linux 6
 13826  	VirtualMachineGuestOsIdentifierDebian6Guest = VirtualMachineGuestOsIdentifier("debian6Guest")
 13827  	// Debian GNU/Linux 6 (64 bit)
 13828  	VirtualMachineGuestOsIdentifierDebian6_64Guest = VirtualMachineGuestOsIdentifier("debian6_64Guest")
 13829  	// Debian GNU/Linux 7
 13830  	VirtualMachineGuestOsIdentifierDebian7Guest = VirtualMachineGuestOsIdentifier("debian7Guest")
 13831  	// Debian GNU/Linux 7 (64 bit)
 13832  	VirtualMachineGuestOsIdentifierDebian7_64Guest = VirtualMachineGuestOsIdentifier("debian7_64Guest")
 13833  	// Debian GNU/Linux 8
 13834  	VirtualMachineGuestOsIdentifierDebian8Guest = VirtualMachineGuestOsIdentifier("debian8Guest")
 13835  	// Debian GNU/Linux 8 (64 bit)
 13836  	VirtualMachineGuestOsIdentifierDebian8_64Guest = VirtualMachineGuestOsIdentifier("debian8_64Guest")
 13837  	// Debian GNU/Linux 9
 13838  	VirtualMachineGuestOsIdentifierDebian9Guest = VirtualMachineGuestOsIdentifier("debian9Guest")
 13839  	// Debian GNU/Linux 9 (64 bit)
 13840  	VirtualMachineGuestOsIdentifierDebian9_64Guest = VirtualMachineGuestOsIdentifier("debian9_64Guest")
 13841  	// Debian GNU/Linux 10
 13842  	VirtualMachineGuestOsIdentifierDebian10Guest = VirtualMachineGuestOsIdentifier("debian10Guest")
 13843  	// Debian GNU/Linux 10 (64 bit)
 13844  	VirtualMachineGuestOsIdentifierDebian10_64Guest = VirtualMachineGuestOsIdentifier("debian10_64Guest")
 13845  	// Debian GNU/Linux 11
 13846  	VirtualMachineGuestOsIdentifierDebian11Guest = VirtualMachineGuestOsIdentifier("debian11Guest")
 13847  	// Debian GNU/Linux 11 (64 bit)
 13848  	VirtualMachineGuestOsIdentifierDebian11_64Guest = VirtualMachineGuestOsIdentifier("debian11_64Guest")
 13849  	// Debian GNU/Linux 12
 13850  	VirtualMachineGuestOsIdentifierDebian12Guest = VirtualMachineGuestOsIdentifier("debian12Guest")
 13851  	// Debian GNU/Linux 12 (64 bit)
 13852  	VirtualMachineGuestOsIdentifierDebian12_64Guest = VirtualMachineGuestOsIdentifier("debian12_64Guest")
 13853  	// Debian GNU/Linux 13
 13854  	VirtualMachineGuestOsIdentifierDebian13Guest = VirtualMachineGuestOsIdentifier("debian13Guest")
 13855  	// Debian GNU/Linux 13 (64 bit)
 13856  	VirtualMachineGuestOsIdentifierDebian13_64Guest = VirtualMachineGuestOsIdentifier("debian13_64Guest")
 13857  	// Asianux Server 3
 13858  	VirtualMachineGuestOsIdentifierAsianux3Guest = VirtualMachineGuestOsIdentifier("asianux3Guest")
 13859  	// Asianux Server 3 (64 bit)
 13860  	VirtualMachineGuestOsIdentifierAsianux3_64Guest = VirtualMachineGuestOsIdentifier("asianux3_64Guest")
 13861  	// Asianux Server 4
 13862  	VirtualMachineGuestOsIdentifierAsianux4Guest = VirtualMachineGuestOsIdentifier("asianux4Guest")
 13863  	// Asianux Server 4 (64 bit)
 13864  	VirtualMachineGuestOsIdentifierAsianux4_64Guest = VirtualMachineGuestOsIdentifier("asianux4_64Guest")
 13865  	// Asianux Server 5 (64 bit)
 13866  	VirtualMachineGuestOsIdentifierAsianux5_64Guest = VirtualMachineGuestOsIdentifier("asianux5_64Guest")
 13867  	// Asianux Server 7 (64 bit)
 13868  	VirtualMachineGuestOsIdentifierAsianux7_64Guest = VirtualMachineGuestOsIdentifier("asianux7_64Guest")
 13869  	// Asianux Server 8 (64 bit)
 13870  	VirtualMachineGuestOsIdentifierAsianux8_64Guest = VirtualMachineGuestOsIdentifier("asianux8_64Guest")
 13871  	// Asianux Server 9 (64 bit)
 13872  	VirtualMachineGuestOsIdentifierAsianux9_64Guest = VirtualMachineGuestOsIdentifier("asianux9_64Guest")
 13873  	// MIRACLE LINUX (64-bit)
 13874  	VirtualMachineGuestOsIdentifierMiraclelinux_64Guest = VirtualMachineGuestOsIdentifier("miraclelinux_64Guest")
 13875  	// Pardus (64-bit)
 13876  	VirtualMachineGuestOsIdentifierPardus_64Guest = VirtualMachineGuestOsIdentifier("pardus_64Guest")
 13877  	// OpenSUSE Linux
 13878  	VirtualMachineGuestOsIdentifierOpensuseGuest = VirtualMachineGuestOsIdentifier("opensuseGuest")
 13879  	// OpenSUSE Linux (64 bit)
 13880  	VirtualMachineGuestOsIdentifierOpensuse64Guest = VirtualMachineGuestOsIdentifier("opensuse64Guest")
 13881  	// Fedora Linux
 13882  	VirtualMachineGuestOsIdentifierFedoraGuest = VirtualMachineGuestOsIdentifier("fedoraGuest")
 13883  	// Fedora Linux (64 bit)
 13884  	VirtualMachineGuestOsIdentifierFedora64Guest = VirtualMachineGuestOsIdentifier("fedora64Guest")
 13885  	// CoreOS Linux (64 bit)
 13886  	VirtualMachineGuestOsIdentifierCoreos64Guest = VirtualMachineGuestOsIdentifier("coreos64Guest")
 13887  	// VMware Photon (64 bit)
 13888  	VirtualMachineGuestOsIdentifierVmwarePhoton64Guest = VirtualMachineGuestOsIdentifier("vmwarePhoton64Guest")
 13889  	// Linux 2.4x Kernel
 13890  	VirtualMachineGuestOsIdentifierOther24xLinuxGuest = VirtualMachineGuestOsIdentifier("other24xLinuxGuest")
 13891  	// Linux 2.6x Kernel
 13892  	VirtualMachineGuestOsIdentifierOther26xLinuxGuest = VirtualMachineGuestOsIdentifier("other26xLinuxGuest")
 13893  	// Linux 2.2x Kernel
 13894  	VirtualMachineGuestOsIdentifierOtherLinuxGuest = VirtualMachineGuestOsIdentifier("otherLinuxGuest")
 13895  	// Linux 3.x Kernel
 13896  	VirtualMachineGuestOsIdentifierOther3xLinuxGuest = VirtualMachineGuestOsIdentifier("other3xLinuxGuest")
 13897  	// Linux 4.x Kernel
 13898  	VirtualMachineGuestOsIdentifierOther4xLinuxGuest = VirtualMachineGuestOsIdentifier("other4xLinuxGuest")
 13899  	// Linux 5.x Kernel
 13900  	VirtualMachineGuestOsIdentifierOther5xLinuxGuest = VirtualMachineGuestOsIdentifier("other5xLinuxGuest")
 13901  	// Linux 6.x Kernel
 13902  	VirtualMachineGuestOsIdentifierOther6xLinuxGuest = VirtualMachineGuestOsIdentifier("other6xLinuxGuest")
 13903  	// Linux 7.x Kernel
 13904  	VirtualMachineGuestOsIdentifierOther7xLinuxGuest = VirtualMachineGuestOsIdentifier("other7xLinuxGuest")
 13905  	// Other Linux
 13906  	VirtualMachineGuestOsIdentifierGenericLinuxGuest = VirtualMachineGuestOsIdentifier("genericLinuxGuest")
 13907  	// Linux 2.4.x Kernel (64 bit)
 13908  	VirtualMachineGuestOsIdentifierOther24xLinux64Guest = VirtualMachineGuestOsIdentifier("other24xLinux64Guest")
 13909  	// Linux 2.6.x Kernel (64 bit)
 13910  	VirtualMachineGuestOsIdentifierOther26xLinux64Guest = VirtualMachineGuestOsIdentifier("other26xLinux64Guest")
 13911  	// Linux 3.x Kernel (64 bit)
 13912  	VirtualMachineGuestOsIdentifierOther3xLinux64Guest = VirtualMachineGuestOsIdentifier("other3xLinux64Guest")
 13913  	// Linux 4.x Kernel (64 bit)
 13914  	VirtualMachineGuestOsIdentifierOther4xLinux64Guest = VirtualMachineGuestOsIdentifier("other4xLinux64Guest")
 13915  	// Linux 5.x Kernel (64 bit)
 13916  	VirtualMachineGuestOsIdentifierOther5xLinux64Guest = VirtualMachineGuestOsIdentifier("other5xLinux64Guest")
 13917  	// Linux 6.x Kernel (64 bit)
 13918  	VirtualMachineGuestOsIdentifierOther6xLinux64Guest = VirtualMachineGuestOsIdentifier("other6xLinux64Guest")
 13919  	// Linux 7.x Kernel (64 bit)
 13920  	VirtualMachineGuestOsIdentifierOther7xLinux64Guest = VirtualMachineGuestOsIdentifier("other7xLinux64Guest")
 13921  	// Linux (64 bit)
 13922  	VirtualMachineGuestOsIdentifierOtherLinux64Guest = VirtualMachineGuestOsIdentifier("otherLinux64Guest")
 13923  	// Solaris 6
 13924  	VirtualMachineGuestOsIdentifierSolaris6Guest = VirtualMachineGuestOsIdentifier("solaris6Guest")
 13925  	// Solaris 7
 13926  	VirtualMachineGuestOsIdentifierSolaris7Guest = VirtualMachineGuestOsIdentifier("solaris7Guest")
 13927  	// Solaris 8
 13928  	VirtualMachineGuestOsIdentifierSolaris8Guest = VirtualMachineGuestOsIdentifier("solaris8Guest")
 13929  	// Solaris 9
 13930  	VirtualMachineGuestOsIdentifierSolaris9Guest = VirtualMachineGuestOsIdentifier("solaris9Guest")
 13931  	// Solaris 10 (32 bit)
 13932  	VirtualMachineGuestOsIdentifierSolaris10Guest = VirtualMachineGuestOsIdentifier("solaris10Guest")
 13933  	// Solaris 10 (64 bit)
 13934  	VirtualMachineGuestOsIdentifierSolaris10_64Guest = VirtualMachineGuestOsIdentifier("solaris10_64Guest")
 13935  	// Solaris 11 (64 bit)
 13936  	VirtualMachineGuestOsIdentifierSolaris11_64Guest = VirtualMachineGuestOsIdentifier("solaris11_64Guest")
 13937  	// FusionOS (64 bit)
 13938  	VirtualMachineGuestOsIdentifierFusionos_64Guest = VirtualMachineGuestOsIdentifier("fusionos_64Guest")
 13939  	// ProLinux (64 bit)
 13940  	VirtualMachineGuestOsIdentifierProlinux_64Guest = VirtualMachineGuestOsIdentifier("prolinux_64Guest")
 13941  	// Kylinlinux (64 bit)
 13942  	VirtualMachineGuestOsIdentifierKylinlinux_64Guest = VirtualMachineGuestOsIdentifier("kylinlinux_64Guest")
 13943  	// OS/2
 13944  	VirtualMachineGuestOsIdentifierOs2Guest = VirtualMachineGuestOsIdentifier("os2Guest")
 13945  	// eComStation 1.x
 13946  	VirtualMachineGuestOsIdentifierEComStationGuest = VirtualMachineGuestOsIdentifier("eComStationGuest")
 13947  	// eComStation 2.0
 13948  	VirtualMachineGuestOsIdentifierEComStation2Guest = VirtualMachineGuestOsIdentifier("eComStation2Guest")
 13949  	// Novell NetWare 4
 13950  	VirtualMachineGuestOsIdentifierNetware4Guest = VirtualMachineGuestOsIdentifier("netware4Guest")
 13951  	// Novell NetWare 5.1
 13952  	VirtualMachineGuestOsIdentifierNetware5Guest = VirtualMachineGuestOsIdentifier("netware5Guest")
 13953  	// Novell NetWare 6.x
 13954  	VirtualMachineGuestOsIdentifierNetware6Guest = VirtualMachineGuestOsIdentifier("netware6Guest")
 13955  	// SCO OpenServer 5
 13956  	VirtualMachineGuestOsIdentifierOpenServer5Guest = VirtualMachineGuestOsIdentifier("openServer5Guest")
 13957  	// SCO OpenServer 6
 13958  	VirtualMachineGuestOsIdentifierOpenServer6Guest = VirtualMachineGuestOsIdentifier("openServer6Guest")
 13959  	// SCO UnixWare 7
 13960  	VirtualMachineGuestOsIdentifierUnixWare7Guest = VirtualMachineGuestOsIdentifier("unixWare7Guest")
 13961  	// Mac OS 10.5
 13962  	VirtualMachineGuestOsIdentifierDarwinGuest = VirtualMachineGuestOsIdentifier("darwinGuest")
 13963  	// Mac OS 10.5 (64 bit)
 13964  	VirtualMachineGuestOsIdentifierDarwin64Guest = VirtualMachineGuestOsIdentifier("darwin64Guest")
 13965  	// Mac OS 10.6
 13966  	VirtualMachineGuestOsIdentifierDarwin10Guest = VirtualMachineGuestOsIdentifier("darwin10Guest")
 13967  	// Mac OS 10.6 (64 bit)
 13968  	VirtualMachineGuestOsIdentifierDarwin10_64Guest = VirtualMachineGuestOsIdentifier("darwin10_64Guest")
 13969  	// Mac OS 10.7
 13970  	VirtualMachineGuestOsIdentifierDarwin11Guest = VirtualMachineGuestOsIdentifier("darwin11Guest")
 13971  	// Mac OS 10.7 (64 bit)
 13972  	VirtualMachineGuestOsIdentifierDarwin11_64Guest = VirtualMachineGuestOsIdentifier("darwin11_64Guest")
 13973  	// Mac OS 10.8 (64 bit)
 13974  	VirtualMachineGuestOsIdentifierDarwin12_64Guest = VirtualMachineGuestOsIdentifier("darwin12_64Guest")
 13975  	// Mac OS 10.9 (64 bit)
 13976  	VirtualMachineGuestOsIdentifierDarwin13_64Guest = VirtualMachineGuestOsIdentifier("darwin13_64Guest")
 13977  	// Mac OS 10.10 (64 bit)
 13978  	VirtualMachineGuestOsIdentifierDarwin14_64Guest = VirtualMachineGuestOsIdentifier("darwin14_64Guest")
 13979  	// Mac OS 10.11 (64 bit)
 13980  	VirtualMachineGuestOsIdentifierDarwin15_64Guest = VirtualMachineGuestOsIdentifier("darwin15_64Guest")
 13981  	// Mac OS 10.12 (64 bit)
 13982  	VirtualMachineGuestOsIdentifierDarwin16_64Guest = VirtualMachineGuestOsIdentifier("darwin16_64Guest")
 13983  	// macOS 10.13 (64 bit)
 13984  	VirtualMachineGuestOsIdentifierDarwin17_64Guest = VirtualMachineGuestOsIdentifier("darwin17_64Guest")
 13985  	// macOS 10.14 (64 bit)
 13986  	VirtualMachineGuestOsIdentifierDarwin18_64Guest = VirtualMachineGuestOsIdentifier("darwin18_64Guest")
 13987  	// macOS 10.15 (64 bit)
 13988  	VirtualMachineGuestOsIdentifierDarwin19_64Guest = VirtualMachineGuestOsIdentifier("darwin19_64Guest")
 13989  	// macOS 11 (64 bit)
 13990  	VirtualMachineGuestOsIdentifierDarwin20_64Guest = VirtualMachineGuestOsIdentifier("darwin20_64Guest")
 13991  	// macOS 12 (64 bit)
 13992  	VirtualMachineGuestOsIdentifierDarwin21_64Guest = VirtualMachineGuestOsIdentifier("darwin21_64Guest")
 13993  	// macOS 13 (64 bit)
 13994  	VirtualMachineGuestOsIdentifierDarwin22_64Guest = VirtualMachineGuestOsIdentifier("darwin22_64Guest")
 13995  	// macOS 14 (64 bit)
 13996  	VirtualMachineGuestOsIdentifierDarwin23_64Guest = VirtualMachineGuestOsIdentifier("darwin23_64Guest")
 13997  	// VMware ESX 4
 13998  	VirtualMachineGuestOsIdentifierVmkernelGuest = VirtualMachineGuestOsIdentifier("vmkernelGuest")
 13999  	// VMware ESX 5
 14000  	VirtualMachineGuestOsIdentifierVmkernel5Guest = VirtualMachineGuestOsIdentifier("vmkernel5Guest")
 14001  	// VMware ESX 6
 14002  	VirtualMachineGuestOsIdentifierVmkernel6Guest = VirtualMachineGuestOsIdentifier("vmkernel6Guest")
 14003  	// VMware ESXi 6.5 AND ESXi 6.7.
 14004  	VirtualMachineGuestOsIdentifierVmkernel65Guest = VirtualMachineGuestOsIdentifier("vmkernel65Guest")
 14005  	// VMware ESX 7
 14006  	VirtualMachineGuestOsIdentifierVmkernel7Guest = VirtualMachineGuestOsIdentifier("vmkernel7Guest")
 14007  	// VMware ESX 8
 14008  	VirtualMachineGuestOsIdentifierVmkernel8Guest = VirtualMachineGuestOsIdentifier("vmkernel8Guest")
 14009  	// VMware ESX 9
 14010  	VirtualMachineGuestOsIdentifierVmkernel9Guest = VirtualMachineGuestOsIdentifier("vmkernel9Guest")
 14011  	// Amazon Linux 2 (64 bit)
 14012  	VirtualMachineGuestOsIdentifierAmazonlinux2_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux2_64Guest")
 14013  	// Amazon Linux 3 (64 bit)
 14014  	VirtualMachineGuestOsIdentifierAmazonlinux3_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux3_64Guest")
 14015  	// CRX Pod 1
 14016  	VirtualMachineGuestOsIdentifierCrxPod1Guest = VirtualMachineGuestOsIdentifier("crxPod1Guest")
 14017  	// CRX Sys 1
 14018  	VirtualMachineGuestOsIdentifierCrxSys1Guest = VirtualMachineGuestOsIdentifier("crxSys1Guest")
 14019  	// Rocky Linux (64-bit)
 14020  	VirtualMachineGuestOsIdentifierRockylinux_64Guest = VirtualMachineGuestOsIdentifier("rockylinux_64Guest")
 14021  	// AlmaLinux (64-bit)
 14022  	VirtualMachineGuestOsIdentifierAlmalinux_64Guest = VirtualMachineGuestOsIdentifier("almalinux_64Guest")
 14023  	// Other Operating System
 14024  	VirtualMachineGuestOsIdentifierOtherGuest = VirtualMachineGuestOsIdentifier("otherGuest")
 14025  	// Other Operating System (64 bit)
 14026  	VirtualMachineGuestOsIdentifierOtherGuest64 = VirtualMachineGuestOsIdentifier("otherGuest64")
 14027  )
 14028  
 14029  func (e VirtualMachineGuestOsIdentifier) Values() []VirtualMachineGuestOsIdentifier {
 14030  	return []VirtualMachineGuestOsIdentifier{
 14031  		VirtualMachineGuestOsIdentifierDosGuest,
 14032  		VirtualMachineGuestOsIdentifierWin31Guest,
 14033  		VirtualMachineGuestOsIdentifierWin95Guest,
 14034  		VirtualMachineGuestOsIdentifierWin98Guest,
 14035  		VirtualMachineGuestOsIdentifierWinMeGuest,
 14036  		VirtualMachineGuestOsIdentifierWinNTGuest,
 14037  		VirtualMachineGuestOsIdentifierWin2000ProGuest,
 14038  		VirtualMachineGuestOsIdentifierWin2000ServGuest,
 14039  		VirtualMachineGuestOsIdentifierWin2000AdvServGuest,
 14040  		VirtualMachineGuestOsIdentifierWinXPHomeGuest,
 14041  		VirtualMachineGuestOsIdentifierWinXPProGuest,
 14042  		VirtualMachineGuestOsIdentifierWinXPPro64Guest,
 14043  		VirtualMachineGuestOsIdentifierWinNetWebGuest,
 14044  		VirtualMachineGuestOsIdentifierWinNetStandardGuest,
 14045  		VirtualMachineGuestOsIdentifierWinNetEnterpriseGuest,
 14046  		VirtualMachineGuestOsIdentifierWinNetDatacenterGuest,
 14047  		VirtualMachineGuestOsIdentifierWinNetBusinessGuest,
 14048  		VirtualMachineGuestOsIdentifierWinNetStandard64Guest,
 14049  		VirtualMachineGuestOsIdentifierWinNetEnterprise64Guest,
 14050  		VirtualMachineGuestOsIdentifierWinLonghornGuest,
 14051  		VirtualMachineGuestOsIdentifierWinLonghorn64Guest,
 14052  		VirtualMachineGuestOsIdentifierWinNetDatacenter64Guest,
 14053  		VirtualMachineGuestOsIdentifierWinVistaGuest,
 14054  		VirtualMachineGuestOsIdentifierWinVista64Guest,
 14055  		VirtualMachineGuestOsIdentifierWindows7Guest,
 14056  		VirtualMachineGuestOsIdentifierWindows7_64Guest,
 14057  		VirtualMachineGuestOsIdentifierWindows7Server64Guest,
 14058  		VirtualMachineGuestOsIdentifierWindows8Guest,
 14059  		VirtualMachineGuestOsIdentifierWindows8_64Guest,
 14060  		VirtualMachineGuestOsIdentifierWindows8Server64Guest,
 14061  		VirtualMachineGuestOsIdentifierWindows9Guest,
 14062  		VirtualMachineGuestOsIdentifierWindows9_64Guest,
 14063  		VirtualMachineGuestOsIdentifierWindows9Server64Guest,
 14064  		VirtualMachineGuestOsIdentifierWindows11_64Guest,
 14065  		VirtualMachineGuestOsIdentifierWindows12_64Guest,
 14066  		VirtualMachineGuestOsIdentifierWindowsHyperVGuest,
 14067  		VirtualMachineGuestOsIdentifierWindows2019srv_64Guest,
 14068  		VirtualMachineGuestOsIdentifierWindows2019srvNext_64Guest,
 14069  		VirtualMachineGuestOsIdentifierWindows2022srvNext_64Guest,
 14070  		VirtualMachineGuestOsIdentifierFreebsdGuest,
 14071  		VirtualMachineGuestOsIdentifierFreebsd64Guest,
 14072  		VirtualMachineGuestOsIdentifierFreebsd11Guest,
 14073  		VirtualMachineGuestOsIdentifierFreebsd11_64Guest,
 14074  		VirtualMachineGuestOsIdentifierFreebsd12Guest,
 14075  		VirtualMachineGuestOsIdentifierFreebsd12_64Guest,
 14076  		VirtualMachineGuestOsIdentifierFreebsd13Guest,
 14077  		VirtualMachineGuestOsIdentifierFreebsd13_64Guest,
 14078  		VirtualMachineGuestOsIdentifierFreebsd14Guest,
 14079  		VirtualMachineGuestOsIdentifierFreebsd14_64Guest,
 14080  		VirtualMachineGuestOsIdentifierFreebsd15Guest,
 14081  		VirtualMachineGuestOsIdentifierFreebsd15_64Guest,
 14082  		VirtualMachineGuestOsIdentifierRedhatGuest,
 14083  		VirtualMachineGuestOsIdentifierRhel2Guest,
 14084  		VirtualMachineGuestOsIdentifierRhel3Guest,
 14085  		VirtualMachineGuestOsIdentifierRhel3_64Guest,
 14086  		VirtualMachineGuestOsIdentifierRhel4Guest,
 14087  		VirtualMachineGuestOsIdentifierRhel4_64Guest,
 14088  		VirtualMachineGuestOsIdentifierRhel5Guest,
 14089  		VirtualMachineGuestOsIdentifierRhel5_64Guest,
 14090  		VirtualMachineGuestOsIdentifierRhel6Guest,
 14091  		VirtualMachineGuestOsIdentifierRhel6_64Guest,
 14092  		VirtualMachineGuestOsIdentifierRhel7Guest,
 14093  		VirtualMachineGuestOsIdentifierRhel7_64Guest,
 14094  		VirtualMachineGuestOsIdentifierRhel8_64Guest,
 14095  		VirtualMachineGuestOsIdentifierRhel9_64Guest,
 14096  		VirtualMachineGuestOsIdentifierRhel10_64Guest,
 14097  		VirtualMachineGuestOsIdentifierCentosGuest,
 14098  		VirtualMachineGuestOsIdentifierCentos64Guest,
 14099  		VirtualMachineGuestOsIdentifierCentos6Guest,
 14100  		VirtualMachineGuestOsIdentifierCentos6_64Guest,
 14101  		VirtualMachineGuestOsIdentifierCentos7Guest,
 14102  		VirtualMachineGuestOsIdentifierCentos7_64Guest,
 14103  		VirtualMachineGuestOsIdentifierCentos8_64Guest,
 14104  		VirtualMachineGuestOsIdentifierCentos9_64Guest,
 14105  		VirtualMachineGuestOsIdentifierOracleLinuxGuest,
 14106  		VirtualMachineGuestOsIdentifierOracleLinux64Guest,
 14107  		VirtualMachineGuestOsIdentifierOracleLinux6Guest,
 14108  		VirtualMachineGuestOsIdentifierOracleLinux6_64Guest,
 14109  		VirtualMachineGuestOsIdentifierOracleLinux7Guest,
 14110  		VirtualMachineGuestOsIdentifierOracleLinux7_64Guest,
 14111  		VirtualMachineGuestOsIdentifierOracleLinux8_64Guest,
 14112  		VirtualMachineGuestOsIdentifierOracleLinux9_64Guest,
 14113  		VirtualMachineGuestOsIdentifierOracleLinux10_64Guest,
 14114  		VirtualMachineGuestOsIdentifierSuseGuest,
 14115  		VirtualMachineGuestOsIdentifierSuse64Guest,
 14116  		VirtualMachineGuestOsIdentifierSlesGuest,
 14117  		VirtualMachineGuestOsIdentifierSles64Guest,
 14118  		VirtualMachineGuestOsIdentifierSles10Guest,
 14119  		VirtualMachineGuestOsIdentifierSles10_64Guest,
 14120  		VirtualMachineGuestOsIdentifierSles11Guest,
 14121  		VirtualMachineGuestOsIdentifierSles11_64Guest,
 14122  		VirtualMachineGuestOsIdentifierSles12Guest,
 14123  		VirtualMachineGuestOsIdentifierSles12_64Guest,
 14124  		VirtualMachineGuestOsIdentifierSles15_64Guest,
 14125  		VirtualMachineGuestOsIdentifierSles16_64Guest,
 14126  		VirtualMachineGuestOsIdentifierNld9Guest,
 14127  		VirtualMachineGuestOsIdentifierOesGuest,
 14128  		VirtualMachineGuestOsIdentifierSjdsGuest,
 14129  		VirtualMachineGuestOsIdentifierMandrakeGuest,
 14130  		VirtualMachineGuestOsIdentifierMandrivaGuest,
 14131  		VirtualMachineGuestOsIdentifierMandriva64Guest,
 14132  		VirtualMachineGuestOsIdentifierTurboLinuxGuest,
 14133  		VirtualMachineGuestOsIdentifierTurboLinux64Guest,
 14134  		VirtualMachineGuestOsIdentifierUbuntuGuest,
 14135  		VirtualMachineGuestOsIdentifierUbuntu64Guest,
 14136  		VirtualMachineGuestOsIdentifierDebian4Guest,
 14137  		VirtualMachineGuestOsIdentifierDebian4_64Guest,
 14138  		VirtualMachineGuestOsIdentifierDebian5Guest,
 14139  		VirtualMachineGuestOsIdentifierDebian5_64Guest,
 14140  		VirtualMachineGuestOsIdentifierDebian6Guest,
 14141  		VirtualMachineGuestOsIdentifierDebian6_64Guest,
 14142  		VirtualMachineGuestOsIdentifierDebian7Guest,
 14143  		VirtualMachineGuestOsIdentifierDebian7_64Guest,
 14144  		VirtualMachineGuestOsIdentifierDebian8Guest,
 14145  		VirtualMachineGuestOsIdentifierDebian8_64Guest,
 14146  		VirtualMachineGuestOsIdentifierDebian9Guest,
 14147  		VirtualMachineGuestOsIdentifierDebian9_64Guest,
 14148  		VirtualMachineGuestOsIdentifierDebian10Guest,
 14149  		VirtualMachineGuestOsIdentifierDebian10_64Guest,
 14150  		VirtualMachineGuestOsIdentifierDebian11Guest,
 14151  		VirtualMachineGuestOsIdentifierDebian11_64Guest,
 14152  		VirtualMachineGuestOsIdentifierDebian12Guest,
 14153  		VirtualMachineGuestOsIdentifierDebian12_64Guest,
 14154  		VirtualMachineGuestOsIdentifierDebian13Guest,
 14155  		VirtualMachineGuestOsIdentifierDebian13_64Guest,
 14156  		VirtualMachineGuestOsIdentifierAsianux3Guest,
 14157  		VirtualMachineGuestOsIdentifierAsianux3_64Guest,
 14158  		VirtualMachineGuestOsIdentifierAsianux4Guest,
 14159  		VirtualMachineGuestOsIdentifierAsianux4_64Guest,
 14160  		VirtualMachineGuestOsIdentifierAsianux5_64Guest,
 14161  		VirtualMachineGuestOsIdentifierAsianux7_64Guest,
 14162  		VirtualMachineGuestOsIdentifierAsianux8_64Guest,
 14163  		VirtualMachineGuestOsIdentifierAsianux9_64Guest,
 14164  		VirtualMachineGuestOsIdentifierMiraclelinux_64Guest,
 14165  		VirtualMachineGuestOsIdentifierPardus_64Guest,
 14166  		VirtualMachineGuestOsIdentifierOpensuseGuest,
 14167  		VirtualMachineGuestOsIdentifierOpensuse64Guest,
 14168  		VirtualMachineGuestOsIdentifierFedoraGuest,
 14169  		VirtualMachineGuestOsIdentifierFedora64Guest,
 14170  		VirtualMachineGuestOsIdentifierCoreos64Guest,
 14171  		VirtualMachineGuestOsIdentifierVmwarePhoton64Guest,
 14172  		VirtualMachineGuestOsIdentifierOther24xLinuxGuest,
 14173  		VirtualMachineGuestOsIdentifierOther26xLinuxGuest,
 14174  		VirtualMachineGuestOsIdentifierOtherLinuxGuest,
 14175  		VirtualMachineGuestOsIdentifierOther3xLinuxGuest,
 14176  		VirtualMachineGuestOsIdentifierOther4xLinuxGuest,
 14177  		VirtualMachineGuestOsIdentifierOther5xLinuxGuest,
 14178  		VirtualMachineGuestOsIdentifierOther6xLinuxGuest,
 14179  		VirtualMachineGuestOsIdentifierOther7xLinuxGuest,
 14180  		VirtualMachineGuestOsIdentifierGenericLinuxGuest,
 14181  		VirtualMachineGuestOsIdentifierOther24xLinux64Guest,
 14182  		VirtualMachineGuestOsIdentifierOther26xLinux64Guest,
 14183  		VirtualMachineGuestOsIdentifierOther3xLinux64Guest,
 14184  		VirtualMachineGuestOsIdentifierOther4xLinux64Guest,
 14185  		VirtualMachineGuestOsIdentifierOther5xLinux64Guest,
 14186  		VirtualMachineGuestOsIdentifierOther6xLinux64Guest,
 14187  		VirtualMachineGuestOsIdentifierOther7xLinux64Guest,
 14188  		VirtualMachineGuestOsIdentifierOtherLinux64Guest,
 14189  		VirtualMachineGuestOsIdentifierSolaris6Guest,
 14190  		VirtualMachineGuestOsIdentifierSolaris7Guest,
 14191  		VirtualMachineGuestOsIdentifierSolaris8Guest,
 14192  		VirtualMachineGuestOsIdentifierSolaris9Guest,
 14193  		VirtualMachineGuestOsIdentifierSolaris10Guest,
 14194  		VirtualMachineGuestOsIdentifierSolaris10_64Guest,
 14195  		VirtualMachineGuestOsIdentifierSolaris11_64Guest,
 14196  		VirtualMachineGuestOsIdentifierFusionos_64Guest,
 14197  		VirtualMachineGuestOsIdentifierProlinux_64Guest,
 14198  		VirtualMachineGuestOsIdentifierKylinlinux_64Guest,
 14199  		VirtualMachineGuestOsIdentifierOs2Guest,
 14200  		VirtualMachineGuestOsIdentifierEComStationGuest,
 14201  		VirtualMachineGuestOsIdentifierEComStation2Guest,
 14202  		VirtualMachineGuestOsIdentifierNetware4Guest,
 14203  		VirtualMachineGuestOsIdentifierNetware5Guest,
 14204  		VirtualMachineGuestOsIdentifierNetware6Guest,
 14205  		VirtualMachineGuestOsIdentifierOpenServer5Guest,
 14206  		VirtualMachineGuestOsIdentifierOpenServer6Guest,
 14207  		VirtualMachineGuestOsIdentifierUnixWare7Guest,
 14208  		VirtualMachineGuestOsIdentifierDarwinGuest,
 14209  		VirtualMachineGuestOsIdentifierDarwin64Guest,
 14210  		VirtualMachineGuestOsIdentifierDarwin10Guest,
 14211  		VirtualMachineGuestOsIdentifierDarwin10_64Guest,
 14212  		VirtualMachineGuestOsIdentifierDarwin11Guest,
 14213  		VirtualMachineGuestOsIdentifierDarwin11_64Guest,
 14214  		VirtualMachineGuestOsIdentifierDarwin12_64Guest,
 14215  		VirtualMachineGuestOsIdentifierDarwin13_64Guest,
 14216  		VirtualMachineGuestOsIdentifierDarwin14_64Guest,
 14217  		VirtualMachineGuestOsIdentifierDarwin15_64Guest,
 14218  		VirtualMachineGuestOsIdentifierDarwin16_64Guest,
 14219  		VirtualMachineGuestOsIdentifierDarwin17_64Guest,
 14220  		VirtualMachineGuestOsIdentifierDarwin18_64Guest,
 14221  		VirtualMachineGuestOsIdentifierDarwin19_64Guest,
 14222  		VirtualMachineGuestOsIdentifierDarwin20_64Guest,
 14223  		VirtualMachineGuestOsIdentifierDarwin21_64Guest,
 14224  		VirtualMachineGuestOsIdentifierDarwin22_64Guest,
 14225  		VirtualMachineGuestOsIdentifierDarwin23_64Guest,
 14226  		VirtualMachineGuestOsIdentifierVmkernelGuest,
 14227  		VirtualMachineGuestOsIdentifierVmkernel5Guest,
 14228  		VirtualMachineGuestOsIdentifierVmkernel6Guest,
 14229  		VirtualMachineGuestOsIdentifierVmkernel65Guest,
 14230  		VirtualMachineGuestOsIdentifierVmkernel7Guest,
 14231  		VirtualMachineGuestOsIdentifierVmkernel8Guest,
 14232  		VirtualMachineGuestOsIdentifierVmkernel9Guest,
 14233  		VirtualMachineGuestOsIdentifierAmazonlinux2_64Guest,
 14234  		VirtualMachineGuestOsIdentifierAmazonlinux3_64Guest,
 14235  		VirtualMachineGuestOsIdentifierCrxPod1Guest,
 14236  		VirtualMachineGuestOsIdentifierCrxSys1Guest,
 14237  		VirtualMachineGuestOsIdentifierRockylinux_64Guest,
 14238  		VirtualMachineGuestOsIdentifierAlmalinux_64Guest,
 14239  		VirtualMachineGuestOsIdentifierOtherGuest,
 14240  		VirtualMachineGuestOsIdentifierOtherGuest64,
 14241  	}
 14242  }
 14243  
 14244  func (e VirtualMachineGuestOsIdentifier) Strings() []string {
 14245  	return EnumValuesAsStrings(e.Values())
 14246  }
 14247  
 14248  func init() {
 14249  	t["VirtualMachineGuestOsIdentifier"] = reflect.TypeOf((*VirtualMachineGuestOsIdentifier)(nil)).Elem()
 14250  	minAPIVersionForEnumValue["VirtualMachineGuestOsIdentifier"] = map[string]string{
 14251  		"windows11_64Guest":          "8.0.0.1",
 14252  		"windows12_64Guest":          "8.0.0.1",
 14253  		"windows2019srvNext_64Guest": "7.0.1.0",
 14254  		"windows2022srvNext_64Guest": "8.0.0.1",
 14255  		"freebsd13Guest":             "7.0.1.0",
 14256  		"freebsd13_64Guest":          "7.0.1.0",
 14257  		"freebsd14Guest":             "8.0.0.1",
 14258  		"freebsd14_64Guest":          "8.0.0.1",
 14259  		"freebsd15Guest":             "9.0.0.0",
 14260  		"freebsd15_64Guest":          "9.0.0.0",
 14261  		"rhel9_64Guest":              "7.0.1.0",
 14262  		"rhel10_64Guest":             "9.0.0.0",
 14263  		"centos9_64Guest":            "7.0.1.0",
 14264  		"oracleLinux9_64Guest":       "7.0.1.0",
 14265  		"oracleLinux10_64Guest":      "9.0.0.0",
 14266  		"sles16_64Guest":             "7.0.1.0",
 14267  		"debian12Guest":              "8.0.0.1",
 14268  		"debian12_64Guest":           "8.0.0.1",
 14269  		"debian13Guest":              "9.0.0.0",
 14270  		"debian13_64Guest":           "9.0.0.0",
 14271  		"asianux9_64Guest":           "7.0.1.0",
 14272  		"miraclelinux_64Guest":       "9.0.0.0",
 14273  		"pardus_64Guest":             "9.0.0.0",
 14274  		"other5xLinuxGuest":          "7.0.1.0",
 14275  		"other6xLinuxGuest":          "8.0.0.1",
 14276  		"other7xLinuxGuest":          "9.0.0.0",
 14277  		"other5xLinux64Guest":        "7.0.1.0",
 14278  		"other6xLinux64Guest":        "8.0.0.1",
 14279  		"other7xLinux64Guest":        "9.0.0.0",
 14280  		"fusionos_64Guest":           "9.0.0.0",
 14281  		"prolinux_64Guest":           "9.0.0.0",
 14282  		"kylinlinux_64Guest":         "9.0.0.0",
 14283  		"darwin20_64Guest":           "7.0.1.0",
 14284  		"darwin21_64Guest":           "7.0.1.0",
 14285  		"darwin22_64Guest":           "8.0.0.1",
 14286  		"darwin23_64Guest":           "8.0.0.1",
 14287  		"vmkernel8Guest":             "8.0.0.1",
 14288  		"vmkernel9Guest":             "9.0.0.0",
 14289  		"amazonlinux3_64Guest":       "7.0.1.0",
 14290  		"crxSys1Guest":               "8.0.3.0",
 14291  		"rockylinux_64Guest":         "8.0.0.1",
 14292  		"almalinux_64Guest":          "8.0.0.1",
 14293  	}
 14294  }
 14295  
 14296  // The possible hints that the guest could display about current tasks
 14297  // inside the guest.
 14298  type VirtualMachineGuestState string
 14299  
 14300  const (
 14301  	VirtualMachineGuestStateRunning      = VirtualMachineGuestState("running")
 14302  	VirtualMachineGuestStateShuttingDown = VirtualMachineGuestState("shuttingDown")
 14303  	VirtualMachineGuestStateResetting    = VirtualMachineGuestState("resetting")
 14304  	VirtualMachineGuestStateStandby      = VirtualMachineGuestState("standby")
 14305  	VirtualMachineGuestStateNotRunning   = VirtualMachineGuestState("notRunning")
 14306  	VirtualMachineGuestStateUnknown      = VirtualMachineGuestState("unknown")
 14307  )
 14308  
 14309  func (e VirtualMachineGuestState) Values() []VirtualMachineGuestState {
 14310  	return []VirtualMachineGuestState{
 14311  		VirtualMachineGuestStateRunning,
 14312  		VirtualMachineGuestStateShuttingDown,
 14313  		VirtualMachineGuestStateResetting,
 14314  		VirtualMachineGuestStateStandby,
 14315  		VirtualMachineGuestStateNotRunning,
 14316  		VirtualMachineGuestStateUnknown,
 14317  	}
 14318  }
 14319  
 14320  func (e VirtualMachineGuestState) Strings() []string {
 14321  	return EnumValuesAsStrings(e.Values())
 14322  }
 14323  
 14324  func init() {
 14325  	t["VirtualMachineGuestState"] = reflect.TypeOf((*VirtualMachineGuestState)(nil)).Elem()
 14326  }
 14327  
 14328  // Deprecated as of vSphere API 6.7.
 14329  //
 14330  // Set of possible values for `VirtualMachineFlagInfo.htSharing`.
 14331  type VirtualMachineHtSharing string
 14332  
 14333  const (
 14334  	// VCPUs may freely share cores at any time with any other
 14335  	// VCPUs (default for all virtual machines on a hyperthreaded
 14336  	// system).
 14337  	VirtualMachineHtSharingAny = VirtualMachineHtSharing("any")
 14338  	// VCPUs should not share cores with each other or with VCPUs
 14339  	// from other virtual machines.
 14340  	//
 14341  	// That is, each VCPU from this
 14342  	// virtual machine should always get a whole core to itself,
 14343  	// with the other logical CPU on that core being placed into
 14344  	// the "halted" state.
 14345  	VirtualMachineHtSharingNone = VirtualMachineHtSharing("none")
 14346  	// Similar to "none", in that VCPUs from this virtual machine
 14347  	// will not be allowed to share cores with VCPUs from other
 14348  	// virtual machines.
 14349  	//
 14350  	// However, other VCPUs from the same virtual
 14351  	// machine will be allowed to share cores together. This
 14352  	// configuration option is only permitted for SMP virtual
 14353  	// machines. If applied to a uniprocessor virtual machine, it
 14354  	// will be converted to the "none" sharing option.
 14355  	VirtualMachineHtSharingInternal = VirtualMachineHtSharing("internal")
 14356  )
 14357  
 14358  func (e VirtualMachineHtSharing) Values() []VirtualMachineHtSharing {
 14359  	return []VirtualMachineHtSharing{
 14360  		VirtualMachineHtSharingAny,
 14361  		VirtualMachineHtSharingNone,
 14362  		VirtualMachineHtSharingInternal,
 14363  	}
 14364  }
 14365  
 14366  func (e VirtualMachineHtSharing) Strings() []string {
 14367  	return EnumValuesAsStrings(e.Values())
 14368  }
 14369  
 14370  func init() {
 14371  	t["VirtualMachineHtSharing"] = reflect.TypeOf((*VirtualMachineHtSharing)(nil)).Elem()
 14372  }
 14373  
 14374  // Means for allocating additional memory for virtual machines.
 14375  type VirtualMachineMemoryAllocationPolicy string
 14376  
 14377  const (
 14378  	// Fit all virtual machine memory into reserved host memory.
 14379  	VirtualMachineMemoryAllocationPolicySwapNone = VirtualMachineMemoryAllocationPolicy("swapNone")
 14380  	// Allow some virtual machine memory to be swapped.
 14381  	VirtualMachineMemoryAllocationPolicySwapSome = VirtualMachineMemoryAllocationPolicy("swapSome")
 14382  	// Allow most virtual machine memory to be swapped.
 14383  	VirtualMachineMemoryAllocationPolicySwapMost = VirtualMachineMemoryAllocationPolicy("swapMost")
 14384  )
 14385  
 14386  func (e VirtualMachineMemoryAllocationPolicy) Values() []VirtualMachineMemoryAllocationPolicy {
 14387  	return []VirtualMachineMemoryAllocationPolicy{
 14388  		VirtualMachineMemoryAllocationPolicySwapNone,
 14389  		VirtualMachineMemoryAllocationPolicySwapSome,
 14390  		VirtualMachineMemoryAllocationPolicySwapMost,
 14391  	}
 14392  }
 14393  
 14394  func (e VirtualMachineMemoryAllocationPolicy) Strings() []string {
 14395  	return EnumValuesAsStrings(e.Values())
 14396  }
 14397  
 14398  func init() {
 14399  	t["VirtualMachineMemoryAllocationPolicy"] = reflect.TypeOf((*VirtualMachineMemoryAllocationPolicy)(nil)).Elem()
 14400  }
 14401  
 14402  // This enum represents the set of legal operations
 14403  type VirtualMachineMetadataManagerVmMetadataOp string
 14404  
 14405  const (
 14406  	// Create or update the Metadata for the specified VM
 14407  	VirtualMachineMetadataManagerVmMetadataOpUpdate = VirtualMachineMetadataManagerVmMetadataOp("Update")
 14408  	// Remove the Metadata for the specified VM
 14409  	VirtualMachineMetadataManagerVmMetadataOpRemove = VirtualMachineMetadataManagerVmMetadataOp("Remove")
 14410  )
 14411  
 14412  func (e VirtualMachineMetadataManagerVmMetadataOp) Values() []VirtualMachineMetadataManagerVmMetadataOp {
 14413  	return []VirtualMachineMetadataManagerVmMetadataOp{
 14414  		VirtualMachineMetadataManagerVmMetadataOpUpdate,
 14415  		VirtualMachineMetadataManagerVmMetadataOpRemove,
 14416  	}
 14417  }
 14418  
 14419  func (e VirtualMachineMetadataManagerVmMetadataOp) Strings() []string {
 14420  	return EnumValuesAsStrings(e.Values())
 14421  }
 14422  
 14423  func init() {
 14424  	t["VirtualMachineMetadataManagerVmMetadataOp"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOp)(nil)).Elem()
 14425  }
 14426  
 14427  // This enum contains a list of valid owner values for
 14428  // the name field
 14429  type VirtualMachineMetadataManagerVmMetadataOwnerOwner string
 14430  
 14431  const (
 14432  	VirtualMachineMetadataManagerVmMetadataOwnerOwnerComVmwareVsphereHA = VirtualMachineMetadataManagerVmMetadataOwnerOwner("ComVmwareVsphereHA")
 14433  )
 14434  
 14435  func (e VirtualMachineMetadataManagerVmMetadataOwnerOwner) Values() []VirtualMachineMetadataManagerVmMetadataOwnerOwner {
 14436  	return []VirtualMachineMetadataManagerVmMetadataOwnerOwner{
 14437  		VirtualMachineMetadataManagerVmMetadataOwnerOwnerComVmwareVsphereHA,
 14438  	}
 14439  }
 14440  
 14441  func (e VirtualMachineMetadataManagerVmMetadataOwnerOwner) Strings() []string {
 14442  	return EnumValuesAsStrings(e.Values())
 14443  }
 14444  
 14445  func init() {
 14446  	t["VirtualMachineMetadataManagerVmMetadataOwnerOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwnerOwner)(nil)).Elem()
 14447  }
 14448  
 14449  // MovePriority is an enumeration of values that indicate the priority of the task
 14450  // that moves a virtual machine from one host to another or one storage location
 14451  // to another.
 14452  //
 14453  // Note this priority can affect both the source and target hosts.
 14454  type VirtualMachineMovePriority string
 14455  
 14456  const (
 14457  	// The task of moving this virtual machine is low priority.
 14458  	VirtualMachineMovePriorityLowPriority = VirtualMachineMovePriority("lowPriority")
 14459  	// The task of moving this virtual machine is high priority.
 14460  	VirtualMachineMovePriorityHighPriority = VirtualMachineMovePriority("highPriority")
 14461  	// The task of moving this virtual machine is the default priority.
 14462  	VirtualMachineMovePriorityDefaultPriority = VirtualMachineMovePriority("defaultPriority")
 14463  )
 14464  
 14465  func (e VirtualMachineMovePriority) Values() []VirtualMachineMovePriority {
 14466  	return []VirtualMachineMovePriority{
 14467  		VirtualMachineMovePriorityLowPriority,
 14468  		VirtualMachineMovePriorityHighPriority,
 14469  		VirtualMachineMovePriorityDefaultPriority,
 14470  	}
 14471  }
 14472  
 14473  func (e VirtualMachineMovePriority) Strings() []string {
 14474  	return EnumValuesAsStrings(e.Values())
 14475  }
 14476  
 14477  func init() {
 14478  	t["VirtualMachineMovePriority"] = reflect.TypeOf((*VirtualMachineMovePriority)(nil)).Elem()
 14479  }
 14480  
 14481  // The NeedSecondaryReason type defines all reasons a virtual machine is
 14482  // in the needSecondary Fault Tolerance state following a failure.
 14483  type VirtualMachineNeedSecondaryReason string
 14484  
 14485  const (
 14486  	// Initializing FT
 14487  	VirtualMachineNeedSecondaryReasonInitializing = VirtualMachineNeedSecondaryReason("initializing")
 14488  	// Divergence
 14489  	VirtualMachineNeedSecondaryReasonDivergence = VirtualMachineNeedSecondaryReason("divergence")
 14490  	// Lose connection to secondary
 14491  	VirtualMachineNeedSecondaryReasonLostConnection = VirtualMachineNeedSecondaryReason("lostConnection")
 14492  	// Partial hardware failure
 14493  	VirtualMachineNeedSecondaryReasonPartialHardwareFailure = VirtualMachineNeedSecondaryReason("partialHardwareFailure")
 14494  	// Terminated by user
 14495  	VirtualMachineNeedSecondaryReasonUserAction = VirtualMachineNeedSecondaryReason("userAction")
 14496  	// Checkpoint error
 14497  	VirtualMachineNeedSecondaryReasonCheckpointError = VirtualMachineNeedSecondaryReason("checkpointError")
 14498  	// All other reasons
 14499  	VirtualMachineNeedSecondaryReasonOther = VirtualMachineNeedSecondaryReason("other")
 14500  )
 14501  
 14502  func (e VirtualMachineNeedSecondaryReason) Values() []VirtualMachineNeedSecondaryReason {
 14503  	return []VirtualMachineNeedSecondaryReason{
 14504  		VirtualMachineNeedSecondaryReasonInitializing,
 14505  		VirtualMachineNeedSecondaryReasonDivergence,
 14506  		VirtualMachineNeedSecondaryReasonLostConnection,
 14507  		VirtualMachineNeedSecondaryReasonPartialHardwareFailure,
 14508  		VirtualMachineNeedSecondaryReasonUserAction,
 14509  		VirtualMachineNeedSecondaryReasonCheckpointError,
 14510  		VirtualMachineNeedSecondaryReasonOther,
 14511  	}
 14512  }
 14513  
 14514  func (e VirtualMachineNeedSecondaryReason) Strings() []string {
 14515  	return EnumValuesAsStrings(e.Values())
 14516  }
 14517  
 14518  func init() {
 14519  	t["VirtualMachineNeedSecondaryReason"] = reflect.TypeOf((*VirtualMachineNeedSecondaryReason)(nil)).Elem()
 14520  }
 14521  
 14522  // Set of possible values for `VirtualMachineFlagInfo.snapshotPowerOffBehavior`.
 14523  type VirtualMachinePowerOffBehavior string
 14524  
 14525  const (
 14526  	// Just power off the virtual machine.
 14527  	VirtualMachinePowerOffBehaviorPowerOff = VirtualMachinePowerOffBehavior("powerOff")
 14528  	// Revert to the snapshot.
 14529  	VirtualMachinePowerOffBehaviorRevert = VirtualMachinePowerOffBehavior("revert")
 14530  	// Prompt the user for instructions at power-off time.
 14531  	VirtualMachinePowerOffBehaviorPrompt = VirtualMachinePowerOffBehavior("prompt")
 14532  	// Take a new snapshot.
 14533  	VirtualMachinePowerOffBehaviorTake = VirtualMachinePowerOffBehavior("take")
 14534  )
 14535  
 14536  func (e VirtualMachinePowerOffBehavior) Values() []VirtualMachinePowerOffBehavior {
 14537  	return []VirtualMachinePowerOffBehavior{
 14538  		VirtualMachinePowerOffBehaviorPowerOff,
 14539  		VirtualMachinePowerOffBehaviorRevert,
 14540  		VirtualMachinePowerOffBehaviorPrompt,
 14541  		VirtualMachinePowerOffBehaviorTake,
 14542  	}
 14543  }
 14544  
 14545  func (e VirtualMachinePowerOffBehavior) Strings() []string {
 14546  	return EnumValuesAsStrings(e.Values())
 14547  }
 14548  
 14549  func init() {
 14550  	t["VirtualMachinePowerOffBehavior"] = reflect.TypeOf((*VirtualMachinePowerOffBehavior)(nil)).Elem()
 14551  }
 14552  
 14553  // The list of possible default power operations available for the virtual machine
 14554  type VirtualMachinePowerOpType string
 14555  
 14556  const (
 14557  	VirtualMachinePowerOpTypeSoft   = VirtualMachinePowerOpType("soft")
 14558  	VirtualMachinePowerOpTypeHard   = VirtualMachinePowerOpType("hard")
 14559  	VirtualMachinePowerOpTypePreset = VirtualMachinePowerOpType("preset")
 14560  )
 14561  
 14562  func (e VirtualMachinePowerOpType) Values() []VirtualMachinePowerOpType {
 14563  	return []VirtualMachinePowerOpType{
 14564  		VirtualMachinePowerOpTypeSoft,
 14565  		VirtualMachinePowerOpTypeHard,
 14566  		VirtualMachinePowerOpTypePreset,
 14567  	}
 14568  }
 14569  
 14570  func (e VirtualMachinePowerOpType) Strings() []string {
 14571  	return EnumValuesAsStrings(e.Values())
 14572  }
 14573  
 14574  func init() {
 14575  	t["VirtualMachinePowerOpType"] = reflect.TypeOf((*VirtualMachinePowerOpType)(nil)).Elem()
 14576  }
 14577  
 14578  // The PowerState type defines a simple set of states for a virtual machine:
 14579  // poweredOn, poweredOff, and suspended.
 14580  //
 14581  // This type does not model substates,
 14582  // such as when a task is running to change the virtual machine state.
 14583  // If the virtual machine is in a state with a task in progress, it
 14584  // transitions to a new state when the task completes. For example, a virtual
 14585  // machine continues to be in the poweredOn state while a suspend task
 14586  // is running, and changes to the suspended state once the task finishes.
 14587  //
 14588  // As a consequence of this approach, clients interested in monitoring
 14589  // the status of a virtual machine should typically track the
 14590  // `activeTask` data object in addition to the
 14591  // `powerState` object.
 14592  type VirtualMachinePowerState string
 14593  
 14594  const (
 14595  	// The virtual machine is currently powered off.
 14596  	VirtualMachinePowerStatePoweredOff = VirtualMachinePowerState("poweredOff")
 14597  	// The virtual machine is currently powered on.
 14598  	VirtualMachinePowerStatePoweredOn = VirtualMachinePowerState("poweredOn")
 14599  	// The virtual machine is currently suspended.
 14600  	VirtualMachinePowerStateSuspended = VirtualMachinePowerState("suspended")
 14601  )
 14602  
 14603  func (e VirtualMachinePowerState) Values() []VirtualMachinePowerState {
 14604  	return []VirtualMachinePowerState{
 14605  		VirtualMachinePowerStatePoweredOff,
 14606  		VirtualMachinePowerStatePoweredOn,
 14607  		VirtualMachinePowerStateSuspended,
 14608  	}
 14609  }
 14610  
 14611  func (e VirtualMachinePowerState) Strings() []string {
 14612  	return EnumValuesAsStrings(e.Values())
 14613  }
 14614  
 14615  func init() {
 14616  	t["VirtualMachinePowerState"] = reflect.TypeOf((*VirtualMachinePowerState)(nil)).Elem()
 14617  }
 14618  
 14619  // Deprecated as of vSphere API 6.0.
 14620  //
 14621  // The RecordReplayState type defines a simple set of record and replay
 14622  // states for a virtual machine.
 14623  type VirtualMachineRecordReplayState string
 14624  
 14625  const (
 14626  	// The virtual machine is recording.
 14627  	VirtualMachineRecordReplayStateRecording = VirtualMachineRecordReplayState("recording")
 14628  	// The virtual machine is replaying.
 14629  	VirtualMachineRecordReplayStateReplaying = VirtualMachineRecordReplayState("replaying")
 14630  	// The virtual machine is currently not participating
 14631  	// in record or replay.
 14632  	VirtualMachineRecordReplayStateInactive = VirtualMachineRecordReplayState("inactive")
 14633  )
 14634  
 14635  func (e VirtualMachineRecordReplayState) Values() []VirtualMachineRecordReplayState {
 14636  	return []VirtualMachineRecordReplayState{
 14637  		VirtualMachineRecordReplayStateRecording,
 14638  		VirtualMachineRecordReplayStateReplaying,
 14639  		VirtualMachineRecordReplayStateInactive,
 14640  	}
 14641  }
 14642  
 14643  func (e VirtualMachineRecordReplayState) Strings() []string {
 14644  	return EnumValuesAsStrings(e.Values())
 14645  }
 14646  
 14647  func init() {
 14648  	t["VirtualMachineRecordReplayState"] = reflect.TypeOf((*VirtualMachineRecordReplayState)(nil)).Elem()
 14649  }
 14650  
 14651  // Specifies how a virtual disk is moved or copied to a
 14652  // datastore.
 14653  //
 14654  // In all cases after the move or copy the virtual machine's current running point
 14655  // will be placed on the target datastore. The current running point is defined
 14656  // as the disk backing which the virtual machine is currently
 14657  // writing to. This end state can be achieved in multiple
 14658  // ways, and the supported options are described in this
 14659  // enumeration.
 14660  //
 14661  // These options are only relevant when the backing of the
 14662  // specified disk is a *file backing*.
 14663  //
 14664  // Since disk backings may become shared as the result of
 14665  // either a *clone operation* or
 14666  // a *relocate operation*,
 14667  // `VirtualMachine.PromoteDisks_Task` has been provided as
 14668  // a way to unshare such disk backings.
 14669  //
 14670  // See also `VirtualDiskSparseVer1BackingInfo.parent`, `VirtualDiskSparseVer2BackingInfo.parent`, `VirtualDiskFlatVer1BackingInfo.parent`, `VirtualDiskFlatVer2BackingInfo.parent`, `VirtualDiskRawDiskMappingVer1BackingInfo.parent`, `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.
 14671  type VirtualMachineRelocateDiskMoveOptions string
 14672  
 14673  const (
 14674  	// All of the virtual disk's backings should be moved to the new datastore.
 14675  	//
 14676  	// If a disk backing is not the child-most backing of this virtual machine,
 14677  	// and there exists a read-only disk backing with the same content ID
 14678  	// on the target datastore, then this disk backing may not be copied. Instead
 14679  	// it is acceptable to attach to the read-only disk backing at the target
 14680  	// datastore. A read-only disk backing is defined as a virtual disk
 14681  	// backing which no virtual machine is currently writing to.
 14682  	//
 14683  	// See also `VirtualDiskSparseVer1BackingInfo.contentId`, `VirtualDiskSparseVer2BackingInfo.contentId`, `VirtualDiskFlatVer1BackingInfo.contentId`, `VirtualDiskFlatVer2BackingInfo.contentId`, `VirtualDiskRawDiskMappingVer1BackingInfo.contentId`.
 14684  	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndAllowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndAllowSharing")
 14685  	// All of the virtual disk's backings should be moved to the new datastore.
 14686  	//
 14687  	// It is not acceptable to attach to a disk backing with the same content ID
 14688  	// on the destination datastore. During a *clone operation* any delta disk backings will be consolidated.
 14689  	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndDisallowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndDisallowSharing")
 14690  	// Move only the child-most disk backing.
 14691  	//
 14692  	// Any parent disk backings should
 14693  	// be left in their current locations.
 14694  	//
 14695  	// This option only differs from `moveAllDiskBackingsAndAllowSharing` and
 14696  	// `moveAllDiskBackingsAndDisallowSharing` when the virtual
 14697  	// disk has a parent backing.
 14698  	//
 14699  	// Note that in the case of a *clone operation*,
 14700  	// this means that the parent disks will now be shared. This is safe as any
 14701  	// parent disks are always read-only.
 14702  	// Note that in the case of a `VirtualMachine.RelocateVM_Task` operation,
 14703  	// only the virtual disks in the current virtual machine configuration are moved.
 14704  	VirtualMachineRelocateDiskMoveOptionsMoveChildMostDiskBacking = VirtualMachineRelocateDiskMoveOptions("moveChildMostDiskBacking")
 14705  	// Create a new child disk backing on the destination datastore.
 14706  	//
 14707  	// None of the
 14708  	// virtual disk's existing files should be moved from their current locations.
 14709  	//
 14710  	// Note that in the case of a *clone operation*,
 14711  	// this means that the original virtual machine's disks are now all being shared.
 14712  	// This is only safe if the clone was taken from a snapshot point, because
 14713  	// snapshot points are always read-only. Thus for a clone this
 14714  	// option is only valid *when cloning from a snapshot*.
 14715  	// createNewChildDiskBacking is not a supported operation for
 14716  	// `VirtualMachine.RelocateVM_Task` operations unless all disks are moving.
 14717  	VirtualMachineRelocateDiskMoveOptionsCreateNewChildDiskBacking = VirtualMachineRelocateDiskMoveOptions("createNewChildDiskBacking")
 14718  	// All of the virtual disk's backings should be moved to the new datastore.
 14719  	//
 14720  	// During a *clone operation* or a
 14721  	// `VirtualMachine.MigrateVM_Task`, any delta disk backings will be
 14722  	// consolidated.
 14723  	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndConsolidate = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndConsolidate")
 14724  )
 14725  
 14726  func (e VirtualMachineRelocateDiskMoveOptions) Values() []VirtualMachineRelocateDiskMoveOptions {
 14727  	return []VirtualMachineRelocateDiskMoveOptions{
 14728  		VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndAllowSharing,
 14729  		VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndDisallowSharing,
 14730  		VirtualMachineRelocateDiskMoveOptionsMoveChildMostDiskBacking,
 14731  		VirtualMachineRelocateDiskMoveOptionsCreateNewChildDiskBacking,
 14732  		VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndConsolidate,
 14733  	}
 14734  }
 14735  
 14736  func (e VirtualMachineRelocateDiskMoveOptions) Strings() []string {
 14737  	return EnumValuesAsStrings(e.Values())
 14738  }
 14739  
 14740  func init() {
 14741  	t["VirtualMachineRelocateDiskMoveOptions"] = reflect.TypeOf((*VirtualMachineRelocateDiskMoveOptions)(nil)).Elem()
 14742  }
 14743  
 14744  // Deprecated as of vSphere API 5.0.
 14745  //
 14746  // The set of tranformations that can be performed on the virtual disks
 14747  // as part of the copy.
 14748  type VirtualMachineRelocateTransformation string
 14749  
 14750  const (
 14751  	VirtualMachineRelocateTransformationFlat   = VirtualMachineRelocateTransformation("flat")
 14752  	VirtualMachineRelocateTransformationSparse = VirtualMachineRelocateTransformation("sparse")
 14753  )
 14754  
 14755  func (e VirtualMachineRelocateTransformation) Values() []VirtualMachineRelocateTransformation {
 14756  	return []VirtualMachineRelocateTransformation{
 14757  		VirtualMachineRelocateTransformationFlat,
 14758  		VirtualMachineRelocateTransformationSparse,
 14759  	}
 14760  }
 14761  
 14762  func (e VirtualMachineRelocateTransformation) Strings() []string {
 14763  	return EnumValuesAsStrings(e.Values())
 14764  }
 14765  
 14766  func init() {
 14767  	t["VirtualMachineRelocateTransformation"] = reflect.TypeOf((*VirtualMachineRelocateTransformation)(nil)).Elem()
 14768  }
 14769  
 14770  // Possible SCSI classes.
 14771  type VirtualMachineScsiPassthroughType string
 14772  
 14773  const (
 14774  	VirtualMachineScsiPassthroughTypeDisk      = VirtualMachineScsiPassthroughType("disk")
 14775  	VirtualMachineScsiPassthroughTypeTape      = VirtualMachineScsiPassthroughType("tape")
 14776  	VirtualMachineScsiPassthroughTypePrinter   = VirtualMachineScsiPassthroughType("printer")
 14777  	VirtualMachineScsiPassthroughTypeProcessor = VirtualMachineScsiPassthroughType("processor")
 14778  	VirtualMachineScsiPassthroughTypeWorm      = VirtualMachineScsiPassthroughType("worm")
 14779  	VirtualMachineScsiPassthroughTypeCdrom     = VirtualMachineScsiPassthroughType("cdrom")
 14780  	VirtualMachineScsiPassthroughTypeScanner   = VirtualMachineScsiPassthroughType("scanner")
 14781  	VirtualMachineScsiPassthroughTypeOptical   = VirtualMachineScsiPassthroughType("optical")
 14782  	VirtualMachineScsiPassthroughTypeMedia     = VirtualMachineScsiPassthroughType("media")
 14783  	VirtualMachineScsiPassthroughTypeCom       = VirtualMachineScsiPassthroughType("com")
 14784  	VirtualMachineScsiPassthroughTypeRaid      = VirtualMachineScsiPassthroughType("raid")
 14785  	VirtualMachineScsiPassthroughTypeUnknown   = VirtualMachineScsiPassthroughType("unknown")
 14786  )
 14787  
 14788  func (e VirtualMachineScsiPassthroughType) Values() []VirtualMachineScsiPassthroughType {
 14789  	return []VirtualMachineScsiPassthroughType{
 14790  		VirtualMachineScsiPassthroughTypeDisk,
 14791  		VirtualMachineScsiPassthroughTypeTape,
 14792  		VirtualMachineScsiPassthroughTypePrinter,
 14793  		VirtualMachineScsiPassthroughTypeProcessor,
 14794  		VirtualMachineScsiPassthroughTypeWorm,
 14795  		VirtualMachineScsiPassthroughTypeCdrom,
 14796  		VirtualMachineScsiPassthroughTypeScanner,
 14797  		VirtualMachineScsiPassthroughTypeOptical,
 14798  		VirtualMachineScsiPassthroughTypeMedia,
 14799  		VirtualMachineScsiPassthroughTypeCom,
 14800  		VirtualMachineScsiPassthroughTypeRaid,
 14801  		VirtualMachineScsiPassthroughTypeUnknown,
 14802  	}
 14803  }
 14804  
 14805  func (e VirtualMachineScsiPassthroughType) Strings() []string {
 14806  	return EnumValuesAsStrings(e.Values())
 14807  }
 14808  
 14809  func init() {
 14810  	t["VirtualMachineScsiPassthroughType"] = reflect.TypeOf((*VirtualMachineScsiPassthroughType)(nil)).Elem()
 14811  }
 14812  
 14813  // Flexible Launch Enclave (FLC) modes.
 14814  type VirtualMachineSgxInfoFlcModes string
 14815  
 14816  const (
 14817  	// FLC is available in the guest.
 14818  	//
 14819  	// The "launch Enclave MSRs" are locked and
 14820  	// initialized with the provided public key hash.
 14821  	VirtualMachineSgxInfoFlcModesLocked = VirtualMachineSgxInfoFlcModes("locked")
 14822  	// FLC is available in the guest.
 14823  	//
 14824  	// The "launch enclave MSRs" are writeable
 14825  	// and initialized with Intel's public key hash.
 14826  	VirtualMachineSgxInfoFlcModesUnlocked = VirtualMachineSgxInfoFlcModes("unlocked")
 14827  )
 14828  
 14829  func (e VirtualMachineSgxInfoFlcModes) Values() []VirtualMachineSgxInfoFlcModes {
 14830  	return []VirtualMachineSgxInfoFlcModes{
 14831  		VirtualMachineSgxInfoFlcModesLocked,
 14832  		VirtualMachineSgxInfoFlcModesUnlocked,
 14833  	}
 14834  }
 14835  
 14836  func (e VirtualMachineSgxInfoFlcModes) Strings() []string {
 14837  	return EnumValuesAsStrings(e.Values())
 14838  }
 14839  
 14840  func init() {
 14841  	t["VirtualMachineSgxInfoFlcModes"] = reflect.TypeOf((*VirtualMachineSgxInfoFlcModes)(nil)).Elem()
 14842  }
 14843  
 14844  // The list of possible standby actions that the virtual machine can take
 14845  // for S1 ACPI.
 14846  type VirtualMachineStandbyActionType string
 14847  
 14848  const (
 14849  	VirtualMachineStandbyActionTypeCheckpoint     = VirtualMachineStandbyActionType("checkpoint")
 14850  	VirtualMachineStandbyActionTypePowerOnSuspend = VirtualMachineStandbyActionType("powerOnSuspend")
 14851  )
 14852  
 14853  func (e VirtualMachineStandbyActionType) Values() []VirtualMachineStandbyActionType {
 14854  	return []VirtualMachineStandbyActionType{
 14855  		VirtualMachineStandbyActionTypeCheckpoint,
 14856  		VirtualMachineStandbyActionTypePowerOnSuspend,
 14857  	}
 14858  }
 14859  
 14860  func (e VirtualMachineStandbyActionType) Strings() []string {
 14861  	return EnumValuesAsStrings(e.Values())
 14862  }
 14863  
 14864  func init() {
 14865  	t["VirtualMachineStandbyActionType"] = reflect.TypeOf((*VirtualMachineStandbyActionType)(nil)).Elem()
 14866  }
 14867  
 14868  // Describes how widely the endpoint is available in a cluster.
 14869  //
 14870  // Note that these fields are not necessarily mutual-exclusive.
 14871  type VirtualMachineTargetInfoConfigurationTag string
 14872  
 14873  const (
 14874  	// Indicates that this device is part of the cluster compliant
 14875  	// specification.
 14876  	VirtualMachineTargetInfoConfigurationTagCompliant = VirtualMachineTargetInfoConfigurationTag("compliant")
 14877  	// Indicates that this is available for all hosts in the cluster.
 14878  	VirtualMachineTargetInfoConfigurationTagClusterWide = VirtualMachineTargetInfoConfigurationTag("clusterWide")
 14879  )
 14880  
 14881  func (e VirtualMachineTargetInfoConfigurationTag) Values() []VirtualMachineTargetInfoConfigurationTag {
 14882  	return []VirtualMachineTargetInfoConfigurationTag{
 14883  		VirtualMachineTargetInfoConfigurationTagCompliant,
 14884  		VirtualMachineTargetInfoConfigurationTagClusterWide,
 14885  	}
 14886  }
 14887  
 14888  func (e VirtualMachineTargetInfoConfigurationTag) Strings() []string {
 14889  	return EnumValuesAsStrings(e.Values())
 14890  }
 14891  
 14892  func init() {
 14893  	t["VirtualMachineTargetInfoConfigurationTag"] = reflect.TypeOf((*VirtualMachineTargetInfoConfigurationTag)(nil)).Elem()
 14894  }
 14895  
 14896  // The virtual machine ticket type.
 14897  type VirtualMachineTicketType string
 14898  
 14899  const (
 14900  	// Deprecated as of vSphere API 8.0. Use `webmks` instead.
 14901  	//
 14902  	// Remote mouse-keyboard-screen ticket.
 14903  	VirtualMachineTicketTypeMks = VirtualMachineTicketType("mks")
 14904  	// Deprecated as of vSphere 8.0 API. Use `webRemoteDevice`
 14905  	// instead.
 14906  	//
 14907  	// Remote device ticket.
 14908  	VirtualMachineTicketTypeDevice = VirtualMachineTicketType("device")
 14909  	// Deprecated as of vSphere 6.6.3 API. Use
 14910  	// `GuestOperationsManager` instead.
 14911  	//
 14912  	// Guest operation ticket.
 14913  	VirtualMachineTicketTypeGuestControl = VirtualMachineTicketType("guestControl")
 14914  	// Mouse-keyboard-screen over WebSocket ticket.
 14915  	//
 14916  	// MKS protocol is VNC (a.k.a. RFB) protocol with
 14917  	// VMware extensions; the protocol gracefully degrades
 14918  	// to standard VNC if extensions are not available.
 14919  	// wss://{Ticket.host}/ticket/{Ticket.ticket}
 14920  	VirtualMachineTicketTypeWebmks = VirtualMachineTicketType("webmks")
 14921  	// Guest Integrity over WebSocket ticket.
 14922  	//
 14923  	// This ticket grants the client read-only access to guest integrity
 14924  	// messages and alerts.
 14925  	VirtualMachineTicketTypeGuestIntegrity = VirtualMachineTicketType("guestIntegrity")
 14926  	// Remote device over WebSocket ticket.
 14927  	VirtualMachineTicketTypeWebRemoteDevice = VirtualMachineTicketType("webRemoteDevice")
 14928  )
 14929  
 14930  func (e VirtualMachineTicketType) Values() []VirtualMachineTicketType {
 14931  	return []VirtualMachineTicketType{
 14932  		VirtualMachineTicketTypeMks,
 14933  		VirtualMachineTicketTypeDevice,
 14934  		VirtualMachineTicketTypeGuestControl,
 14935  		VirtualMachineTicketTypeWebmks,
 14936  		VirtualMachineTicketTypeGuestIntegrity,
 14937  		VirtualMachineTicketTypeWebRemoteDevice,
 14938  	}
 14939  }
 14940  
 14941  func (e VirtualMachineTicketType) Strings() []string {
 14942  	return EnumValuesAsStrings(e.Values())
 14943  }
 14944  
 14945  func init() {
 14946  	t["VirtualMachineTicketType"] = reflect.TypeOf((*VirtualMachineTicketType)(nil)).Elem()
 14947  }
 14948  
 14949  // The installation type of tools in the VM.
 14950  type VirtualMachineToolsInstallType string
 14951  
 14952  const (
 14953  	// Installation type is not known.
 14954  	//
 14955  	// Most likely tools have been
 14956  	// installed by OSPs or open-vm-tools, but a version that does
 14957  	// not report its install type or an install type that we do
 14958  	// not recognize.
 14959  	VirtualMachineToolsInstallTypeGuestToolsTypeUnknown = VirtualMachineToolsInstallType("guestToolsTypeUnknown")
 14960  	// MSI is the installation type used for VMware Tools on Windows.
 14961  	VirtualMachineToolsInstallTypeGuestToolsTypeMSI = VirtualMachineToolsInstallType("guestToolsTypeMSI")
 14962  	// Tools have been installed by the tar installer.
 14963  	VirtualMachineToolsInstallTypeGuestToolsTypeTar = VirtualMachineToolsInstallType("guestToolsTypeTar")
 14964  	// OSPs are RPM or Debian packages tailored for the OS in the VM.
 14965  	//
 14966  	// See http://packages.vmware.com
 14967  	VirtualMachineToolsInstallTypeGuestToolsTypeOSP = VirtualMachineToolsInstallType("guestToolsTypeOSP")
 14968  	// open-vm-tools are the open-source version of VMware Tools, may have
 14969  	// been packaged by the OS vendor.
 14970  	VirtualMachineToolsInstallTypeGuestToolsTypeOpenVMTools = VirtualMachineToolsInstallType("guestToolsTypeOpenVMTools")
 14971  )
 14972  
 14973  func (e VirtualMachineToolsInstallType) Values() []VirtualMachineToolsInstallType {
 14974  	return []VirtualMachineToolsInstallType{
 14975  		VirtualMachineToolsInstallTypeGuestToolsTypeUnknown,
 14976  		VirtualMachineToolsInstallTypeGuestToolsTypeMSI,
 14977  		VirtualMachineToolsInstallTypeGuestToolsTypeTar,
 14978  		VirtualMachineToolsInstallTypeGuestToolsTypeOSP,
 14979  		VirtualMachineToolsInstallTypeGuestToolsTypeOpenVMTools,
 14980  	}
 14981  }
 14982  
 14983  func (e VirtualMachineToolsInstallType) Strings() []string {
 14984  	return EnumValuesAsStrings(e.Values())
 14985  }
 14986  
 14987  func init() {
 14988  	t["VirtualMachineToolsInstallType"] = reflect.TypeOf((*VirtualMachineToolsInstallType)(nil)).Elem()
 14989  }
 14990  
 14991  // Current running status of VMware Tools running in the guest
 14992  // operating system.
 14993  type VirtualMachineToolsRunningStatus string
 14994  
 14995  const (
 14996  	// VMware Tools is not running.
 14997  	VirtualMachineToolsRunningStatusGuestToolsNotRunning = VirtualMachineToolsRunningStatus("guestToolsNotRunning")
 14998  	// VMware Tools is running.
 14999  	VirtualMachineToolsRunningStatusGuestToolsRunning = VirtualMachineToolsRunningStatus("guestToolsRunning")
 15000  	// VMware Tools is starting.
 15001  	VirtualMachineToolsRunningStatusGuestToolsExecutingScripts = VirtualMachineToolsRunningStatus("guestToolsExecutingScripts")
 15002  )
 15003  
 15004  func (e VirtualMachineToolsRunningStatus) Values() []VirtualMachineToolsRunningStatus {
 15005  	return []VirtualMachineToolsRunningStatus{
 15006  		VirtualMachineToolsRunningStatusGuestToolsNotRunning,
 15007  		VirtualMachineToolsRunningStatusGuestToolsRunning,
 15008  		VirtualMachineToolsRunningStatusGuestToolsExecutingScripts,
 15009  	}
 15010  }
 15011  
 15012  func (e VirtualMachineToolsRunningStatus) Strings() []string {
 15013  	return EnumValuesAsStrings(e.Values())
 15014  }
 15015  
 15016  func init() {
 15017  	t["VirtualMachineToolsRunningStatus"] = reflect.TypeOf((*VirtualMachineToolsRunningStatus)(nil)).Elem()
 15018  }
 15019  
 15020  // Deprecated as of vSphere API 4.0 use `VirtualMachineToolsVersionStatus_enum`
 15021  // and `VirtualMachineToolsRunningStatus_enum`.
 15022  //
 15023  // Current status of VMware Tools running in the guest operating system.
 15024  type VirtualMachineToolsStatus string
 15025  
 15026  const (
 15027  	// VMware Tools has never been installed
 15028  	// or has not run in the virtual machine.
 15029  	VirtualMachineToolsStatusToolsNotInstalled = VirtualMachineToolsStatus("toolsNotInstalled")
 15030  	// VMware Tools is not running.
 15031  	VirtualMachineToolsStatusToolsNotRunning = VirtualMachineToolsStatus("toolsNotRunning")
 15032  	// VMware Tools is running, but the version is not current.
 15033  	VirtualMachineToolsStatusToolsOld = VirtualMachineToolsStatus("toolsOld")
 15034  	// VMware Tools is running and the version is current.
 15035  	VirtualMachineToolsStatusToolsOk = VirtualMachineToolsStatus("toolsOk")
 15036  )
 15037  
 15038  func (e VirtualMachineToolsStatus) Values() []VirtualMachineToolsStatus {
 15039  	return []VirtualMachineToolsStatus{
 15040  		VirtualMachineToolsStatusToolsNotInstalled,
 15041  		VirtualMachineToolsStatusToolsNotRunning,
 15042  		VirtualMachineToolsStatusToolsOld,
 15043  		VirtualMachineToolsStatusToolsOk,
 15044  	}
 15045  }
 15046  
 15047  func (e VirtualMachineToolsStatus) Strings() []string {
 15048  	return EnumValuesAsStrings(e.Values())
 15049  }
 15050  
 15051  func init() {
 15052  	t["VirtualMachineToolsStatus"] = reflect.TypeOf((*VirtualMachineToolsStatus)(nil)).Elem()
 15053  }
 15054  
 15055  // Current version status of VMware Tools installed in the guest operating
 15056  // system.
 15057  type VirtualMachineToolsVersionStatus string
 15058  
 15059  const (
 15060  	// VMware Tools has never been installed.
 15061  	VirtualMachineToolsVersionStatusGuestToolsNotInstalled = VirtualMachineToolsVersionStatus("guestToolsNotInstalled")
 15062  	// Deprecated as of vSphere API 5.1 value is not reported by
 15063  	// toolsVersionStatus2, instead more detailed status is reported.
 15064  	//
 15065  	// VMware Tools is installed, but the version is not current.
 15066  	VirtualMachineToolsVersionStatusGuestToolsNeedUpgrade = VirtualMachineToolsVersionStatus("guestToolsNeedUpgrade")
 15067  	// VMware Tools is installed, and the version is current.
 15068  	VirtualMachineToolsVersionStatusGuestToolsCurrent = VirtualMachineToolsVersionStatus("guestToolsCurrent")
 15069  	// VMware Tools is installed, but it is not managed by VMWare.
 15070  	VirtualMachineToolsVersionStatusGuestToolsUnmanaged = VirtualMachineToolsVersionStatus("guestToolsUnmanaged")
 15071  	// VMware Tools is installed, but the version is too old.
 15072  	VirtualMachineToolsVersionStatusGuestToolsTooOld = VirtualMachineToolsVersionStatus("guestToolsTooOld")
 15073  	// VMware Tools is installed, supported, but a newer version is available.
 15074  	VirtualMachineToolsVersionStatusGuestToolsSupportedOld = VirtualMachineToolsVersionStatus("guestToolsSupportedOld")
 15075  	// VMware Tools is installed, supported, and newer
 15076  	// than the version available on the host.
 15077  	VirtualMachineToolsVersionStatusGuestToolsSupportedNew = VirtualMachineToolsVersionStatus("guestToolsSupportedNew")
 15078  	// VMware Tools is installed, and the version is known to be
 15079  	// too new to work correctly with this virtual machine.
 15080  	VirtualMachineToolsVersionStatusGuestToolsTooNew = VirtualMachineToolsVersionStatus("guestToolsTooNew")
 15081  	// VMware Tools is installed, but the installed version is
 15082  	// known to have a grave bug and should be immediately upgraded.
 15083  	VirtualMachineToolsVersionStatusGuestToolsBlacklisted = VirtualMachineToolsVersionStatus("guestToolsBlacklisted")
 15084  )
 15085  
 15086  func (e VirtualMachineToolsVersionStatus) Values() []VirtualMachineToolsVersionStatus {
 15087  	return []VirtualMachineToolsVersionStatus{
 15088  		VirtualMachineToolsVersionStatusGuestToolsNotInstalled,
 15089  		VirtualMachineToolsVersionStatusGuestToolsNeedUpgrade,
 15090  		VirtualMachineToolsVersionStatusGuestToolsCurrent,
 15091  		VirtualMachineToolsVersionStatusGuestToolsUnmanaged,
 15092  		VirtualMachineToolsVersionStatusGuestToolsTooOld,
 15093  		VirtualMachineToolsVersionStatusGuestToolsSupportedOld,
 15094  		VirtualMachineToolsVersionStatusGuestToolsSupportedNew,
 15095  		VirtualMachineToolsVersionStatusGuestToolsTooNew,
 15096  		VirtualMachineToolsVersionStatusGuestToolsBlacklisted,
 15097  	}
 15098  }
 15099  
 15100  func (e VirtualMachineToolsVersionStatus) Strings() []string {
 15101  	return EnumValuesAsStrings(e.Values())
 15102  }
 15103  
 15104  func init() {
 15105  	t["VirtualMachineToolsVersionStatus"] = reflect.TypeOf((*VirtualMachineToolsVersionStatus)(nil)).Elem()
 15106  }
 15107  
 15108  // Device class family.
 15109  type VirtualMachineUsbInfoFamily string
 15110  
 15111  const (
 15112  	// Audio capable device.
 15113  	VirtualMachineUsbInfoFamilyAudio = VirtualMachineUsbInfoFamily("audio")
 15114  	// Human interface device.
 15115  	VirtualMachineUsbInfoFamilyHid = VirtualMachineUsbInfoFamily("hid")
 15116  	// Bootable human interface device, this is a subset of HID devices.
 15117  	VirtualMachineUsbInfoFamilyHid_bootable = VirtualMachineUsbInfoFamily("hid_bootable")
 15118  	// Physical interface device.
 15119  	VirtualMachineUsbInfoFamilyPhysical = VirtualMachineUsbInfoFamily("physical")
 15120  	// Communication device.
 15121  	VirtualMachineUsbInfoFamilyCommunication = VirtualMachineUsbInfoFamily("communication")
 15122  	// Still imaging device.
 15123  	VirtualMachineUsbInfoFamilyImaging = VirtualMachineUsbInfoFamily("imaging")
 15124  	// Printer device.
 15125  	VirtualMachineUsbInfoFamilyPrinter = VirtualMachineUsbInfoFamily("printer")
 15126  	// Mass storage device.
 15127  	VirtualMachineUsbInfoFamilyStorage = VirtualMachineUsbInfoFamily("storage")
 15128  	// USB hubs.
 15129  	VirtualMachineUsbInfoFamilyHub = VirtualMachineUsbInfoFamily("hub")
 15130  	// Smart card device.
 15131  	VirtualMachineUsbInfoFamilySmart_card = VirtualMachineUsbInfoFamily("smart_card")
 15132  	// Content security device.
 15133  	VirtualMachineUsbInfoFamilySecurity = VirtualMachineUsbInfoFamily("security")
 15134  	// Video device.
 15135  	VirtualMachineUsbInfoFamilyVideo = VirtualMachineUsbInfoFamily("video")
 15136  	// Wireless controller.
 15137  	VirtualMachineUsbInfoFamilyWireless = VirtualMachineUsbInfoFamily("wireless")
 15138  	// Standard bluetooth adapter that uses HCI protocol,
 15139  	// this is a subset of wireless controllers.
 15140  	VirtualMachineUsbInfoFamilyBluetooth = VirtualMachineUsbInfoFamily("bluetooth")
 15141  	// Wireless device related to the Wireless USB standard,
 15142  	// this is a subset of wireless controllers,
 15143  	VirtualMachineUsbInfoFamilyWusb = VirtualMachineUsbInfoFamily("wusb")
 15144  	// Palm PDA, and Micorsoft ActiveSync PDA.
 15145  	VirtualMachineUsbInfoFamilyPda = VirtualMachineUsbInfoFamily("pda")
 15146  	// Device that has an interface using a vendor-specific protocol.
 15147  	VirtualMachineUsbInfoFamilyVendor_specific = VirtualMachineUsbInfoFamily("vendor_specific")
 15148  	// Other miscellaneous device.
 15149  	VirtualMachineUsbInfoFamilyOther = VirtualMachineUsbInfoFamily("other")
 15150  	// There was an error in determining this device's classes
 15151  	// accurately.
 15152  	VirtualMachineUsbInfoFamilyUnknownFamily = VirtualMachineUsbInfoFamily("unknownFamily")
 15153  )
 15154  
 15155  func (e VirtualMachineUsbInfoFamily) Values() []VirtualMachineUsbInfoFamily {
 15156  	return []VirtualMachineUsbInfoFamily{
 15157  		VirtualMachineUsbInfoFamilyAudio,
 15158  		VirtualMachineUsbInfoFamilyHid,
 15159  		VirtualMachineUsbInfoFamilyHid_bootable,
 15160  		VirtualMachineUsbInfoFamilyPhysical,
 15161  		VirtualMachineUsbInfoFamilyCommunication,
 15162  		VirtualMachineUsbInfoFamilyImaging,
 15163  		VirtualMachineUsbInfoFamilyPrinter,
 15164  		VirtualMachineUsbInfoFamilyStorage,
 15165  		VirtualMachineUsbInfoFamilyHub,
 15166  		VirtualMachineUsbInfoFamilySmart_card,
 15167  		VirtualMachineUsbInfoFamilySecurity,
 15168  		VirtualMachineUsbInfoFamilyVideo,
 15169  		VirtualMachineUsbInfoFamilyWireless,
 15170  		VirtualMachineUsbInfoFamilyBluetooth,
 15171  		VirtualMachineUsbInfoFamilyWusb,
 15172  		VirtualMachineUsbInfoFamilyPda,
 15173  		VirtualMachineUsbInfoFamilyVendor_specific,
 15174  		VirtualMachineUsbInfoFamilyOther,
 15175  		VirtualMachineUsbInfoFamilyUnknownFamily,
 15176  	}
 15177  }
 15178  
 15179  func (e VirtualMachineUsbInfoFamily) Strings() []string {
 15180  	return EnumValuesAsStrings(e.Values())
 15181  }
 15182  
 15183  func init() {
 15184  	t["VirtualMachineUsbInfoFamily"] = reflect.TypeOf((*VirtualMachineUsbInfoFamily)(nil)).Elem()
 15185  }
 15186  
 15187  // Device speed.
 15188  type VirtualMachineUsbInfoSpeed string
 15189  
 15190  const (
 15191  	// This device operates at low speed (1.5Mb/s).
 15192  	VirtualMachineUsbInfoSpeedLow = VirtualMachineUsbInfoSpeed("low")
 15193  	// This device operates at full speed (12Mb/s).
 15194  	VirtualMachineUsbInfoSpeedFull = VirtualMachineUsbInfoSpeed("full")
 15195  	// This device can operate at high speed (480Mb/s)
 15196  	VirtualMachineUsbInfoSpeedHigh = VirtualMachineUsbInfoSpeed("high")
 15197  	// This device can operate at super speed (4.8Gb/s)
 15198  	VirtualMachineUsbInfoSpeedSuperSpeed = VirtualMachineUsbInfoSpeed("superSpeed")
 15199  	// This device can operate at super speed plus (10Gb/s)
 15200  	VirtualMachineUsbInfoSpeedSuperSpeedPlus = VirtualMachineUsbInfoSpeed("superSpeedPlus")
 15201  	// This device can operate at super speed gen 2x2 (20Gb/s)
 15202  	VirtualMachineUsbInfoSpeedSuperSpeed20Gbps = VirtualMachineUsbInfoSpeed("superSpeed20Gbps")
 15203  	// This device's speed is unknown.
 15204  	VirtualMachineUsbInfoSpeedUnknownSpeed = VirtualMachineUsbInfoSpeed("unknownSpeed")
 15205  )
 15206  
 15207  func (e VirtualMachineUsbInfoSpeed) Values() []VirtualMachineUsbInfoSpeed {
 15208  	return []VirtualMachineUsbInfoSpeed{
 15209  		VirtualMachineUsbInfoSpeedLow,
 15210  		VirtualMachineUsbInfoSpeedFull,
 15211  		VirtualMachineUsbInfoSpeedHigh,
 15212  		VirtualMachineUsbInfoSpeedSuperSpeed,
 15213  		VirtualMachineUsbInfoSpeedSuperSpeedPlus,
 15214  		VirtualMachineUsbInfoSpeedSuperSpeed20Gbps,
 15215  		VirtualMachineUsbInfoSpeedUnknownSpeed,
 15216  	}
 15217  }
 15218  
 15219  func (e VirtualMachineUsbInfoSpeed) Strings() []string {
 15220  	return EnumValuesAsStrings(e.Values())
 15221  }
 15222  
 15223  func init() {
 15224  	t["VirtualMachineUsbInfoSpeed"] = reflect.TypeOf((*VirtualMachineUsbInfoSpeed)(nil)).Elem()
 15225  	minAPIVersionForEnumValue["VirtualMachineUsbInfoSpeed"] = map[string]string{
 15226  		"superSpeed20Gbps": "7.0.3.2",
 15227  	}
 15228  }
 15229  
 15230  // Set of possible values for action field in FilterSpec.
 15231  //
 15232  // Determines whether traffic is allowed or denied.
 15233  type VirtualMachineVMCIDeviceAction string
 15234  
 15235  const (
 15236  	// Allow communication.
 15237  	VirtualMachineVMCIDeviceActionAllow = VirtualMachineVMCIDeviceAction("allow")
 15238  	// Deny communication.
 15239  	VirtualMachineVMCIDeviceActionDeny = VirtualMachineVMCIDeviceAction("deny")
 15240  )
 15241  
 15242  func (e VirtualMachineVMCIDeviceAction) Values() []VirtualMachineVMCIDeviceAction {
 15243  	return []VirtualMachineVMCIDeviceAction{
 15244  		VirtualMachineVMCIDeviceActionAllow,
 15245  		VirtualMachineVMCIDeviceActionDeny,
 15246  	}
 15247  }
 15248  
 15249  func (e VirtualMachineVMCIDeviceAction) Strings() []string {
 15250  	return EnumValuesAsStrings(e.Values())
 15251  }
 15252  
 15253  func init() {
 15254  	t["VirtualMachineVMCIDeviceAction"] = reflect.TypeOf((*VirtualMachineVMCIDeviceAction)(nil)).Elem()
 15255  }
 15256  
 15257  // Set of possible values for direction field in FilterSpec.
 15258  type VirtualMachineVMCIDeviceDirection string
 15259  
 15260  const (
 15261  	// from host to guest
 15262  	VirtualMachineVMCIDeviceDirectionGuest = VirtualMachineVMCIDeviceDirection("guest")
 15263  	// from guest to host
 15264  	VirtualMachineVMCIDeviceDirectionHost = VirtualMachineVMCIDeviceDirection("host")
 15265  	// all of the above
 15266  	VirtualMachineVMCIDeviceDirectionAnyDirection = VirtualMachineVMCIDeviceDirection("anyDirection")
 15267  )
 15268  
 15269  func (e VirtualMachineVMCIDeviceDirection) Values() []VirtualMachineVMCIDeviceDirection {
 15270  	return []VirtualMachineVMCIDeviceDirection{
 15271  		VirtualMachineVMCIDeviceDirectionGuest,
 15272  		VirtualMachineVMCIDeviceDirectionHost,
 15273  		VirtualMachineVMCIDeviceDirectionAnyDirection,
 15274  	}
 15275  }
 15276  
 15277  func (e VirtualMachineVMCIDeviceDirection) Strings() []string {
 15278  	return EnumValuesAsStrings(e.Values())
 15279  }
 15280  
 15281  func init() {
 15282  	t["VirtualMachineVMCIDeviceDirection"] = reflect.TypeOf((*VirtualMachineVMCIDeviceDirection)(nil)).Elem()
 15283  }
 15284  
 15285  // Set of possible values for protocol field in FilterSpec.
 15286  type VirtualMachineVMCIDeviceProtocol string
 15287  
 15288  const (
 15289  	// VMCI hypervisor datagram send op.
 15290  	//
 15291  	// Direction code is not applicable to this one.
 15292  	VirtualMachineVMCIDeviceProtocolHypervisor = VirtualMachineVMCIDeviceProtocol("hypervisor")
 15293  	// VMCI doorbell notification
 15294  	VirtualMachineVMCIDeviceProtocolDoorbell = VirtualMachineVMCIDeviceProtocol("doorbell")
 15295  	// VMCI queue pair alloc operation.
 15296  	//
 15297  	// Direction code not applicable to this one.
 15298  	VirtualMachineVMCIDeviceProtocolQueuepair = VirtualMachineVMCIDeviceProtocol("queuepair")
 15299  	// VMCI and VMCI Socket datagram send op.
 15300  	//
 15301  	// Since VMCI Socket datagrams map ports directly to resources,
 15302  	// there is no need to distinguish between the two.
 15303  	VirtualMachineVMCIDeviceProtocolDatagram = VirtualMachineVMCIDeviceProtocol("datagram")
 15304  	// VMCI Stream Socket connect op.
 15305  	VirtualMachineVMCIDeviceProtocolStream = VirtualMachineVMCIDeviceProtocol("stream")
 15306  	// All of the above.
 15307  	VirtualMachineVMCIDeviceProtocolAnyProtocol = VirtualMachineVMCIDeviceProtocol("anyProtocol")
 15308  )
 15309  
 15310  func (e VirtualMachineVMCIDeviceProtocol) Values() []VirtualMachineVMCIDeviceProtocol {
 15311  	return []VirtualMachineVMCIDeviceProtocol{
 15312  		VirtualMachineVMCIDeviceProtocolHypervisor,
 15313  		VirtualMachineVMCIDeviceProtocolDoorbell,
 15314  		VirtualMachineVMCIDeviceProtocolQueuepair,
 15315  		VirtualMachineVMCIDeviceProtocolDatagram,
 15316  		VirtualMachineVMCIDeviceProtocolStream,
 15317  		VirtualMachineVMCIDeviceProtocolAnyProtocol,
 15318  	}
 15319  }
 15320  
 15321  func (e VirtualMachineVMCIDeviceProtocol) Strings() []string {
 15322  	return EnumValuesAsStrings(e.Values())
 15323  }
 15324  
 15325  func init() {
 15326  	t["VirtualMachineVMCIDeviceProtocol"] = reflect.TypeOf((*VirtualMachineVMCIDeviceProtocol)(nil)).Elem()
 15327  }
 15328  
 15329  type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType string
 15330  
 15331  const (
 15332  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypePciPassthru = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("pciPassthru")
 15333  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeNvidiaVgpu  = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("nvidiaVgpu")
 15334  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeSriovNic    = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("sriovNic")
 15335  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeDvx         = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("dvx")
 15336  )
 15337  
 15338  func (e VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType) Values() []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType {
 15339  	return []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType{
 15340  		VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypePciPassthru,
 15341  		VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeNvidiaVgpu,
 15342  		VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeSriovNic,
 15343  		VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeDvx,
 15344  	}
 15345  }
 15346  
 15347  func (e VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType) Strings() []string {
 15348  	return EnumValuesAsStrings(e.Values())
 15349  }
 15350  
 15351  func init() {
 15352  	t["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType)(nil)).Elem()
 15353  	minAPIVersionForType["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType"] = "8.0.0.1"
 15354  }
 15355  
 15356  type VirtualMachineVgpuProfileInfoProfileClass string
 15357  
 15358  const (
 15359  	VirtualMachineVgpuProfileInfoProfileClassCompute = VirtualMachineVgpuProfileInfoProfileClass("compute")
 15360  	VirtualMachineVgpuProfileInfoProfileClassQuadro  = VirtualMachineVgpuProfileInfoProfileClass("quadro")
 15361  )
 15362  
 15363  func (e VirtualMachineVgpuProfileInfoProfileClass) Values() []VirtualMachineVgpuProfileInfoProfileClass {
 15364  	return []VirtualMachineVgpuProfileInfoProfileClass{
 15365  		VirtualMachineVgpuProfileInfoProfileClassCompute,
 15366  		VirtualMachineVgpuProfileInfoProfileClassQuadro,
 15367  	}
 15368  }
 15369  
 15370  func (e VirtualMachineVgpuProfileInfoProfileClass) Strings() []string {
 15371  	return EnumValuesAsStrings(e.Values())
 15372  }
 15373  
 15374  func init() {
 15375  	t["VirtualMachineVgpuProfileInfoProfileClass"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfoProfileClass)(nil)).Elem()
 15376  	minAPIVersionForType["VirtualMachineVgpuProfileInfoProfileClass"] = "7.0.3.0"
 15377  }
 15378  
 15379  type VirtualMachineVgpuProfileInfoProfileSharing string
 15380  
 15381  const (
 15382  	// Time-sliced
 15383  	VirtualMachineVgpuProfileInfoProfileSharingTimeSliced = VirtualMachineVgpuProfileInfoProfileSharing("timeSliced")
 15384  	// Multi-instance GPU partitioning
 15385  	VirtualMachineVgpuProfileInfoProfileSharingMig = VirtualMachineVgpuProfileInfoProfileSharing("mig")
 15386  )
 15387  
 15388  func (e VirtualMachineVgpuProfileInfoProfileSharing) Values() []VirtualMachineVgpuProfileInfoProfileSharing {
 15389  	return []VirtualMachineVgpuProfileInfoProfileSharing{
 15390  		VirtualMachineVgpuProfileInfoProfileSharingTimeSliced,
 15391  		VirtualMachineVgpuProfileInfoProfileSharingMig,
 15392  	}
 15393  }
 15394  
 15395  func (e VirtualMachineVgpuProfileInfoProfileSharing) Strings() []string {
 15396  	return EnumValuesAsStrings(e.Values())
 15397  }
 15398  
 15399  func init() {
 15400  	t["VirtualMachineVgpuProfileInfoProfileSharing"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfoProfileSharing)(nil)).Elem()
 15401  	minAPIVersionForType["VirtualMachineVgpuProfileInfoProfileSharing"] = "7.0.3.0"
 15402  }
 15403  
 15404  // Set of possible values for `VirtualMachineVideoCard.use3dRenderer`.
 15405  type VirtualMachineVideoCardUse3dRenderer string
 15406  
 15407  const (
 15408  	// Determine automatically whether to render 3D with software or hardware.
 15409  	VirtualMachineVideoCardUse3dRendererAutomatic = VirtualMachineVideoCardUse3dRenderer("automatic")
 15410  	// Render 3D with software.
 15411  	VirtualMachineVideoCardUse3dRendererSoftware = VirtualMachineVideoCardUse3dRenderer("software")
 15412  	// Render 3D with graphics hardware.
 15413  	VirtualMachineVideoCardUse3dRendererHardware = VirtualMachineVideoCardUse3dRenderer("hardware")
 15414  )
 15415  
 15416  func (e VirtualMachineVideoCardUse3dRenderer) Values() []VirtualMachineVideoCardUse3dRenderer {
 15417  	return []VirtualMachineVideoCardUse3dRenderer{
 15418  		VirtualMachineVideoCardUse3dRendererAutomatic,
 15419  		VirtualMachineVideoCardUse3dRendererSoftware,
 15420  		VirtualMachineVideoCardUse3dRendererHardware,
 15421  	}
 15422  }
 15423  
 15424  func (e VirtualMachineVideoCardUse3dRenderer) Strings() []string {
 15425  	return EnumValuesAsStrings(e.Values())
 15426  }
 15427  
 15428  func init() {
 15429  	t["VirtualMachineVideoCardUse3dRenderer"] = reflect.TypeOf((*VirtualMachineVideoCardUse3dRenderer)(nil)).Elem()
 15430  }
 15431  
 15432  type VirtualMachineVirtualDeviceSwapDeviceSwapStatus string
 15433  
 15434  const (
 15435  	// No operation active.
 15436  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusNone = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("none")
 15437  	// Device swap will be performed on next restart.
 15438  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusScheduled = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("scheduled")
 15439  	// Device swap is in progress.
 15440  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusInprogress = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("inprogress")
 15441  	// Device swap failed.
 15442  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusFailed = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("failed")
 15443  	// Device swap successfully completed.
 15444  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusCompleted = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("completed")
 15445  )
 15446  
 15447  func (e VirtualMachineVirtualDeviceSwapDeviceSwapStatus) Values() []VirtualMachineVirtualDeviceSwapDeviceSwapStatus {
 15448  	return []VirtualMachineVirtualDeviceSwapDeviceSwapStatus{
 15449  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusNone,
 15450  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusScheduled,
 15451  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusInprogress,
 15452  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusFailed,
 15453  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusCompleted,
 15454  	}
 15455  }
 15456  
 15457  func (e VirtualMachineVirtualDeviceSwapDeviceSwapStatus) Strings() []string {
 15458  	return EnumValuesAsStrings(e.Values())
 15459  }
 15460  
 15461  func init() {
 15462  	t["VirtualMachineVirtualDeviceSwapDeviceSwapStatus"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwapDeviceSwapStatus)(nil)).Elem()
 15463  	minAPIVersionForType["VirtualMachineVirtualDeviceSwapDeviceSwapStatus"] = "8.0.0.1"
 15464  }
 15465  
 15466  type VirtualMachineVirtualPMemSnapshotMode string
 15467  
 15468  const (
 15469  	// The data on virtual NVDIMMs are not affected by snapshot reverts.
 15470  	//
 15471  	// Writes to virtual NVDIMMs after a snapshot is taken cannot be
 15472  	// reverted to the snapshotted state.
 15473  	VirtualMachineVirtualPMemSnapshotModeIndependent_persistent = VirtualMachineVirtualPMemSnapshotMode("independent_persistent")
 15474  	// Virtual NVDIMMs are erased and recreated upon snapshot reverts.
 15475  	VirtualMachineVirtualPMemSnapshotModeIndependent_eraseonrevert = VirtualMachineVirtualPMemSnapshotMode("independent_eraseonrevert")
 15476  )
 15477  
 15478  func (e VirtualMachineVirtualPMemSnapshotMode) Values() []VirtualMachineVirtualPMemSnapshotMode {
 15479  	return []VirtualMachineVirtualPMemSnapshotMode{
 15480  		VirtualMachineVirtualPMemSnapshotModeIndependent_persistent,
 15481  		VirtualMachineVirtualPMemSnapshotModeIndependent_eraseonrevert,
 15482  	}
 15483  }
 15484  
 15485  func (e VirtualMachineVirtualPMemSnapshotMode) Strings() []string {
 15486  	return EnumValuesAsStrings(e.Values())
 15487  }
 15488  
 15489  func init() {
 15490  	t["VirtualMachineVirtualPMemSnapshotMode"] = reflect.TypeOf((*VirtualMachineVirtualPMemSnapshotMode)(nil)).Elem()
 15491  	minAPIVersionForType["VirtualMachineVirtualPMemSnapshotMode"] = "7.0.3.0"
 15492  }
 15493  
 15494  // The VSS Snapshot Context
 15495  // VSS\_SNAPSHOT\_CONTEXT values not listed below are not implemented.
 15496  type VirtualMachineWindowsQuiesceSpecVssBackupContext string
 15497  
 15498  const (
 15499  	// The context value indicates auto selection of VSS snapshot context.
 15500  	//
 15501  	// The ctx\_backup may make Windows VSS-aware applications quiescing during
 15502  	// backup. The ctx\_auto makes VMTools select ctx\_file\_share\_backup context
 15503  	// if ctx\_backup is not available.
 15504  	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_auto = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_auto")
 15505  	// Indicate VSS\_CTX\_BACKUP.
 15506  	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_backup")
 15507  	// Indicate VSS\_CTX\_FILE\_SHARE\_BACKUP.
 15508  	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_file_share_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_file_share_backup")
 15509  )
 15510  
 15511  func (e VirtualMachineWindowsQuiesceSpecVssBackupContext) Values() []VirtualMachineWindowsQuiesceSpecVssBackupContext {
 15512  	return []VirtualMachineWindowsQuiesceSpecVssBackupContext{
 15513  		VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_auto,
 15514  		VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_backup,
 15515  		VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_file_share_backup,
 15516  	}
 15517  }
 15518  
 15519  func (e VirtualMachineWindowsQuiesceSpecVssBackupContext) Strings() []string {
 15520  	return EnumValuesAsStrings(e.Values())
 15521  }
 15522  
 15523  func init() {
 15524  	t["VirtualMachineWindowsQuiesceSpecVssBackupContext"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpecVssBackupContext)(nil)).Elem()
 15525  }
 15526  
 15527  type VirtualNVMEControllerSharing string
 15528  
 15529  const (
 15530  	VirtualNVMEControllerSharingNoSharing       = VirtualNVMEControllerSharing("noSharing")
 15531  	VirtualNVMEControllerSharingPhysicalSharing = VirtualNVMEControllerSharing("physicalSharing")
 15532  )
 15533  
 15534  func (e VirtualNVMEControllerSharing) Values() []VirtualNVMEControllerSharing {
 15535  	return []VirtualNVMEControllerSharing{
 15536  		VirtualNVMEControllerSharingNoSharing,
 15537  		VirtualNVMEControllerSharingPhysicalSharing,
 15538  	}
 15539  }
 15540  
 15541  func (e VirtualNVMEControllerSharing) Strings() []string {
 15542  	return EnumValuesAsStrings(e.Values())
 15543  }
 15544  
 15545  func init() {
 15546  	t["VirtualNVMEControllerSharing"] = reflect.TypeOf((*VirtualNVMEControllerSharing)(nil)).Elem()
 15547  	minAPIVersionForType["VirtualNVMEControllerSharing"] = "8.0.2.0"
 15548  }
 15549  
 15550  // The valid choices for host pointing devices are:
 15551  type VirtualPointingDeviceHostChoice string
 15552  
 15553  const (
 15554  	// Automatically detects the host mouse type.
 15555  	VirtualPointingDeviceHostChoiceAutodetect = VirtualPointingDeviceHostChoice("autodetect")
 15556  	// The Microsoft IntelliMouse Explorer.
 15557  	VirtualPointingDeviceHostChoiceIntellimouseExplorer = VirtualPointingDeviceHostChoice("intellimouseExplorer")
 15558  	// The Microsoft Intellimouse with a PS2 connection.
 15559  	VirtualPointingDeviceHostChoiceIntellimousePs2 = VirtualPointingDeviceHostChoice("intellimousePs2")
 15560  	// The Logitech MouseMan.
 15561  	VirtualPointingDeviceHostChoiceLogitechMouseman = VirtualPointingDeviceHostChoice("logitechMouseman")
 15562  	// The Microsoft Serial Mouse.
 15563  	VirtualPointingDeviceHostChoiceMicrosoft_serial = VirtualPointingDeviceHostChoice("microsoft_serial")
 15564  	// The Mouse Systems Mouse.
 15565  	VirtualPointingDeviceHostChoiceMouseSystems = VirtualPointingDeviceHostChoice("mouseSystems")
 15566  	// The Logitech MouseMan Serial Bus Mouse.
 15567  	VirtualPointingDeviceHostChoiceMousemanSerial = VirtualPointingDeviceHostChoice("mousemanSerial")
 15568  	// A generic mouse with a PS2 connection.
 15569  	VirtualPointingDeviceHostChoicePs2 = VirtualPointingDeviceHostChoice("ps2")
 15570  )
 15571  
 15572  func (e VirtualPointingDeviceHostChoice) Values() []VirtualPointingDeviceHostChoice {
 15573  	return []VirtualPointingDeviceHostChoice{
 15574  		VirtualPointingDeviceHostChoiceAutodetect,
 15575  		VirtualPointingDeviceHostChoiceIntellimouseExplorer,
 15576  		VirtualPointingDeviceHostChoiceIntellimousePs2,
 15577  		VirtualPointingDeviceHostChoiceLogitechMouseman,
 15578  		VirtualPointingDeviceHostChoiceMicrosoft_serial,
 15579  		VirtualPointingDeviceHostChoiceMouseSystems,
 15580  		VirtualPointingDeviceHostChoiceMousemanSerial,
 15581  		VirtualPointingDeviceHostChoicePs2,
 15582  	}
 15583  }
 15584  
 15585  func (e VirtualPointingDeviceHostChoice) Strings() []string {
 15586  	return EnumValuesAsStrings(e.Values())
 15587  }
 15588  
 15589  func init() {
 15590  	t["VirtualPointingDeviceHostChoice"] = reflect.TypeOf((*VirtualPointingDeviceHostChoice)(nil)).Elem()
 15591  }
 15592  
 15593  // Sharing describes three possible ways of sharing the SCSI bus:
 15594  // One of these values is assigned to the sharedBus object to determine
 15595  // if or how the SCSI bus is shared.
 15596  type VirtualSCSISharing string
 15597  
 15598  const (
 15599  	// The virtual SCSI bus is not shared.
 15600  	VirtualSCSISharingNoSharing = VirtualSCSISharing("noSharing")
 15601  	// The virtual SCSI bus is shared between two or more virtual machines.
 15602  	//
 15603  	// In this case, no physical machine is involved.
 15604  	VirtualSCSISharingVirtualSharing = VirtualSCSISharing("virtualSharing")
 15605  	// The virtual SCSI bus is shared between two or more virtual machines
 15606  	// residing on different physical hosts.
 15607  	VirtualSCSISharingPhysicalSharing = VirtualSCSISharing("physicalSharing")
 15608  )
 15609  
 15610  func (e VirtualSCSISharing) Values() []VirtualSCSISharing {
 15611  	return []VirtualSCSISharing{
 15612  		VirtualSCSISharingNoSharing,
 15613  		VirtualSCSISharingVirtualSharing,
 15614  		VirtualSCSISharingPhysicalSharing,
 15615  	}
 15616  }
 15617  
 15618  func (e VirtualSCSISharing) Strings() []string {
 15619  	return EnumValuesAsStrings(e.Values())
 15620  }
 15621  
 15622  func init() {
 15623  	t["VirtualSCSISharing"] = reflect.TypeOf((*VirtualSCSISharing)(nil)).Elem()
 15624  }
 15625  
 15626  // The <code>`VirtualSerialPortEndPoint_enum` enum defines
 15627  // endpoint values for virtual serial port pipe backing.
 15628  //
 15629  // When you use serial port pipe backing to connect a virtual machine
 15630  // to another process, you must define the endpoints.
 15631  // See the <code>`VirtualSerialPortPipeBackingInfo.endpoint`</code>
 15632  // property for the virtual serial port pipe backing information data object.
 15633  //
 15634  // The possible endpoint values are:
 15635  //   - client
 15636  //   - server
 15637  //
 15638  // For the supported choices, see the
 15639  // <code>`VirtualSerialPortPipeBackingOption.endpoint`</code>
 15640  // property for the virtual serial port pipe backing option data object.
 15641  type VirtualSerialPortEndPoint string
 15642  
 15643  const (
 15644  	VirtualSerialPortEndPointClient = VirtualSerialPortEndPoint("client")
 15645  	VirtualSerialPortEndPointServer = VirtualSerialPortEndPoint("server")
 15646  )
 15647  
 15648  func (e VirtualSerialPortEndPoint) Values() []VirtualSerialPortEndPoint {
 15649  	return []VirtualSerialPortEndPoint{
 15650  		VirtualSerialPortEndPointClient,
 15651  		VirtualSerialPortEndPointServer,
 15652  	}
 15653  }
 15654  
 15655  func (e VirtualSerialPortEndPoint) Strings() []string {
 15656  	return EnumValuesAsStrings(e.Values())
 15657  }
 15658  
 15659  func init() {
 15660  	t["VirtualSerialPortEndPoint"] = reflect.TypeOf((*VirtualSerialPortEndPoint)(nil)).Elem()
 15661  }
 15662  
 15663  // TSO (TCP Segmentation Offload) and LRO (Large Receive Offload)
 15664  // are both offloading techniques that improve network performance
 15665  // by reducing CPU overhead associated with packet segmentation
 15666  // and aggregation, respectively.
 15667  //
 15668  // They are commonly used in modern
 15669  // networking environments to optimize data transmission and
 15670  // reception processes. This is the type of disable offload on a
 15671  // network adapter.
 15672  type VirtualVmxnet3StrictLatencyConfigDisableOffload string
 15673  
 15674  const (
 15675  	// Do not disable.
 15676  	VirtualVmxnet3StrictLatencyConfigDisableOffloadNONE = VirtualVmxnet3StrictLatencyConfigDisableOffload("NONE")
 15677  	// Disable TCP Segmentation Offload (TSO).
 15678  	VirtualVmxnet3StrictLatencyConfigDisableOffloadTSO = VirtualVmxnet3StrictLatencyConfigDisableOffload("TSO")
 15679  	// Disable Large Receive Offload (LRO).
 15680  	VirtualVmxnet3StrictLatencyConfigDisableOffloadLRO = VirtualVmxnet3StrictLatencyConfigDisableOffload("LRO")
 15681  	// Disable both TSO and LRO.
 15682  	VirtualVmxnet3StrictLatencyConfigDisableOffloadTSO_LRO = VirtualVmxnet3StrictLatencyConfigDisableOffload("TSO_LRO")
 15683  )
 15684  
 15685  func (e VirtualVmxnet3StrictLatencyConfigDisableOffload) Values() []VirtualVmxnet3StrictLatencyConfigDisableOffload {
 15686  	return []VirtualVmxnet3StrictLatencyConfigDisableOffload{
 15687  		VirtualVmxnet3StrictLatencyConfigDisableOffloadNONE,
 15688  		VirtualVmxnet3StrictLatencyConfigDisableOffloadTSO,
 15689  		VirtualVmxnet3StrictLatencyConfigDisableOffloadLRO,
 15690  		VirtualVmxnet3StrictLatencyConfigDisableOffloadTSO_LRO,
 15691  	}
 15692  }
 15693  
 15694  func (e VirtualVmxnet3StrictLatencyConfigDisableOffload) Strings() []string {
 15695  	return EnumValuesAsStrings(e.Values())
 15696  }
 15697  
 15698  func init() {
 15699  	t["VirtualVmxnet3StrictLatencyConfigDisableOffload"] = reflect.TypeOf((*VirtualVmxnet3StrictLatencyConfigDisableOffload)(nil)).Elem()
 15700  }
 15701  
 15702  // The enumeration of all known valid VRDMA device protocols.
 15703  type VirtualVmxnet3VrdmaOptionDeviceProtocols string
 15704  
 15705  const (
 15706  	// A RoCEv1 device.
 15707  	VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev1 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev1")
 15708  	// A RoCEv2 device.
 15709  	VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev2 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev2")
 15710  )
 15711  
 15712  func (e VirtualVmxnet3VrdmaOptionDeviceProtocols) Values() []VirtualVmxnet3VrdmaOptionDeviceProtocols {
 15713  	return []VirtualVmxnet3VrdmaOptionDeviceProtocols{
 15714  		VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev1,
 15715  		VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev2,
 15716  	}
 15717  }
 15718  
 15719  func (e VirtualVmxnet3VrdmaOptionDeviceProtocols) Strings() []string {
 15720  	return EnumValuesAsStrings(e.Values())
 15721  }
 15722  
 15723  func init() {
 15724  	t["VirtualVmxnet3VrdmaOptionDeviceProtocols"] = reflect.TypeOf((*VirtualVmxnet3VrdmaOptionDeviceProtocols)(nil)).Elem()
 15725  }
 15726  
 15727  type VmDasBeingResetEventReasonCode string
 15728  
 15729  const (
 15730  	// vmtools heartbeat failure
 15731  	VmDasBeingResetEventReasonCodeVmtoolsHeartbeatFailure = VmDasBeingResetEventReasonCode("vmtoolsHeartbeatFailure")
 15732  	// application heartbeat failure
 15733  	VmDasBeingResetEventReasonCodeAppHeartbeatFailure = VmDasBeingResetEventReasonCode("appHeartbeatFailure")
 15734  	// immediate reset request
 15735  	VmDasBeingResetEventReasonCodeAppImmediateResetRequest = VmDasBeingResetEventReasonCode("appImmediateResetRequest")
 15736  	// reset issued by VMCP when APD cleared
 15737  	VmDasBeingResetEventReasonCodeVmcpResetApdCleared = VmDasBeingResetEventReasonCode("vmcpResetApdCleared")
 15738  )
 15739  
 15740  func (e VmDasBeingResetEventReasonCode) Values() []VmDasBeingResetEventReasonCode {
 15741  	return []VmDasBeingResetEventReasonCode{
 15742  		VmDasBeingResetEventReasonCodeVmtoolsHeartbeatFailure,
 15743  		VmDasBeingResetEventReasonCodeAppHeartbeatFailure,
 15744  		VmDasBeingResetEventReasonCodeAppImmediateResetRequest,
 15745  		VmDasBeingResetEventReasonCodeVmcpResetApdCleared,
 15746  	}
 15747  }
 15748  
 15749  func (e VmDasBeingResetEventReasonCode) Strings() []string {
 15750  	return EnumValuesAsStrings(e.Values())
 15751  }
 15752  
 15753  func init() {
 15754  	t["VmDasBeingResetEventReasonCode"] = reflect.TypeOf((*VmDasBeingResetEventReasonCode)(nil)).Elem()
 15755  }
 15756  
 15757  // The reason for the failure.
 15758  type VmFailedStartingSecondaryEventFailureReason string
 15759  
 15760  const (
 15761  	// Remote host is incompatible for secondary virtual machine.
 15762  	//
 15763  	// For instance, the host doesn't have access to the virtual machine's
 15764  	// network or datastore.
 15765  	VmFailedStartingSecondaryEventFailureReasonIncompatibleHost = VmFailedStartingSecondaryEventFailureReason("incompatibleHost")
 15766  	// Login to remote host failed.
 15767  	VmFailedStartingSecondaryEventFailureReasonLoginFailed = VmFailedStartingSecondaryEventFailureReason("loginFailed")
 15768  	// Registration of the secondary virtual machine
 15769  	// on the remote host failed.
 15770  	VmFailedStartingSecondaryEventFailureReasonRegisterVmFailed = VmFailedStartingSecondaryEventFailureReason("registerVmFailed")
 15771  	// Migration failed.
 15772  	VmFailedStartingSecondaryEventFailureReasonMigrateFailed = VmFailedStartingSecondaryEventFailureReason("migrateFailed")
 15773  )
 15774  
 15775  func (e VmFailedStartingSecondaryEventFailureReason) Values() []VmFailedStartingSecondaryEventFailureReason {
 15776  	return []VmFailedStartingSecondaryEventFailureReason{
 15777  		VmFailedStartingSecondaryEventFailureReasonIncompatibleHost,
 15778  		VmFailedStartingSecondaryEventFailureReasonLoginFailed,
 15779  		VmFailedStartingSecondaryEventFailureReasonRegisterVmFailed,
 15780  		VmFailedStartingSecondaryEventFailureReasonMigrateFailed,
 15781  	}
 15782  }
 15783  
 15784  func (e VmFailedStartingSecondaryEventFailureReason) Strings() []string {
 15785  	return EnumValuesAsStrings(e.Values())
 15786  }
 15787  
 15788  func init() {
 15789  	t["VmFailedStartingSecondaryEventFailureReason"] = reflect.TypeOf((*VmFailedStartingSecondaryEventFailureReason)(nil)).Elem()
 15790  }
 15791  
 15792  type VmFaultToleranceConfigIssueReasonForIssue string
 15793  
 15794  const (
 15795  	// HA is not enabled on the cluster
 15796  	VmFaultToleranceConfigIssueReasonForIssueHaNotEnabled = VmFaultToleranceConfigIssueReasonForIssue("haNotEnabled")
 15797  	// There is already a secondary virtual machine for the primary
 15798  	// virtual machine
 15799  	VmFaultToleranceConfigIssueReasonForIssueMoreThanOneSecondary = VmFaultToleranceConfigIssueReasonForIssue("moreThanOneSecondary")
 15800  	// Deprecated as of vSphere API 6.0.
 15801  	//
 15802  	// The virtual machine does not support record/replay.
 15803  	//
 15804  	// Vm::Capability.RecordReplaySupported is false.
 15805  	VmFaultToleranceConfigIssueReasonForIssueRecordReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("recordReplayNotSupported")
 15806  	// Deprecated as of vSphere API 6.0.
 15807  	//
 15808  	// It is not possible to turn on Fault Tolerance on this powered-on VM.
 15809  	//
 15810  	// The support for record/replay should be enabled or Fault Tolerance
 15811  	// turned on, when this VM is powered off.
 15812  	VmFaultToleranceConfigIssueReasonForIssueReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("replayNotSupported")
 15813  	// The virtual machine is a template
 15814  	VmFaultToleranceConfigIssueReasonForIssueTemplateVm = VmFaultToleranceConfigIssueReasonForIssue("templateVm")
 15815  	// The virtual machine has more than one virtual CPU
 15816  	VmFaultToleranceConfigIssueReasonForIssueMultipleVCPU = VmFaultToleranceConfigIssueReasonForIssue("multipleVCPU")
 15817  	// The host is not active
 15818  	VmFaultToleranceConfigIssueReasonForIssueHostInactive = VmFaultToleranceConfigIssueReasonForIssue("hostInactive")
 15819  	// The host ftSupported flag is not set because of hardware issues
 15820  	VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedHardware = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedHardware")
 15821  	// The host ftSupported flag is not set because of it is a
 15822  	// VMware Server 2.0
 15823  	VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedProduct")
 15824  	// No VMotion license or VMotion nic is not configured on the host
 15825  	VmFaultToleranceConfigIssueReasonForIssueMissingVMotionNic = VmFaultToleranceConfigIssueReasonForIssue("missingVMotionNic")
 15826  	// FT logging nic is not configured on the host
 15827  	VmFaultToleranceConfigIssueReasonForIssueMissingFTLoggingNic = VmFaultToleranceConfigIssueReasonForIssue("missingFTLoggingNic")
 15828  	// The virtual machine has thin provisioned disks
 15829  	VmFaultToleranceConfigIssueReasonForIssueThinDisk = VmFaultToleranceConfigIssueReasonForIssue("thinDisk")
 15830  	// The "check host certificate" flag is not set
 15831  	VmFaultToleranceConfigIssueReasonForIssueVerifySSLCertificateFlagNotSet = VmFaultToleranceConfigIssueReasonForIssue("verifySSLCertificateFlagNotSet")
 15832  	// The virtual machine has one or more snapshots
 15833  	VmFaultToleranceConfigIssueReasonForIssueHasSnapshots = VmFaultToleranceConfigIssueReasonForIssue("hasSnapshots")
 15834  	// No configuration information is available for the virtual machine
 15835  	VmFaultToleranceConfigIssueReasonForIssueNoConfig = VmFaultToleranceConfigIssueReasonForIssue("noConfig")
 15836  	// The virtual machine is a fault tolerance secondary virtual machine
 15837  	VmFaultToleranceConfigIssueReasonForIssueFtSecondaryVm = VmFaultToleranceConfigIssueReasonForIssue("ftSecondaryVm")
 15838  	// The virtual machine has one or more disks on local datastore
 15839  	VmFaultToleranceConfigIssueReasonForIssueHasLocalDisk = VmFaultToleranceConfigIssueReasonForIssue("hasLocalDisk")
 15840  	// The virtual machine is an ESX agent VM
 15841  	VmFaultToleranceConfigIssueReasonForIssueEsxAgentVm = VmFaultToleranceConfigIssueReasonForIssue("esxAgentVm")
 15842  	// The virtual machine video device has 3D enabled
 15843  	VmFaultToleranceConfigIssueReasonForIssueVideo3dEnabled     = VmFaultToleranceConfigIssueReasonForIssue("video3dEnabled")
 15844  	VmFaultToleranceConfigIssueReasonForIssueHasUnsupportedDisk = VmFaultToleranceConfigIssueReasonForIssue("hasUnsupportedDisk")
 15845  	// FT logging nic does not have desired bandwidth
 15846  	VmFaultToleranceConfigIssueReasonForIssueInsufficientBandwidth = VmFaultToleranceConfigIssueReasonForIssue("insufficientBandwidth")
 15847  	// The host does not support fault tolerant VM with nested HV or VBS
 15848  	// enabled.
 15849  	VmFaultToleranceConfigIssueReasonForIssueHasNestedHVConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasNestedHVConfiguration")
 15850  	// The virtual machine has a vFlash memory device or/and disks with
 15851  	// vFlash cache configured.
 15852  	VmFaultToleranceConfigIssueReasonForIssueHasVFlashConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasVFlashConfiguration")
 15853  	// VMware product installed on the host does not support
 15854  	// fault tolerance
 15855  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("unsupportedProduct")
 15856  	// Host CPU does not support hardware virtualization
 15857  	VmFaultToleranceConfigIssueReasonForIssueCpuHvUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHvUnsupported")
 15858  	// Host CPU does not support hardware MMU virtualization
 15859  	VmFaultToleranceConfigIssueReasonForIssueCpuHwmmuUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHwmmuUnsupported")
 15860  	// Host CPU is compatible for replay-based FT, but hardware
 15861  	// virtualization has been disabled in the BIOS.
 15862  	VmFaultToleranceConfigIssueReasonForIssueCpuHvDisabled = VmFaultToleranceConfigIssueReasonForIssue("cpuHvDisabled")
 15863  	// The virtual machine firmware is of type EFI
 15864  	VmFaultToleranceConfigIssueReasonForIssueHasEFIFirmware = VmFaultToleranceConfigIssueReasonForIssue("hasEFIFirmware")
 15865  	// The host does not support fault tolerance virtual machines
 15866  	// with the specified number of virtual CPUs.
 15867  	VmFaultToleranceConfigIssueReasonForIssueTooManyVCPUs = VmFaultToleranceConfigIssueReasonForIssue("tooManyVCPUs")
 15868  	// The host does not support fault tolerance virtual machines
 15869  	// with the specified amount of memory.
 15870  	VmFaultToleranceConfigIssueReasonForIssueTooMuchMemory = VmFaultToleranceConfigIssueReasonForIssue("tooMuchMemory")
 15871  	// No VMotion license
 15872  	VmFaultToleranceConfigIssueReasonForIssueVMotionNotLicensed = VmFaultToleranceConfigIssueReasonForIssue("vMotionNotLicensed")
 15873  	// Host does not have proper FT license
 15874  	VmFaultToleranceConfigIssueReasonForIssueFtNotLicensed = VmFaultToleranceConfigIssueReasonForIssue("ftNotLicensed")
 15875  	// Host does not have HA agent running properly
 15876  	VmFaultToleranceConfigIssueReasonForIssueHaAgentIssue = VmFaultToleranceConfigIssueReasonForIssue("haAgentIssue")
 15877  	// The VM has unsupported storage policy
 15878  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedSPBM = VmFaultToleranceConfigIssueReasonForIssue("unsupportedSPBM")
 15879  	// The virtual machine has virtual disk in linked-clone mode
 15880  	VmFaultToleranceConfigIssueReasonForIssueHasLinkedCloneDisk = VmFaultToleranceConfigIssueReasonForIssue("hasLinkedCloneDisk")
 15881  	// Virtual Machine with Pmem HA Failover is not supported
 15882  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedPMemHAFailOver = VmFaultToleranceConfigIssueReasonForIssue("unsupportedPMemHAFailOver")
 15883  	// Virtual Machine with encrypted virtual disk is not supported.
 15884  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedEncryptedDisk = VmFaultToleranceConfigIssueReasonForIssue("unsupportedEncryptedDisk")
 15885  	// The virtual machine does not allow to enable or disable FT Metro
 15886  	// Cluster while FT is turned on.
 15887  	VmFaultToleranceConfigIssueReasonForIssueFtMetroClusterNotEditable = VmFaultToleranceConfigIssueReasonForIssue("ftMetroClusterNotEditable")
 15888  	// Cannot turn on vSphere Fault Tolerance on a FT Metro Cluster enabled VM
 15889  	// with no Host Group configured.
 15890  	VmFaultToleranceConfigIssueReasonForIssueNoHostGroupConfigured = VmFaultToleranceConfigIssueReasonForIssue("noHostGroupConfigured")
 15891  )
 15892  
 15893  func (e VmFaultToleranceConfigIssueReasonForIssue) Values() []VmFaultToleranceConfigIssueReasonForIssue {
 15894  	return []VmFaultToleranceConfigIssueReasonForIssue{
 15895  		VmFaultToleranceConfigIssueReasonForIssueHaNotEnabled,
 15896  		VmFaultToleranceConfigIssueReasonForIssueMoreThanOneSecondary,
 15897  		VmFaultToleranceConfigIssueReasonForIssueRecordReplayNotSupported,
 15898  		VmFaultToleranceConfigIssueReasonForIssueReplayNotSupported,
 15899  		VmFaultToleranceConfigIssueReasonForIssueTemplateVm,
 15900  		VmFaultToleranceConfigIssueReasonForIssueMultipleVCPU,
 15901  		VmFaultToleranceConfigIssueReasonForIssueHostInactive,
 15902  		VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedHardware,
 15903  		VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedProduct,
 15904  		VmFaultToleranceConfigIssueReasonForIssueMissingVMotionNic,
 15905  		VmFaultToleranceConfigIssueReasonForIssueMissingFTLoggingNic,
 15906  		VmFaultToleranceConfigIssueReasonForIssueThinDisk,
 15907  		VmFaultToleranceConfigIssueReasonForIssueVerifySSLCertificateFlagNotSet,
 15908  		VmFaultToleranceConfigIssueReasonForIssueHasSnapshots,
 15909  		VmFaultToleranceConfigIssueReasonForIssueNoConfig,
 15910  		VmFaultToleranceConfigIssueReasonForIssueFtSecondaryVm,
 15911  		VmFaultToleranceConfigIssueReasonForIssueHasLocalDisk,
 15912  		VmFaultToleranceConfigIssueReasonForIssueEsxAgentVm,
 15913  		VmFaultToleranceConfigIssueReasonForIssueVideo3dEnabled,
 15914  		VmFaultToleranceConfigIssueReasonForIssueHasUnsupportedDisk,
 15915  		VmFaultToleranceConfigIssueReasonForIssueInsufficientBandwidth,
 15916  		VmFaultToleranceConfigIssueReasonForIssueHasNestedHVConfiguration,
 15917  		VmFaultToleranceConfigIssueReasonForIssueHasVFlashConfiguration,
 15918  		VmFaultToleranceConfigIssueReasonForIssueUnsupportedProduct,
 15919  		VmFaultToleranceConfigIssueReasonForIssueCpuHvUnsupported,
 15920  		VmFaultToleranceConfigIssueReasonForIssueCpuHwmmuUnsupported,
 15921  		VmFaultToleranceConfigIssueReasonForIssueCpuHvDisabled,
 15922  		VmFaultToleranceConfigIssueReasonForIssueHasEFIFirmware,
 15923  		VmFaultToleranceConfigIssueReasonForIssueTooManyVCPUs,
 15924  		VmFaultToleranceConfigIssueReasonForIssueTooMuchMemory,
 15925  		VmFaultToleranceConfigIssueReasonForIssueVMotionNotLicensed,
 15926  		VmFaultToleranceConfigIssueReasonForIssueFtNotLicensed,
 15927  		VmFaultToleranceConfigIssueReasonForIssueHaAgentIssue,
 15928  		VmFaultToleranceConfigIssueReasonForIssueUnsupportedSPBM,
 15929  		VmFaultToleranceConfigIssueReasonForIssueHasLinkedCloneDisk,
 15930  		VmFaultToleranceConfigIssueReasonForIssueUnsupportedPMemHAFailOver,
 15931  		VmFaultToleranceConfigIssueReasonForIssueUnsupportedEncryptedDisk,
 15932  		VmFaultToleranceConfigIssueReasonForIssueFtMetroClusterNotEditable,
 15933  		VmFaultToleranceConfigIssueReasonForIssueNoHostGroupConfigured,
 15934  	}
 15935  }
 15936  
 15937  func (e VmFaultToleranceConfigIssueReasonForIssue) Strings() []string {
 15938  	return EnumValuesAsStrings(e.Values())
 15939  }
 15940  
 15941  func init() {
 15942  	t["VmFaultToleranceConfigIssueReasonForIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssueReasonForIssue)(nil)).Elem()
 15943  	minAPIVersionForEnumValue["VmFaultToleranceConfigIssueReasonForIssue"] = map[string]string{
 15944  		"vMotionNotLicensed":        "8.0.3.0",
 15945  		"ftNotLicensed":             "8.0.3.0",
 15946  		"haAgentIssue":              "8.0.3.0",
 15947  		"unsupportedSPBM":           "8.0.3.0",
 15948  		"hasLinkedCloneDisk":        "8.0.3.0",
 15949  		"unsupportedPMemHAFailOver": "7.0.2.0",
 15950  		"unsupportedEncryptedDisk":  "8.0.3.0",
 15951  		"ftMetroClusterNotEditable": "8.0.3.0",
 15952  		"noHostGroupConfigured":     "8.0.3.0",
 15953  	}
 15954  }
 15955  
 15956  type VmFaultToleranceInvalidFileBackingDeviceType string
 15957  
 15958  const (
 15959  	// virtual floppy
 15960  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualFloppy = VmFaultToleranceInvalidFileBackingDeviceType("virtualFloppy")
 15961  	// virtual Cdrom
 15962  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualCdrom = VmFaultToleranceInvalidFileBackingDeviceType("virtualCdrom")
 15963  	// virtual serial port
 15964  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualSerialPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualSerialPort")
 15965  	// virtual parallel port
 15966  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualParallelPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualParallelPort")
 15967  	// virtual disk
 15968  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualDisk = VmFaultToleranceInvalidFileBackingDeviceType("virtualDisk")
 15969  )
 15970  
 15971  func (e VmFaultToleranceInvalidFileBackingDeviceType) Values() []VmFaultToleranceInvalidFileBackingDeviceType {
 15972  	return []VmFaultToleranceInvalidFileBackingDeviceType{
 15973  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualFloppy,
 15974  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualCdrom,
 15975  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualSerialPort,
 15976  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualParallelPort,
 15977  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualDisk,
 15978  	}
 15979  }
 15980  
 15981  func (e VmFaultToleranceInvalidFileBackingDeviceType) Strings() []string {
 15982  	return EnumValuesAsStrings(e.Values())
 15983  }
 15984  
 15985  func init() {
 15986  	t["VmFaultToleranceInvalidFileBackingDeviceType"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingDeviceType)(nil)).Elem()
 15987  }
 15988  
 15989  type VmShutdownOnIsolationEventOperation string
 15990  
 15991  const (
 15992  	// The virtual machine was shut down
 15993  	VmShutdownOnIsolationEventOperationShutdown = VmShutdownOnIsolationEventOperation("shutdown")
 15994  	// The virtual machine was powered off because shut down failed
 15995  	VmShutdownOnIsolationEventOperationPoweredOff = VmShutdownOnIsolationEventOperation("poweredOff")
 15996  )
 15997  
 15998  func (e VmShutdownOnIsolationEventOperation) Values() []VmShutdownOnIsolationEventOperation {
 15999  	return []VmShutdownOnIsolationEventOperation{
 16000  		VmShutdownOnIsolationEventOperationShutdown,
 16001  		VmShutdownOnIsolationEventOperationPoweredOff,
 16002  	}
 16003  }
 16004  
 16005  func (e VmShutdownOnIsolationEventOperation) Strings() []string {
 16006  	return EnumValuesAsStrings(e.Values())
 16007  }
 16008  
 16009  func init() {
 16010  	t["VmShutdownOnIsolationEventOperation"] = reflect.TypeOf((*VmShutdownOnIsolationEventOperation)(nil)).Elem()
 16011  }
 16012  
 16013  // The PVLAN port types.
 16014  type VmwareDistributedVirtualSwitchPvlanPortType string
 16015  
 16016  const (
 16017  	// The port can communicate with all other ports within the same PVLAN,
 16018  	// including the isolated and community ports .
 16019  	VmwareDistributedVirtualSwitchPvlanPortTypePromiscuous = VmwareDistributedVirtualSwitchPvlanPortType("promiscuous")
 16020  	// The port can only communicate with the promiscuous ports within the
 16021  	// same PVLAN, any other traffics are blocked.
 16022  	VmwareDistributedVirtualSwitchPvlanPortTypeIsolated = VmwareDistributedVirtualSwitchPvlanPortType("isolated")
 16023  	// The ports communicates with other community ports and with
 16024  	// promiscuous ports within the same PVLAN.
 16025  	//
 16026  	// any other traffics are
 16027  	// blocked.
 16028  	VmwareDistributedVirtualSwitchPvlanPortTypeCommunity = VmwareDistributedVirtualSwitchPvlanPortType("community")
 16029  )
 16030  
 16031  func (e VmwareDistributedVirtualSwitchPvlanPortType) Values() []VmwareDistributedVirtualSwitchPvlanPortType {
 16032  	return []VmwareDistributedVirtualSwitchPvlanPortType{
 16033  		VmwareDistributedVirtualSwitchPvlanPortTypePromiscuous,
 16034  		VmwareDistributedVirtualSwitchPvlanPortTypeIsolated,
 16035  		VmwareDistributedVirtualSwitchPvlanPortTypeCommunity,
 16036  	}
 16037  }
 16038  
 16039  func (e VmwareDistributedVirtualSwitchPvlanPortType) Strings() []string {
 16040  	return EnumValuesAsStrings(e.Values())
 16041  }
 16042  
 16043  func init() {
 16044  	t["VmwareDistributedVirtualSwitchPvlanPortType"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanPortType)(nil)).Elem()
 16045  }
 16046  
 16047  // The list of disk issues.
 16048  type VsanDiskIssueType string
 16049  
 16050  const (
 16051  	VsanDiskIssueTypeNonExist      = VsanDiskIssueType("nonExist")
 16052  	VsanDiskIssueTypeStampMismatch = VsanDiskIssueType("stampMismatch")
 16053  	VsanDiskIssueTypeUnknown       = VsanDiskIssueType("unknown")
 16054  )
 16055  
 16056  func (e VsanDiskIssueType) Values() []VsanDiskIssueType {
 16057  	return []VsanDiskIssueType{
 16058  		VsanDiskIssueTypeNonExist,
 16059  		VsanDiskIssueTypeStampMismatch,
 16060  		VsanDiskIssueTypeUnknown,
 16061  	}
 16062  }
 16063  
 16064  func (e VsanDiskIssueType) Strings() []string {
 16065  	return EnumValuesAsStrings(e.Values())
 16066  }
 16067  
 16068  func init() {
 16069  	t["VsanDiskIssueType"] = reflect.TypeOf((*VsanDiskIssueType)(nil)).Elem()
 16070  }
 16071  
 16072  // The action to take with regard to storage objects upon decommissioning
 16073  // a host from use with the VSAN service.
 16074  type VsanHostDecommissionModeObjectAction string
 16075  
 16076  const (
 16077  	// No special action should take place regarding VSAN data.
 16078  	VsanHostDecommissionModeObjectActionNoAction = VsanHostDecommissionModeObjectAction("noAction")
 16079  	// VSAN data reconfiguration should be performed to ensure storage
 16080  	// object accessibility.
 16081  	VsanHostDecommissionModeObjectActionEnsureObjectAccessibility = VsanHostDecommissionModeObjectAction("ensureObjectAccessibility")
 16082  	// VSAN data evacuation should be performed such that all storage
 16083  	// object data is removed from the host.
 16084  	VsanHostDecommissionModeObjectActionEvacuateAllData = VsanHostDecommissionModeObjectAction("evacuateAllData")
 16085  )
 16086  
 16087  func (e VsanHostDecommissionModeObjectAction) Values() []VsanHostDecommissionModeObjectAction {
 16088  	return []VsanHostDecommissionModeObjectAction{
 16089  		VsanHostDecommissionModeObjectActionNoAction,
 16090  		VsanHostDecommissionModeObjectActionEnsureObjectAccessibility,
 16091  		VsanHostDecommissionModeObjectActionEvacuateAllData,
 16092  	}
 16093  }
 16094  
 16095  func (e VsanHostDecommissionModeObjectAction) Strings() []string {
 16096  	return EnumValuesAsStrings(e.Values())
 16097  }
 16098  
 16099  func init() {
 16100  	t["VsanHostDecommissionModeObjectAction"] = reflect.TypeOf((*VsanHostDecommissionModeObjectAction)(nil)).Elem()
 16101  }
 16102  
 16103  // Values used for indicating a disk's status for use by the VSAN service.
 16104  //
 16105  // See also `VsanHostDiskResult.state`.
 16106  type VsanHostDiskResultState string
 16107  
 16108  const (
 16109  	// Disk is currently in use by the VSAN service.
 16110  	//
 16111  	// A disk may be considered in use by the VSAN service regardless of
 16112  	// whether the VSAN service is enabled. As long as a disk is in use
 16113  	// by VSAN, it is reserved exclusively for VSAN and may not be used
 16114  	// for other purposes.
 16115  	//
 16116  	// See also `VsanHostDiskResult.error`.
 16117  	VsanHostDiskResultStateInUse = VsanHostDiskResultState("inUse")
 16118  	// Disk is considered eligible for use by the VSAN service,
 16119  	// but is not currently in use.
 16120  	VsanHostDiskResultStateEligible = VsanHostDiskResultState("eligible")
 16121  	// Disk is considered ineligible for use by the VSAN service,
 16122  	// and is not currently in use.
 16123  	//
 16124  	// See also `VsanHostDiskResult.error`.
 16125  	VsanHostDiskResultStateIneligible = VsanHostDiskResultState("ineligible")
 16126  )
 16127  
 16128  func (e VsanHostDiskResultState) Values() []VsanHostDiskResultState {
 16129  	return []VsanHostDiskResultState{
 16130  		VsanHostDiskResultStateInUse,
 16131  		VsanHostDiskResultStateEligible,
 16132  		VsanHostDiskResultStateIneligible,
 16133  	}
 16134  }
 16135  
 16136  func (e VsanHostDiskResultState) Strings() []string {
 16137  	return EnumValuesAsStrings(e.Values())
 16138  }
 16139  
 16140  func init() {
 16141  	t["VsanHostDiskResultState"] = reflect.TypeOf((*VsanHostDiskResultState)(nil)).Elem()
 16142  }
 16143  
 16144  // A `VsanHostHealthState_enum` represents the state of a participating
 16145  // host in the VSAN service.
 16146  //
 16147  // See also `VsanHostClusterStatus`.
 16148  type VsanHostHealthState string
 16149  
 16150  const (
 16151  	// Node health is unknown.
 16152  	VsanHostHealthStateUnknown = VsanHostHealthState("unknown")
 16153  	// Node is considered healthy.
 16154  	VsanHostHealthStateHealthy = VsanHostHealthState("healthy")
 16155  	// Node is considered unhealthy.
 16156  	VsanHostHealthStateUnhealthy = VsanHostHealthState("unhealthy")
 16157  )
 16158  
 16159  func (e VsanHostHealthState) Values() []VsanHostHealthState {
 16160  	return []VsanHostHealthState{
 16161  		VsanHostHealthStateUnknown,
 16162  		VsanHostHealthStateHealthy,
 16163  		VsanHostHealthStateUnhealthy,
 16164  	}
 16165  }
 16166  
 16167  func (e VsanHostHealthState) Strings() []string {
 16168  	return EnumValuesAsStrings(e.Values())
 16169  }
 16170  
 16171  func init() {
 16172  	t["VsanHostHealthState"] = reflect.TypeOf((*VsanHostHealthState)(nil)).Elem()
 16173  }
 16174  
 16175  // A `VsanHostNodeState_enum` represents the state of participation of a host
 16176  // in the VSAN service.
 16177  //
 16178  // See also `VsanHostClusterStatus`, `VsanHostClusterStatusState`.
 16179  type VsanHostNodeState string
 16180  
 16181  const (
 16182  	// The node is enabled for the VSAN service but has some configuration
 16183  	// error which prevents participation.
 16184  	VsanHostNodeStateError = VsanHostNodeState("error")
 16185  	// The node is disabled for the VSAN service.
 16186  	VsanHostNodeStateDisabled = VsanHostNodeState("disabled")
 16187  	// The node is enabled for the VSAN service and is serving as an agent.
 16188  	VsanHostNodeStateAgent = VsanHostNodeState("agent")
 16189  	// The node is enabled for the VSAN service and is serving as the master.
 16190  	VsanHostNodeStateMaster = VsanHostNodeState("master")
 16191  	// The node is enabled for the VSAN service and is serving as the backup.
 16192  	VsanHostNodeStateBackup = VsanHostNodeState("backup")
 16193  	// The node is starting the VSAN service; this state is considered
 16194  	// transitory.
 16195  	VsanHostNodeStateStarting = VsanHostNodeState("starting")
 16196  	// The node is stopping the VSAN service; this state is considered
 16197  	// transitory.
 16198  	VsanHostNodeStateStopping = VsanHostNodeState("stopping")
 16199  	// The node is entering maintenance mode; this state is considered
 16200  	// transitory.
 16201  	//
 16202  	// See also `HostSystem.EnterMaintenanceMode_Task`.
 16203  	VsanHostNodeStateEnteringMaintenanceMode = VsanHostNodeState("enteringMaintenanceMode")
 16204  	// The node is exiting maintenance mode; this state is considered
 16205  	// transitory.
 16206  	//
 16207  	// See also `HostSystem.ExitMaintenanceMode_Task`.
 16208  	VsanHostNodeStateExitingMaintenanceMode = VsanHostNodeState("exitingMaintenanceMode")
 16209  	// The node is being decommissioned from the VSAN service; this state is
 16210  	// considered transitory.
 16211  	VsanHostNodeStateDecommissioning = VsanHostNodeState("decommissioning")
 16212  )
 16213  
 16214  func (e VsanHostNodeState) Values() []VsanHostNodeState {
 16215  	return []VsanHostNodeState{
 16216  		VsanHostNodeStateError,
 16217  		VsanHostNodeStateDisabled,
 16218  		VsanHostNodeStateAgent,
 16219  		VsanHostNodeStateMaster,
 16220  		VsanHostNodeStateBackup,
 16221  		VsanHostNodeStateStarting,
 16222  		VsanHostNodeStateStopping,
 16223  		VsanHostNodeStateEnteringMaintenanceMode,
 16224  		VsanHostNodeStateExitingMaintenanceMode,
 16225  		VsanHostNodeStateDecommissioning,
 16226  	}
 16227  }
 16228  
 16229  func (e VsanHostNodeState) Strings() []string {
 16230  	return EnumValuesAsStrings(e.Values())
 16231  }
 16232  
 16233  func init() {
 16234  	t["VsanHostNodeState"] = reflect.TypeOf((*VsanHostNodeState)(nil)).Elem()
 16235  }
 16236  
 16237  // Type of disk group operation performed.
 16238  type VsanUpgradeSystemUpgradeHistoryDiskGroupOpType string
 16239  
 16240  const (
 16241  	// Disk group is being (re-)added.
 16242  	VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeAdd = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("add")
 16243  	// Disk group is being removed.
 16244  	VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeRemove = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("remove")
 16245  )
 16246  
 16247  func (e VsanUpgradeSystemUpgradeHistoryDiskGroupOpType) Values() []VsanUpgradeSystemUpgradeHistoryDiskGroupOpType {
 16248  	return []VsanUpgradeSystemUpgradeHistoryDiskGroupOpType{
 16249  		VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeAdd,
 16250  		VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeRemove,
 16251  	}
 16252  }
 16253  
 16254  func (e VsanUpgradeSystemUpgradeHistoryDiskGroupOpType) Strings() []string {
 16255  	return EnumValuesAsStrings(e.Values())
 16256  }
 16257  
 16258  func init() {
 16259  	t["VsanUpgradeSystemUpgradeHistoryDiskGroupOpType"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOpType)(nil)).Elem()
 16260  }
 16261  
 16262  type WeekOfMonth string
 16263  
 16264  const (
 16265  	WeekOfMonthFirst  = WeekOfMonth("first")
 16266  	WeekOfMonthSecond = WeekOfMonth("second")
 16267  	WeekOfMonthThird  = WeekOfMonth("third")
 16268  	WeekOfMonthFourth = WeekOfMonth("fourth")
 16269  	WeekOfMonthLast   = WeekOfMonth("last")
 16270  )
 16271  
 16272  func (e WeekOfMonth) Values() []WeekOfMonth {
 16273  	return []WeekOfMonth{
 16274  		WeekOfMonthFirst,
 16275  		WeekOfMonthSecond,
 16276  		WeekOfMonthThird,
 16277  		WeekOfMonthFourth,
 16278  		WeekOfMonthLast,
 16279  	}
 16280  }
 16281  
 16282  func (e WeekOfMonth) Strings() []string {
 16283  	return EnumValuesAsStrings(e.Values())
 16284  }
 16285  
 16286  func init() {
 16287  	t["WeekOfMonth"] = reflect.TypeOf((*WeekOfMonth)(nil)).Elem()
 16288  }
 16289  
 16290  type WillLoseHAProtectionResolution string
 16291  
 16292  const (
 16293  	// storage vmotion resolution
 16294  	WillLoseHAProtectionResolutionSvmotion = WillLoseHAProtectionResolution("svmotion")
 16295  	// relocate resolution
 16296  	WillLoseHAProtectionResolutionRelocate = WillLoseHAProtectionResolution("relocate")
 16297  )
 16298  
 16299  func (e WillLoseHAProtectionResolution) Values() []WillLoseHAProtectionResolution {
 16300  	return []WillLoseHAProtectionResolution{
 16301  		WillLoseHAProtectionResolutionSvmotion,
 16302  		WillLoseHAProtectionResolutionRelocate,
 16303  	}
 16304  }
 16305  
 16306  func (e WillLoseHAProtectionResolution) Strings() []string {
 16307  	return EnumValuesAsStrings(e.Values())
 16308  }
 16309  
 16310  func init() {
 16311  	t["WillLoseHAProtectionResolution"] = reflect.TypeOf((*WillLoseHAProtectionResolution)(nil)).Elem()
 16312  }
 16313  
 16314  type VslmDiskInfoFlag string
 16315  
 16316  const (
 16317  	VslmDiskInfoFlagId                      = VslmDiskInfoFlag("id")
 16318  	VslmDiskInfoFlagDescriptorVersion       = VslmDiskInfoFlag("descriptorVersion")
 16319  	VslmDiskInfoFlagBackingObjectId         = VslmDiskInfoFlag("backingObjectId")
 16320  	VslmDiskInfoFlagPath                    = VslmDiskInfoFlag("path")
 16321  	VslmDiskInfoFlagParentPath              = VslmDiskInfoFlag("parentPath")
 16322  	VslmDiskInfoFlagName                    = VslmDiskInfoFlag("name")
 16323  	VslmDiskInfoFlagDeviceName              = VslmDiskInfoFlag("deviceName")
 16324  	VslmDiskInfoFlagCapacity                = VslmDiskInfoFlag("capacity")
 16325  	VslmDiskInfoFlagAllocated               = VslmDiskInfoFlag("allocated")
 16326  	VslmDiskInfoFlagType                    = VslmDiskInfoFlag("type")
 16327  	VslmDiskInfoFlagConsumers               = VslmDiskInfoFlag("consumers")
 16328  	VslmDiskInfoFlagTentativeState          = VslmDiskInfoFlag("tentativeState")
 16329  	VslmDiskInfoFlagCreateTime              = VslmDiskInfoFlag("createTime")
 16330  	VslmDiskInfoFlagIoFilter                = VslmDiskInfoFlag("ioFilter")
 16331  	VslmDiskInfoFlagControlFlags            = VslmDiskInfoFlag("controlFlags")
 16332  	VslmDiskInfoFlagKeepAfterVmDelete       = VslmDiskInfoFlag("keepAfterVmDelete")
 16333  	VslmDiskInfoFlagRelocationDisabled      = VslmDiskInfoFlag("relocationDisabled")
 16334  	VslmDiskInfoFlagKeyId                   = VslmDiskInfoFlag("keyId")
 16335  	VslmDiskInfoFlagKeyProviderId           = VslmDiskInfoFlag("keyProviderId")
 16336  	VslmDiskInfoFlagNativeSnapshotSupported = VslmDiskInfoFlag("nativeSnapshotSupported")
 16337  	VslmDiskInfoFlagCbtEnabled              = VslmDiskInfoFlag("cbtEnabled")
 16338  	VslmDiskInfoFlagVirtualDiskFormat       = VslmDiskInfoFlag("virtualDiskFormat")
 16339  )
 16340  
 16341  func (e VslmDiskInfoFlag) Values() []VslmDiskInfoFlag {
 16342  	return []VslmDiskInfoFlag{
 16343  		VslmDiskInfoFlagId,
 16344  		VslmDiskInfoFlagDescriptorVersion,
 16345  		VslmDiskInfoFlagBackingObjectId,
 16346  		VslmDiskInfoFlagPath,
 16347  		VslmDiskInfoFlagParentPath,
 16348  		VslmDiskInfoFlagName,
 16349  		VslmDiskInfoFlagDeviceName,
 16350  		VslmDiskInfoFlagCapacity,
 16351  		VslmDiskInfoFlagAllocated,
 16352  		VslmDiskInfoFlagType,
 16353  		VslmDiskInfoFlagConsumers,
 16354  		VslmDiskInfoFlagTentativeState,
 16355  		VslmDiskInfoFlagCreateTime,
 16356  		VslmDiskInfoFlagIoFilter,
 16357  		VslmDiskInfoFlagControlFlags,
 16358  		VslmDiskInfoFlagKeepAfterVmDelete,
 16359  		VslmDiskInfoFlagRelocationDisabled,
 16360  		VslmDiskInfoFlagKeyId,
 16361  		VslmDiskInfoFlagKeyProviderId,
 16362  		VslmDiskInfoFlagNativeSnapshotSupported,
 16363  		VslmDiskInfoFlagCbtEnabled,
 16364  		VslmDiskInfoFlagVirtualDiskFormat,
 16365  	}
 16366  }
 16367  
 16368  func (e VslmDiskInfoFlag) Strings() []string {
 16369  	return EnumValuesAsStrings(e.Values())
 16370  }
 16371  
 16372  func init() {
 16373  	t["vslmDiskInfoFlag"] = reflect.TypeOf((*VslmDiskInfoFlag)(nil)).Elem()
 16374  }
 16375  
 16376  type VslmVStorageObjectControlFlag string
 16377  
 16378  const (
 16379  	VslmVStorageObjectControlFlagKeepAfterDeleteVm          = VslmVStorageObjectControlFlag("keepAfterDeleteVm")
 16380  	VslmVStorageObjectControlFlagDisableRelocation          = VslmVStorageObjectControlFlag("disableRelocation")
 16381  	VslmVStorageObjectControlFlagEnableChangedBlockTracking = VslmVStorageObjectControlFlag("enableChangedBlockTracking")
 16382  )
 16383  
 16384  func (e VslmVStorageObjectControlFlag) Values() []VslmVStorageObjectControlFlag {
 16385  	return []VslmVStorageObjectControlFlag{
 16386  		VslmVStorageObjectControlFlagKeepAfterDeleteVm,
 16387  		VslmVStorageObjectControlFlagDisableRelocation,
 16388  		VslmVStorageObjectControlFlagEnableChangedBlockTracking,
 16389  	}
 16390  }
 16391  
 16392  func (e VslmVStorageObjectControlFlag) Strings() []string {
 16393  	return EnumValuesAsStrings(e.Values())
 16394  }
 16395  
 16396  func init() {
 16397  	t["vslmVStorageObjectControlFlag"] = reflect.TypeOf((*VslmVStorageObjectControlFlag)(nil)).Elem()
 16398  }