github.com/vmware/govmomi@v0.51.0/vim25/types/types.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 (
     8  	"reflect"
     9  	"time"
    10  )
    11  
    12  type AbandonHciWorkflow AbandonHciWorkflowRequestType
    13  
    14  func init() {
    15  	t["AbandonHciWorkflow"] = reflect.TypeOf((*AbandonHciWorkflow)(nil)).Elem()
    16  }
    17  
    18  type AbandonHciWorkflowRequestType struct {
    19  	This ManagedObjectReference `xml:"_this" json:"-"`
    20  }
    21  
    22  func init() {
    23  	t["AbandonHciWorkflowRequestType"] = reflect.TypeOf((*AbandonHciWorkflowRequestType)(nil)).Elem()
    24  }
    25  
    26  type AbandonHciWorkflowResponse struct {
    27  }
    28  
    29  type AbdicateDomOwnership AbdicateDomOwnershipRequestType
    30  
    31  func init() {
    32  	t["AbdicateDomOwnership"] = reflect.TypeOf((*AbdicateDomOwnership)(nil)).Elem()
    33  }
    34  
    35  // The parameters of `HostVsanInternalSystem.AbdicateDomOwnership`.
    36  type AbdicateDomOwnershipRequestType struct {
    37  	This ManagedObjectReference `xml:"_this" json:"-"`
    38  	// List of VSAN/DOM object UUIDs.
    39  	Uuids []string `xml:"uuids" json:"uuids"`
    40  }
    41  
    42  func init() {
    43  	t["AbdicateDomOwnershipRequestType"] = reflect.TypeOf((*AbdicateDomOwnershipRequestType)(nil)).Elem()
    44  }
    45  
    46  type AbdicateDomOwnershipResponse struct {
    47  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
    48  }
    49  
    50  // The parameters of `VirtualMachineGuestCustomizationManager.AbortCustomization_Task`.
    51  type AbortCustomizationRequestType struct {
    52  	This ManagedObjectReference `xml:"_this" json:"-"`
    53  	// The Virtual Machine managed object reference.
    54  	//
    55  	// Refers instance of `VirtualMachine`.
    56  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
    57  	// The guest authentication data. See
    58  	// `GuestAuthentication`.
    59  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
    60  }
    61  
    62  func init() {
    63  	t["AbortCustomizationRequestType"] = reflect.TypeOf((*AbortCustomizationRequestType)(nil)).Elem()
    64  }
    65  
    66  type AbortCustomization_Task AbortCustomizationRequestType
    67  
    68  func init() {
    69  	t["AbortCustomization_Task"] = reflect.TypeOf((*AbortCustomization_Task)(nil)).Elem()
    70  }
    71  
    72  type AbortCustomization_TaskResponse struct {
    73  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
    74  }
    75  
    76  // This data object type describes system information
    77  // including the name, type, version, and build number.
    78  type AboutInfo struct {
    79  	DynamicData
    80  
    81  	// Short form of the product name.
    82  	Name string `xml:"name" json:"name"`
    83  	// The complete product name, including the version information.
    84  	FullName string `xml:"fullName" json:"fullName"`
    85  	// Name of the vendor of this product.
    86  	Vendor string `xml:"vendor" json:"vendor"`
    87  	// Dot-separated product version string.
    88  	//
    89  	// For example, "10.0.2.0".
    90  	Version string `xml:"version" json:"version"`
    91  	// Patch level for the server.
    92  	PatchLevel string `xml:"patchLevel,omitempty" json:"patchLevel,omitempty" vim:"7.0.2.0"`
    93  	// Build string for the server on which this call is made.
    94  	//
    95  	// For example, x.y.z-num.
    96  	// This string does not apply to the API.
    97  	Build string `xml:"build" json:"build"`
    98  	// Version of the message catalog for the current session's locale.
    99  	LocaleVersion string `xml:"localeVersion,omitempty" json:"localeVersion,omitempty"`
   100  	// Build number for the current session's locale.
   101  	//
   102  	// Typically, this is a small number reflecting a
   103  	// localization change from the normal product build.
   104  	LocaleBuild string `xml:"localeBuild,omitempty" json:"localeBuild,omitempty"`
   105  	// Operating system type and architecture.
   106  	//
   107  	// Examples of values are:
   108  	//   - "win32-x86" - For x86-based Windows systems.
   109  	//   - "linux-x86" - For x86-based Linux systems.
   110  	//   - "vmnix-x86" - For the x86 ESX Server microkernel.
   111  	//   - "vmnix-arm64" - For the arm64 ESX Server microkernel.
   112  	OsType string `xml:"osType" json:"osType"`
   113  	// The product ID is a unique identifier for a product line.
   114  	//
   115  	// Examples of values are:
   116  	//   - "gsx" - For the VMware Server product.
   117  	//   - "esx" - For the ESX product.
   118  	//   - "embeddedEsx" - For the ESXi product.
   119  	//   - "esxio" - For the ESXio product.
   120  	//   - "vpx" - For the VirtualCenter product.
   121  	ProductLineId string `xml:"productLineId" json:"productLineId"`
   122  	// Indicates whether or not the service instance represents a
   123  	// standalone host.
   124  	//
   125  	// If the service instance represents a standalone host, then the physical
   126  	// inventory for that service instance is fixed to that single host.
   127  	// VirtualCenter server provides additional features over single hosts.
   128  	// For example, VirtualCenter offers multi-host management.
   129  	//
   130  	// Examples of values are:
   131  	//   - "VirtualCenter" - For a VirtualCenter instance.
   132  	//   - "HostAgent" - For host agent on an ESX Server or VMware Server host.
   133  	ApiType string `xml:"apiType" json:"apiType"`
   134  	// The newest long-term supported API version provided by the server.
   135  	//
   136  	// The version format is "x.y.z.a", where "x", "y", and "z" are numbers
   137  	// that do not exceed 99, and "a" does not exceed 9999.
   138  	ApiVersion string `xml:"apiVersion" json:"apiVersion"`
   139  	// A globally unique identifier associated with this service instance.
   140  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
   141  	// The license product name
   142  	LicenseProductName string `xml:"licenseProductName,omitempty" json:"licenseProductName,omitempty"`
   143  	// The license product version
   144  	LicenseProductVersion string `xml:"licenseProductVersion,omitempty" json:"licenseProductVersion,omitempty"`
   145  }
   146  
   147  func init() {
   148  	t["AboutInfo"] = reflect.TypeOf((*AboutInfo)(nil)).Elem()
   149  }
   150  
   151  // This event records that an account was created on a host.
   152  type AccountCreatedEvent struct {
   153  	HostEvent
   154  
   155  	Spec  BaseHostAccountSpec `xml:"spec,typeattr" json:"spec"`
   156  	Group bool                `xml:"group" json:"group"`
   157  }
   158  
   159  func init() {
   160  	t["AccountCreatedEvent"] = reflect.TypeOf((*AccountCreatedEvent)(nil)).Elem()
   161  }
   162  
   163  // This event records that an account was removed from a host.
   164  type AccountRemovedEvent struct {
   165  	HostEvent
   166  
   167  	Account string `xml:"account" json:"account"`
   168  	Group   bool   `xml:"group" json:"group"`
   169  }
   170  
   171  func init() {
   172  	t["AccountRemovedEvent"] = reflect.TypeOf((*AccountRemovedEvent)(nil)).Elem()
   173  }
   174  
   175  // This event records that an account was updated on a host.
   176  type AccountUpdatedEvent struct {
   177  	HostEvent
   178  
   179  	Spec  BaseHostAccountSpec `xml:"spec,typeattr" json:"spec"`
   180  	Group bool                `xml:"group" json:"group"`
   181  	// The previous account description
   182  	PrevDescription string `xml:"prevDescription,omitempty" json:"prevDescription,omitempty"`
   183  }
   184  
   185  func init() {
   186  	t["AccountUpdatedEvent"] = reflect.TypeOf((*AccountUpdatedEvent)(nil)).Elem()
   187  }
   188  
   189  type AcknowledgeAlarm AcknowledgeAlarmRequestType
   190  
   191  func init() {
   192  	t["AcknowledgeAlarm"] = reflect.TypeOf((*AcknowledgeAlarm)(nil)).Elem()
   193  }
   194  
   195  // The parameters of `AlarmManager.AcknowledgeAlarm`.
   196  type AcknowledgeAlarmRequestType struct {
   197  	This ManagedObjectReference `xml:"_this" json:"-"`
   198  	// The Alarm to acknowledge.
   199  	//
   200  	// Required privileges: Alarm.Acknowledge
   201  	//
   202  	// Refers instance of `Alarm`.
   203  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
   204  	// The ManagedEntity for which to acknowledge the Alarm.
   205  	//
   206  	// Required privileges: System.Read
   207  	//
   208  	// Refers instance of `ManagedEntity`.
   209  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
   210  }
   211  
   212  func init() {
   213  	t["AcknowledgeAlarmRequestType"] = reflect.TypeOf((*AcknowledgeAlarmRequestType)(nil)).Elem()
   214  }
   215  
   216  type AcknowledgeAlarmResponse struct {
   217  }
   218  
   219  type AcquireCimServicesTicket AcquireCimServicesTicketRequestType
   220  
   221  func init() {
   222  	t["AcquireCimServicesTicket"] = reflect.TypeOf((*AcquireCimServicesTicket)(nil)).Elem()
   223  }
   224  
   225  type AcquireCimServicesTicketRequestType struct {
   226  	This ManagedObjectReference `xml:"_this" json:"-"`
   227  }
   228  
   229  func init() {
   230  	t["AcquireCimServicesTicketRequestType"] = reflect.TypeOf((*AcquireCimServicesTicketRequestType)(nil)).Elem()
   231  }
   232  
   233  type AcquireCimServicesTicketResponse struct {
   234  	Returnval HostServiceTicket `xml:"returnval" json:"returnval"`
   235  }
   236  
   237  type AcquireCloneTicket AcquireCloneTicketRequestType
   238  
   239  func init() {
   240  	t["AcquireCloneTicket"] = reflect.TypeOf((*AcquireCloneTicket)(nil)).Elem()
   241  }
   242  
   243  type AcquireCloneTicketRequestType struct {
   244  	This ManagedObjectReference `xml:"_this" json:"-"`
   245  }
   246  
   247  func init() {
   248  	t["AcquireCloneTicketRequestType"] = reflect.TypeOf((*AcquireCloneTicketRequestType)(nil)).Elem()
   249  }
   250  
   251  type AcquireCloneTicketResponse struct {
   252  	Returnval string `xml:"returnval" json:"returnval"`
   253  }
   254  
   255  type AcquireCredentialsInGuest AcquireCredentialsInGuestRequestType
   256  
   257  func init() {
   258  	t["AcquireCredentialsInGuest"] = reflect.TypeOf((*AcquireCredentialsInGuest)(nil)).Elem()
   259  }
   260  
   261  // The parameters of `GuestAuthManager.AcquireCredentialsInGuest`.
   262  type AcquireCredentialsInGuestRequestType struct {
   263  	This ManagedObjectReference `xml:"_this" json:"-"`
   264  	// MoRef of the VM to perform the operation on.
   265  	//
   266  	// Required privileges: VirtualMachine.GuestOperations.Query
   267  	//
   268  	// Refers instance of `VirtualMachine`.
   269  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
   270  	// The guest authentication data used to acquire credentials.
   271  	// See `GuestAuthentication`.
   272  	RequestedAuth BaseGuestAuthentication `xml:"requestedAuth,typeattr" json:"requestedAuth"`
   273  	// The sessionID number should be provided only when
   274  	// responding to a server challenge. The sessionID number to be used with
   275  	// the challenge is found in the
   276  	// `GuestAuthenticationChallenge` object.
   277  	SessionID int64 `xml:"sessionID,omitempty" json:"sessionID,omitempty"`
   278  }
   279  
   280  func init() {
   281  	t["AcquireCredentialsInGuestRequestType"] = reflect.TypeOf((*AcquireCredentialsInGuestRequestType)(nil)).Elem()
   282  }
   283  
   284  type AcquireCredentialsInGuestResponse struct {
   285  	Returnval BaseGuestAuthentication `xml:"returnval,typeattr" json:"returnval"`
   286  }
   287  
   288  type AcquireGenericServiceTicket AcquireGenericServiceTicketRequestType
   289  
   290  func init() {
   291  	t["AcquireGenericServiceTicket"] = reflect.TypeOf((*AcquireGenericServiceTicket)(nil)).Elem()
   292  }
   293  
   294  // The parameters of `SessionManager.AcquireGenericServiceTicket`.
   295  type AcquireGenericServiceTicketRequestType struct {
   296  	This ManagedObjectReference `xml:"_this" json:"-"`
   297  	// specification for the service request which will be
   298  	// invoked with the ticket.
   299  	Spec BaseSessionManagerServiceRequestSpec `xml:"spec,typeattr" json:"spec"`
   300  }
   301  
   302  func init() {
   303  	t["AcquireGenericServiceTicketRequestType"] = reflect.TypeOf((*AcquireGenericServiceTicketRequestType)(nil)).Elem()
   304  }
   305  
   306  type AcquireGenericServiceTicketResponse struct {
   307  	Returnval SessionManagerGenericServiceTicket `xml:"returnval" json:"returnval"`
   308  }
   309  
   310  type AcquireLocalTicket AcquireLocalTicketRequestType
   311  
   312  func init() {
   313  	t["AcquireLocalTicket"] = reflect.TypeOf((*AcquireLocalTicket)(nil)).Elem()
   314  }
   315  
   316  // The parameters of `SessionManager.AcquireLocalTicket`.
   317  type AcquireLocalTicketRequestType struct {
   318  	This ManagedObjectReference `xml:"_this" json:"-"`
   319  	// User requesting one-time password.
   320  	UserName string `xml:"userName" json:"userName"`
   321  }
   322  
   323  func init() {
   324  	t["AcquireLocalTicketRequestType"] = reflect.TypeOf((*AcquireLocalTicketRequestType)(nil)).Elem()
   325  }
   326  
   327  type AcquireLocalTicketResponse struct {
   328  	Returnval SessionManagerLocalTicket `xml:"returnval" json:"returnval"`
   329  }
   330  
   331  type AcquireMksTicket AcquireMksTicketRequestType
   332  
   333  func init() {
   334  	t["AcquireMksTicket"] = reflect.TypeOf((*AcquireMksTicket)(nil)).Elem()
   335  }
   336  
   337  type AcquireMksTicketRequestType struct {
   338  	This ManagedObjectReference `xml:"_this" json:"-"`
   339  }
   340  
   341  func init() {
   342  	t["AcquireMksTicketRequestType"] = reflect.TypeOf((*AcquireMksTicketRequestType)(nil)).Elem()
   343  }
   344  
   345  type AcquireMksTicketResponse struct {
   346  	Returnval VirtualMachineMksTicket `xml:"returnval" json:"returnval"`
   347  }
   348  
   349  type AcquireTicket AcquireTicketRequestType
   350  
   351  func init() {
   352  	t["AcquireTicket"] = reflect.TypeOf((*AcquireTicket)(nil)).Elem()
   353  }
   354  
   355  // The parameters of `VirtualMachine.AcquireTicket`.
   356  type AcquireTicketRequestType struct {
   357  	This ManagedObjectReference `xml:"_this" json:"-"`
   358  	// The type of service to acquire, the set of possible
   359  	// values is described in `VirtualMachineTicketType_enum`.
   360  	TicketType string `xml:"ticketType" json:"ticketType"`
   361  }
   362  
   363  func init() {
   364  	t["AcquireTicketRequestType"] = reflect.TypeOf((*AcquireTicketRequestType)(nil)).Elem()
   365  }
   366  
   367  type AcquireTicketResponse struct {
   368  	Returnval VirtualMachineTicket `xml:"returnval" json:"returnval"`
   369  }
   370  
   371  // This data object type defines the action initiated by a scheduled task or alarm.
   372  //
   373  // This is an abstract type.
   374  // A client creates a scheduled task or an alarm each of which triggers
   375  // an action, defined by a subclass of this type.
   376  type Action struct {
   377  	DynamicData
   378  }
   379  
   380  func init() {
   381  	t["Action"] = reflect.TypeOf((*Action)(nil)).Elem()
   382  }
   383  
   384  // Base fault for Active Directory related problems.
   385  type ActiveDirectoryFault struct {
   386  	VimFault
   387  
   388  	// The error code reported by the Active Directory API.
   389  	ErrorCode int32 `xml:"errorCode,omitempty" json:"errorCode,omitempty"`
   390  }
   391  
   392  func init() {
   393  	t["ActiveDirectoryFault"] = reflect.TypeOf((*ActiveDirectoryFault)(nil)).Elem()
   394  }
   395  
   396  type ActiveDirectoryFaultFault BaseActiveDirectoryFault
   397  
   398  func init() {
   399  	t["ActiveDirectoryFaultFault"] = reflect.TypeOf((*ActiveDirectoryFaultFault)(nil)).Elem()
   400  }
   401  
   402  // The `ActiveDirectoryProfile` data object represents Active Directory
   403  // configuration.
   404  //
   405  // Use the `ApplyProfile.policy` list for
   406  // access to configuration data for the Active Directory profile. Use the
   407  // `ApplyProfile.property` list for access to subprofiles, if any.
   408  type ActiveDirectoryProfile struct {
   409  	ApplyProfile
   410  }
   411  
   412  func init() {
   413  	t["ActiveDirectoryProfile"] = reflect.TypeOf((*ActiveDirectoryProfile)(nil)).Elem()
   414  }
   415  
   416  // An attempt to enable Enhanced VMotion Compatibility on a cluster, or to
   417  // select a less-featureful EVC mode for a cluster where EVC is already
   418  // enabled, has failed for the following reason:
   419  //   - The cluster contains hosts that expose additional compatibility-
   420  //     relevant CPU features beyond those present in the baseline of the
   421  //     requested EVC mode.
   422  //   - Those hosts have powered-on or suspended virtual machines.
   423  //
   424  // Therefore the EVC configuration has been rejected since it may suppress
   425  // CPU features that are currently in-use.
   426  type ActiveVMsBlockingEVC struct {
   427  	EVCConfigFault
   428  
   429  	// The requested EVC mode.
   430  	EvcMode string `xml:"evcMode,omitempty" json:"evcMode,omitempty"`
   431  	// Hosts with active virtual machines that are blocking the operation,
   432  	// because the hosts expose compatibility-relevant CPU features not present
   433  	// in the baseline of the requested EVC mode.
   434  	//
   435  	// Note that in rare cases, a host may be on this list even if its
   436  	// `maxEVCModeKey` corresponds to the
   437  	// requested EVC mode. This means that even though that EVC mode is the
   438  	// best match for the host's hardware, the host still has some features
   439  	// beyond those present in the baseline for that EVC mode.
   440  	//
   441  	// Refers instances of `HostSystem`.
   442  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
   443  	// The names of the hosts in the host array.
   444  	HostName []string `xml:"hostName,omitempty" json:"hostName,omitempty"`
   445  }
   446  
   447  func init() {
   448  	t["ActiveVMsBlockingEVC"] = reflect.TypeOf((*ActiveVMsBlockingEVC)(nil)).Elem()
   449  }
   450  
   451  type ActiveVMsBlockingEVCFault ActiveVMsBlockingEVC
   452  
   453  func init() {
   454  	t["ActiveVMsBlockingEVCFault"] = reflect.TypeOf((*ActiveVMsBlockingEVCFault)(nil)).Elem()
   455  }
   456  
   457  type AddAuthorizationRole AddAuthorizationRoleRequestType
   458  
   459  func init() {
   460  	t["AddAuthorizationRole"] = reflect.TypeOf((*AddAuthorizationRole)(nil)).Elem()
   461  }
   462  
   463  // The parameters of `AuthorizationManager.AddAuthorizationRole`.
   464  type AddAuthorizationRoleRequestType struct {
   465  	This ManagedObjectReference `xml:"_this" json:"-"`
   466  	// Name of the new role.
   467  	Name string `xml:"name" json:"name"`
   468  	// List of privileges to assign to the role.
   469  	PrivIds []string `xml:"privIds,omitempty" json:"privIds,omitempty"`
   470  }
   471  
   472  func init() {
   473  	t["AddAuthorizationRoleRequestType"] = reflect.TypeOf((*AddAuthorizationRoleRequestType)(nil)).Elem()
   474  }
   475  
   476  type AddAuthorizationRoleResponse struct {
   477  	Returnval int32 `xml:"returnval" json:"returnval"`
   478  }
   479  
   480  type AddCustomFieldDef AddCustomFieldDefRequestType
   481  
   482  func init() {
   483  	t["AddCustomFieldDef"] = reflect.TypeOf((*AddCustomFieldDef)(nil)).Elem()
   484  }
   485  
   486  // The parameters of `CustomFieldsManager.AddCustomFieldDef`.
   487  type AddCustomFieldDefRequestType struct {
   488  	This ManagedObjectReference `xml:"_this" json:"-"`
   489  	// The name of the field.
   490  	Name string `xml:"name" json:"name"`
   491  	// The managed object type to which this field
   492  	// will apply
   493  	MoType string `xml:"moType,omitempty" json:"moType,omitempty"`
   494  	// Privilege policy to apply to FieldDef being
   495  	// created
   496  	FieldDefPolicy *PrivilegePolicyDef `xml:"fieldDefPolicy,omitempty" json:"fieldDefPolicy,omitempty"`
   497  	// Privilege policy to apply to instances of field
   498  	FieldPolicy *PrivilegePolicyDef `xml:"fieldPolicy,omitempty" json:"fieldPolicy,omitempty"`
   499  }
   500  
   501  func init() {
   502  	t["AddCustomFieldDefRequestType"] = reflect.TypeOf((*AddCustomFieldDefRequestType)(nil)).Elem()
   503  }
   504  
   505  type AddCustomFieldDefResponse struct {
   506  	Returnval CustomFieldDef `xml:"returnval" json:"returnval"`
   507  }
   508  
   509  // The parameters of `DistributedVirtualSwitch.AddDVPortgroup_Task`.
   510  type AddDVPortgroupRequestType struct {
   511  	This ManagedObjectReference `xml:"_this" json:"-"`
   512  	// The specification for the portgroup.
   513  	Spec []DVPortgroupConfigSpec `xml:"spec" json:"spec"`
   514  }
   515  
   516  func init() {
   517  	t["AddDVPortgroupRequestType"] = reflect.TypeOf((*AddDVPortgroupRequestType)(nil)).Elem()
   518  }
   519  
   520  type AddDVPortgroup_Task AddDVPortgroupRequestType
   521  
   522  func init() {
   523  	t["AddDVPortgroup_Task"] = reflect.TypeOf((*AddDVPortgroup_Task)(nil)).Elem()
   524  }
   525  
   526  type AddDVPortgroup_TaskResponse struct {
   527  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   528  }
   529  
   530  // The parameters of `HostVsanSystem.AddDisks_Task`.
   531  type AddDisksRequestType struct {
   532  	This ManagedObjectReference `xml:"_this" json:"-"`
   533  	// list of disks to add for use by the VSAN service
   534  	Disk []HostScsiDisk `xml:"disk" json:"disk"`
   535  }
   536  
   537  func init() {
   538  	t["AddDisksRequestType"] = reflect.TypeOf((*AddDisksRequestType)(nil)).Elem()
   539  }
   540  
   541  type AddDisks_Task AddDisksRequestType
   542  
   543  func init() {
   544  	t["AddDisks_Task"] = reflect.TypeOf((*AddDisks_Task)(nil)).Elem()
   545  }
   546  
   547  type AddDisks_TaskResponse struct {
   548  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   549  }
   550  
   551  type AddFilter AddFilterRequestType
   552  
   553  func init() {
   554  	t["AddFilter"] = reflect.TypeOf((*AddFilter)(nil)).Elem()
   555  }
   556  
   557  type AddFilterEntities AddFilterEntitiesRequestType
   558  
   559  func init() {
   560  	t["AddFilterEntities"] = reflect.TypeOf((*AddFilterEntities)(nil)).Elem()
   561  }
   562  
   563  // The parameters of `HealthUpdateManager.AddFilterEntities`.
   564  type AddFilterEntitiesRequestType struct {
   565  	This ManagedObjectReference `xml:"_this" json:"-"`
   566  	// The filter id.
   567  	FilterId string `xml:"filterId" json:"filterId"`
   568  	// The list of additional managed entities. Only
   569  	// entities of type HostSystem or
   570  	// ClusterComputeResource are valid.
   571  	//
   572  	// Refers instances of `ManagedEntity`.
   573  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
   574  }
   575  
   576  func init() {
   577  	t["AddFilterEntitiesRequestType"] = reflect.TypeOf((*AddFilterEntitiesRequestType)(nil)).Elem()
   578  }
   579  
   580  type AddFilterEntitiesResponse struct {
   581  }
   582  
   583  // The parameters of `HealthUpdateManager.AddFilter`.
   584  type AddFilterRequestType struct {
   585  	This ManagedObjectReference `xml:"_this" json:"-"`
   586  	// The provider identifier.
   587  	ProviderId string `xml:"providerId" json:"providerId"`
   588  	// The filter name.
   589  	FilterName string `xml:"filterName" json:"filterName"`
   590  	// The list of HealthUpdateInfo IDs that should be
   591  	// filtered.
   592  	InfoIds []string `xml:"infoIds,omitempty" json:"infoIds,omitempty"`
   593  }
   594  
   595  func init() {
   596  	t["AddFilterRequestType"] = reflect.TypeOf((*AddFilterRequestType)(nil)).Elem()
   597  }
   598  
   599  type AddFilterResponse struct {
   600  	Returnval string `xml:"returnval" json:"returnval"`
   601  }
   602  
   603  type AddGuestAlias AddGuestAliasRequestType
   604  
   605  func init() {
   606  	t["AddGuestAlias"] = reflect.TypeOf((*AddGuestAlias)(nil)).Elem()
   607  }
   608  
   609  // The parameters of `GuestAliasManager.AddGuestAlias`.
   610  type AddGuestAliasRequestType struct {
   611  	This ManagedObjectReference `xml:"_this" json:"-"`
   612  	// Virtual machine to perform the operation on.
   613  	//
   614  	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
   615  	//
   616  	// Refers instance of `VirtualMachine`.
   617  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
   618  	// The guest authentication data for this operation. See
   619  	// `GuestAuthentication`. These credentials must satisfy
   620  	// authentication requirements
   621  	// for a guest account on the specified virtual machine.
   622  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
   623  	// Username for the guest account on the virtual machine.
   624  	Username string `xml:"username" json:"username"`
   625  	// Indicates whether the certificate associated with the
   626  	// alias should be mapped. If an alias certificate is mapped,
   627  	// guest operation requests that use that alias do not have
   628  	// to specify the guest account username in the
   629  	// `SAMLTokenAuthentication` object. If mapCert is
   630  	// false, the request must specify the username.
   631  	MapCert bool `xml:"mapCert" json:"mapCert"`
   632  	// X.509 certificate from the VMware SSO Server,
   633  	// in base64 encoded DER format. The ESXi
   634  	// Server uses this certificate to authenticate guest
   635  	// operation requests.
   636  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
   637  	// Specifies the subject name for authentication.
   638  	// The subject name (when present) corresponds to
   639  	// the value of the Subject element
   640  	// in SAML tokens. The ESXi Server uses the subject
   641  	// name to authenticate guest operation requests.
   642  	AliasInfo GuestAuthAliasInfo `xml:"aliasInfo" json:"aliasInfo"`
   643  }
   644  
   645  func init() {
   646  	t["AddGuestAliasRequestType"] = reflect.TypeOf((*AddGuestAliasRequestType)(nil)).Elem()
   647  }
   648  
   649  type AddGuestAliasResponse struct {
   650  }
   651  
   652  // The parameters of `ClusterComputeResource.AddHost_Task`.
   653  type AddHostRequestType struct {
   654  	This ManagedObjectReference `xml:"_this" json:"-"`
   655  	// Specifies the parameters needed to add a single host.
   656  	Spec HostConnectSpec `xml:"spec" json:"spec"`
   657  	// Flag to specify whether or not the host should be connected
   658  	// immediately after it is added. The host will not be added if
   659  	// a connection attempt is made and fails.
   660  	AsConnected bool `xml:"asConnected" json:"asConnected"`
   661  	// the resource pool for the root resource pool from the host.
   662  	//
   663  	// Required privileges: Resource.AssignVMToPool
   664  	//
   665  	// Refers instance of `ResourcePool`.
   666  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
   667  	// Provide a licenseKey or licenseKeyType. See `LicenseManager`
   668  	License string `xml:"license,omitempty" json:"license,omitempty"`
   669  }
   670  
   671  func init() {
   672  	t["AddHostRequestType"] = reflect.TypeOf((*AddHostRequestType)(nil)).Elem()
   673  }
   674  
   675  type AddHost_Task AddHostRequestType
   676  
   677  func init() {
   678  	t["AddHost_Task"] = reflect.TypeOf((*AddHost_Task)(nil)).Elem()
   679  }
   680  
   681  type AddHost_TaskResponse struct {
   682  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   683  }
   684  
   685  type AddInternetScsiSendTargets AddInternetScsiSendTargetsRequestType
   686  
   687  func init() {
   688  	t["AddInternetScsiSendTargets"] = reflect.TypeOf((*AddInternetScsiSendTargets)(nil)).Elem()
   689  }
   690  
   691  // The parameters of `HostStorageSystem.AddInternetScsiSendTargets`.
   692  type AddInternetScsiSendTargetsRequestType struct {
   693  	This ManagedObjectReference `xml:"_this" json:"-"`
   694  	// The device of the Internet SCSI HBA adapter.
   695  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
   696  	// An array of iSCSI send targets.
   697  	Targets []HostInternetScsiHbaSendTarget `xml:"targets" json:"targets"`
   698  }
   699  
   700  func init() {
   701  	t["AddInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiSendTargetsRequestType)(nil)).Elem()
   702  }
   703  
   704  type AddInternetScsiSendTargetsResponse struct {
   705  }
   706  
   707  type AddInternetScsiStaticTargets AddInternetScsiStaticTargetsRequestType
   708  
   709  func init() {
   710  	t["AddInternetScsiStaticTargets"] = reflect.TypeOf((*AddInternetScsiStaticTargets)(nil)).Elem()
   711  }
   712  
   713  // The parameters of `HostStorageSystem.AddInternetScsiStaticTargets`.
   714  type AddInternetScsiStaticTargetsRequestType struct {
   715  	This ManagedObjectReference `xml:"_this" json:"-"`
   716  	// The device of the Internet SCSI HBA adapter.
   717  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
   718  	// An array of iSCSI static targets to add.
   719  	Targets []HostInternetScsiHbaStaticTarget `xml:"targets" json:"targets"`
   720  }
   721  
   722  func init() {
   723  	t["AddInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiStaticTargetsRequestType)(nil)).Elem()
   724  }
   725  
   726  type AddInternetScsiStaticTargetsResponse struct {
   727  }
   728  
   729  type AddKey AddKeyRequestType
   730  
   731  func init() {
   732  	t["AddKey"] = reflect.TypeOf((*AddKey)(nil)).Elem()
   733  }
   734  
   735  // The parameters of `CryptoManager.AddKey`.
   736  type AddKeyRequestType struct {
   737  	This ManagedObjectReference `xml:"_this" json:"-"`
   738  	// \[in\] The cryptographic key to add.
   739  	Key CryptoKeyPlain `xml:"key" json:"key"`
   740  }
   741  
   742  func init() {
   743  	t["AddKeyRequestType"] = reflect.TypeOf((*AddKeyRequestType)(nil)).Elem()
   744  }
   745  
   746  type AddKeyResponse struct {
   747  }
   748  
   749  type AddKeys AddKeysRequestType
   750  
   751  func init() {
   752  	t["AddKeys"] = reflect.TypeOf((*AddKeys)(nil)).Elem()
   753  }
   754  
   755  // The parameters of `CryptoManager.AddKeys`.
   756  type AddKeysRequestType struct {
   757  	This ManagedObjectReference `xml:"_this" json:"-"`
   758  	// \[in\] List of cryptographic keys to add.
   759  	Keys []CryptoKeyPlain `xml:"keys,omitempty" json:"keys,omitempty"`
   760  }
   761  
   762  func init() {
   763  	t["AddKeysRequestType"] = reflect.TypeOf((*AddKeysRequestType)(nil)).Elem()
   764  }
   765  
   766  type AddKeysResponse struct {
   767  	Returnval []CryptoKeyResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
   768  }
   769  
   770  type AddLicense AddLicenseRequestType
   771  
   772  func init() {
   773  	t["AddLicense"] = reflect.TypeOf((*AddLicense)(nil)).Elem()
   774  }
   775  
   776  // The parameters of `LicenseManager.AddLicense`.
   777  type AddLicenseRequestType struct {
   778  	This ManagedObjectReference `xml:"_this" json:"-"`
   779  	// A license. E.g. a serial license.
   780  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
   781  	// array of key-value labels. Ignored by ESX Server.
   782  	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
   783  }
   784  
   785  func init() {
   786  	t["AddLicenseRequestType"] = reflect.TypeOf((*AddLicenseRequestType)(nil)).Elem()
   787  }
   788  
   789  type AddLicenseResponse struct {
   790  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
   791  }
   792  
   793  type AddMonitoredEntities AddMonitoredEntitiesRequestType
   794  
   795  func init() {
   796  	t["AddMonitoredEntities"] = reflect.TypeOf((*AddMonitoredEntities)(nil)).Elem()
   797  }
   798  
   799  // The parameters of `HealthUpdateManager.AddMonitoredEntities`.
   800  type AddMonitoredEntitiesRequestType struct {
   801  	This ManagedObjectReference `xml:"_this" json:"-"`
   802  	// The provider id.
   803  	ProviderId string `xml:"providerId" json:"providerId"`
   804  	// The entities that are newly monitored by this
   805  	// provider.
   806  	//
   807  	// Refers instances of `ManagedEntity`.
   808  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
   809  }
   810  
   811  func init() {
   812  	t["AddMonitoredEntitiesRequestType"] = reflect.TypeOf((*AddMonitoredEntitiesRequestType)(nil)).Elem()
   813  }
   814  
   815  type AddMonitoredEntitiesResponse struct {
   816  }
   817  
   818  type AddNetworkResourcePool AddNetworkResourcePoolRequestType
   819  
   820  func init() {
   821  	t["AddNetworkResourcePool"] = reflect.TypeOf((*AddNetworkResourcePool)(nil)).Elem()
   822  }
   823  
   824  // The parameters of `DistributedVirtualSwitch.AddNetworkResourcePool`.
   825  type AddNetworkResourcePoolRequestType struct {
   826  	This ManagedObjectReference `xml:"_this" json:"-"`
   827  	// the network resource pool configuration specification.
   828  	ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
   829  }
   830  
   831  func init() {
   832  	t["AddNetworkResourcePoolRequestType"] = reflect.TypeOf((*AddNetworkResourcePoolRequestType)(nil)).Elem()
   833  }
   834  
   835  type AddNetworkResourcePoolResponse struct {
   836  }
   837  
   838  type AddPortGroup AddPortGroupRequestType
   839  
   840  func init() {
   841  	t["AddPortGroup"] = reflect.TypeOf((*AddPortGroup)(nil)).Elem()
   842  }
   843  
   844  // The parameters of `HostNetworkSystem.AddPortGroup`.
   845  type AddPortGroupRequestType struct {
   846  	This    ManagedObjectReference `xml:"_this" json:"-"`
   847  	Portgrp HostPortGroupSpec      `xml:"portgrp" json:"portgrp"`
   848  }
   849  
   850  func init() {
   851  	t["AddPortGroupRequestType"] = reflect.TypeOf((*AddPortGroupRequestType)(nil)).Elem()
   852  }
   853  
   854  type AddPortGroupResponse struct {
   855  }
   856  
   857  type AddServiceConsoleVirtualNic AddServiceConsoleVirtualNicRequestType
   858  
   859  func init() {
   860  	t["AddServiceConsoleVirtualNic"] = reflect.TypeOf((*AddServiceConsoleVirtualNic)(nil)).Elem()
   861  }
   862  
   863  // The parameters of `HostNetworkSystem.AddServiceConsoleVirtualNic`.
   864  type AddServiceConsoleVirtualNicRequestType struct {
   865  	This      ManagedObjectReference `xml:"_this" json:"-"`
   866  	Portgroup string                 `xml:"portgroup" json:"portgroup"`
   867  	Nic       HostVirtualNicSpec     `xml:"nic" json:"nic"`
   868  }
   869  
   870  func init() {
   871  	t["AddServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*AddServiceConsoleVirtualNicRequestType)(nil)).Elem()
   872  }
   873  
   874  type AddServiceConsoleVirtualNicResponse struct {
   875  	Returnval string `xml:"returnval" json:"returnval"`
   876  }
   877  
   878  // The parameters of `Folder.AddStandaloneHost_Task`.
   879  type AddStandaloneHostRequestType struct {
   880  	This ManagedObjectReference `xml:"_this" json:"-"`
   881  	// Specifies the parameters needed to add a single host.
   882  	Spec HostConnectSpec `xml:"spec" json:"spec"`
   883  	// Optionally specify the configuration for the compute
   884  	// resource that will be created to contain the host.
   885  	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
   886  	// Flag to specify whether or not the host should be
   887  	// connected as soon as it is added. The host will not
   888  	// be added if a connection attempt is made and fails.
   889  	AddConnected bool `xml:"addConnected" json:"addConnected"`
   890  	// Provide a licenseKey or licenseKeyType. See `LicenseManager`
   891  	License string `xml:"license,omitempty" json:"license,omitempty"`
   892  }
   893  
   894  func init() {
   895  	t["AddStandaloneHostRequestType"] = reflect.TypeOf((*AddStandaloneHostRequestType)(nil)).Elem()
   896  }
   897  
   898  type AddStandaloneHost_Task AddStandaloneHostRequestType
   899  
   900  func init() {
   901  	t["AddStandaloneHost_Task"] = reflect.TypeOf((*AddStandaloneHost_Task)(nil)).Elem()
   902  }
   903  
   904  type AddStandaloneHost_TaskResponse struct {
   905  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   906  }
   907  
   908  type AddVirtualNic AddVirtualNicRequestType
   909  
   910  func init() {
   911  	t["AddVirtualNic"] = reflect.TypeOf((*AddVirtualNic)(nil)).Elem()
   912  }
   913  
   914  // The parameters of `HostNetworkSystem.AddVirtualNic`.
   915  type AddVirtualNicRequestType struct {
   916  	This ManagedObjectReference `xml:"_this" json:"-"`
   917  	// Note: Must be the empty string in case nic.distributedVirtualPort
   918  	// is set.
   919  	Portgroup string             `xml:"portgroup" json:"portgroup"`
   920  	Nic       HostVirtualNicSpec `xml:"nic" json:"nic"`
   921  }
   922  
   923  func init() {
   924  	t["AddVirtualNicRequestType"] = reflect.TypeOf((*AddVirtualNicRequestType)(nil)).Elem()
   925  }
   926  
   927  type AddVirtualNicResponse struct {
   928  	Returnval string `xml:"returnval" json:"returnval"`
   929  }
   930  
   931  type AddVirtualSwitch AddVirtualSwitchRequestType
   932  
   933  func init() {
   934  	t["AddVirtualSwitch"] = reflect.TypeOf((*AddVirtualSwitch)(nil)).Elem()
   935  }
   936  
   937  // The parameters of `HostNetworkSystem.AddVirtualSwitch`.
   938  type AddVirtualSwitchRequestType struct {
   939  	This        ManagedObjectReference `xml:"_this" json:"-"`
   940  	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
   941  	Spec        *HostVirtualSwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
   942  }
   943  
   944  func init() {
   945  	t["AddVirtualSwitchRequestType"] = reflect.TypeOf((*AddVirtualSwitchRequestType)(nil)).Elem()
   946  }
   947  
   948  type AddVirtualSwitchResponse struct {
   949  }
   950  
   951  // Fault thrown if an attempt to disable the Administrator permission
   952  // on a host of which the Administator permission has already been disabled.
   953  type AdminDisabled struct {
   954  	HostConfigFault
   955  }
   956  
   957  func init() {
   958  	t["AdminDisabled"] = reflect.TypeOf((*AdminDisabled)(nil)).Elem()
   959  }
   960  
   961  type AdminDisabledFault AdminDisabled
   962  
   963  func init() {
   964  	t["AdminDisabledFault"] = reflect.TypeOf((*AdminDisabledFault)(nil)).Elem()
   965  }
   966  
   967  // Fault thrown if an attempt to enable the Administrator permission
   968  // on a host of which the Administator permission is not disabled.
   969  type AdminNotDisabled struct {
   970  	HostConfigFault
   971  }
   972  
   973  func init() {
   974  	t["AdminNotDisabled"] = reflect.TypeOf((*AdminNotDisabled)(nil)).Elem()
   975  }
   976  
   977  type AdminNotDisabledFault AdminNotDisabled
   978  
   979  func init() {
   980  	t["AdminNotDisabledFault"] = reflect.TypeOf((*AdminNotDisabledFault)(nil)).Elem()
   981  }
   982  
   983  // Default password for the Admin user on the host has not been changed.
   984  type AdminPasswordNotChangedEvent struct {
   985  	HostEvent
   986  }
   987  
   988  func init() {
   989  	t["AdminPasswordNotChangedEvent"] = reflect.TypeOf((*AdminPasswordNotChangedEvent)(nil)).Elem()
   990  }
   991  
   992  // Virtual machine has a configured memory and/or CPU affinity that will
   993  // prevent VMotion.
   994  //
   995  // This is an error for powered-on virtual machines.
   996  type AffinityConfigured struct {
   997  	MigrationFault
   998  
   999  	// Configured affinity types for the virtual machine.
  1000  	//
  1001  	// See `AffinityType_enum` for valid values.
  1002  	ConfiguredAffinity []string `xml:"configuredAffinity" json:"configuredAffinity"`
  1003  }
  1004  
  1005  func init() {
  1006  	t["AffinityConfigured"] = reflect.TypeOf((*AffinityConfigured)(nil)).Elem()
  1007  }
  1008  
  1009  type AffinityConfiguredFault AffinityConfigured
  1010  
  1011  func init() {
  1012  	t["AffinityConfiguredFault"] = reflect.TypeOf((*AffinityConfiguredFault)(nil)).Elem()
  1013  }
  1014  
  1015  // The `AfterStartupTaskScheduler` data object establishes the time
  1016  // that a scheduled task will run after the vCenter server restarts.
  1017  type AfterStartupTaskScheduler struct {
  1018  	TaskScheduler
  1019  
  1020  	// The delay in minutes after vCenter server is restarted.
  1021  	//
  1022  	// The value must be greater than or equal to 0.
  1023  	Minute int32 `xml:"minute" json:"minute"`
  1024  }
  1025  
  1026  func init() {
  1027  	t["AfterStartupTaskScheduler"] = reflect.TypeOf((*AfterStartupTaskScheduler)(nil)).Elem()
  1028  }
  1029  
  1030  // An AgentInstallFailed fault is thrown when VirtualCenter
  1031  // fails to install the VirtualCenter agent on a host.
  1032  //
  1033  // For example, a fault is
  1034  // thrown if the agent software cannot be uploaded to the host or an error occurred
  1035  // during the agent installation.
  1036  type AgentInstallFailed struct {
  1037  	HostConnectFault
  1038  
  1039  	// The reason why the agent install failed, if known.
  1040  	//
  1041  	// Values should come from `AgentInstallFailedReason_enum`.
  1042  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
  1043  	// The status code returned by the agent installer, if it was run.
  1044  	StatusCode int32 `xml:"statusCode,omitempty" json:"statusCode,omitempty"`
  1045  	// The output (stdout/stderr) from executing the agent installer.
  1046  	InstallerOutput string `xml:"installerOutput,omitempty" json:"installerOutput,omitempty"`
  1047  }
  1048  
  1049  func init() {
  1050  	t["AgentInstallFailed"] = reflect.TypeOf((*AgentInstallFailed)(nil)).Elem()
  1051  }
  1052  
  1053  type AgentInstallFailedFault AgentInstallFailed
  1054  
  1055  func init() {
  1056  	t["AgentInstallFailedFault"] = reflect.TypeOf((*AgentInstallFailedFault)(nil)).Elem()
  1057  }
  1058  
  1059  // This event records the acknowledgement of an Alarm
  1060  type AlarmAcknowledgedEvent struct {
  1061  	AlarmEvent
  1062  
  1063  	// The entity that triggered the alarm.
  1064  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1065  	// The entity with which the alarm is registered.
  1066  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1067  }
  1068  
  1069  func init() {
  1070  	t["AlarmAcknowledgedEvent"] = reflect.TypeOf((*AlarmAcknowledgedEvent)(nil)).Elem()
  1071  }
  1072  
  1073  // Action invoked by triggered alarm.
  1074  //
  1075  // This is an abstract type.
  1076  type AlarmAction struct {
  1077  	DynamicData
  1078  }
  1079  
  1080  func init() {
  1081  	t["AlarmAction"] = reflect.TypeOf((*AlarmAction)(nil)).Elem()
  1082  }
  1083  
  1084  // This event records that an alarm was triggered.
  1085  type AlarmActionTriggeredEvent struct {
  1086  	AlarmEvent
  1087  
  1088  	// The entity that triggered the alarm.
  1089  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1090  	// The entity with which the alarm is registered.
  1091  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1092  }
  1093  
  1094  func init() {
  1095  	t["AlarmActionTriggeredEvent"] = reflect.TypeOf((*AlarmActionTriggeredEvent)(nil)).Elem()
  1096  }
  1097  
  1098  // This event records the manual clearing of an Alarm
  1099  type AlarmClearedEvent struct {
  1100  	AlarmEvent
  1101  
  1102  	// The entity that triggered the alarm.
  1103  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1104  	// The entity with which the alarm is registered.
  1105  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1106  	// The original alarm status from which it was cleared
  1107  	From string `xml:"from" json:"from"`
  1108  }
  1109  
  1110  func init() {
  1111  	t["AlarmClearedEvent"] = reflect.TypeOf((*AlarmClearedEvent)(nil)).Elem()
  1112  }
  1113  
  1114  // This event records the creation of an alarm.
  1115  type AlarmCreatedEvent struct {
  1116  	AlarmEvent
  1117  
  1118  	// The entity with which the alarm is registered.
  1119  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1120  }
  1121  
  1122  func init() {
  1123  	t["AlarmCreatedEvent"] = reflect.TypeOf((*AlarmCreatedEvent)(nil)).Elem()
  1124  }
  1125  
  1126  // Static strings for alarms.
  1127  type AlarmDescription struct {
  1128  	DynamicData
  1129  
  1130  	// Descriptions of expression types for a trigger.
  1131  	Expr []BaseTypeDescription `xml:"expr,typeattr" json:"expr"`
  1132  	// *State Operator enum description*
  1133  	StateOperator []BaseElementDescription `xml:"stateOperator,typeattr" json:"stateOperator"`
  1134  	// *MetricAlarmExpression Metric Operator enum description*
  1135  	MetricOperator []BaseElementDescription `xml:"metricOperator,typeattr" json:"metricOperator"`
  1136  	// *Host System Connection State enum description*
  1137  	HostSystemConnectionState []BaseElementDescription `xml:"hostSystemConnectionState,typeattr" json:"hostSystemConnectionState"`
  1138  	// *Virtual Machine Power State enum description*
  1139  	VirtualMachinePowerState []BaseElementDescription `xml:"virtualMachinePowerState,typeattr" json:"virtualMachinePowerState"`
  1140  	// `DatastoreSummary.accessible` and
  1141  	// `description`
  1142  	DatastoreConnectionState []BaseElementDescription `xml:"datastoreConnectionState,omitempty,typeattr" json:"datastoreConnectionState,omitempty"`
  1143  	// *Host System Power State enum description*
  1144  	HostSystemPowerState []BaseElementDescription `xml:"hostSystemPowerState,omitempty,typeattr" json:"hostSystemPowerState,omitempty"`
  1145  	// *Guest Heartbeat Status enum description*
  1146  	VirtualMachineGuestHeartbeatStatus []BaseElementDescription `xml:"virtualMachineGuestHeartbeatStatus,omitempty,typeattr" json:"virtualMachineGuestHeartbeatStatus,omitempty"`
  1147  	// *ManagedEntity Status enum description*
  1148  	EntityStatus []BaseElementDescription `xml:"entityStatus,typeattr" json:"entityStatus"`
  1149  	// Action class descriptions for an alarm.
  1150  	Action []BaseTypeDescription `xml:"action,typeattr" json:"action"`
  1151  }
  1152  
  1153  func init() {
  1154  	t["AlarmDescription"] = reflect.TypeOf((*AlarmDescription)(nil)).Elem()
  1155  }
  1156  
  1157  // This event records the completion of an alarm email notification.
  1158  type AlarmEmailCompletedEvent struct {
  1159  	AlarmEvent
  1160  
  1161  	// The entity with which the alarm is registered.
  1162  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1163  	// The destination email address.
  1164  	To string `xml:"to" json:"to"`
  1165  }
  1166  
  1167  func init() {
  1168  	t["AlarmEmailCompletedEvent"] = reflect.TypeOf((*AlarmEmailCompletedEvent)(nil)).Elem()
  1169  }
  1170  
  1171  // This event records a failure to complete an alarm email notification.
  1172  type AlarmEmailFailedEvent struct {
  1173  	AlarmEvent
  1174  
  1175  	// The entity with which the alarm is registered.
  1176  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1177  	// The destination email address.
  1178  	To string `xml:"to" json:"to"`
  1179  	// The reason for the failure.
  1180  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  1181  }
  1182  
  1183  func init() {
  1184  	t["AlarmEmailFailedEvent"] = reflect.TypeOf((*AlarmEmailFailedEvent)(nil)).Elem()
  1185  }
  1186  
  1187  // This event is an alarm events.
  1188  type AlarmEvent struct {
  1189  	Event
  1190  
  1191  	// The associated alarm object.
  1192  	Alarm AlarmEventArgument `xml:"alarm" json:"alarm"`
  1193  }
  1194  
  1195  func init() {
  1196  	t["AlarmEvent"] = reflect.TypeOf((*AlarmEvent)(nil)).Elem()
  1197  }
  1198  
  1199  // The event argument is an Alarm object.
  1200  type AlarmEventArgument struct {
  1201  	EntityEventArgument
  1202  
  1203  	// The Alarm object.
  1204  	//
  1205  	// Refers instance of `Alarm`.
  1206  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
  1207  }
  1208  
  1209  func init() {
  1210  	t["AlarmEventArgument"] = reflect.TypeOf((*AlarmEventArgument)(nil)).Elem()
  1211  }
  1212  
  1213  // Base type for the expressions specifying the conditions that define
  1214  // the status of an alarm.
  1215  type AlarmExpression struct {
  1216  	DynamicData
  1217  }
  1218  
  1219  func init() {
  1220  	t["AlarmExpression"] = reflect.TypeOf((*AlarmExpression)(nil)).Elem()
  1221  }
  1222  
  1223  // Alarm Filter used to filter/group alarms.
  1224  type AlarmFilterSpec struct {
  1225  	DynamicData
  1226  
  1227  	// Status array which could be used to filter alarms according to their
  1228  	// triggered state.
  1229  	//
  1230  	// If all triggered alarms need to be matched an empty array or
  1231  	// ManagedEntity::red and ManagedEntity::yellow could be filled in the array.
  1232  	Status []ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
  1233  	// Use values from `AlarmFilterSpecAlarmTypeByEntity_enum`
  1234  	TypeEntity string `xml:"typeEntity,omitempty" json:"typeEntity,omitempty"`
  1235  	// Use values from `AlarmFilterSpecAlarmTypeByTrigger_enum`
  1236  	TypeTrigger string `xml:"typeTrigger,omitempty" json:"typeTrigger,omitempty"`
  1237  }
  1238  
  1239  func init() {
  1240  	t["AlarmFilterSpec"] = reflect.TypeOf((*AlarmFilterSpec)(nil)).Elem()
  1241  }
  1242  
  1243  // Attributes of an alarm.
  1244  type AlarmInfo struct {
  1245  	AlarmSpec
  1246  
  1247  	// The unique key.
  1248  	Key string `xml:"key" json:"key"`
  1249  	// The alarm object.
  1250  	//
  1251  	// Refers instance of `Alarm`.
  1252  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
  1253  	// The entity on which the alarm is registered.
  1254  	//
  1255  	// Refers instance of `ManagedEntity`.
  1256  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
  1257  	// The time the alarm was created or modified.
  1258  	LastModifiedTime time.Time `xml:"lastModifiedTime" json:"lastModifiedTime"`
  1259  	// User name that modified the alarm most recently.
  1260  	LastModifiedUser string `xml:"lastModifiedUser" json:"lastModifiedUser"`
  1261  	// The event ID that records the alarm creation.
  1262  	CreationEventId int32 `xml:"creationEventId" json:"creationEventId"`
  1263  }
  1264  
  1265  func init() {
  1266  	t["AlarmInfo"] = reflect.TypeOf((*AlarmInfo)(nil)).Elem()
  1267  }
  1268  
  1269  // This event records the reconfiguration of an alarm.
  1270  type AlarmReconfiguredEvent struct {
  1271  	AlarmEvent
  1272  
  1273  	// The entity with which the alarm is registered.
  1274  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1275  	// The configuration values changed during the reconfiguration.
  1276  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
  1277  }
  1278  
  1279  func init() {
  1280  	t["AlarmReconfiguredEvent"] = reflect.TypeOf((*AlarmReconfiguredEvent)(nil)).Elem()
  1281  }
  1282  
  1283  // This event records the removal of an alarm.
  1284  type AlarmRemovedEvent struct {
  1285  	AlarmEvent
  1286  
  1287  	// The entity with which the alarm is registered.
  1288  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1289  }
  1290  
  1291  func init() {
  1292  	t["AlarmRemovedEvent"] = reflect.TypeOf((*AlarmRemovedEvent)(nil)).Elem()
  1293  }
  1294  
  1295  // This event records the completion of an alarm-triggered script.
  1296  type AlarmScriptCompleteEvent struct {
  1297  	AlarmEvent
  1298  
  1299  	// The entity with which the alarm is registered.
  1300  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1301  	// The script triggered by the alarm.
  1302  	Script string `xml:"script" json:"script"`
  1303  }
  1304  
  1305  func init() {
  1306  	t["AlarmScriptCompleteEvent"] = reflect.TypeOf((*AlarmScriptCompleteEvent)(nil)).Elem()
  1307  }
  1308  
  1309  // This event records a failure to complete an alarm-triggered script.
  1310  type AlarmScriptFailedEvent struct {
  1311  	AlarmEvent
  1312  
  1313  	// The entity with which the alarm is registered.
  1314  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1315  	// The script triggered by the alarm.
  1316  	Script string `xml:"script" json:"script"`
  1317  	// The reason for the failure.
  1318  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  1319  }
  1320  
  1321  func init() {
  1322  	t["AlarmScriptFailedEvent"] = reflect.TypeOf((*AlarmScriptFailedEvent)(nil)).Elem()
  1323  }
  1324  
  1325  // Tolerance and frequency limits of an alarm.
  1326  type AlarmSetting struct {
  1327  	DynamicData
  1328  
  1329  	// Tolerance range for the metric triggers, measured in one hundredth percentage.
  1330  	//
  1331  	// A zero value means that the alarm
  1332  	// triggers whenever the metric value is above
  1333  	// or below the specified value.
  1334  	// A nonzero value means that the alarm
  1335  	// triggers only after reaching a certain percentage
  1336  	// above or below the nominal trigger value.
  1337  	ToleranceRange int32 `xml:"toleranceRange" json:"toleranceRange"`
  1338  	// How often the alarm is triggered, measured in seconds.
  1339  	//
  1340  	// A zero value means that the alarm is allowed
  1341  	// to trigger as often as possible.
  1342  	// A nonzero value means that any subsequent triggers
  1343  	// are suppressed for a period of seconds following a
  1344  	// reported trigger.
  1345  	ReportingFrequency int32 `xml:"reportingFrequency" json:"reportingFrequency"`
  1346  }
  1347  
  1348  func init() {
  1349  	t["AlarmSetting"] = reflect.TypeOf((*AlarmSetting)(nil)).Elem()
  1350  }
  1351  
  1352  // This event records the completion of an alarm SNMP notification.
  1353  type AlarmSnmpCompletedEvent struct {
  1354  	AlarmEvent
  1355  
  1356  	// The entity with which the alarm is registered.
  1357  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1358  }
  1359  
  1360  func init() {
  1361  	t["AlarmSnmpCompletedEvent"] = reflect.TypeOf((*AlarmSnmpCompletedEvent)(nil)).Elem()
  1362  }
  1363  
  1364  // This event records a failure to complete an alarm SNMP notification.
  1365  type AlarmSnmpFailedEvent struct {
  1366  	AlarmEvent
  1367  
  1368  	// The entity with which the alarm is registered.
  1369  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1370  	// The reason for the failure.
  1371  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  1372  }
  1373  
  1374  func init() {
  1375  	t["AlarmSnmpFailedEvent"] = reflect.TypeOf((*AlarmSnmpFailedEvent)(nil)).Elem()
  1376  }
  1377  
  1378  // Parameters for alarm creation.
  1379  type AlarmSpec struct {
  1380  	DynamicData
  1381  
  1382  	// Name of the alarm.
  1383  	Name string `xml:"name" json:"name"`
  1384  	// System name of the alarm.
  1385  	//
  1386  	// This is set only for predefined Alarms - i.e. Alarms created by the
  1387  	// server or extensions automatically. After creation this value cannot be
  1388  	// modified. User-created Alarms do not have a systemName at all.
  1389  	//
  1390  	// The purpose of this field is to identify system-created Alarms
  1391  	// reliably, even if they are edited by users.
  1392  	//
  1393  	// When creating Alarms with systemName, the systemName and the name of the
  1394  	// alarm should be equal.
  1395  	//
  1396  	// When reconfiguring an Alarm with systemName, the same systemName should
  1397  	// be passed in the new AlarmSpec. Renaming Alarms with systemName is not
  1398  	// allowed, i.e. when reconfiguring, the name passed in the new AlarmSpec
  1399  	// should be equal to either the systemName or its localized version (the
  1400  	// current name in the Alarm's info).
  1401  	SystemName string `xml:"systemName,omitempty" json:"systemName,omitempty"`
  1402  	// Description of the alarm.
  1403  	Description string `xml:"description" json:"description"`
  1404  	// Flag to indicate whether or not the alarm is enabled or disabled.
  1405  	Enabled bool `xml:"enabled" json:"enabled"`
  1406  	// Top-level alarm expression that defines trigger conditions.
  1407  	Expression BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
  1408  	// Action to perform when the alarm is triggered.
  1409  	Action BaseAlarmAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
  1410  	// Frequency in seconds, which specifies how often appropriate actions
  1411  	// should repeat when an alarm does not change state.
  1412  	ActionFrequency int32 `xml:"actionFrequency,omitempty" json:"actionFrequency,omitempty"`
  1413  	// Tolerance and maximum frequency settings.
  1414  	Setting *AlarmSetting `xml:"setting,omitempty" json:"setting,omitempty"`
  1415  }
  1416  
  1417  func init() {
  1418  	t["AlarmSpec"] = reflect.TypeOf((*AlarmSpec)(nil)).Elem()
  1419  }
  1420  
  1421  // Information about the alarm's state.
  1422  type AlarmState struct {
  1423  	DynamicData
  1424  
  1425  	// Unique key that identifies the alarm.
  1426  	Key string `xml:"key" json:"key"`
  1427  	// Entity on which the alarm is instantiated.
  1428  	//
  1429  	// Refers instance of `ManagedEntity`.
  1430  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
  1431  	// Alarm object from which the AlarmState object is instantiated.
  1432  	//
  1433  	// Refers instance of `Alarm`.
  1434  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
  1435  	// Overall status of the alarm object.
  1436  	//
  1437  	// This is the value of the alarm's top-level expression.
  1438  	// In releases after vSphere API 5.0, vSphere Servers might not
  1439  	// generate property collector update notifications for this property.
  1440  	// To obtain the latest value of the property, you can use
  1441  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
  1442  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
  1443  	// an empty string for the version parameter.
  1444  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
  1445  	// contain values for this property when some other property on the DataObject changes.
  1446  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
  1447  	// version parameter, the value for this property may not be current.
  1448  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
  1449  	// Time the alarm triggered.
  1450  	Time time.Time `xml:"time" json:"time"`
  1451  	// Flag to indicate if the alarm's actions have been acknowledged for the
  1452  	// associated ManagedEntity.
  1453  	Acknowledged *bool `xml:"acknowledged" json:"acknowledged,omitempty"`
  1454  	// The user who acknowledged this triggering.
  1455  	//
  1456  	// If the triggering has not
  1457  	// been acknowledged, then the value is not valid.
  1458  	AcknowledgedByUser string `xml:"acknowledgedByUser,omitempty" json:"acknowledgedByUser,omitempty"`
  1459  	// The time this triggering was acknowledged.
  1460  	//
  1461  	// If the triggering has not
  1462  	// been acknowledged, then the value is not valid.
  1463  	AcknowledgedTime *time.Time `xml:"acknowledgedTime" json:"acknowledgedTime,omitempty"`
  1464  	// Contains the key of the event that has triggered the alarm.
  1465  	//
  1466  	// The value
  1467  	// is set only for event based alarms. The value is not set for gray or
  1468  	// manually reset alarms (via vim.AlarmManager.setAlarmStatus).
  1469  	EventKey int32 `xml:"eventKey,omitempty" json:"eventKey,omitempty"`
  1470  	// Flag to indicate if the alarm is disabled for the associated
  1471  	// ManagedEntity.
  1472  	Disabled *bool `xml:"disabled" json:"disabled,omitempty"`
  1473  }
  1474  
  1475  func init() {
  1476  	t["AlarmState"] = reflect.TypeOf((*AlarmState)(nil)).Elem()
  1477  }
  1478  
  1479  // This event records a status change for an alarm.
  1480  type AlarmStatusChangedEvent struct {
  1481  	AlarmEvent
  1482  
  1483  	// The entity for which the alarm status has been changed.
  1484  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1485  	// The entity with which the alarm is registered.
  1486  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1487  	// The original alarm status.
  1488  	From string `xml:"from" json:"from"`
  1489  	// The new alarm status.
  1490  	To string `xml:"to" json:"to"`
  1491  }
  1492  
  1493  func init() {
  1494  	t["AlarmStatusChangedEvent"] = reflect.TypeOf((*AlarmStatusChangedEvent)(nil)).Elem()
  1495  }
  1496  
  1497  // This data object type describes one or more
  1498  // triggering transitions and an action to be done
  1499  // when an alarm is triggered.
  1500  //
  1501  // There are four triggering transitions; at least one of them must
  1502  // be provided. A gray state is considered the same as a green state,
  1503  // for the purpose of detecting transitions.
  1504  type AlarmTriggeringAction struct {
  1505  	AlarmAction
  1506  
  1507  	// The action to be done when the alarm is triggered.
  1508  	Action BaseAction `xml:"action,typeattr" json:"action"`
  1509  	// Indicates on which transitions this action executes and repeats.
  1510  	//
  1511  	// This is optional only for backwards compatibility.
  1512  	TransitionSpecs []AlarmTriggeringActionTransitionSpec `xml:"transitionSpecs,omitempty" json:"transitionSpecs,omitempty"`
  1513  	// Deprecated as of vSphere API 4.0, use
  1514  	// `AlarmTriggeringActionTransitionSpec` .
  1515  	//
  1516  	// Flag to specify that the alarm should trigger on a transition
  1517  	// from green to yellow.
  1518  	Green2yellow bool `xml:"green2yellow" json:"green2yellow"`
  1519  	// Deprecated as of vSphere API 4.0, use
  1520  	// `AlarmTriggeringActionTransitionSpec` .
  1521  	//
  1522  	// Flag to specify that the alarm should trigger on a transition
  1523  	// from yellow to red.
  1524  	Yellow2red bool `xml:"yellow2red" json:"yellow2red"`
  1525  	// Deprecated as of vSphere API 4.0, use
  1526  	// `AlarmTriggeringActionTransitionSpec` .
  1527  	//
  1528  	// Flag to specify that the alarm should trigger on a transition
  1529  	// from red to yellow.
  1530  	Red2yellow bool `xml:"red2yellow" json:"red2yellow"`
  1531  	// Deprecated as of vSphere API 4.0, use
  1532  	// `AlarmTriggeringActionTransitionSpec` .
  1533  	//
  1534  	// Flag to specify that the alarm should trigger on a transition
  1535  	// from yellow to green.
  1536  	Yellow2green bool `xml:"yellow2green" json:"yellow2green"`
  1537  }
  1538  
  1539  func init() {
  1540  	t["AlarmTriggeringAction"] = reflect.TypeOf((*AlarmTriggeringAction)(nil)).Elem()
  1541  }
  1542  
  1543  // Specification indicating which on transitions this action fires.
  1544  //
  1545  // The existence of a Spec indicates that this action fires on
  1546  // transitions from that Spec's startState to finalState.
  1547  //
  1548  // There are six acceptable {startState, finalState} pairs:
  1549  // {green, yellow}, {green, red}, {yellow, red}, {red, yellow},
  1550  // {red, green} and {yellow, green}.
  1551  // Direct transitions have precedence over indirect.
  1552  // At least one of these pairs must be specified.
  1553  // Any deviation from the above will render the enclosing AlarmSpec invalid.
  1554  type AlarmTriggeringActionTransitionSpec struct {
  1555  	DynamicData
  1556  
  1557  	// The state from which the alarm must transition for the action to
  1558  	// fire.
  1559  	//
  1560  	// Valid choices are red, yellow and green.
  1561  	StartState ManagedEntityStatus `xml:"startState" json:"startState"`
  1562  	// The state to which the alarm must transition for the action to fire.
  1563  	//
  1564  	// Valid choices are red, yellow, and green.
  1565  	FinalState ManagedEntityStatus `xml:"finalState" json:"finalState"`
  1566  	// Whether or not the action repeats, as per the actionFrequency defined
  1567  	// in the enclosing Alarm.
  1568  	Repeats bool `xml:"repeats" json:"repeats"`
  1569  }
  1570  
  1571  func init() {
  1572  	t["AlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*AlarmTriggeringActionTransitionSpec)(nil)).Elem()
  1573  }
  1574  
  1575  // This event records that the previously unlicensed virtual machines on
  1576  // the specified host are now licensed.
  1577  //
  1578  // After this event is entered into
  1579  // the event log, we expect to see that the (@link
  1580  // vim.event.Event.UnlicensedVirtualMachinesEvent
  1581  // UnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue
  1582  // configIssue) is removed from the host.
  1583  type AllVirtualMachinesLicensedEvent struct {
  1584  	LicenseEvent
  1585  }
  1586  
  1587  func init() {
  1588  	t["AllVirtualMachinesLicensedEvent"] = reflect.TypeOf((*AllVirtualMachinesLicensedEvent)(nil)).Elem()
  1589  }
  1590  
  1591  type AllocateIpv4Address AllocateIpv4AddressRequestType
  1592  
  1593  func init() {
  1594  	t["AllocateIpv4Address"] = reflect.TypeOf((*AllocateIpv4Address)(nil)).Elem()
  1595  }
  1596  
  1597  // The parameters of `IpPoolManager.AllocateIpv4Address`.
  1598  type AllocateIpv4AddressRequestType struct {
  1599  	This ManagedObjectReference `xml:"_this" json:"-"`
  1600  	// The datacenter on which to find the pool
  1601  	//
  1602  	// Refers instance of `Datacenter`.
  1603  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
  1604  	// The unique ID of the pool
  1605  	PoolId int32 `xml:"poolId" json:"poolId"`
  1606  	// The unique ID for this allocation
  1607  	AllocationId string `xml:"allocationId" json:"allocationId"`
  1608  }
  1609  
  1610  func init() {
  1611  	t["AllocateIpv4AddressRequestType"] = reflect.TypeOf((*AllocateIpv4AddressRequestType)(nil)).Elem()
  1612  }
  1613  
  1614  type AllocateIpv4AddressResponse struct {
  1615  	Returnval string `xml:"returnval" json:"returnval"`
  1616  }
  1617  
  1618  type AllocateIpv6Address AllocateIpv6AddressRequestType
  1619  
  1620  func init() {
  1621  	t["AllocateIpv6Address"] = reflect.TypeOf((*AllocateIpv6Address)(nil)).Elem()
  1622  }
  1623  
  1624  // The parameters of `IpPoolManager.AllocateIpv6Address`.
  1625  type AllocateIpv6AddressRequestType struct {
  1626  	This ManagedObjectReference `xml:"_this" json:"-"`
  1627  	// The datacenter on which to find the pool
  1628  	//
  1629  	// Refers instance of `Datacenter`.
  1630  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
  1631  	// The unique ID of the pool
  1632  	PoolId int32 `xml:"poolId" json:"poolId"`
  1633  	// The unique ID for this allocation
  1634  	AllocationId string `xml:"allocationId" json:"allocationId"`
  1635  }
  1636  
  1637  func init() {
  1638  	t["AllocateIpv6AddressRequestType"] = reflect.TypeOf((*AllocateIpv6AddressRequestType)(nil)).Elem()
  1639  }
  1640  
  1641  type AllocateIpv6AddressResponse struct {
  1642  	Returnval string `xml:"returnval" json:"returnval"`
  1643  }
  1644  
  1645  // This event records a failed user logon due to the user already being logged on.
  1646  type AlreadyAuthenticatedSessionEvent struct {
  1647  	SessionEvent
  1648  }
  1649  
  1650  func init() {
  1651  	t["AlreadyAuthenticatedSessionEvent"] = reflect.TypeOf((*AlreadyAuthenticatedSessionEvent)(nil)).Elem()
  1652  }
  1653  
  1654  // AlreadyBeingManaged fault is thrown by the host
  1655  // connect method if the host is already being managed
  1656  // by a VirtualCenter server.
  1657  type AlreadyBeingManaged struct {
  1658  	HostConnectFault
  1659  
  1660  	// IP address of server that is currently managing the host.
  1661  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
  1662  }
  1663  
  1664  func init() {
  1665  	t["AlreadyBeingManaged"] = reflect.TypeOf((*AlreadyBeingManaged)(nil)).Elem()
  1666  }
  1667  
  1668  type AlreadyBeingManagedFault AlreadyBeingManaged
  1669  
  1670  func init() {
  1671  	t["AlreadyBeingManagedFault"] = reflect.TypeOf((*AlreadyBeingManagedFault)(nil)).Elem()
  1672  }
  1673  
  1674  // AlreadyConnect fault is thrown by the host connect method
  1675  // if the host is already connected to a VirtualCenter server.
  1676  //
  1677  // This might occur if the host has been added more than once
  1678  // in the same VirtualCenter in different folders or compute
  1679  // resources.
  1680  type AlreadyConnected struct {
  1681  	HostConnectFault
  1682  
  1683  	// Name of the host
  1684  	Name string `xml:"name" json:"name"`
  1685  }
  1686  
  1687  func init() {
  1688  	t["AlreadyConnected"] = reflect.TypeOf((*AlreadyConnected)(nil)).Elem()
  1689  }
  1690  
  1691  type AlreadyConnectedFault AlreadyConnected
  1692  
  1693  func init() {
  1694  	t["AlreadyConnectedFault"] = reflect.TypeOf((*AlreadyConnectedFault)(nil)).Elem()
  1695  }
  1696  
  1697  // An AlreadyExists fault is thrown when an attempt is made to add an element
  1698  // to a collection, if the element's key, name, or identifier already exists in that
  1699  // collection.
  1700  type AlreadyExists struct {
  1701  	VimFault
  1702  
  1703  	Name string `xml:"name,omitempty" json:"name,omitempty"`
  1704  }
  1705  
  1706  func init() {
  1707  	t["AlreadyExists"] = reflect.TypeOf((*AlreadyExists)(nil)).Elem()
  1708  }
  1709  
  1710  type AlreadyExistsFault AlreadyExists
  1711  
  1712  func init() {
  1713  	t["AlreadyExistsFault"] = reflect.TypeOf((*AlreadyExistsFault)(nil)).Elem()
  1714  }
  1715  
  1716  // An AlreadyUpgraded fault is thrown when an attempt is made to upgrade the
  1717  // virtual hardware of a Virtual machine whose virtual hardware is already
  1718  // up-to-date.
  1719  type AlreadyUpgraded struct {
  1720  	VimFault
  1721  }
  1722  
  1723  func init() {
  1724  	t["AlreadyUpgraded"] = reflect.TypeOf((*AlreadyUpgraded)(nil)).Elem()
  1725  }
  1726  
  1727  type AlreadyUpgradedFault AlreadyUpgraded
  1728  
  1729  func init() {
  1730  	t["AlreadyUpgradedFault"] = reflect.TypeOf((*AlreadyUpgradedFault)(nil)).Elem()
  1731  }
  1732  
  1733  // A data object type that links multiple alarm expressions with AND operators.
  1734  type AndAlarmExpression struct {
  1735  	AlarmExpression
  1736  
  1737  	// List of alarm expressions that define the overall status of the alarm.
  1738  	//   - The state of the alarm expression is gray if all subexpressions are gray.
  1739  	//     Otherwise, gray subexpressions are ignored.
  1740  	//   - The state is red if all subexpressions are red.
  1741  	//   - Otherwise, the state is yellow if all subexpressions are red or yellow.
  1742  	//   - Otherwise, the state of the alarm expression is green.
  1743  	Expression []BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
  1744  }
  1745  
  1746  func init() {
  1747  	t["AndAlarmExpression"] = reflect.TypeOf((*AndAlarmExpression)(nil)).Elem()
  1748  }
  1749  
  1750  // The `AnswerFile` data object contains host-specific information that a host
  1751  // will use in combination with a `HostProfile` for configuration.
  1752  //
  1753  // Answer files are stored on the vCenter Server, along with host profiles.
  1754  // An answer file is always associated with a particular host.
  1755  //
  1756  // To supply host-specific data:
  1757  //   - Specify deferred parameters when you call the
  1758  //     `HostProfile*.*HostProfile.ExecuteHostProfile`
  1759  //     method. The host profile engine will verify the set of parameters for the
  1760  //     additional configuration data.
  1761  //   - Use the complete required input list
  1762  //     (`ProfileExecuteResult*.*ProfileExecuteResult.requireInput`\[\])
  1763  //     as user input for the
  1764  //     `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
  1765  //     method. When you apply the profile, the vCenter Server saves the additional configuration
  1766  //     data in the `AnswerFile.userInput` list.
  1767  //   - Use the `HostProfileManager*.*HostProfileManager.UpdateAnswerFile_Task` method. This method will update an existing answer file or create a new one.
  1768  type AnswerFile struct {
  1769  	DynamicData
  1770  
  1771  	// List containing host-specific configuration data.
  1772  	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
  1773  	// Time at which the answer file was created.
  1774  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
  1775  	// Time at which the answer file was last modified.
  1776  	ModifiedTime time.Time `xml:"modifiedTime" json:"modifiedTime"`
  1777  }
  1778  
  1779  func init() {
  1780  	t["AnswerFile"] = reflect.TypeOf((*AnswerFile)(nil)).Elem()
  1781  }
  1782  
  1783  // Base class for host-specific answer file options.
  1784  type AnswerFileCreateSpec struct {
  1785  	DynamicData
  1786  
  1787  	// If "false", then the answer file will be saved without being validated.
  1788  	//
  1789  	// The default if not specified is "true".
  1790  	// This option should be used with caution, since the resulting answer
  1791  	// file will not be checked for errors.
  1792  	Validating *bool `xml:"validating" json:"validating,omitempty"`
  1793  }
  1794  
  1795  func init() {
  1796  	t["AnswerFileCreateSpec"] = reflect.TypeOf((*AnswerFileCreateSpec)(nil)).Elem()
  1797  }
  1798  
  1799  // The `AnswerFileOptionsCreateSpec`
  1800  // data object contains host-specific user input for an answer file.
  1801  type AnswerFileOptionsCreateSpec struct {
  1802  	AnswerFileCreateSpec
  1803  
  1804  	// List of parameters that contain host-specific data.
  1805  	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
  1806  }
  1807  
  1808  func init() {
  1809  	t["AnswerFileOptionsCreateSpec"] = reflect.TypeOf((*AnswerFileOptionsCreateSpec)(nil)).Elem()
  1810  }
  1811  
  1812  // The `AnswerFileSerializedCreateSpec` data object
  1813  // contains a serialized string representation of host-specific data for an answer file.
  1814  type AnswerFileSerializedCreateSpec struct {
  1815  	AnswerFileCreateSpec
  1816  
  1817  	// Host-specific user input.
  1818  	AnswerFileConfigString string `xml:"answerFileConfigString" json:"answerFileConfigString"`
  1819  }
  1820  
  1821  func init() {
  1822  	t["AnswerFileSerializedCreateSpec"] = reflect.TypeOf((*AnswerFileSerializedCreateSpec)(nil)).Elem()
  1823  }
  1824  
  1825  // The `AnswerFileStatusError` data object describes an answer file
  1826  // error and identifies the profile or policy option with which the error
  1827  // is associated.
  1828  type AnswerFileStatusError struct {
  1829  	DynamicData
  1830  
  1831  	// Path to a profile or a policy option for host-specific data.
  1832  	UserInputPath ProfilePropertyPath `xml:"userInputPath" json:"userInputPath"`
  1833  	// Message describing the error.
  1834  	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
  1835  }
  1836  
  1837  func init() {
  1838  	t["AnswerFileStatusError"] = reflect.TypeOf((*AnswerFileStatusError)(nil)).Elem()
  1839  }
  1840  
  1841  // The `AnswerFileStatusResult` data object shows the validity of the
  1842  // answer file associated with a host.
  1843  type AnswerFileStatusResult struct {
  1844  	DynamicData
  1845  
  1846  	// Time that the answer file status was determined.
  1847  	CheckedTime time.Time `xml:"checkedTime" json:"checkedTime"`
  1848  	// Host associated with the answer file.
  1849  	//
  1850  	// Refers instance of `HostSystem`.
  1851  	Host ManagedObjectReference `xml:"host" json:"host"`
  1852  	// Status of the answer file.
  1853  	//
  1854  	// See `HostProfileManagerAnswerFileStatus_enum` for valid values.
  1855  	Status string `xml:"status" json:"status"`
  1856  	// If <code>status</code> is <code>invalid</code>, this property contains a list
  1857  	// of status error objects.
  1858  	Error []AnswerFileStatusError `xml:"error,omitempty" json:"error,omitempty"`
  1859  }
  1860  
  1861  func init() {
  1862  	t["AnswerFileStatusResult"] = reflect.TypeOf((*AnswerFileStatusResult)(nil)).Elem()
  1863  }
  1864  
  1865  // Could not update the answer file as it has invalid inputs.
  1866  type AnswerFileUpdateFailed struct {
  1867  	VimFault
  1868  
  1869  	// Failures encountered during answer file update
  1870  	Failure []AnswerFileUpdateFailure `xml:"failure" json:"failure"`
  1871  }
  1872  
  1873  func init() {
  1874  	t["AnswerFileUpdateFailed"] = reflect.TypeOf((*AnswerFileUpdateFailed)(nil)).Elem()
  1875  }
  1876  
  1877  type AnswerFileUpdateFailedFault AnswerFileUpdateFailed
  1878  
  1879  func init() {
  1880  	t["AnswerFileUpdateFailedFault"] = reflect.TypeOf((*AnswerFileUpdateFailedFault)(nil)).Elem()
  1881  }
  1882  
  1883  // DataObject which represents the errors that occurred when an
  1884  // answer file update was performed.
  1885  type AnswerFileUpdateFailure struct {
  1886  	DynamicData
  1887  
  1888  	// The user input that has the error
  1889  	UserInputPath ProfilePropertyPath `xml:"userInputPath" json:"userInputPath"`
  1890  	// Message which explains the error
  1891  	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
  1892  }
  1893  
  1894  func init() {
  1895  	t["AnswerFileUpdateFailure"] = reflect.TypeOf((*AnswerFileUpdateFailure)(nil)).Elem()
  1896  }
  1897  
  1898  type AnswerVM AnswerVMRequestType
  1899  
  1900  func init() {
  1901  	t["AnswerVM"] = reflect.TypeOf((*AnswerVM)(nil)).Elem()
  1902  }
  1903  
  1904  // The parameters of `VirtualMachine.AnswerVM`.
  1905  type AnswerVMRequestType struct {
  1906  	This ManagedObjectReference `xml:"_this" json:"-"`
  1907  	// The value from QuestionInfo.id that identifies the question
  1908  	// to answer.
  1909  	QuestionId string `xml:"questionId" json:"questionId"`
  1910  	// The contents of the QuestionInfo.choice.value array element
  1911  	// that identifies the desired answer.
  1912  	AnswerChoice string `xml:"answerChoice" json:"answerChoice"`
  1913  }
  1914  
  1915  func init() {
  1916  	t["AnswerVMRequestType"] = reflect.TypeOf((*AnswerVMRequestType)(nil)).Elem()
  1917  }
  1918  
  1919  type AnswerVMResponse struct {
  1920  }
  1921  
  1922  // This fault is thrown when creating a quiesced snapshot failed
  1923  // because the (user-supplied) custom pre-freeze script in the
  1924  // virtual machine exited with a non-zero return code.
  1925  //
  1926  // This indicates that the script failed to perform its quiescing
  1927  // task, which causes us to fail the quiesced snapshot operation.
  1928  type ApplicationQuiesceFault struct {
  1929  	SnapshotFault
  1930  }
  1931  
  1932  func init() {
  1933  	t["ApplicationQuiesceFault"] = reflect.TypeOf((*ApplicationQuiesceFault)(nil)).Elem()
  1934  }
  1935  
  1936  type ApplicationQuiesceFaultFault ApplicationQuiesceFault
  1937  
  1938  func init() {
  1939  	t["ApplicationQuiesceFaultFault"] = reflect.TypeOf((*ApplicationQuiesceFaultFault)(nil)).Elem()
  1940  }
  1941  
  1942  // The parameters of `HostProfileManager.ApplyEntitiesConfig_Task`.
  1943  type ApplyEntitiesConfigRequestType struct {
  1944  	This ManagedObjectReference `xml:"_this" json:"-"`
  1945  	// An array of
  1946  	// `ApplyHostProfileConfigurationSpec`
  1947  	// objects. Each applyConfigSpecs object contains the data objects
  1948  	// required to remediate a host. The API caller should expand
  1949  	// a cluster to all its hosts for the purpose of providing the
  1950  	// required data object for configuration apply of each host.
  1951  	ApplyConfigSpecs []ApplyHostProfileConfigurationSpec `xml:"applyConfigSpecs,omitempty" json:"applyConfigSpecs,omitempty"`
  1952  }
  1953  
  1954  func init() {
  1955  	t["ApplyEntitiesConfigRequestType"] = reflect.TypeOf((*ApplyEntitiesConfigRequestType)(nil)).Elem()
  1956  }
  1957  
  1958  type ApplyEntitiesConfig_Task ApplyEntitiesConfigRequestType
  1959  
  1960  func init() {
  1961  	t["ApplyEntitiesConfig_Task"] = reflect.TypeOf((*ApplyEntitiesConfig_Task)(nil)).Elem()
  1962  }
  1963  
  1964  type ApplyEntitiesConfig_TaskResponse struct {
  1965  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  1966  }
  1967  
  1968  // The parameters of `VirtualMachine.ApplyEvcModeVM_Task`.
  1969  type ApplyEvcModeVMRequestType struct {
  1970  	This ManagedObjectReference `xml:"_this" json:"-"`
  1971  	// The feature masks to apply to the virtual machine.
  1972  	// An empty set of masks will clear EVC settings.
  1973  	Mask []HostFeatureMask `xml:"mask,omitempty" json:"mask,omitempty"`
  1974  	// Defaults to true if not set. A true value implies
  1975  	// that any unspecified feature will not be exposed to the guest.
  1976  	// A false value will expose any unspecified feature to the guest
  1977  	// with the value of the host.
  1978  	CompleteMasks *bool `xml:"completeMasks" json:"completeMasks,omitempty"`
  1979  }
  1980  
  1981  func init() {
  1982  	t["ApplyEvcModeVMRequestType"] = reflect.TypeOf((*ApplyEvcModeVMRequestType)(nil)).Elem()
  1983  }
  1984  
  1985  type ApplyEvcModeVM_Task ApplyEvcModeVMRequestType
  1986  
  1987  func init() {
  1988  	t["ApplyEvcModeVM_Task"] = reflect.TypeOf((*ApplyEvcModeVM_Task)(nil)).Elem()
  1989  }
  1990  
  1991  type ApplyEvcModeVM_TaskResponse struct {
  1992  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  1993  }
  1994  
  1995  // The parameters of `HostProfileManager.ApplyHostConfig_Task`.
  1996  type ApplyHostConfigRequestType struct {
  1997  	This ManagedObjectReference `xml:"_this" json:"-"`
  1998  	// Host to be updated. User must have sufficient credentials and privileges
  1999  	// to satisfy the contents of the <code>configSpec</code>.
  2000  	//
  2001  	// Refers instance of `HostSystem`.
  2002  	Host ManagedObjectReference `xml:"host" json:"host"`
  2003  	// Set of configuration changes to be applied to the host.
  2004  	// The changes are returned by the
  2005  	// `HostProfile*.*HostProfile.ExecuteHostProfile`
  2006  	// method in the
  2007  	// `ProfileExecuteResult*.*ProfileExecuteResult.configSpec`
  2008  	// property.
  2009  	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
  2010  	// Additional host-specific data to be applied to the host.
  2011  	// This data is the complete list of deferred parameters verified by the
  2012  	// `HostProfile*.*HostProfile.ExecuteHostProfile`
  2013  	// method, contained in the `ProfileExecuteResult` object
  2014  	// returned by the method.
  2015  	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
  2016  }
  2017  
  2018  func init() {
  2019  	t["ApplyHostConfigRequestType"] = reflect.TypeOf((*ApplyHostConfigRequestType)(nil)).Elem()
  2020  }
  2021  
  2022  type ApplyHostConfig_Task ApplyHostConfigRequestType
  2023  
  2024  func init() {
  2025  	t["ApplyHostConfig_Task"] = reflect.TypeOf((*ApplyHostConfig_Task)(nil)).Elem()
  2026  }
  2027  
  2028  type ApplyHostConfig_TaskResponse struct {
  2029  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2030  }
  2031  
  2032  // The `ApplyHostProfileConfigurationResult` data object contains the remediation
  2033  // results for a host: the time that the remediation happens, the status,
  2034  // the errors, and optinal compliance result after reboot.
  2035  type ApplyHostProfileConfigurationResult struct {
  2036  	DynamicData
  2037  
  2038  	// Time that the host config apply starts.
  2039  	StartTime time.Time `xml:"startTime" json:"startTime"`
  2040  	// Time that the host config apply completes.
  2041  	CompleteTime time.Time `xml:"completeTime" json:"completeTime"`
  2042  	// Host to be remediated.
  2043  	//
  2044  	// Refers instance of `HostSystem`.
  2045  	Host ManagedObjectReference `xml:"host" json:"host"`
  2046  	// Status of the remediation.
  2047  	//
  2048  	// See
  2049  	// `ApplyHostProfileConfigurationResultStatus_enum`
  2050  	// for valid values.
  2051  	Status string `xml:"status" json:"status"`
  2052  	// If <code>status</code> is <code>fail</code>, this property contains
  2053  	// a list of status error message objects.
  2054  	Errors []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
  2055  }
  2056  
  2057  func init() {
  2058  	t["ApplyHostProfileConfigurationResult"] = reflect.TypeOf((*ApplyHostProfileConfigurationResult)(nil)).Elem()
  2059  }
  2060  
  2061  // The data object that contains the objects needed to remediate a host
  2062  // in host profile batch apply.
  2063  type ApplyHostProfileConfigurationSpec struct {
  2064  	ProfileExecuteResult
  2065  
  2066  	// The host to be remediated.
  2067  	//
  2068  	// Refers instance of `HostSystem`.
  2069  	Host ManagedObjectReference `xml:"host" json:"host"`
  2070  	// The task requirements from the results of
  2071  	// `HostProfileManager.GenerateConfigTaskList` method
  2072  	TaskListRequirement []string `xml:"taskListRequirement,omitempty" json:"taskListRequirement,omitempty"`
  2073  	// Description of tasks that will be performed on the host
  2074  	// to carry out HostProfile application.
  2075  	TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty" json:"taskDescription,omitempty"`
  2076  	// For a stateless host, there are two approaches to apply a host
  2077  	// profile:
  2078  	// (1) Reboot the host and apply the host profile at boot time.
  2079  	//
  2080  	// (2) Apply the host profile directly from VC. We call this as
  2081  	// regular apply.
  2082  	// The variable rebootStateless allows users to choose the first
  2083  	// approach from the two approaches above:
  2084  	// apply host profile by rebooting this host.
  2085  	RebootStateless *bool `xml:"rebootStateless" json:"rebootStateless,omitempty"`
  2086  	// For regular apply, when some of the tasks requires reboot,
  2087  	// that this variable is<code>true</code> indicates that the
  2088  	// reboot automatically happens in the batch profile apply
  2089  	// than that the user will manually reboot the system later.
  2090  	//
  2091  	// For stateless host, this variable takes effect only when
  2092  	// the variable <code>rebootStateless</code> above is
  2093  	// <code>false</code>.
  2094  	RebootHost *bool `xml:"rebootHost" json:"rebootHost,omitempty"`
  2095  	// This contains the error details.
  2096  	FaultData *LocalizedMethodFault `xml:"faultData,omitempty" json:"faultData,omitempty"`
  2097  }
  2098  
  2099  func init() {
  2100  	t["ApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ApplyHostProfileConfigurationSpec)(nil)).Elem()
  2101  }
  2102  
  2103  // The `ApplyProfile` data object is the base class for all data objects
  2104  // that define profile configuration data.
  2105  //
  2106  // <code>ApplyProfile</code> defines ESX configuration data storage and it
  2107  // supports recursive profile definition for the profile plug-in architecture.
  2108  type ApplyProfile struct {
  2109  	DynamicData
  2110  
  2111  	// Indicates whether the profile is enabled.
  2112  	Enabled bool `xml:"enabled" json:"enabled"`
  2113  	// The list of policies comprising the profile.
  2114  	//
  2115  	// A `ProfilePolicy`
  2116  	// stores one or more configuration data values in a `PolicyOption`.
  2117  	// The policy option is one of the configuration options from the
  2118  	// `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
  2119  	// list.
  2120  	Policy []ProfilePolicy `xml:"policy,omitempty" json:"policy,omitempty"`
  2121  	// Identifies the profile type.
  2122  	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty"`
  2123  	// Profile engine version.
  2124  	ProfileVersion string `xml:"profileVersion,omitempty" json:"profileVersion,omitempty"`
  2125  	// List of subprofiles for this profile.
  2126  	//
  2127  	// This list can change depending on which profile plug-ins are available in the system.
  2128  	// Subprofiles can be nested to arbitrary depths to represent host capabilities.
  2129  	Property []ProfileApplyProfileProperty `xml:"property,omitempty" json:"property,omitempty"`
  2130  	// Indicates whether this profile is marked as "favorite".
  2131  	Favorite *bool `xml:"favorite" json:"favorite,omitempty"`
  2132  	// Indicates whether this profile is marked as to-be-merged.
  2133  	ToBeMerged *bool `xml:"toBeMerged" json:"toBeMerged,omitempty"`
  2134  	// Indicates whether the selected array elements, with the current
  2135  	// as one of them, replace the profile array in the target host
  2136  	// profile.
  2137  	ToReplaceWith *bool `xml:"toReplaceWith" json:"toReplaceWith,omitempty"`
  2138  	// Indicates whether this profile is marked as to-be-deleted.
  2139  	ToBeDeleted *bool `xml:"toBeDeleted" json:"toBeDeleted,omitempty"`
  2140  	// Indicates that the member variable <code>enabled</code> of this profile
  2141  	// will be copied from source profile to target profiles at host profile
  2142  	// composition.
  2143  	CopyEnableStatus *bool `xml:"copyEnableStatus" json:"copyEnableStatus,omitempty"`
  2144  	// Indicates whether this profile will be displayed or not.
  2145  	Hidden *bool `xml:"hidden" json:"hidden,omitempty"`
  2146  }
  2147  
  2148  func init() {
  2149  	t["ApplyProfile"] = reflect.TypeOf((*ApplyProfile)(nil)).Elem()
  2150  }
  2151  
  2152  type ApplyRecommendation ApplyRecommendationRequestType
  2153  
  2154  func init() {
  2155  	t["ApplyRecommendation"] = reflect.TypeOf((*ApplyRecommendation)(nil)).Elem()
  2156  }
  2157  
  2158  // The parameters of `ClusterComputeResource.ApplyRecommendation`.
  2159  type ApplyRecommendationRequestType struct {
  2160  	This ManagedObjectReference `xml:"_this" json:"-"`
  2161  	// The key field of the DrsRecommendation or Recommendation.
  2162  	Key string `xml:"key" json:"key"`
  2163  }
  2164  
  2165  func init() {
  2166  	t["ApplyRecommendationRequestType"] = reflect.TypeOf((*ApplyRecommendationRequestType)(nil)).Elem()
  2167  }
  2168  
  2169  type ApplyRecommendationResponse struct {
  2170  }
  2171  
  2172  // The parameters of `StorageResourceManager.ApplyStorageDrsRecommendation_Task`.
  2173  type ApplyStorageDrsRecommendationRequestType struct {
  2174  	This ManagedObjectReference `xml:"_this" json:"-"`
  2175  	// The key fields of the Recommendations that are applied.
  2176  	Key []string `xml:"key" json:"key"`
  2177  }
  2178  
  2179  func init() {
  2180  	t["ApplyStorageDrsRecommendationRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationRequestType)(nil)).Elem()
  2181  }
  2182  
  2183  // The parameters of `StorageResourceManager.ApplyStorageDrsRecommendationToPod_Task`.
  2184  type ApplyStorageDrsRecommendationToPodRequestType struct {
  2185  	This ManagedObjectReference `xml:"_this" json:"-"`
  2186  	// The storage pod.
  2187  	//
  2188  	// Refers instance of `StoragePod`.
  2189  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
  2190  	// The key field of the Recommendation.
  2191  	Key string `xml:"key" json:"key"`
  2192  }
  2193  
  2194  func init() {
  2195  	t["ApplyStorageDrsRecommendationToPodRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPodRequestType)(nil)).Elem()
  2196  }
  2197  
  2198  type ApplyStorageDrsRecommendationToPod_Task ApplyStorageDrsRecommendationToPodRequestType
  2199  
  2200  func init() {
  2201  	t["ApplyStorageDrsRecommendationToPod_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPod_Task)(nil)).Elem()
  2202  }
  2203  
  2204  type ApplyStorageDrsRecommendationToPod_TaskResponse struct {
  2205  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2206  }
  2207  
  2208  type ApplyStorageDrsRecommendation_Task ApplyStorageDrsRecommendationRequestType
  2209  
  2210  func init() {
  2211  	t["ApplyStorageDrsRecommendation_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendation_Task)(nil)).Elem()
  2212  }
  2213  
  2214  type ApplyStorageDrsRecommendation_TaskResponse struct {
  2215  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2216  }
  2217  
  2218  // Both `StorageResourceManager.RecommendDatastores` and
  2219  // `Datastore.DatastoreEnterMaintenanceMode` methods may invoke Storage DRS
  2220  // for recommendations on placing or evacuating virtual disks.
  2221  //
  2222  // All initial placement recommendations, and some enterMaintenanceMode
  2223  // recommendations need to be approved by the user. Recommendations that
  2224  // are approved will be applied using the
  2225  // `StorageResourceManager.ApplyStorageDrsRecommendation_Task`
  2226  // method.
  2227  // This class encapsulates the result of applying a subset of the
  2228  // recommendations.
  2229  type ApplyStorageRecommendationResult struct {
  2230  	DynamicData
  2231  
  2232  	// The result applying the recommendation, if it was successful.
  2233  	//
  2234  	// This is the equivalent of the `TaskInfo.result` key for the
  2235  	// task launched when the recommendation was applied.
  2236  	//
  2237  	// Refers instance of `VirtualMachine`.
  2238  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
  2239  }
  2240  
  2241  func init() {
  2242  	t["ApplyStorageRecommendationResult"] = reflect.TypeOf((*ApplyStorageRecommendationResult)(nil)).Elem()
  2243  }
  2244  
  2245  type AreAlarmActionsEnabled AreAlarmActionsEnabledRequestType
  2246  
  2247  func init() {
  2248  	t["AreAlarmActionsEnabled"] = reflect.TypeOf((*AreAlarmActionsEnabled)(nil)).Elem()
  2249  }
  2250  
  2251  // The parameters of `AlarmManager.AreAlarmActionsEnabled`.
  2252  type AreAlarmActionsEnabledRequestType struct {
  2253  	This ManagedObjectReference `xml:"_this" json:"-"`
  2254  	// The managed entity to look up.
  2255  	//
  2256  	// Required privileges: System.Read
  2257  	//
  2258  	// Refers instance of `ManagedEntity`.
  2259  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
  2260  }
  2261  
  2262  func init() {
  2263  	t["AreAlarmActionsEnabledRequestType"] = reflect.TypeOf((*AreAlarmActionsEnabledRequestType)(nil)).Elem()
  2264  }
  2265  
  2266  type AreAlarmActionsEnabledResponse struct {
  2267  	Returnval bool `xml:"returnval" json:"returnval"`
  2268  }
  2269  
  2270  // A boxed array of `AlarmAction`. To be used in `Any` placeholders.
  2271  type ArrayOfAlarmAction struct {
  2272  	AlarmAction []BaseAlarmAction `xml:"AlarmAction,omitempty,typeattr" json:"_value"`
  2273  }
  2274  
  2275  func init() {
  2276  	t["ArrayOfAlarmAction"] = reflect.TypeOf((*ArrayOfAlarmAction)(nil)).Elem()
  2277  }
  2278  
  2279  // A boxed array of `AlarmExpression`. To be used in `Any` placeholders.
  2280  type ArrayOfAlarmExpression struct {
  2281  	AlarmExpression []BaseAlarmExpression `xml:"AlarmExpression,omitempty,typeattr" json:"_value"`
  2282  }
  2283  
  2284  func init() {
  2285  	t["ArrayOfAlarmExpression"] = reflect.TypeOf((*ArrayOfAlarmExpression)(nil)).Elem()
  2286  }
  2287  
  2288  // A boxed array of `AlarmState`. To be used in `Any` placeholders.
  2289  type ArrayOfAlarmState struct {
  2290  	AlarmState []AlarmState `xml:"AlarmState,omitempty" json:"_value"`
  2291  }
  2292  
  2293  func init() {
  2294  	t["ArrayOfAlarmState"] = reflect.TypeOf((*ArrayOfAlarmState)(nil)).Elem()
  2295  }
  2296  
  2297  // A boxed array of `AlarmTriggeringActionTransitionSpec`. To be used in `Any` placeholders.
  2298  type ArrayOfAlarmTriggeringActionTransitionSpec struct {
  2299  	AlarmTriggeringActionTransitionSpec []AlarmTriggeringActionTransitionSpec `xml:"AlarmTriggeringActionTransitionSpec,omitempty" json:"_value"`
  2300  }
  2301  
  2302  func init() {
  2303  	t["ArrayOfAlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*ArrayOfAlarmTriggeringActionTransitionSpec)(nil)).Elem()
  2304  }
  2305  
  2306  // A boxed array of `AnswerFileStatusError`. To be used in `Any` placeholders.
  2307  type ArrayOfAnswerFileStatusError struct {
  2308  	AnswerFileStatusError []AnswerFileStatusError `xml:"AnswerFileStatusError,omitempty" json:"_value"`
  2309  }
  2310  
  2311  func init() {
  2312  	t["ArrayOfAnswerFileStatusError"] = reflect.TypeOf((*ArrayOfAnswerFileStatusError)(nil)).Elem()
  2313  }
  2314  
  2315  // A boxed array of `AnswerFileStatusResult`. To be used in `Any` placeholders.
  2316  type ArrayOfAnswerFileStatusResult struct {
  2317  	AnswerFileStatusResult []AnswerFileStatusResult `xml:"AnswerFileStatusResult,omitempty" json:"_value"`
  2318  }
  2319  
  2320  func init() {
  2321  	t["ArrayOfAnswerFileStatusResult"] = reflect.TypeOf((*ArrayOfAnswerFileStatusResult)(nil)).Elem()
  2322  }
  2323  
  2324  // A boxed array of `AnswerFileUpdateFailure`. To be used in `Any` placeholders.
  2325  type ArrayOfAnswerFileUpdateFailure struct {
  2326  	AnswerFileUpdateFailure []AnswerFileUpdateFailure `xml:"AnswerFileUpdateFailure,omitempty" json:"_value"`
  2327  }
  2328  
  2329  func init() {
  2330  	t["ArrayOfAnswerFileUpdateFailure"] = reflect.TypeOf((*ArrayOfAnswerFileUpdateFailure)(nil)).Elem()
  2331  }
  2332  
  2333  // A boxed array of `Any`. To be used in `Any` placeholders.
  2334  type ArrayOfAnyType struct {
  2335  	AnyType []AnyType `xml:"anyType,omitempty,typeattr" json:"_value"`
  2336  }
  2337  
  2338  func init() {
  2339  	t["ArrayOfAnyType"] = reflect.TypeOf((*ArrayOfAnyType)(nil)).Elem()
  2340  }
  2341  
  2342  type ArrayOfAnyURI struct {
  2343  	AnyURI []string `xml:"anyURI,omitempty" json:"_value"`
  2344  }
  2345  
  2346  func init() {
  2347  	t["ArrayOfAnyURI"] = reflect.TypeOf((*ArrayOfAnyURI)(nil)).Elem()
  2348  }
  2349  
  2350  // A boxed array of `ApplyHostProfileConfigurationResult`. To be used in `Any` placeholders.
  2351  type ArrayOfApplyHostProfileConfigurationResult struct {
  2352  	ApplyHostProfileConfigurationResult []ApplyHostProfileConfigurationResult `xml:"ApplyHostProfileConfigurationResult,omitempty" json:"_value"`
  2353  }
  2354  
  2355  func init() {
  2356  	t["ArrayOfApplyHostProfileConfigurationResult"] = reflect.TypeOf((*ArrayOfApplyHostProfileConfigurationResult)(nil)).Elem()
  2357  }
  2358  
  2359  // A boxed array of `ApplyHostProfileConfigurationSpec`. To be used in `Any` placeholders.
  2360  type ArrayOfApplyHostProfileConfigurationSpec struct {
  2361  	ApplyHostProfileConfigurationSpec []ApplyHostProfileConfigurationSpec `xml:"ApplyHostProfileConfigurationSpec,omitempty" json:"_value"`
  2362  }
  2363  
  2364  func init() {
  2365  	t["ArrayOfApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ArrayOfApplyHostProfileConfigurationSpec)(nil)).Elem()
  2366  }
  2367  
  2368  // A boxed array of `ApplyProfile`. To be used in `Any` placeholders.
  2369  type ArrayOfApplyProfile struct {
  2370  	ApplyProfile []BaseApplyProfile `xml:"ApplyProfile,omitempty,typeattr" json:"_value"`
  2371  }
  2372  
  2373  func init() {
  2374  	t["ArrayOfApplyProfile"] = reflect.TypeOf((*ArrayOfApplyProfile)(nil)).Elem()
  2375  }
  2376  
  2377  // A boxed array of `AuthorizationPrivilege`. To be used in `Any` placeholders.
  2378  type ArrayOfAuthorizationPrivilege struct {
  2379  	AuthorizationPrivilege []AuthorizationPrivilege `xml:"AuthorizationPrivilege,omitempty" json:"_value"`
  2380  }
  2381  
  2382  func init() {
  2383  	t["ArrayOfAuthorizationPrivilege"] = reflect.TypeOf((*ArrayOfAuthorizationPrivilege)(nil)).Elem()
  2384  }
  2385  
  2386  // A boxed array of `AuthorizationRole`. To be used in `Any` placeholders.
  2387  type ArrayOfAuthorizationRole struct {
  2388  	AuthorizationRole []AuthorizationRole `xml:"AuthorizationRole,omitempty" json:"_value"`
  2389  }
  2390  
  2391  func init() {
  2392  	t["ArrayOfAuthorizationRole"] = reflect.TypeOf((*ArrayOfAuthorizationRole)(nil)).Elem()
  2393  }
  2394  
  2395  // A boxed array of `AutoStartPowerInfo`. To be used in `Any` placeholders.
  2396  type ArrayOfAutoStartPowerInfo struct {
  2397  	AutoStartPowerInfo []AutoStartPowerInfo `xml:"AutoStartPowerInfo,omitempty" json:"_value"`
  2398  }
  2399  
  2400  func init() {
  2401  	t["ArrayOfAutoStartPowerInfo"] = reflect.TypeOf((*ArrayOfAutoStartPowerInfo)(nil)).Elem()
  2402  }
  2403  
  2404  type ArrayOfBase64Binary struct {
  2405  	Base64Binary [][]byte `xml:"base64Binary,omitempty" json:"_value"`
  2406  }
  2407  
  2408  func init() {
  2409  	t["ArrayOfBase64Binary"] = reflect.TypeOf((*ArrayOfBase64Binary)(nil)).Elem()
  2410  }
  2411  
  2412  // A boxed array of `PrimitiveBoolean`. To be used in `Any` placeholders.
  2413  type ArrayOfBoolean struct {
  2414  	Boolean []bool `xml:"boolean,omitempty" json:"_value"`
  2415  }
  2416  
  2417  func init() {
  2418  	t["ArrayOfBoolean"] = reflect.TypeOf((*ArrayOfBoolean)(nil)).Elem()
  2419  }
  2420  
  2421  // A boxed array of `PrimitiveByte`. To be used in `Any` placeholders.
  2422  type ArrayOfByte struct {
  2423  	Byte ByteSlice `xml:"byte,omitempty" json:"_value"`
  2424  }
  2425  
  2426  func init() {
  2427  	t["ArrayOfByte"] = reflect.TypeOf((*ArrayOfByte)(nil)).Elem()
  2428  }
  2429  
  2430  // A boxed array of `ChangesInfoEventArgument`. To be used in `Any` placeholders.
  2431  type ArrayOfChangesInfoEventArgument struct {
  2432  	ChangesInfoEventArgument []ChangesInfoEventArgument `xml:"ChangesInfoEventArgument,omitempty" json:"_value"`
  2433  }
  2434  
  2435  func init() {
  2436  	t["ArrayOfChangesInfoEventArgument"] = reflect.TypeOf((*ArrayOfChangesInfoEventArgument)(nil)).Elem()
  2437  }
  2438  
  2439  // A boxed array of `CheckResult`. To be used in `Any` placeholders.
  2440  type ArrayOfCheckResult struct {
  2441  	CheckResult []CheckResult `xml:"CheckResult,omitempty" json:"_value"`
  2442  }
  2443  
  2444  func init() {
  2445  	t["ArrayOfCheckResult"] = reflect.TypeOf((*ArrayOfCheckResult)(nil)).Elem()
  2446  }
  2447  
  2448  // A boxed array of `ClusterAction`. To be used in `Any` placeholders.
  2449  type ArrayOfClusterAction struct {
  2450  	ClusterAction []BaseClusterAction `xml:"ClusterAction,omitempty,typeattr" json:"_value"`
  2451  }
  2452  
  2453  func init() {
  2454  	t["ArrayOfClusterAction"] = reflect.TypeOf((*ArrayOfClusterAction)(nil)).Elem()
  2455  }
  2456  
  2457  // A boxed array of `ClusterActionHistory`. To be used in `Any` placeholders.
  2458  type ArrayOfClusterActionHistory struct {
  2459  	ClusterActionHistory []ClusterActionHistory `xml:"ClusterActionHistory,omitempty" json:"_value"`
  2460  }
  2461  
  2462  func init() {
  2463  	t["ArrayOfClusterActionHistory"] = reflect.TypeOf((*ArrayOfClusterActionHistory)(nil)).Elem()
  2464  }
  2465  
  2466  // A boxed array of `ClusterAttemptedVmInfo`. To be used in `Any` placeholders.
  2467  type ArrayOfClusterAttemptedVmInfo struct {
  2468  	ClusterAttemptedVmInfo []ClusterAttemptedVmInfo `xml:"ClusterAttemptedVmInfo,omitempty" json:"_value"`
  2469  }
  2470  
  2471  func init() {
  2472  	t["ArrayOfClusterAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterAttemptedVmInfo)(nil)).Elem()
  2473  }
  2474  
  2475  // A boxed array of `ClusterComputeResourceDVSSetting`. To be used in `Any` placeholders.
  2476  type ArrayOfClusterComputeResourceDVSSetting struct {
  2477  	ClusterComputeResourceDVSSetting []ClusterComputeResourceDVSSetting `xml:"ClusterComputeResourceDVSSetting,omitempty" json:"_value"`
  2478  }
  2479  
  2480  func init() {
  2481  	t["ArrayOfClusterComputeResourceDVSSetting"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDVSSetting)(nil)).Elem()
  2482  }
  2483  
  2484  // A boxed array of `ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping`. To be used in `Any` placeholders.
  2485  type ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct {
  2486  	ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping,omitempty" json:"_value"`
  2487  }
  2488  
  2489  func init() {
  2490  	t["ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping)(nil)).Elem()
  2491  }
  2492  
  2493  // A boxed array of `ClusterComputeResourceDvsProfile`. To be used in `Any` placeholders.
  2494  type ArrayOfClusterComputeResourceDvsProfile struct {
  2495  	ClusterComputeResourceDvsProfile []ClusterComputeResourceDvsProfile `xml:"ClusterComputeResourceDvsProfile,omitempty" json:"_value"`
  2496  }
  2497  
  2498  func init() {
  2499  	t["ArrayOfClusterComputeResourceDvsProfile"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDvsProfile)(nil)).Elem()
  2500  }
  2501  
  2502  // A boxed array of `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping`. To be used in `Any` placeholders.
  2503  type ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct {
  2504  	ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping,omitempty" json:"_value"`
  2505  }
  2506  
  2507  func init() {
  2508  	t["ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping)(nil)).Elem()
  2509  }
  2510  
  2511  // A boxed array of `ClusterComputeResourceHostConfigurationInput`. To be used in `Any` placeholders.
  2512  type ArrayOfClusterComputeResourceHostConfigurationInput struct {
  2513  	ClusterComputeResourceHostConfigurationInput []ClusterComputeResourceHostConfigurationInput `xml:"ClusterComputeResourceHostConfigurationInput,omitempty" json:"_value"`
  2514  }
  2515  
  2516  func init() {
  2517  	t["ArrayOfClusterComputeResourceHostConfigurationInput"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostConfigurationInput)(nil)).Elem()
  2518  }
  2519  
  2520  // A boxed array of `ClusterComputeResourceHostEvacuationInfo`. To be used in `Any` placeholders.
  2521  type ArrayOfClusterComputeResourceHostEvacuationInfo struct {
  2522  	ClusterComputeResourceHostEvacuationInfo []ClusterComputeResourceHostEvacuationInfo `xml:"ClusterComputeResourceHostEvacuationInfo,omitempty" json:"_value"`
  2523  }
  2524  
  2525  func init() {
  2526  	t["ArrayOfClusterComputeResourceHostEvacuationInfo"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostEvacuationInfo)(nil)).Elem()
  2527  	minAPIVersionForType["ArrayOfClusterComputeResourceHostEvacuationInfo"] = "8.0.3.0"
  2528  }
  2529  
  2530  // A boxed array of `ClusterComputeResourceHostVmkNicInfo`. To be used in `Any` placeholders.
  2531  type ArrayOfClusterComputeResourceHostVmkNicInfo struct {
  2532  	ClusterComputeResourceHostVmkNicInfo []ClusterComputeResourceHostVmkNicInfo `xml:"ClusterComputeResourceHostVmkNicInfo,omitempty" json:"_value"`
  2533  }
  2534  
  2535  func init() {
  2536  	t["ArrayOfClusterComputeResourceHostVmkNicInfo"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostVmkNicInfo)(nil)).Elem()
  2537  }
  2538  
  2539  // A boxed array of `ClusterComputeResourceValidationResultBase`. To be used in `Any` placeholders.
  2540  type ArrayOfClusterComputeResourceValidationResultBase struct {
  2541  	ClusterComputeResourceValidationResultBase []BaseClusterComputeResourceValidationResultBase `xml:"ClusterComputeResourceValidationResultBase,omitempty,typeattr" json:"_value"`
  2542  }
  2543  
  2544  func init() {
  2545  	t["ArrayOfClusterComputeResourceValidationResultBase"] = reflect.TypeOf((*ArrayOfClusterComputeResourceValidationResultBase)(nil)).Elem()
  2546  }
  2547  
  2548  // A boxed array of `ClusterComputeResourceVcsSlots`. To be used in `Any` placeholders.
  2549  type ArrayOfClusterComputeResourceVcsSlots struct {
  2550  	ClusterComputeResourceVcsSlots []ClusterComputeResourceVcsSlots `xml:"ClusterComputeResourceVcsSlots,omitempty" json:"_value"`
  2551  }
  2552  
  2553  func init() {
  2554  	t["ArrayOfClusterComputeResourceVcsSlots"] = reflect.TypeOf((*ArrayOfClusterComputeResourceVcsSlots)(nil)).Elem()
  2555  	minAPIVersionForType["ArrayOfClusterComputeResourceVcsSlots"] = "7.0.1.1"
  2556  }
  2557  
  2558  // A boxed array of `ClusterDasAamNodeState`. To be used in `Any` placeholders.
  2559  type ArrayOfClusterDasAamNodeState struct {
  2560  	ClusterDasAamNodeState []ClusterDasAamNodeState `xml:"ClusterDasAamNodeState,omitempty" json:"_value"`
  2561  }
  2562  
  2563  func init() {
  2564  	t["ArrayOfClusterDasAamNodeState"] = reflect.TypeOf((*ArrayOfClusterDasAamNodeState)(nil)).Elem()
  2565  }
  2566  
  2567  // A boxed array of `ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots`. To be used in `Any` placeholders.
  2568  type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
  2569  	ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots,omitempty" json:"_value"`
  2570  }
  2571  
  2572  func init() {
  2573  	t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem()
  2574  }
  2575  
  2576  // A boxed array of `ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots`. To be used in `Any` placeholders.
  2577  type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
  2578  	ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots,omitempty" json:"_value"`
  2579  }
  2580  
  2581  func init() {
  2582  	t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem()
  2583  }
  2584  
  2585  // A boxed array of `ClusterDasVmConfigInfo`. To be used in `Any` placeholders.
  2586  type ArrayOfClusterDasVmConfigInfo struct {
  2587  	ClusterDasVmConfigInfo []ClusterDasVmConfigInfo `xml:"ClusterDasVmConfigInfo,omitempty" json:"_value"`
  2588  }
  2589  
  2590  func init() {
  2591  	t["ArrayOfClusterDasVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigInfo)(nil)).Elem()
  2592  }
  2593  
  2594  // A boxed array of `ClusterDasVmConfigSpec`. To be used in `Any` placeholders.
  2595  type ArrayOfClusterDasVmConfigSpec struct {
  2596  	ClusterDasVmConfigSpec []ClusterDasVmConfigSpec `xml:"ClusterDasVmConfigSpec,omitempty" json:"_value"`
  2597  }
  2598  
  2599  func init() {
  2600  	t["ArrayOfClusterDasVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigSpec)(nil)).Elem()
  2601  }
  2602  
  2603  // A boxed array of `ClusterDatastoreUpdateSpec`. To be used in `Any` placeholders.
  2604  type ArrayOfClusterDatastoreUpdateSpec struct {
  2605  	ClusterDatastoreUpdateSpec []ClusterDatastoreUpdateSpec `xml:"ClusterDatastoreUpdateSpec,omitempty" json:"_value"`
  2606  }
  2607  
  2608  func init() {
  2609  	t["ArrayOfClusterDatastoreUpdateSpec"] = reflect.TypeOf((*ArrayOfClusterDatastoreUpdateSpec)(nil)).Elem()
  2610  	minAPIVersionForType["ArrayOfClusterDatastoreUpdateSpec"] = "7.0.3.0"
  2611  }
  2612  
  2613  // A boxed array of `ClusterDpmHostConfigInfo`. To be used in `Any` placeholders.
  2614  type ArrayOfClusterDpmHostConfigInfo struct {
  2615  	ClusterDpmHostConfigInfo []ClusterDpmHostConfigInfo `xml:"ClusterDpmHostConfigInfo,omitempty" json:"_value"`
  2616  }
  2617  
  2618  func init() {
  2619  	t["ArrayOfClusterDpmHostConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigInfo)(nil)).Elem()
  2620  }
  2621  
  2622  // A boxed array of `ClusterDpmHostConfigSpec`. To be used in `Any` placeholders.
  2623  type ArrayOfClusterDpmHostConfigSpec struct {
  2624  	ClusterDpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"ClusterDpmHostConfigSpec,omitempty" json:"_value"`
  2625  }
  2626  
  2627  func init() {
  2628  	t["ArrayOfClusterDpmHostConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigSpec)(nil)).Elem()
  2629  }
  2630  
  2631  // A boxed array of `ClusterDrsFaults`. To be used in `Any` placeholders.
  2632  type ArrayOfClusterDrsFaults struct {
  2633  	ClusterDrsFaults []ClusterDrsFaults `xml:"ClusterDrsFaults,omitempty" json:"_value"`
  2634  }
  2635  
  2636  func init() {
  2637  	t["ArrayOfClusterDrsFaults"] = reflect.TypeOf((*ArrayOfClusterDrsFaults)(nil)).Elem()
  2638  }
  2639  
  2640  // A boxed array of `ClusterDrsFaultsFaultsByVm`. To be used in `Any` placeholders.
  2641  type ArrayOfClusterDrsFaultsFaultsByVm struct {
  2642  	ClusterDrsFaultsFaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"ClusterDrsFaultsFaultsByVm,omitempty,typeattr" json:"_value"`
  2643  }
  2644  
  2645  func init() {
  2646  	t["ArrayOfClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ArrayOfClusterDrsFaultsFaultsByVm)(nil)).Elem()
  2647  }
  2648  
  2649  // A boxed array of `ClusterDrsMigration`. To be used in `Any` placeholders.
  2650  type ArrayOfClusterDrsMigration struct {
  2651  	ClusterDrsMigration []ClusterDrsMigration `xml:"ClusterDrsMigration,omitempty" json:"_value"`
  2652  }
  2653  
  2654  func init() {
  2655  	t["ArrayOfClusterDrsMigration"] = reflect.TypeOf((*ArrayOfClusterDrsMigration)(nil)).Elem()
  2656  }
  2657  
  2658  // A boxed array of `ClusterDrsRecommendation`. To be used in `Any` placeholders.
  2659  type ArrayOfClusterDrsRecommendation struct {
  2660  	ClusterDrsRecommendation []ClusterDrsRecommendation `xml:"ClusterDrsRecommendation,omitempty" json:"_value"`
  2661  }
  2662  
  2663  func init() {
  2664  	t["ArrayOfClusterDrsRecommendation"] = reflect.TypeOf((*ArrayOfClusterDrsRecommendation)(nil)).Elem()
  2665  }
  2666  
  2667  // A boxed array of `ClusterDrsVmConfigInfo`. To be used in `Any` placeholders.
  2668  type ArrayOfClusterDrsVmConfigInfo struct {
  2669  	ClusterDrsVmConfigInfo []ClusterDrsVmConfigInfo `xml:"ClusterDrsVmConfigInfo,omitempty" json:"_value"`
  2670  }
  2671  
  2672  func init() {
  2673  	t["ArrayOfClusterDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigInfo)(nil)).Elem()
  2674  }
  2675  
  2676  // A boxed array of `ClusterDrsVmConfigSpec`. To be used in `Any` placeholders.
  2677  type ArrayOfClusterDrsVmConfigSpec struct {
  2678  	ClusterDrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"ClusterDrsVmConfigSpec,omitempty" json:"_value"`
  2679  }
  2680  
  2681  func init() {
  2682  	t["ArrayOfClusterDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigSpec)(nil)).Elem()
  2683  }
  2684  
  2685  // A boxed array of `ClusterEVCManagerCheckResult`. To be used in `Any` placeholders.
  2686  type ArrayOfClusterEVCManagerCheckResult struct {
  2687  	ClusterEVCManagerCheckResult []ClusterEVCManagerCheckResult `xml:"ClusterEVCManagerCheckResult,omitempty" json:"_value"`
  2688  }
  2689  
  2690  func init() {
  2691  	t["ArrayOfClusterEVCManagerCheckResult"] = reflect.TypeOf((*ArrayOfClusterEVCManagerCheckResult)(nil)).Elem()
  2692  }
  2693  
  2694  // A boxed array of `ClusterFailoverHostAdmissionControlInfoHostStatus`. To be used in `Any` placeholders.
  2695  type ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus struct {
  2696  	ClusterFailoverHostAdmissionControlInfoHostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"ClusterFailoverHostAdmissionControlInfoHostStatus,omitempty" json:"_value"`
  2697  }
  2698  
  2699  func init() {
  2700  	t["ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem()
  2701  }
  2702  
  2703  // A boxed array of `ClusterGroupInfo`. To be used in `Any` placeholders.
  2704  type ArrayOfClusterGroupInfo struct {
  2705  	ClusterGroupInfo []BaseClusterGroupInfo `xml:"ClusterGroupInfo,omitempty,typeattr" json:"_value"`
  2706  }
  2707  
  2708  func init() {
  2709  	t["ArrayOfClusterGroupInfo"] = reflect.TypeOf((*ArrayOfClusterGroupInfo)(nil)).Elem()
  2710  }
  2711  
  2712  // A boxed array of `ClusterGroupSpec`. To be used in `Any` placeholders.
  2713  type ArrayOfClusterGroupSpec struct {
  2714  	ClusterGroupSpec []ClusterGroupSpec `xml:"ClusterGroupSpec,omitempty" json:"_value"`
  2715  }
  2716  
  2717  func init() {
  2718  	t["ArrayOfClusterGroupSpec"] = reflect.TypeOf((*ArrayOfClusterGroupSpec)(nil)).Elem()
  2719  }
  2720  
  2721  // A boxed array of `ClusterHostRecommendation`. To be used in `Any` placeholders.
  2722  type ArrayOfClusterHostRecommendation struct {
  2723  	ClusterHostRecommendation []ClusterHostRecommendation `xml:"ClusterHostRecommendation,omitempty" json:"_value"`
  2724  }
  2725  
  2726  func init() {
  2727  	t["ArrayOfClusterHostRecommendation"] = reflect.TypeOf((*ArrayOfClusterHostRecommendation)(nil)).Elem()
  2728  }
  2729  
  2730  // A boxed array of `ClusterIoFilterInfo`. To be used in `Any` placeholders.
  2731  type ArrayOfClusterIoFilterInfo struct {
  2732  	ClusterIoFilterInfo []ClusterIoFilterInfo `xml:"ClusterIoFilterInfo,omitempty" json:"_value"`
  2733  }
  2734  
  2735  func init() {
  2736  	t["ArrayOfClusterIoFilterInfo"] = reflect.TypeOf((*ArrayOfClusterIoFilterInfo)(nil)).Elem()
  2737  }
  2738  
  2739  // A boxed array of `ClusterNotAttemptedVmInfo`. To be used in `Any` placeholders.
  2740  type ArrayOfClusterNotAttemptedVmInfo struct {
  2741  	ClusterNotAttemptedVmInfo []ClusterNotAttemptedVmInfo `xml:"ClusterNotAttemptedVmInfo,omitempty" json:"_value"`
  2742  }
  2743  
  2744  func init() {
  2745  	t["ArrayOfClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterNotAttemptedVmInfo)(nil)).Elem()
  2746  }
  2747  
  2748  // A boxed array of `ClusterRecommendation`. To be used in `Any` placeholders.
  2749  type ArrayOfClusterRecommendation struct {
  2750  	ClusterRecommendation []ClusterRecommendation `xml:"ClusterRecommendation,omitempty" json:"_value"`
  2751  }
  2752  
  2753  func init() {
  2754  	t["ArrayOfClusterRecommendation"] = reflect.TypeOf((*ArrayOfClusterRecommendation)(nil)).Elem()
  2755  }
  2756  
  2757  // A boxed array of `ClusterRuleInfo`. To be used in `Any` placeholders.
  2758  type ArrayOfClusterRuleInfo struct {
  2759  	ClusterRuleInfo []BaseClusterRuleInfo `xml:"ClusterRuleInfo,omitempty,typeattr" json:"_value"`
  2760  }
  2761  
  2762  func init() {
  2763  	t["ArrayOfClusterRuleInfo"] = reflect.TypeOf((*ArrayOfClusterRuleInfo)(nil)).Elem()
  2764  }
  2765  
  2766  // A boxed array of `ClusterRuleSpec`. To be used in `Any` placeholders.
  2767  type ArrayOfClusterRuleSpec struct {
  2768  	ClusterRuleSpec []ClusterRuleSpec `xml:"ClusterRuleSpec,omitempty" json:"_value"`
  2769  }
  2770  
  2771  func init() {
  2772  	t["ArrayOfClusterRuleSpec"] = reflect.TypeOf((*ArrayOfClusterRuleSpec)(nil)).Elem()
  2773  }
  2774  
  2775  // A boxed array of `ClusterTagCategoryUpdateSpec`. To be used in `Any` placeholders.
  2776  type ArrayOfClusterTagCategoryUpdateSpec struct {
  2777  	ClusterTagCategoryUpdateSpec []ClusterTagCategoryUpdateSpec `xml:"ClusterTagCategoryUpdateSpec,omitempty" json:"_value"`
  2778  }
  2779  
  2780  func init() {
  2781  	t["ArrayOfClusterTagCategoryUpdateSpec"] = reflect.TypeOf((*ArrayOfClusterTagCategoryUpdateSpec)(nil)).Elem()
  2782  	minAPIVersionForType["ArrayOfClusterTagCategoryUpdateSpec"] = "7.0.3.0"
  2783  }
  2784  
  2785  // A boxed array of `ClusterVmOrchestrationInfo`. To be used in `Any` placeholders.
  2786  type ArrayOfClusterVmOrchestrationInfo struct {
  2787  	ClusterVmOrchestrationInfo []ClusterVmOrchestrationInfo `xml:"ClusterVmOrchestrationInfo,omitempty" json:"_value"`
  2788  }
  2789  
  2790  func init() {
  2791  	t["ArrayOfClusterVmOrchestrationInfo"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationInfo)(nil)).Elem()
  2792  }
  2793  
  2794  // A boxed array of `ClusterVmOrchestrationSpec`. To be used in `Any` placeholders.
  2795  type ArrayOfClusterVmOrchestrationSpec struct {
  2796  	ClusterVmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"ClusterVmOrchestrationSpec,omitempty" json:"_value"`
  2797  }
  2798  
  2799  func init() {
  2800  	t["ArrayOfClusterVmOrchestrationSpec"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationSpec)(nil)).Elem()
  2801  }
  2802  
  2803  // A boxed array of `ComplianceFailure`. To be used in `Any` placeholders.
  2804  type ArrayOfComplianceFailure struct {
  2805  	ComplianceFailure []ComplianceFailure `xml:"ComplianceFailure,omitempty" json:"_value"`
  2806  }
  2807  
  2808  func init() {
  2809  	t["ArrayOfComplianceFailure"] = reflect.TypeOf((*ArrayOfComplianceFailure)(nil)).Elem()
  2810  }
  2811  
  2812  // A boxed array of `ComplianceFailureComplianceFailureValues`. To be used in `Any` placeholders.
  2813  type ArrayOfComplianceFailureComplianceFailureValues struct {
  2814  	ComplianceFailureComplianceFailureValues []ComplianceFailureComplianceFailureValues `xml:"ComplianceFailureComplianceFailureValues,omitempty" json:"_value"`
  2815  }
  2816  
  2817  func init() {
  2818  	t["ArrayOfComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ArrayOfComplianceFailureComplianceFailureValues)(nil)).Elem()
  2819  }
  2820  
  2821  // A boxed array of `ComplianceLocator`. To be used in `Any` placeholders.
  2822  type ArrayOfComplianceLocator struct {
  2823  	ComplianceLocator []ComplianceLocator `xml:"ComplianceLocator,omitempty" json:"_value"`
  2824  }
  2825  
  2826  func init() {
  2827  	t["ArrayOfComplianceLocator"] = reflect.TypeOf((*ArrayOfComplianceLocator)(nil)).Elem()
  2828  }
  2829  
  2830  // A boxed array of `ComplianceResult`. To be used in `Any` placeholders.
  2831  type ArrayOfComplianceResult struct {
  2832  	ComplianceResult []ComplianceResult `xml:"ComplianceResult,omitempty" json:"_value"`
  2833  }
  2834  
  2835  func init() {
  2836  	t["ArrayOfComplianceResult"] = reflect.TypeOf((*ArrayOfComplianceResult)(nil)).Elem()
  2837  }
  2838  
  2839  // A boxed array of `ComputeResourceHostSPBMLicenseInfo`. To be used in `Any` placeholders.
  2840  type ArrayOfComputeResourceHostSPBMLicenseInfo struct {
  2841  	ComputeResourceHostSPBMLicenseInfo []ComputeResourceHostSPBMLicenseInfo `xml:"ComputeResourceHostSPBMLicenseInfo,omitempty" json:"_value"`
  2842  }
  2843  
  2844  func init() {
  2845  	t["ArrayOfComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ArrayOfComputeResourceHostSPBMLicenseInfo)(nil)).Elem()
  2846  }
  2847  
  2848  // A boxed array of `ConflictingConfigurationConfig`. To be used in `Any` placeholders.
  2849  type ArrayOfConflictingConfigurationConfig struct {
  2850  	ConflictingConfigurationConfig []ConflictingConfigurationConfig `xml:"ConflictingConfigurationConfig,omitempty" json:"_value"`
  2851  }
  2852  
  2853  func init() {
  2854  	t["ArrayOfConflictingConfigurationConfig"] = reflect.TypeOf((*ArrayOfConflictingConfigurationConfig)(nil)).Elem()
  2855  }
  2856  
  2857  // A boxed array of `CryptoKeyId`. To be used in `Any` placeholders.
  2858  type ArrayOfCryptoKeyId struct {
  2859  	CryptoKeyId []CryptoKeyId `xml:"CryptoKeyId,omitempty" json:"_value"`
  2860  }
  2861  
  2862  func init() {
  2863  	t["ArrayOfCryptoKeyId"] = reflect.TypeOf((*ArrayOfCryptoKeyId)(nil)).Elem()
  2864  }
  2865  
  2866  // A boxed array of `CryptoKeyPlain`. To be used in `Any` placeholders.
  2867  type ArrayOfCryptoKeyPlain struct {
  2868  	CryptoKeyPlain []CryptoKeyPlain `xml:"CryptoKeyPlain,omitempty" json:"_value"`
  2869  }
  2870  
  2871  func init() {
  2872  	t["ArrayOfCryptoKeyPlain"] = reflect.TypeOf((*ArrayOfCryptoKeyPlain)(nil)).Elem()
  2873  }
  2874  
  2875  // A boxed array of `CryptoKeyResult`. To be used in `Any` placeholders.
  2876  type ArrayOfCryptoKeyResult struct {
  2877  	CryptoKeyResult []CryptoKeyResult `xml:"CryptoKeyResult,omitempty" json:"_value"`
  2878  }
  2879  
  2880  func init() {
  2881  	t["ArrayOfCryptoKeyResult"] = reflect.TypeOf((*ArrayOfCryptoKeyResult)(nil)).Elem()
  2882  }
  2883  
  2884  // A boxed array of `CryptoManagerHostKeyStatus`. To be used in `Any` placeholders.
  2885  type ArrayOfCryptoManagerHostKeyStatus struct {
  2886  	CryptoManagerHostKeyStatus []CryptoManagerHostKeyStatus `xml:"CryptoManagerHostKeyStatus,omitempty" json:"_value"`
  2887  }
  2888  
  2889  func init() {
  2890  	t["ArrayOfCryptoManagerHostKeyStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerHostKeyStatus)(nil)).Elem()
  2891  	minAPIVersionForType["ArrayOfCryptoManagerHostKeyStatus"] = "8.0.1.0"
  2892  }
  2893  
  2894  // A boxed array of `CryptoManagerKmipClusterStatus`. To be used in `Any` placeholders.
  2895  type ArrayOfCryptoManagerKmipClusterStatus struct {
  2896  	CryptoManagerKmipClusterStatus []CryptoManagerKmipClusterStatus `xml:"CryptoManagerKmipClusterStatus,omitempty" json:"_value"`
  2897  }
  2898  
  2899  func init() {
  2900  	t["ArrayOfCryptoManagerKmipClusterStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipClusterStatus)(nil)).Elem()
  2901  }
  2902  
  2903  // A boxed array of `CryptoManagerKmipCryptoKeyStatus`. To be used in `Any` placeholders.
  2904  type ArrayOfCryptoManagerKmipCryptoKeyStatus struct {
  2905  	CryptoManagerKmipCryptoKeyStatus []CryptoManagerKmipCryptoKeyStatus `xml:"CryptoManagerKmipCryptoKeyStatus,omitempty" json:"_value"`
  2906  }
  2907  
  2908  func init() {
  2909  	t["ArrayOfCryptoManagerKmipCryptoKeyStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipCryptoKeyStatus)(nil)).Elem()
  2910  }
  2911  
  2912  // A boxed array of `CryptoManagerKmipServerStatus`. To be used in `Any` placeholders.
  2913  type ArrayOfCryptoManagerKmipServerStatus struct {
  2914  	CryptoManagerKmipServerStatus []CryptoManagerKmipServerStatus `xml:"CryptoManagerKmipServerStatus,omitempty" json:"_value"`
  2915  }
  2916  
  2917  func init() {
  2918  	t["ArrayOfCryptoManagerKmipServerStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipServerStatus)(nil)).Elem()
  2919  }
  2920  
  2921  // A boxed array of `CustomFieldDef`. To be used in `Any` placeholders.
  2922  type ArrayOfCustomFieldDef struct {
  2923  	CustomFieldDef []CustomFieldDef `xml:"CustomFieldDef,omitempty" json:"_value"`
  2924  }
  2925  
  2926  func init() {
  2927  	t["ArrayOfCustomFieldDef"] = reflect.TypeOf((*ArrayOfCustomFieldDef)(nil)).Elem()
  2928  }
  2929  
  2930  // A boxed array of `CustomFieldValue`. To be used in `Any` placeholders.
  2931  type ArrayOfCustomFieldValue struct {
  2932  	CustomFieldValue []BaseCustomFieldValue `xml:"CustomFieldValue,omitempty,typeattr" json:"_value"`
  2933  }
  2934  
  2935  func init() {
  2936  	t["ArrayOfCustomFieldValue"] = reflect.TypeOf((*ArrayOfCustomFieldValue)(nil)).Elem()
  2937  }
  2938  
  2939  // A boxed array of `CustomizationAdapterMapping`. To be used in `Any` placeholders.
  2940  type ArrayOfCustomizationAdapterMapping struct {
  2941  	CustomizationAdapterMapping []CustomizationAdapterMapping `xml:"CustomizationAdapterMapping,omitempty" json:"_value"`
  2942  }
  2943  
  2944  func init() {
  2945  	t["ArrayOfCustomizationAdapterMapping"] = reflect.TypeOf((*ArrayOfCustomizationAdapterMapping)(nil)).Elem()
  2946  }
  2947  
  2948  // A boxed array of `CustomizationIpV6Generator`. To be used in `Any` placeholders.
  2949  type ArrayOfCustomizationIpV6Generator struct {
  2950  	CustomizationIpV6Generator []BaseCustomizationIpV6Generator `xml:"CustomizationIpV6Generator,omitempty,typeattr" json:"_value"`
  2951  }
  2952  
  2953  func init() {
  2954  	t["ArrayOfCustomizationIpV6Generator"] = reflect.TypeOf((*ArrayOfCustomizationIpV6Generator)(nil)).Elem()
  2955  }
  2956  
  2957  // A boxed array of `CustomizationSpecInfo`. To be used in `Any` placeholders.
  2958  type ArrayOfCustomizationSpecInfo struct {
  2959  	CustomizationSpecInfo []CustomizationSpecInfo `xml:"CustomizationSpecInfo,omitempty" json:"_value"`
  2960  }
  2961  
  2962  func init() {
  2963  	t["ArrayOfCustomizationSpecInfo"] = reflect.TypeOf((*ArrayOfCustomizationSpecInfo)(nil)).Elem()
  2964  }
  2965  
  2966  // A boxed array of `DVPortConfigSpec`. To be used in `Any` placeholders.
  2967  type ArrayOfDVPortConfigSpec struct {
  2968  	DVPortConfigSpec []DVPortConfigSpec `xml:"DVPortConfigSpec,omitempty" json:"_value"`
  2969  }
  2970  
  2971  func init() {
  2972  	t["ArrayOfDVPortConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortConfigSpec)(nil)).Elem()
  2973  }
  2974  
  2975  // A boxed array of `DVPortgroupConfigSpec`. To be used in `Any` placeholders.
  2976  type ArrayOfDVPortgroupConfigSpec struct {
  2977  	DVPortgroupConfigSpec []DVPortgroupConfigSpec `xml:"DVPortgroupConfigSpec,omitempty" json:"_value"`
  2978  }
  2979  
  2980  func init() {
  2981  	t["ArrayOfDVPortgroupConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortgroupConfigSpec)(nil)).Elem()
  2982  }
  2983  
  2984  // A boxed array of `DVSHealthCheckConfig`. To be used in `Any` placeholders.
  2985  type ArrayOfDVSHealthCheckConfig struct {
  2986  	DVSHealthCheckConfig []BaseDVSHealthCheckConfig `xml:"DVSHealthCheckConfig,omitempty,typeattr" json:"_value"`
  2987  }
  2988  
  2989  func init() {
  2990  	t["ArrayOfDVSHealthCheckConfig"] = reflect.TypeOf((*ArrayOfDVSHealthCheckConfig)(nil)).Elem()
  2991  }
  2992  
  2993  // A boxed array of `DVSManagerPhysicalNicsList`. To be used in `Any` placeholders.
  2994  type ArrayOfDVSManagerPhysicalNicsList struct {
  2995  	DVSManagerPhysicalNicsList []DVSManagerPhysicalNicsList `xml:"DVSManagerPhysicalNicsList,omitempty" json:"_value"`
  2996  }
  2997  
  2998  func init() {
  2999  	t["ArrayOfDVSManagerPhysicalNicsList"] = reflect.TypeOf((*ArrayOfDVSManagerPhysicalNicsList)(nil)).Elem()
  3000  	minAPIVersionForType["ArrayOfDVSManagerPhysicalNicsList"] = "8.0.0.1"
  3001  }
  3002  
  3003  // A boxed array of `DVSNetworkResourcePool`. To be used in `Any` placeholders.
  3004  type ArrayOfDVSNetworkResourcePool struct {
  3005  	DVSNetworkResourcePool []DVSNetworkResourcePool `xml:"DVSNetworkResourcePool,omitempty" json:"_value"`
  3006  }
  3007  
  3008  func init() {
  3009  	t["ArrayOfDVSNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePool)(nil)).Elem()
  3010  }
  3011  
  3012  // A boxed array of `DVSNetworkResourcePoolConfigSpec`. To be used in `Any` placeholders.
  3013  type ArrayOfDVSNetworkResourcePoolConfigSpec struct {
  3014  	DVSNetworkResourcePoolConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"DVSNetworkResourcePoolConfigSpec,omitempty" json:"_value"`
  3015  }
  3016  
  3017  func init() {
  3018  	t["ArrayOfDVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePoolConfigSpec)(nil)).Elem()
  3019  }
  3020  
  3021  // A boxed array of `DVSVmVnicNetworkResourcePool`. To be used in `Any` placeholders.
  3022  type ArrayOfDVSVmVnicNetworkResourcePool struct {
  3023  	DVSVmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"DVSVmVnicNetworkResourcePool,omitempty" json:"_value"`
  3024  }
  3025  
  3026  func init() {
  3027  	t["ArrayOfDVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSVmVnicNetworkResourcePool)(nil)).Elem()
  3028  }
  3029  
  3030  // A boxed array of `DasHeartbeatDatastoreInfo`. To be used in `Any` placeholders.
  3031  type ArrayOfDasHeartbeatDatastoreInfo struct {
  3032  	DasHeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"DasHeartbeatDatastoreInfo,omitempty" json:"_value"`
  3033  }
  3034  
  3035  func init() {
  3036  	t["ArrayOfDasHeartbeatDatastoreInfo"] = reflect.TypeOf((*ArrayOfDasHeartbeatDatastoreInfo)(nil)).Elem()
  3037  }
  3038  
  3039  // A boxed array of `DatacenterBasicConnectInfo`. To be used in `Any` placeholders.
  3040  type ArrayOfDatacenterBasicConnectInfo struct {
  3041  	DatacenterBasicConnectInfo []DatacenterBasicConnectInfo `xml:"DatacenterBasicConnectInfo,omitempty" json:"_value"`
  3042  }
  3043  
  3044  func init() {
  3045  	t["ArrayOfDatacenterBasicConnectInfo"] = reflect.TypeOf((*ArrayOfDatacenterBasicConnectInfo)(nil)).Elem()
  3046  }
  3047  
  3048  // A boxed array of `DatacenterMismatchArgument`. To be used in `Any` placeholders.
  3049  type ArrayOfDatacenterMismatchArgument struct {
  3050  	DatacenterMismatchArgument []DatacenterMismatchArgument `xml:"DatacenterMismatchArgument,omitempty" json:"_value"`
  3051  }
  3052  
  3053  func init() {
  3054  	t["ArrayOfDatacenterMismatchArgument"] = reflect.TypeOf((*ArrayOfDatacenterMismatchArgument)(nil)).Elem()
  3055  }
  3056  
  3057  // A boxed array of `DatastoreHostMount`. To be used in `Any` placeholders.
  3058  type ArrayOfDatastoreHostMount struct {
  3059  	DatastoreHostMount []DatastoreHostMount `xml:"DatastoreHostMount,omitempty" json:"_value"`
  3060  }
  3061  
  3062  func init() {
  3063  	t["ArrayOfDatastoreHostMount"] = reflect.TypeOf((*ArrayOfDatastoreHostMount)(nil)).Elem()
  3064  }
  3065  
  3066  // A boxed array of `DatastoreMountPathDatastorePair`. To be used in `Any` placeholders.
  3067  type ArrayOfDatastoreMountPathDatastorePair struct {
  3068  	DatastoreMountPathDatastorePair []DatastoreMountPathDatastorePair `xml:"DatastoreMountPathDatastorePair,omitempty" json:"_value"`
  3069  }
  3070  
  3071  func init() {
  3072  	t["ArrayOfDatastoreMountPathDatastorePair"] = reflect.TypeOf((*ArrayOfDatastoreMountPathDatastorePair)(nil)).Elem()
  3073  }
  3074  
  3075  // A boxed array of `DatastoreVVolContainerFailoverPair`. To be used in `Any` placeholders.
  3076  type ArrayOfDatastoreVVolContainerFailoverPair struct {
  3077  	DatastoreVVolContainerFailoverPair []DatastoreVVolContainerFailoverPair `xml:"DatastoreVVolContainerFailoverPair,omitempty" json:"_value"`
  3078  }
  3079  
  3080  func init() {
  3081  	t["ArrayOfDatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*ArrayOfDatastoreVVolContainerFailoverPair)(nil)).Elem()
  3082  }
  3083  
  3084  // A boxed array of `DesiredSoftwareSpecComponentSpec`. To be used in `Any` placeholders.
  3085  type ArrayOfDesiredSoftwareSpecComponentSpec struct {
  3086  	DesiredSoftwareSpecComponentSpec []DesiredSoftwareSpecComponentSpec `xml:"DesiredSoftwareSpecComponentSpec,omitempty" json:"_value"`
  3087  }
  3088  
  3089  func init() {
  3090  	t["ArrayOfDesiredSoftwareSpecComponentSpec"] = reflect.TypeOf((*ArrayOfDesiredSoftwareSpecComponentSpec)(nil)).Elem()
  3091  	minAPIVersionForType["ArrayOfDesiredSoftwareSpecComponentSpec"] = "7.0.2.0"
  3092  }
  3093  
  3094  // A boxed array of `DiagnosticManagerBundleInfo`. To be used in `Any` placeholders.
  3095  type ArrayOfDiagnosticManagerBundleInfo struct {
  3096  	DiagnosticManagerBundleInfo []DiagnosticManagerBundleInfo `xml:"DiagnosticManagerBundleInfo,omitempty" json:"_value"`
  3097  }
  3098  
  3099  func init() {
  3100  	t["ArrayOfDiagnosticManagerBundleInfo"] = reflect.TypeOf((*ArrayOfDiagnosticManagerBundleInfo)(nil)).Elem()
  3101  }
  3102  
  3103  // A boxed array of `DiagnosticManagerLogDescriptor`. To be used in `Any` placeholders.
  3104  type ArrayOfDiagnosticManagerLogDescriptor struct {
  3105  	DiagnosticManagerLogDescriptor []DiagnosticManagerLogDescriptor `xml:"DiagnosticManagerLogDescriptor,omitempty" json:"_value"`
  3106  }
  3107  
  3108  func init() {
  3109  	t["ArrayOfDiagnosticManagerLogDescriptor"] = reflect.TypeOf((*ArrayOfDiagnosticManagerLogDescriptor)(nil)).Elem()
  3110  }
  3111  
  3112  // A boxed array of `DirectPathProfileInfo`. To be used in `Any` placeholders.
  3113  type ArrayOfDirectPathProfileInfo struct {
  3114  	DirectPathProfileInfo []DirectPathProfileInfo `xml:"DirectPathProfileInfo,omitempty" json:"_value"`
  3115  }
  3116  
  3117  func init() {
  3118  	t["ArrayOfDirectPathProfileInfo"] = reflect.TypeOf((*ArrayOfDirectPathProfileInfo)(nil)).Elem()
  3119  	minAPIVersionForType["ArrayOfDirectPathProfileInfo"] = "9.0.0.0"
  3120  }
  3121  
  3122  // A boxed array of `DirectPathProfileManagerCapacityQuerySpec`. To be used in `Any` placeholders.
  3123  type ArrayOfDirectPathProfileManagerCapacityQuerySpec struct {
  3124  	DirectPathProfileManagerCapacityQuerySpec []BaseDirectPathProfileManagerCapacityQuerySpec `xml:"DirectPathProfileManagerCapacityQuerySpec,omitempty,typeattr" json:"_value"`
  3125  }
  3126  
  3127  func init() {
  3128  	t["ArrayOfDirectPathProfileManagerCapacityQuerySpec"] = reflect.TypeOf((*ArrayOfDirectPathProfileManagerCapacityQuerySpec)(nil)).Elem()
  3129  	minAPIVersionForType["ArrayOfDirectPathProfileManagerCapacityQuerySpec"] = "9.0.0.0"
  3130  }
  3131  
  3132  // A boxed array of `DirectPathProfileManagerCapacityResult`. To be used in `Any` placeholders.
  3133  type ArrayOfDirectPathProfileManagerCapacityResult struct {
  3134  	DirectPathProfileManagerCapacityResult []BaseDirectPathProfileManagerCapacityResult `xml:"DirectPathProfileManagerCapacityResult,omitempty,typeattr" json:"_value"`
  3135  }
  3136  
  3137  func init() {
  3138  	t["ArrayOfDirectPathProfileManagerCapacityResult"] = reflect.TypeOf((*ArrayOfDirectPathProfileManagerCapacityResult)(nil)).Elem()
  3139  	minAPIVersionForType["ArrayOfDirectPathProfileManagerCapacityResult"] = "9.0.0.0"
  3140  }
  3141  
  3142  // A boxed array of `DiskChangeExtent`. To be used in `Any` placeholders.
  3143  type ArrayOfDiskChangeExtent struct {
  3144  	DiskChangeExtent []DiskChangeExtent `xml:"DiskChangeExtent,omitempty" json:"_value"`
  3145  }
  3146  
  3147  func init() {
  3148  	t["ArrayOfDiskChangeExtent"] = reflect.TypeOf((*ArrayOfDiskChangeExtent)(nil)).Elem()
  3149  }
  3150  
  3151  // A boxed array of `DistributedVirtualPort`. To be used in `Any` placeholders.
  3152  type ArrayOfDistributedVirtualPort struct {
  3153  	DistributedVirtualPort []DistributedVirtualPort `xml:"DistributedVirtualPort,omitempty" json:"_value"`
  3154  }
  3155  
  3156  func init() {
  3157  	t["ArrayOfDistributedVirtualPort"] = reflect.TypeOf((*ArrayOfDistributedVirtualPort)(nil)).Elem()
  3158  }
  3159  
  3160  // A boxed array of `DistributedVirtualPortgroupInfo`. To be used in `Any` placeholders.
  3161  type ArrayOfDistributedVirtualPortgroupInfo struct {
  3162  	DistributedVirtualPortgroupInfo []DistributedVirtualPortgroupInfo `xml:"DistributedVirtualPortgroupInfo,omitempty" json:"_value"`
  3163  }
  3164  
  3165  func init() {
  3166  	t["ArrayOfDistributedVirtualPortgroupInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualPortgroupInfo)(nil)).Elem()
  3167  }
  3168  
  3169  // A boxed array of `DistributedVirtualPortgroupProblem`. To be used in `Any` placeholders.
  3170  type ArrayOfDistributedVirtualPortgroupProblem struct {
  3171  	DistributedVirtualPortgroupProblem []DistributedVirtualPortgroupProblem `xml:"DistributedVirtualPortgroupProblem,omitempty" json:"_value"`
  3172  }
  3173  
  3174  func init() {
  3175  	t["ArrayOfDistributedVirtualPortgroupProblem"] = reflect.TypeOf((*ArrayOfDistributedVirtualPortgroupProblem)(nil)).Elem()
  3176  }
  3177  
  3178  // A boxed array of `DistributedVirtualSwitchHostMember`. To be used in `Any` placeholders.
  3179  type ArrayOfDistributedVirtualSwitchHostMember struct {
  3180  	DistributedVirtualSwitchHostMember []DistributedVirtualSwitchHostMember `xml:"DistributedVirtualSwitchHostMember,omitempty" json:"_value"`
  3181  }
  3182  
  3183  func init() {
  3184  	t["ArrayOfDistributedVirtualSwitchHostMember"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMember)(nil)).Elem()
  3185  }
  3186  
  3187  // A boxed array of `DistributedVirtualSwitchHostMemberConfigSpec`. To be used in `Any` placeholders.
  3188  type ArrayOfDistributedVirtualSwitchHostMemberConfigSpec struct {
  3189  	DistributedVirtualSwitchHostMemberConfigSpec []DistributedVirtualSwitchHostMemberConfigSpec `xml:"DistributedVirtualSwitchHostMemberConfigSpec,omitempty" json:"_value"`
  3190  }
  3191  
  3192  func init() {
  3193  	t["ArrayOfDistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem()
  3194  }
  3195  
  3196  // A boxed array of `DistributedVirtualSwitchHostMemberHostUplinkState`. To be used in `Any` placeholders.
  3197  type ArrayOfDistributedVirtualSwitchHostMemberHostUplinkState struct {
  3198  	DistributedVirtualSwitchHostMemberHostUplinkState []DistributedVirtualSwitchHostMemberHostUplinkState `xml:"DistributedVirtualSwitchHostMemberHostUplinkState,omitempty" json:"_value"`
  3199  }
  3200  
  3201  func init() {
  3202  	t["ArrayOfDistributedVirtualSwitchHostMemberHostUplinkState"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberHostUplinkState)(nil)).Elem()
  3203  	minAPIVersionForType["ArrayOfDistributedVirtualSwitchHostMemberHostUplinkState"] = "8.0.3.0"
  3204  }
  3205  
  3206  // A boxed array of `DistributedVirtualSwitchHostMemberPnicSpec`. To be used in `Any` placeholders.
  3207  type ArrayOfDistributedVirtualSwitchHostMemberPnicSpec struct {
  3208  	DistributedVirtualSwitchHostMemberPnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"DistributedVirtualSwitchHostMemberPnicSpec,omitempty" json:"_value"`
  3209  }
  3210  
  3211  func init() {
  3212  	t["ArrayOfDistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem()
  3213  }
  3214  
  3215  // A boxed array of `DistributedVirtualSwitchHostMemberTransportZoneInfo`. To be used in `Any` placeholders.
  3216  type ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo struct {
  3217  	DistributedVirtualSwitchHostMemberTransportZoneInfo []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"DistributedVirtualSwitchHostMemberTransportZoneInfo,omitempty" json:"_value"`
  3218  }
  3219  
  3220  func init() {
  3221  	t["ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo)(nil)).Elem()
  3222  }
  3223  
  3224  // A boxed array of `DistributedVirtualSwitchHostProductSpec`. To be used in `Any` placeholders.
  3225  type ArrayOfDistributedVirtualSwitchHostProductSpec struct {
  3226  	DistributedVirtualSwitchHostProductSpec []DistributedVirtualSwitchHostProductSpec `xml:"DistributedVirtualSwitchHostProductSpec,omitempty" json:"_value"`
  3227  }
  3228  
  3229  func init() {
  3230  	t["ArrayOfDistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostProductSpec)(nil)).Elem()
  3231  }
  3232  
  3233  // A boxed array of `DistributedVirtualSwitchInfo`. To be used in `Any` placeholders.
  3234  type ArrayOfDistributedVirtualSwitchInfo struct {
  3235  	DistributedVirtualSwitchInfo []DistributedVirtualSwitchInfo `xml:"DistributedVirtualSwitchInfo,omitempty" json:"_value"`
  3236  }
  3237  
  3238  func init() {
  3239  	t["ArrayOfDistributedVirtualSwitchInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchInfo)(nil)).Elem()
  3240  }
  3241  
  3242  // A boxed array of `DistributedVirtualSwitchKeyedOpaqueBlob`. To be used in `Any` placeholders.
  3243  type ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob struct {
  3244  	DistributedVirtualSwitchKeyedOpaqueBlob []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"DistributedVirtualSwitchKeyedOpaqueBlob,omitempty" json:"_value"`
  3245  }
  3246  
  3247  func init() {
  3248  	t["ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem()
  3249  }
  3250  
  3251  // A boxed array of `DistributedVirtualSwitchManagerCompatibilityResult`. To be used in `Any` placeholders.
  3252  type ArrayOfDistributedVirtualSwitchManagerCompatibilityResult struct {
  3253  	DistributedVirtualSwitchManagerCompatibilityResult []DistributedVirtualSwitchManagerCompatibilityResult `xml:"DistributedVirtualSwitchManagerCompatibilityResult,omitempty" json:"_value"`
  3254  }
  3255  
  3256  func init() {
  3257  	t["ArrayOfDistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem()
  3258  }
  3259  
  3260  // A boxed array of `DistributedVirtualSwitchManagerHostDvsFilterSpec`. To be used in `Any` placeholders.
  3261  type ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec struct {
  3262  	DistributedVirtualSwitchManagerHostDvsFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"DistributedVirtualSwitchManagerHostDvsFilterSpec,omitempty,typeattr" json:"_value"`
  3263  }
  3264  
  3265  func init() {
  3266  	t["ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem()
  3267  }
  3268  
  3269  // A boxed array of `DistributedVirtualSwitchNetworkOffloadSpec`. To be used in `Any` placeholders.
  3270  type ArrayOfDistributedVirtualSwitchNetworkOffloadSpec struct {
  3271  	DistributedVirtualSwitchNetworkOffloadSpec []DistributedVirtualSwitchNetworkOffloadSpec `xml:"DistributedVirtualSwitchNetworkOffloadSpec,omitempty" json:"_value"`
  3272  }
  3273  
  3274  func init() {
  3275  	t["ArrayOfDistributedVirtualSwitchNetworkOffloadSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchNetworkOffloadSpec)(nil)).Elem()
  3276  	minAPIVersionForType["ArrayOfDistributedVirtualSwitchNetworkOffloadSpec"] = "8.0.0.1"
  3277  }
  3278  
  3279  // A boxed array of `DistributedVirtualSwitchProductSpec`. To be used in `Any` placeholders.
  3280  type ArrayOfDistributedVirtualSwitchProductSpec struct {
  3281  	DistributedVirtualSwitchProductSpec []DistributedVirtualSwitchProductSpec `xml:"DistributedVirtualSwitchProductSpec,omitempty" json:"_value"`
  3282  }
  3283  
  3284  func init() {
  3285  	t["ArrayOfDistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchProductSpec)(nil)).Elem()
  3286  }
  3287  
  3288  // A boxed array of `PrimitiveDouble`. To be used in `Any` placeholders.
  3289  type ArrayOfDouble struct {
  3290  	Double []float64 `xml:"double,omitempty" json:"_value"`
  3291  }
  3292  
  3293  func init() {
  3294  	t["ArrayOfDouble"] = reflect.TypeOf((*ArrayOfDouble)(nil)).Elem()
  3295  }
  3296  
  3297  // A boxed array of `DpuStatusInfo`. To be used in `Any` placeholders.
  3298  type ArrayOfDpuStatusInfo struct {
  3299  	DpuStatusInfo []DpuStatusInfo `xml:"DpuStatusInfo,omitempty" json:"_value"`
  3300  }
  3301  
  3302  func init() {
  3303  	t["ArrayOfDpuStatusInfo"] = reflect.TypeOf((*ArrayOfDpuStatusInfo)(nil)).Elem()
  3304  	minAPIVersionForType["ArrayOfDpuStatusInfo"] = "8.0.0.1"
  3305  }
  3306  
  3307  // A boxed array of `DpuStatusInfoOperationalInfo`. To be used in `Any` placeholders.
  3308  type ArrayOfDpuStatusInfoOperationalInfo struct {
  3309  	DpuStatusInfoOperationalInfo []DpuStatusInfoOperationalInfo `xml:"DpuStatusInfoOperationalInfo,omitempty" json:"_value"`
  3310  }
  3311  
  3312  func init() {
  3313  	t["ArrayOfDpuStatusInfoOperationalInfo"] = reflect.TypeOf((*ArrayOfDpuStatusInfoOperationalInfo)(nil)).Elem()
  3314  	minAPIVersionForType["ArrayOfDpuStatusInfoOperationalInfo"] = "8.0.0.1"
  3315  }
  3316  
  3317  // A boxed array of `DvsApplyOperationFaultFaultOnObject`. To be used in `Any` placeholders.
  3318  type ArrayOfDvsApplyOperationFaultFaultOnObject struct {
  3319  	DvsApplyOperationFaultFaultOnObject []DvsApplyOperationFaultFaultOnObject `xml:"DvsApplyOperationFaultFaultOnObject,omitempty" json:"_value"`
  3320  }
  3321  
  3322  func init() {
  3323  	t["ArrayOfDvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*ArrayOfDvsApplyOperationFaultFaultOnObject)(nil)).Elem()
  3324  }
  3325  
  3326  // A boxed array of `DvsFilterConfig`. To be used in `Any` placeholders.
  3327  type ArrayOfDvsFilterConfig struct {
  3328  	DvsFilterConfig []BaseDvsFilterConfig `xml:"DvsFilterConfig,omitempty,typeattr" json:"_value"`
  3329  }
  3330  
  3331  func init() {
  3332  	t["ArrayOfDvsFilterConfig"] = reflect.TypeOf((*ArrayOfDvsFilterConfig)(nil)).Elem()
  3333  }
  3334  
  3335  // A boxed array of `DvsHostInfrastructureTrafficResource`. To be used in `Any` placeholders.
  3336  type ArrayOfDvsHostInfrastructureTrafficResource struct {
  3337  	DvsHostInfrastructureTrafficResource []DvsHostInfrastructureTrafficResource `xml:"DvsHostInfrastructureTrafficResource,omitempty" json:"_value"`
  3338  }
  3339  
  3340  func init() {
  3341  	t["ArrayOfDvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*ArrayOfDvsHostInfrastructureTrafficResource)(nil)).Elem()
  3342  }
  3343  
  3344  // A boxed array of `DvsHostVNicProfile`. To be used in `Any` placeholders.
  3345  type ArrayOfDvsHostVNicProfile struct {
  3346  	DvsHostVNicProfile []DvsHostVNicProfile `xml:"DvsHostVNicProfile,omitempty" json:"_value"`
  3347  }
  3348  
  3349  func init() {
  3350  	t["ArrayOfDvsHostVNicProfile"] = reflect.TypeOf((*ArrayOfDvsHostVNicProfile)(nil)).Elem()
  3351  }
  3352  
  3353  // A boxed array of `DvsNetworkRuleQualifier`. To be used in `Any` placeholders.
  3354  type ArrayOfDvsNetworkRuleQualifier struct {
  3355  	DvsNetworkRuleQualifier []BaseDvsNetworkRuleQualifier `xml:"DvsNetworkRuleQualifier,omitempty,typeattr" json:"_value"`
  3356  }
  3357  
  3358  func init() {
  3359  	t["ArrayOfDvsNetworkRuleQualifier"] = reflect.TypeOf((*ArrayOfDvsNetworkRuleQualifier)(nil)).Elem()
  3360  }
  3361  
  3362  // A boxed array of `DvsOperationBulkFaultFaultOnHost`. To be used in `Any` placeholders.
  3363  type ArrayOfDvsOperationBulkFaultFaultOnHost struct {
  3364  	DvsOperationBulkFaultFaultOnHost []DvsOperationBulkFaultFaultOnHost `xml:"DvsOperationBulkFaultFaultOnHost,omitempty" json:"_value"`
  3365  }
  3366  
  3367  func init() {
  3368  	t["ArrayOfDvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*ArrayOfDvsOperationBulkFaultFaultOnHost)(nil)).Elem()
  3369  }
  3370  
  3371  // A boxed array of `DvsOutOfSyncHostArgument`. To be used in `Any` placeholders.
  3372  type ArrayOfDvsOutOfSyncHostArgument struct {
  3373  	DvsOutOfSyncHostArgument []DvsOutOfSyncHostArgument `xml:"DvsOutOfSyncHostArgument,omitempty" json:"_value"`
  3374  }
  3375  
  3376  func init() {
  3377  	t["ArrayOfDvsOutOfSyncHostArgument"] = reflect.TypeOf((*ArrayOfDvsOutOfSyncHostArgument)(nil)).Elem()
  3378  }
  3379  
  3380  // A boxed array of `DvsProfile`. To be used in `Any` placeholders.
  3381  type ArrayOfDvsProfile struct {
  3382  	DvsProfile []DvsProfile `xml:"DvsProfile,omitempty" json:"_value"`
  3383  }
  3384  
  3385  func init() {
  3386  	t["ArrayOfDvsProfile"] = reflect.TypeOf((*ArrayOfDvsProfile)(nil)).Elem()
  3387  }
  3388  
  3389  // A boxed array of `DvsServiceConsoleVNicProfile`. To be used in `Any` placeholders.
  3390  type ArrayOfDvsServiceConsoleVNicProfile struct {
  3391  	DvsServiceConsoleVNicProfile []DvsServiceConsoleVNicProfile `xml:"DvsServiceConsoleVNicProfile,omitempty" json:"_value"`
  3392  }
  3393  
  3394  func init() {
  3395  	t["ArrayOfDvsServiceConsoleVNicProfile"] = reflect.TypeOf((*ArrayOfDvsServiceConsoleVNicProfile)(nil)).Elem()
  3396  }
  3397  
  3398  // A boxed array of `DvsTrafficRule`. To be used in `Any` placeholders.
  3399  type ArrayOfDvsTrafficRule struct {
  3400  	DvsTrafficRule []DvsTrafficRule `xml:"DvsTrafficRule,omitempty" json:"_value"`
  3401  }
  3402  
  3403  func init() {
  3404  	t["ArrayOfDvsTrafficRule"] = reflect.TypeOf((*ArrayOfDvsTrafficRule)(nil)).Elem()
  3405  }
  3406  
  3407  // A boxed array of `DvsVmVnicNetworkResourcePoolRuntimeInfo`. To be used in `Any` placeholders.
  3408  type ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo struct {
  3409  	DvsVmVnicNetworkResourcePoolRuntimeInfo []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"DvsVmVnicNetworkResourcePoolRuntimeInfo,omitempty" json:"_value"`
  3410  }
  3411  
  3412  func init() {
  3413  	t["ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem()
  3414  }
  3415  
  3416  // A boxed array of `DvsVmVnicResourcePoolConfigSpec`. To be used in `Any` placeholders.
  3417  type ArrayOfDvsVmVnicResourcePoolConfigSpec struct {
  3418  	DvsVmVnicResourcePoolConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"DvsVmVnicResourcePoolConfigSpec,omitempty" json:"_value"`
  3419  }
  3420  
  3421  func init() {
  3422  	t["ArrayOfDvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDvsVmVnicResourcePoolConfigSpec)(nil)).Elem()
  3423  }
  3424  
  3425  // A boxed array of `DvsVnicAllocatedResource`. To be used in `Any` placeholders.
  3426  type ArrayOfDvsVnicAllocatedResource struct {
  3427  	DvsVnicAllocatedResource []DvsVnicAllocatedResource `xml:"DvsVnicAllocatedResource,omitempty" json:"_value"`
  3428  }
  3429  
  3430  func init() {
  3431  	t["ArrayOfDvsVnicAllocatedResource"] = reflect.TypeOf((*ArrayOfDvsVnicAllocatedResource)(nil)).Elem()
  3432  }
  3433  
  3434  // A boxed array of `DynamicProperty`. To be used in `Any` placeholders.
  3435  type ArrayOfDynamicProperty struct {
  3436  	DynamicProperty []DynamicProperty `xml:"DynamicProperty,omitempty" json:"_value"`
  3437  }
  3438  
  3439  func init() {
  3440  	t["ArrayOfDynamicProperty"] = reflect.TypeOf((*ArrayOfDynamicProperty)(nil)).Elem()
  3441  }
  3442  
  3443  // A boxed array of `EVCMode`. To be used in `Any` placeholders.
  3444  type ArrayOfEVCMode struct {
  3445  	EVCMode []EVCMode `xml:"EVCMode,omitempty" json:"_value"`
  3446  }
  3447  
  3448  func init() {
  3449  	t["ArrayOfEVCMode"] = reflect.TypeOf((*ArrayOfEVCMode)(nil)).Elem()
  3450  }
  3451  
  3452  // A boxed array of `ElementDescription`. To be used in `Any` placeholders.
  3453  type ArrayOfElementDescription struct {
  3454  	ElementDescription []BaseElementDescription `xml:"ElementDescription,omitempty,typeattr" json:"_value"`
  3455  }
  3456  
  3457  func init() {
  3458  	t["ArrayOfElementDescription"] = reflect.TypeOf((*ArrayOfElementDescription)(nil)).Elem()
  3459  }
  3460  
  3461  // A boxed array of `EntityBackupConfig`. To be used in `Any` placeholders.
  3462  type ArrayOfEntityBackupConfig struct {
  3463  	EntityBackupConfig []EntityBackupConfig `xml:"EntityBackupConfig,omitempty" json:"_value"`
  3464  }
  3465  
  3466  func init() {
  3467  	t["ArrayOfEntityBackupConfig"] = reflect.TypeOf((*ArrayOfEntityBackupConfig)(nil)).Elem()
  3468  }
  3469  
  3470  // A boxed array of `EntityPrivilege`. To be used in `Any` placeholders.
  3471  type ArrayOfEntityPrivilege struct {
  3472  	EntityPrivilege []EntityPrivilege `xml:"EntityPrivilege,omitempty" json:"_value"`
  3473  }
  3474  
  3475  func init() {
  3476  	t["ArrayOfEntityPrivilege"] = reflect.TypeOf((*ArrayOfEntityPrivilege)(nil)).Elem()
  3477  }
  3478  
  3479  // A boxed array of `EnumDescription`. To be used in `Any` placeholders.
  3480  type ArrayOfEnumDescription struct {
  3481  	EnumDescription []EnumDescription `xml:"EnumDescription,omitempty" json:"_value"`
  3482  }
  3483  
  3484  func init() {
  3485  	t["ArrayOfEnumDescription"] = reflect.TypeOf((*ArrayOfEnumDescription)(nil)).Elem()
  3486  }
  3487  
  3488  // A boxed array of `Event`. To be used in `Any` placeholders.
  3489  type ArrayOfEvent struct {
  3490  	Event []BaseEvent `xml:"Event,omitempty,typeattr" json:"_value"`
  3491  }
  3492  
  3493  func init() {
  3494  	t["ArrayOfEvent"] = reflect.TypeOf((*ArrayOfEvent)(nil)).Elem()
  3495  }
  3496  
  3497  // A boxed array of `EventAlarmExpressionComparison`. To be used in `Any` placeholders.
  3498  type ArrayOfEventAlarmExpressionComparison struct {
  3499  	EventAlarmExpressionComparison []EventAlarmExpressionComparison `xml:"EventAlarmExpressionComparison,omitempty" json:"_value"`
  3500  }
  3501  
  3502  func init() {
  3503  	t["ArrayOfEventAlarmExpressionComparison"] = reflect.TypeOf((*ArrayOfEventAlarmExpressionComparison)(nil)).Elem()
  3504  }
  3505  
  3506  // A boxed array of `EventArgDesc`. To be used in `Any` placeholders.
  3507  type ArrayOfEventArgDesc struct {
  3508  	EventArgDesc []EventArgDesc `xml:"EventArgDesc,omitempty" json:"_value"`
  3509  }
  3510  
  3511  func init() {
  3512  	t["ArrayOfEventArgDesc"] = reflect.TypeOf((*ArrayOfEventArgDesc)(nil)).Elem()
  3513  }
  3514  
  3515  // A boxed array of `EventDescriptionEventDetail`. To be used in `Any` placeholders.
  3516  type ArrayOfEventDescriptionEventDetail struct {
  3517  	EventDescriptionEventDetail []EventDescriptionEventDetail `xml:"EventDescriptionEventDetail,omitempty" json:"_value"`
  3518  }
  3519  
  3520  func init() {
  3521  	t["ArrayOfEventDescriptionEventDetail"] = reflect.TypeOf((*ArrayOfEventDescriptionEventDetail)(nil)).Elem()
  3522  }
  3523  
  3524  // A boxed array of `ExtManagedEntityInfo`. To be used in `Any` placeholders.
  3525  type ArrayOfExtManagedEntityInfo struct {
  3526  	ExtManagedEntityInfo []ExtManagedEntityInfo `xml:"ExtManagedEntityInfo,omitempty" json:"_value"`
  3527  }
  3528  
  3529  func init() {
  3530  	t["ArrayOfExtManagedEntityInfo"] = reflect.TypeOf((*ArrayOfExtManagedEntityInfo)(nil)).Elem()
  3531  }
  3532  
  3533  // A boxed array of `ExtSolutionManagerInfoTabInfo`. To be used in `Any` placeholders.
  3534  type ArrayOfExtSolutionManagerInfoTabInfo struct {
  3535  	ExtSolutionManagerInfoTabInfo []ExtSolutionManagerInfoTabInfo `xml:"ExtSolutionManagerInfoTabInfo,omitempty" json:"_value"`
  3536  }
  3537  
  3538  func init() {
  3539  	t["ArrayOfExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ArrayOfExtSolutionManagerInfoTabInfo)(nil)).Elem()
  3540  }
  3541  
  3542  // A boxed array of `ExtendedEventPair`. To be used in `Any` placeholders.
  3543  type ArrayOfExtendedEventPair struct {
  3544  	ExtendedEventPair []ExtendedEventPair `xml:"ExtendedEventPair,omitempty" json:"_value"`
  3545  }
  3546  
  3547  func init() {
  3548  	t["ArrayOfExtendedEventPair"] = reflect.TypeOf((*ArrayOfExtendedEventPair)(nil)).Elem()
  3549  }
  3550  
  3551  // A boxed array of `Extension`. To be used in `Any` placeholders.
  3552  type ArrayOfExtension struct {
  3553  	Extension []Extension `xml:"Extension,omitempty" json:"_value"`
  3554  }
  3555  
  3556  func init() {
  3557  	t["ArrayOfExtension"] = reflect.TypeOf((*ArrayOfExtension)(nil)).Elem()
  3558  }
  3559  
  3560  // A boxed array of `ExtensionClientInfo`. To be used in `Any` placeholders.
  3561  type ArrayOfExtensionClientInfo struct {
  3562  	ExtensionClientInfo []ExtensionClientInfo `xml:"ExtensionClientInfo,omitempty" json:"_value"`
  3563  }
  3564  
  3565  func init() {
  3566  	t["ArrayOfExtensionClientInfo"] = reflect.TypeOf((*ArrayOfExtensionClientInfo)(nil)).Elem()
  3567  }
  3568  
  3569  // A boxed array of `ExtensionEventTypeInfo`. To be used in `Any` placeholders.
  3570  type ArrayOfExtensionEventTypeInfo struct {
  3571  	ExtensionEventTypeInfo []ExtensionEventTypeInfo `xml:"ExtensionEventTypeInfo,omitempty" json:"_value"`
  3572  }
  3573  
  3574  func init() {
  3575  	t["ArrayOfExtensionEventTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionEventTypeInfo)(nil)).Elem()
  3576  }
  3577  
  3578  // A boxed array of `ExtensionFaultTypeInfo`. To be used in `Any` placeholders.
  3579  type ArrayOfExtensionFaultTypeInfo struct {
  3580  	ExtensionFaultTypeInfo []ExtensionFaultTypeInfo `xml:"ExtensionFaultTypeInfo,omitempty" json:"_value"`
  3581  }
  3582  
  3583  func init() {
  3584  	t["ArrayOfExtensionFaultTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionFaultTypeInfo)(nil)).Elem()
  3585  }
  3586  
  3587  // A boxed array of `ExtensionManagerIpAllocationUsage`. To be used in `Any` placeholders.
  3588  type ArrayOfExtensionManagerIpAllocationUsage struct {
  3589  	ExtensionManagerIpAllocationUsage []ExtensionManagerIpAllocationUsage `xml:"ExtensionManagerIpAllocationUsage,omitempty" json:"_value"`
  3590  }
  3591  
  3592  func init() {
  3593  	t["ArrayOfExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ArrayOfExtensionManagerIpAllocationUsage)(nil)).Elem()
  3594  }
  3595  
  3596  // A boxed array of `ExtensionPrivilegeInfo`. To be used in `Any` placeholders.
  3597  type ArrayOfExtensionPrivilegeInfo struct {
  3598  	ExtensionPrivilegeInfo []ExtensionPrivilegeInfo `xml:"ExtensionPrivilegeInfo,omitempty" json:"_value"`
  3599  }
  3600  
  3601  func init() {
  3602  	t["ArrayOfExtensionPrivilegeInfo"] = reflect.TypeOf((*ArrayOfExtensionPrivilegeInfo)(nil)).Elem()
  3603  }
  3604  
  3605  // A boxed array of `ExtensionResourceInfo`. To be used in `Any` placeholders.
  3606  type ArrayOfExtensionResourceInfo struct {
  3607  	ExtensionResourceInfo []ExtensionResourceInfo `xml:"ExtensionResourceInfo,omitempty" json:"_value"`
  3608  }
  3609  
  3610  func init() {
  3611  	t["ArrayOfExtensionResourceInfo"] = reflect.TypeOf((*ArrayOfExtensionResourceInfo)(nil)).Elem()
  3612  }
  3613  
  3614  // A boxed array of `ExtensionServerInfo`. To be used in `Any` placeholders.
  3615  type ArrayOfExtensionServerInfo struct {
  3616  	ExtensionServerInfo []ExtensionServerInfo `xml:"ExtensionServerInfo,omitempty" json:"_value"`
  3617  }
  3618  
  3619  func init() {
  3620  	t["ArrayOfExtensionServerInfo"] = reflect.TypeOf((*ArrayOfExtensionServerInfo)(nil)).Elem()
  3621  }
  3622  
  3623  // A boxed array of `ExtensionTaskTypeInfo`. To be used in `Any` placeholders.
  3624  type ArrayOfExtensionTaskTypeInfo struct {
  3625  	ExtensionTaskTypeInfo []ExtensionTaskTypeInfo `xml:"ExtensionTaskTypeInfo,omitempty" json:"_value"`
  3626  }
  3627  
  3628  func init() {
  3629  	t["ArrayOfExtensionTaskTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionTaskTypeInfo)(nil)).Elem()
  3630  }
  3631  
  3632  // A boxed array of `FaultToleranceDiskSpec`. To be used in `Any` placeholders.
  3633  type ArrayOfFaultToleranceDiskSpec struct {
  3634  	FaultToleranceDiskSpec []FaultToleranceDiskSpec `xml:"FaultToleranceDiskSpec,omitempty" json:"_value"`
  3635  }
  3636  
  3637  func init() {
  3638  	t["ArrayOfFaultToleranceDiskSpec"] = reflect.TypeOf((*ArrayOfFaultToleranceDiskSpec)(nil)).Elem()
  3639  }
  3640  
  3641  // A boxed array of `FaultsByHost`. To be used in `Any` placeholders.
  3642  type ArrayOfFaultsByHost struct {
  3643  	FaultsByHost []FaultsByHost `xml:"FaultsByHost,omitempty" json:"_value"`
  3644  }
  3645  
  3646  func init() {
  3647  	t["ArrayOfFaultsByHost"] = reflect.TypeOf((*ArrayOfFaultsByHost)(nil)).Elem()
  3648  }
  3649  
  3650  // A boxed array of `FaultsByVM`. To be used in `Any` placeholders.
  3651  type ArrayOfFaultsByVM struct {
  3652  	FaultsByVM []FaultsByVM `xml:"FaultsByVM,omitempty" json:"_value"`
  3653  }
  3654  
  3655  func init() {
  3656  	t["ArrayOfFaultsByVM"] = reflect.TypeOf((*ArrayOfFaultsByVM)(nil)).Elem()
  3657  }
  3658  
  3659  // A boxed array of `FcoeConfigVlanRange`. To be used in `Any` placeholders.
  3660  type ArrayOfFcoeConfigVlanRange struct {
  3661  	FcoeConfigVlanRange []FcoeConfigVlanRange `xml:"FcoeConfigVlanRange,omitempty" json:"_value"`
  3662  }
  3663  
  3664  func init() {
  3665  	t["ArrayOfFcoeConfigVlanRange"] = reflect.TypeOf((*ArrayOfFcoeConfigVlanRange)(nil)).Elem()
  3666  }
  3667  
  3668  // A boxed array of `FeatureEVCMode`. To be used in `Any` placeholders.
  3669  type ArrayOfFeatureEVCMode struct {
  3670  	FeatureEVCMode []FeatureEVCMode `xml:"FeatureEVCMode,omitempty" json:"_value"`
  3671  }
  3672  
  3673  func init() {
  3674  	t["ArrayOfFeatureEVCMode"] = reflect.TypeOf((*ArrayOfFeatureEVCMode)(nil)).Elem()
  3675  	minAPIVersionForType["ArrayOfFeatureEVCMode"] = "7.0.1.0"
  3676  }
  3677  
  3678  // A boxed array of `FileInfo`. To be used in `Any` placeholders.
  3679  type ArrayOfFileInfo struct {
  3680  	FileInfo []BaseFileInfo `xml:"FileInfo,omitempty,typeattr" json:"_value"`
  3681  }
  3682  
  3683  func init() {
  3684  	t["ArrayOfFileInfo"] = reflect.TypeOf((*ArrayOfFileInfo)(nil)).Elem()
  3685  }
  3686  
  3687  // A boxed array of `FileLockInfo`. To be used in `Any` placeholders.
  3688  type ArrayOfFileLockInfo struct {
  3689  	FileLockInfo []FileLockInfo `xml:"FileLockInfo,omitempty" json:"_value"`
  3690  }
  3691  
  3692  func init() {
  3693  	t["ArrayOfFileLockInfo"] = reflect.TypeOf((*ArrayOfFileLockInfo)(nil)).Elem()
  3694  	minAPIVersionForType["ArrayOfFileLockInfo"] = "8.0.2.0"
  3695  }
  3696  
  3697  // A boxed array of `FileQuery`. To be used in `Any` placeholders.
  3698  type ArrayOfFileQuery struct {
  3699  	FileQuery []BaseFileQuery `xml:"FileQuery,omitempty,typeattr" json:"_value"`
  3700  }
  3701  
  3702  func init() {
  3703  	t["ArrayOfFileQuery"] = reflect.TypeOf((*ArrayOfFileQuery)(nil)).Elem()
  3704  }
  3705  
  3706  // A boxed array of `FirewallProfileRulesetProfile`. To be used in `Any` placeholders.
  3707  type ArrayOfFirewallProfileRulesetProfile struct {
  3708  	FirewallProfileRulesetProfile []FirewallProfileRulesetProfile `xml:"FirewallProfileRulesetProfile,omitempty" json:"_value"`
  3709  }
  3710  
  3711  func init() {
  3712  	t["ArrayOfFirewallProfileRulesetProfile"] = reflect.TypeOf((*ArrayOfFirewallProfileRulesetProfile)(nil)).Elem()
  3713  }
  3714  
  3715  // A boxed array of `FolderFailedHostResult`. To be used in `Any` placeholders.
  3716  type ArrayOfFolderFailedHostResult struct {
  3717  	FolderFailedHostResult []FolderFailedHostResult `xml:"FolderFailedHostResult,omitempty" json:"_value"`
  3718  }
  3719  
  3720  func init() {
  3721  	t["ArrayOfFolderFailedHostResult"] = reflect.TypeOf((*ArrayOfFolderFailedHostResult)(nil)).Elem()
  3722  }
  3723  
  3724  // A boxed array of `FolderNewHostSpec`. To be used in `Any` placeholders.
  3725  type ArrayOfFolderNewHostSpec struct {
  3726  	FolderNewHostSpec []FolderNewHostSpec `xml:"FolderNewHostSpec,omitempty" json:"_value"`
  3727  }
  3728  
  3729  func init() {
  3730  	t["ArrayOfFolderNewHostSpec"] = reflect.TypeOf((*ArrayOfFolderNewHostSpec)(nil)).Elem()
  3731  }
  3732  
  3733  // A boxed array of `GuestAliases`. To be used in `Any` placeholders.
  3734  type ArrayOfGuestAliases struct {
  3735  	GuestAliases []GuestAliases `xml:"GuestAliases,omitempty" json:"_value"`
  3736  }
  3737  
  3738  func init() {
  3739  	t["ArrayOfGuestAliases"] = reflect.TypeOf((*ArrayOfGuestAliases)(nil)).Elem()
  3740  }
  3741  
  3742  // A boxed array of `GuestAuthAliasInfo`. To be used in `Any` placeholders.
  3743  type ArrayOfGuestAuthAliasInfo struct {
  3744  	GuestAuthAliasInfo []GuestAuthAliasInfo `xml:"GuestAuthAliasInfo,omitempty" json:"_value"`
  3745  }
  3746  
  3747  func init() {
  3748  	t["ArrayOfGuestAuthAliasInfo"] = reflect.TypeOf((*ArrayOfGuestAuthAliasInfo)(nil)).Elem()
  3749  }
  3750  
  3751  // A boxed array of `GuestAuthSubject`. To be used in `Any` placeholders.
  3752  type ArrayOfGuestAuthSubject struct {
  3753  	GuestAuthSubject []BaseGuestAuthSubject `xml:"GuestAuthSubject,omitempty,typeattr" json:"_value"`
  3754  }
  3755  
  3756  func init() {
  3757  	t["ArrayOfGuestAuthSubject"] = reflect.TypeOf((*ArrayOfGuestAuthSubject)(nil)).Elem()
  3758  }
  3759  
  3760  // A boxed array of `GuestDiskInfo`. To be used in `Any` placeholders.
  3761  type ArrayOfGuestDiskInfo struct {
  3762  	GuestDiskInfo []GuestDiskInfo `xml:"GuestDiskInfo,omitempty" json:"_value"`
  3763  }
  3764  
  3765  func init() {
  3766  	t["ArrayOfGuestDiskInfo"] = reflect.TypeOf((*ArrayOfGuestDiskInfo)(nil)).Elem()
  3767  }
  3768  
  3769  // A boxed array of `GuestFileInfo`. To be used in `Any` placeholders.
  3770  type ArrayOfGuestFileInfo struct {
  3771  	GuestFileInfo []GuestFileInfo `xml:"GuestFileInfo,omitempty" json:"_value"`
  3772  }
  3773  
  3774  func init() {
  3775  	t["ArrayOfGuestFileInfo"] = reflect.TypeOf((*ArrayOfGuestFileInfo)(nil)).Elem()
  3776  }
  3777  
  3778  // A boxed array of `GuestInfoNamespaceGenerationInfo`. To be used in `Any` placeholders.
  3779  type ArrayOfGuestInfoNamespaceGenerationInfo struct {
  3780  	GuestInfoNamespaceGenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"GuestInfoNamespaceGenerationInfo,omitempty" json:"_value"`
  3781  }
  3782  
  3783  func init() {
  3784  	t["ArrayOfGuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*ArrayOfGuestInfoNamespaceGenerationInfo)(nil)).Elem()
  3785  }
  3786  
  3787  // A boxed array of `GuestInfoVirtualDiskMapping`. To be used in `Any` placeholders.
  3788  type ArrayOfGuestInfoVirtualDiskMapping struct {
  3789  	GuestInfoVirtualDiskMapping []GuestInfoVirtualDiskMapping `xml:"GuestInfoVirtualDiskMapping,omitempty" json:"_value"`
  3790  }
  3791  
  3792  func init() {
  3793  	t["ArrayOfGuestInfoVirtualDiskMapping"] = reflect.TypeOf((*ArrayOfGuestInfoVirtualDiskMapping)(nil)).Elem()
  3794  }
  3795  
  3796  // A boxed array of `GuestMappedAliases`. To be used in `Any` placeholders.
  3797  type ArrayOfGuestMappedAliases struct {
  3798  	GuestMappedAliases []GuestMappedAliases `xml:"GuestMappedAliases,omitempty" json:"_value"`
  3799  }
  3800  
  3801  func init() {
  3802  	t["ArrayOfGuestMappedAliases"] = reflect.TypeOf((*ArrayOfGuestMappedAliases)(nil)).Elem()
  3803  }
  3804  
  3805  // A boxed array of `GuestNicInfo`. To be used in `Any` placeholders.
  3806  type ArrayOfGuestNicInfo struct {
  3807  	GuestNicInfo []GuestNicInfo `xml:"GuestNicInfo,omitempty" json:"_value"`
  3808  }
  3809  
  3810  func init() {
  3811  	t["ArrayOfGuestNicInfo"] = reflect.TypeOf((*ArrayOfGuestNicInfo)(nil)).Elem()
  3812  }
  3813  
  3814  // A boxed array of `GuestOsDescriptor`. To be used in `Any` placeholders.
  3815  type ArrayOfGuestOsDescriptor struct {
  3816  	GuestOsDescriptor []GuestOsDescriptor `xml:"GuestOsDescriptor,omitempty" json:"_value"`
  3817  }
  3818  
  3819  func init() {
  3820  	t["ArrayOfGuestOsDescriptor"] = reflect.TypeOf((*ArrayOfGuestOsDescriptor)(nil)).Elem()
  3821  }
  3822  
  3823  // A boxed array of `GuestProcessInfo`. To be used in `Any` placeholders.
  3824  type ArrayOfGuestProcessInfo struct {
  3825  	GuestProcessInfo []GuestProcessInfo `xml:"GuestProcessInfo,omitempty" json:"_value"`
  3826  }
  3827  
  3828  func init() {
  3829  	t["ArrayOfGuestProcessInfo"] = reflect.TypeOf((*ArrayOfGuestProcessInfo)(nil)).Elem()
  3830  }
  3831  
  3832  // A boxed array of `GuestRegKeyRecordSpec`. To be used in `Any` placeholders.
  3833  type ArrayOfGuestRegKeyRecordSpec struct {
  3834  	GuestRegKeyRecordSpec []GuestRegKeyRecordSpec `xml:"GuestRegKeyRecordSpec,omitempty" json:"_value"`
  3835  }
  3836  
  3837  func init() {
  3838  	t["ArrayOfGuestRegKeyRecordSpec"] = reflect.TypeOf((*ArrayOfGuestRegKeyRecordSpec)(nil)).Elem()
  3839  }
  3840  
  3841  // A boxed array of `GuestRegValueSpec`. To be used in `Any` placeholders.
  3842  type ArrayOfGuestRegValueSpec struct {
  3843  	GuestRegValueSpec []GuestRegValueSpec `xml:"GuestRegValueSpec,omitempty" json:"_value"`
  3844  }
  3845  
  3846  func init() {
  3847  	t["ArrayOfGuestRegValueSpec"] = reflect.TypeOf((*ArrayOfGuestRegValueSpec)(nil)).Elem()
  3848  }
  3849  
  3850  // A boxed array of `GuestStackInfo`. To be used in `Any` placeholders.
  3851  type ArrayOfGuestStackInfo struct {
  3852  	GuestStackInfo []GuestStackInfo `xml:"GuestStackInfo,omitempty" json:"_value"`
  3853  }
  3854  
  3855  func init() {
  3856  	t["ArrayOfGuestStackInfo"] = reflect.TypeOf((*ArrayOfGuestStackInfo)(nil)).Elem()
  3857  }
  3858  
  3859  // A boxed array of `HbrManagerVmReplicationCapability`. To be used in `Any` placeholders.
  3860  type ArrayOfHbrManagerVmReplicationCapability struct {
  3861  	HbrManagerVmReplicationCapability []HbrManagerVmReplicationCapability `xml:"HbrManagerVmReplicationCapability,omitempty" json:"_value"`
  3862  }
  3863  
  3864  func init() {
  3865  	t["ArrayOfHbrManagerVmReplicationCapability"] = reflect.TypeOf((*ArrayOfHbrManagerVmReplicationCapability)(nil)).Elem()
  3866  }
  3867  
  3868  // A boxed array of `HbrTargetSpec`. To be used in `Any` placeholders.
  3869  type ArrayOfHbrTargetSpec struct {
  3870  	HbrTargetSpec []HbrTargetSpec `xml:"HbrTargetSpec,omitempty" json:"_value"`
  3871  }
  3872  
  3873  func init() {
  3874  	t["ArrayOfHbrTargetSpec"] = reflect.TypeOf((*ArrayOfHbrTargetSpec)(nil)).Elem()
  3875  	minAPIVersionForType["ArrayOfHbrTargetSpec"] = "9.0.0.0"
  3876  }
  3877  
  3878  // A boxed array of `HealthUpdate`. To be used in `Any` placeholders.
  3879  type ArrayOfHealthUpdate struct {
  3880  	HealthUpdate []HealthUpdate `xml:"HealthUpdate,omitempty" json:"_value"`
  3881  }
  3882  
  3883  func init() {
  3884  	t["ArrayOfHealthUpdate"] = reflect.TypeOf((*ArrayOfHealthUpdate)(nil)).Elem()
  3885  }
  3886  
  3887  // A boxed array of `HealthUpdateInfo`. To be used in `Any` placeholders.
  3888  type ArrayOfHealthUpdateInfo struct {
  3889  	HealthUpdateInfo []HealthUpdateInfo `xml:"HealthUpdateInfo,omitempty" json:"_value"`
  3890  }
  3891  
  3892  func init() {
  3893  	t["ArrayOfHealthUpdateInfo"] = reflect.TypeOf((*ArrayOfHealthUpdateInfo)(nil)).Elem()
  3894  }
  3895  
  3896  // A boxed array of `HostAccessControlEntry`. To be used in `Any` placeholders.
  3897  type ArrayOfHostAccessControlEntry struct {
  3898  	HostAccessControlEntry []HostAccessControlEntry `xml:"HostAccessControlEntry,omitempty" json:"_value"`
  3899  }
  3900  
  3901  func init() {
  3902  	t["ArrayOfHostAccessControlEntry"] = reflect.TypeOf((*ArrayOfHostAccessControlEntry)(nil)).Elem()
  3903  }
  3904  
  3905  // A boxed array of `HostAccountSpec`. To be used in `Any` placeholders.
  3906  type ArrayOfHostAccountSpec struct {
  3907  	HostAccountSpec []BaseHostAccountSpec `xml:"HostAccountSpec,omitempty,typeattr" json:"_value"`
  3908  }
  3909  
  3910  func init() {
  3911  	t["ArrayOfHostAccountSpec"] = reflect.TypeOf((*ArrayOfHostAccountSpec)(nil)).Elem()
  3912  }
  3913  
  3914  // A boxed array of `HostActiveDirectory`. To be used in `Any` placeholders.
  3915  type ArrayOfHostActiveDirectory struct {
  3916  	HostActiveDirectory []HostActiveDirectory `xml:"HostActiveDirectory,omitempty" json:"_value"`
  3917  }
  3918  
  3919  func init() {
  3920  	t["ArrayOfHostActiveDirectory"] = reflect.TypeOf((*ArrayOfHostActiveDirectory)(nil)).Elem()
  3921  }
  3922  
  3923  // A boxed array of `HostAssignableHardwareBinding`. To be used in `Any` placeholders.
  3924  type ArrayOfHostAssignableHardwareBinding struct {
  3925  	HostAssignableHardwareBinding []HostAssignableHardwareBinding `xml:"HostAssignableHardwareBinding,omitempty" json:"_value"`
  3926  }
  3927  
  3928  func init() {
  3929  	t["ArrayOfHostAssignableHardwareBinding"] = reflect.TypeOf((*ArrayOfHostAssignableHardwareBinding)(nil)).Elem()
  3930  }
  3931  
  3932  // A boxed array of `HostAssignableHardwareConfigAttributeOverride`. To be used in `Any` placeholders.
  3933  type ArrayOfHostAssignableHardwareConfigAttributeOverride struct {
  3934  	HostAssignableHardwareConfigAttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"HostAssignableHardwareConfigAttributeOverride,omitempty" json:"_value"`
  3935  }
  3936  
  3937  func init() {
  3938  	t["ArrayOfHostAssignableHardwareConfigAttributeOverride"] = reflect.TypeOf((*ArrayOfHostAssignableHardwareConfigAttributeOverride)(nil)).Elem()
  3939  }
  3940  
  3941  // A boxed array of `HostAuthenticationInfo`. To be used in `Any` placeholders.
  3942  type ArrayOfHostAuthenticationInfo struct {
  3943  	HostAuthenticationInfo []HostAuthenticationInfo `xml:"HostAuthenticationInfo,omitempty" json:"_value"`
  3944  }
  3945  
  3946  func init() {
  3947  	t["ArrayOfHostAuthenticationInfo"] = reflect.TypeOf((*ArrayOfHostAuthenticationInfo)(nil)).Elem()
  3948  	minAPIVersionForType["ArrayOfHostAuthenticationInfo"] = "9.0.0.0"
  3949  }
  3950  
  3951  // A boxed array of `HostAuthenticationStoreInfo`. To be used in `Any` placeholders.
  3952  type ArrayOfHostAuthenticationStoreInfo struct {
  3953  	HostAuthenticationStoreInfo []BaseHostAuthenticationStoreInfo `xml:"HostAuthenticationStoreInfo,omitempty,typeattr" json:"_value"`
  3954  }
  3955  
  3956  func init() {
  3957  	t["ArrayOfHostAuthenticationStoreInfo"] = reflect.TypeOf((*ArrayOfHostAuthenticationStoreInfo)(nil)).Elem()
  3958  }
  3959  
  3960  // A boxed array of `HostBootDevice`. To be used in `Any` placeholders.
  3961  type ArrayOfHostBootDevice struct {
  3962  	HostBootDevice []HostBootDevice `xml:"HostBootDevice,omitempty" json:"_value"`
  3963  }
  3964  
  3965  func init() {
  3966  	t["ArrayOfHostBootDevice"] = reflect.TypeOf((*ArrayOfHostBootDevice)(nil)).Elem()
  3967  }
  3968  
  3969  // A boxed array of `HostCacheConfigurationInfo`. To be used in `Any` placeholders.
  3970  type ArrayOfHostCacheConfigurationInfo struct {
  3971  	HostCacheConfigurationInfo []HostCacheConfigurationInfo `xml:"HostCacheConfigurationInfo,omitempty" json:"_value"`
  3972  }
  3973  
  3974  func init() {
  3975  	t["ArrayOfHostCacheConfigurationInfo"] = reflect.TypeOf((*ArrayOfHostCacheConfigurationInfo)(nil)).Elem()
  3976  }
  3977  
  3978  // A boxed array of `HostCertificateManagerCertificateInfo`. To be used in `Any` placeholders.
  3979  type ArrayOfHostCertificateManagerCertificateInfo struct {
  3980  	HostCertificateManagerCertificateInfo []HostCertificateManagerCertificateInfo `xml:"HostCertificateManagerCertificateInfo,omitempty" json:"_value"`
  3981  }
  3982  
  3983  func init() {
  3984  	t["ArrayOfHostCertificateManagerCertificateInfo"] = reflect.TypeOf((*ArrayOfHostCertificateManagerCertificateInfo)(nil)).Elem()
  3985  }
  3986  
  3987  // A boxed array of `HostConnectInfoNetworkInfo`. To be used in `Any` placeholders.
  3988  type ArrayOfHostConnectInfoNetworkInfo struct {
  3989  	HostConnectInfoNetworkInfo []BaseHostConnectInfoNetworkInfo `xml:"HostConnectInfoNetworkInfo,omitempty,typeattr" json:"_value"`
  3990  }
  3991  
  3992  func init() {
  3993  	t["ArrayOfHostConnectInfoNetworkInfo"] = reflect.TypeOf((*ArrayOfHostConnectInfoNetworkInfo)(nil)).Elem()
  3994  }
  3995  
  3996  // A boxed array of `HostConnectSpec`. To be used in `Any` placeholders.
  3997  type ArrayOfHostConnectSpec struct {
  3998  	HostConnectSpec []HostConnectSpec `xml:"HostConnectSpec,omitempty" json:"_value"`
  3999  }
  4000  
  4001  func init() {
  4002  	t["ArrayOfHostConnectSpec"] = reflect.TypeOf((*ArrayOfHostConnectSpec)(nil)).Elem()
  4003  }
  4004  
  4005  // A boxed array of `HostCpuIdInfo`. To be used in `Any` placeholders.
  4006  type ArrayOfHostCpuIdInfo struct {
  4007  	HostCpuIdInfo []HostCpuIdInfo `xml:"HostCpuIdInfo,omitempty" json:"_value"`
  4008  }
  4009  
  4010  func init() {
  4011  	t["ArrayOfHostCpuIdInfo"] = reflect.TypeOf((*ArrayOfHostCpuIdInfo)(nil)).Elem()
  4012  }
  4013  
  4014  // A boxed array of `HostCpuPackage`. To be used in `Any` placeholders.
  4015  type ArrayOfHostCpuPackage struct {
  4016  	HostCpuPackage []HostCpuPackage `xml:"HostCpuPackage,omitempty" json:"_value"`
  4017  }
  4018  
  4019  func init() {
  4020  	t["ArrayOfHostCpuPackage"] = reflect.TypeOf((*ArrayOfHostCpuPackage)(nil)).Elem()
  4021  }
  4022  
  4023  // A boxed array of `HostDatastoreBrowserSearchResults`. To be used in `Any` placeholders.
  4024  type ArrayOfHostDatastoreBrowserSearchResults struct {
  4025  	HostDatastoreBrowserSearchResults []HostDatastoreBrowserSearchResults `xml:"HostDatastoreBrowserSearchResults,omitempty" json:"_value"`
  4026  }
  4027  
  4028  func init() {
  4029  	t["ArrayOfHostDatastoreBrowserSearchResults"] = reflect.TypeOf((*ArrayOfHostDatastoreBrowserSearchResults)(nil)).Elem()
  4030  }
  4031  
  4032  // A boxed array of `HostDatastoreConnectInfo`. To be used in `Any` placeholders.
  4033  type ArrayOfHostDatastoreConnectInfo struct {
  4034  	HostDatastoreConnectInfo []BaseHostDatastoreConnectInfo `xml:"HostDatastoreConnectInfo,omitempty,typeattr" json:"_value"`
  4035  }
  4036  
  4037  func init() {
  4038  	t["ArrayOfHostDatastoreConnectInfo"] = reflect.TypeOf((*ArrayOfHostDatastoreConnectInfo)(nil)).Elem()
  4039  }
  4040  
  4041  // A boxed array of `HostDatastoreSystemDatastoreResult`. To be used in `Any` placeholders.
  4042  type ArrayOfHostDatastoreSystemDatastoreResult struct {
  4043  	HostDatastoreSystemDatastoreResult []HostDatastoreSystemDatastoreResult `xml:"HostDatastoreSystemDatastoreResult,omitempty" json:"_value"`
  4044  }
  4045  
  4046  func init() {
  4047  	t["ArrayOfHostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*ArrayOfHostDatastoreSystemDatastoreResult)(nil)).Elem()
  4048  }
  4049  
  4050  // A boxed array of `HostDateTimeSystemTimeZone`. To be used in `Any` placeholders.
  4051  type ArrayOfHostDateTimeSystemTimeZone struct {
  4052  	HostDateTimeSystemTimeZone []HostDateTimeSystemTimeZone `xml:"HostDateTimeSystemTimeZone,omitempty" json:"_value"`
  4053  }
  4054  
  4055  func init() {
  4056  	t["ArrayOfHostDateTimeSystemTimeZone"] = reflect.TypeOf((*ArrayOfHostDateTimeSystemTimeZone)(nil)).Elem()
  4057  }
  4058  
  4059  // A boxed array of `HostDhcpService`. To be used in `Any` placeholders.
  4060  type ArrayOfHostDhcpService struct {
  4061  	HostDhcpService []HostDhcpService `xml:"HostDhcpService,omitempty" json:"_value"`
  4062  }
  4063  
  4064  func init() {
  4065  	t["ArrayOfHostDhcpService"] = reflect.TypeOf((*ArrayOfHostDhcpService)(nil)).Elem()
  4066  }
  4067  
  4068  // A boxed array of `HostDhcpServiceConfig`. To be used in `Any` placeholders.
  4069  type ArrayOfHostDhcpServiceConfig struct {
  4070  	HostDhcpServiceConfig []HostDhcpServiceConfig `xml:"HostDhcpServiceConfig,omitempty" json:"_value"`
  4071  }
  4072  
  4073  func init() {
  4074  	t["ArrayOfHostDhcpServiceConfig"] = reflect.TypeOf((*ArrayOfHostDhcpServiceConfig)(nil)).Elem()
  4075  }
  4076  
  4077  // A boxed array of `HostDiagnosticPartition`. To be used in `Any` placeholders.
  4078  type ArrayOfHostDiagnosticPartition struct {
  4079  	HostDiagnosticPartition []HostDiagnosticPartition `xml:"HostDiagnosticPartition,omitempty" json:"_value"`
  4080  }
  4081  
  4082  func init() {
  4083  	t["ArrayOfHostDiagnosticPartition"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartition)(nil)).Elem()
  4084  }
  4085  
  4086  // A boxed array of `HostDiagnosticPartitionCreateOption`. To be used in `Any` placeholders.
  4087  type ArrayOfHostDiagnosticPartitionCreateOption struct {
  4088  	HostDiagnosticPartitionCreateOption []HostDiagnosticPartitionCreateOption `xml:"HostDiagnosticPartitionCreateOption,omitempty" json:"_value"`
  4089  }
  4090  
  4091  func init() {
  4092  	t["ArrayOfHostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartitionCreateOption)(nil)).Elem()
  4093  }
  4094  
  4095  // A boxed array of `HostDiskConfigurationResult`. To be used in `Any` placeholders.
  4096  type ArrayOfHostDiskConfigurationResult struct {
  4097  	HostDiskConfigurationResult []HostDiskConfigurationResult `xml:"HostDiskConfigurationResult,omitempty" json:"_value"`
  4098  }
  4099  
  4100  func init() {
  4101  	t["ArrayOfHostDiskConfigurationResult"] = reflect.TypeOf((*ArrayOfHostDiskConfigurationResult)(nil)).Elem()
  4102  }
  4103  
  4104  // A boxed array of `HostDiskMappingPartitionOption`. To be used in `Any` placeholders.
  4105  type ArrayOfHostDiskMappingPartitionOption struct {
  4106  	HostDiskMappingPartitionOption []HostDiskMappingPartitionOption `xml:"HostDiskMappingPartitionOption,omitempty" json:"_value"`
  4107  }
  4108  
  4109  func init() {
  4110  	t["ArrayOfHostDiskMappingPartitionOption"] = reflect.TypeOf((*ArrayOfHostDiskMappingPartitionOption)(nil)).Elem()
  4111  }
  4112  
  4113  // A boxed array of `HostDiskPartitionAttributes`. To be used in `Any` placeholders.
  4114  type ArrayOfHostDiskPartitionAttributes struct {
  4115  	HostDiskPartitionAttributes []HostDiskPartitionAttributes `xml:"HostDiskPartitionAttributes,omitempty" json:"_value"`
  4116  }
  4117  
  4118  func init() {
  4119  	t["ArrayOfHostDiskPartitionAttributes"] = reflect.TypeOf((*ArrayOfHostDiskPartitionAttributes)(nil)).Elem()
  4120  }
  4121  
  4122  // A boxed array of `HostDiskPartitionBlockRange`. To be used in `Any` placeholders.
  4123  type ArrayOfHostDiskPartitionBlockRange struct {
  4124  	HostDiskPartitionBlockRange []HostDiskPartitionBlockRange `xml:"HostDiskPartitionBlockRange,omitempty" json:"_value"`
  4125  }
  4126  
  4127  func init() {
  4128  	t["ArrayOfHostDiskPartitionBlockRange"] = reflect.TypeOf((*ArrayOfHostDiskPartitionBlockRange)(nil)).Elem()
  4129  }
  4130  
  4131  // A boxed array of `HostDiskPartitionInfo`. To be used in `Any` placeholders.
  4132  type ArrayOfHostDiskPartitionInfo struct {
  4133  	HostDiskPartitionInfo []HostDiskPartitionInfo `xml:"HostDiskPartitionInfo,omitempty" json:"_value"`
  4134  }
  4135  
  4136  func init() {
  4137  	t["ArrayOfHostDiskPartitionInfo"] = reflect.TypeOf((*ArrayOfHostDiskPartitionInfo)(nil)).Elem()
  4138  }
  4139  
  4140  // A boxed array of `HostDvxClass`. To be used in `Any` placeholders.
  4141  type ArrayOfHostDvxClass struct {
  4142  	HostDvxClass []HostDvxClass `xml:"HostDvxClass,omitempty" json:"_value"`
  4143  }
  4144  
  4145  func init() {
  4146  	t["ArrayOfHostDvxClass"] = reflect.TypeOf((*ArrayOfHostDvxClass)(nil)).Elem()
  4147  	minAPIVersionForType["ArrayOfHostDvxClass"] = "8.0.0.1"
  4148  }
  4149  
  4150  // A boxed array of `HostEventArgument`. To be used in `Any` placeholders.
  4151  type ArrayOfHostEventArgument struct {
  4152  	HostEventArgument []HostEventArgument `xml:"HostEventArgument,omitempty" json:"_value"`
  4153  }
  4154  
  4155  func init() {
  4156  	t["ArrayOfHostEventArgument"] = reflect.TypeOf((*ArrayOfHostEventArgument)(nil)).Elem()
  4157  }
  4158  
  4159  // A boxed array of `HostFeatureCapability`. To be used in `Any` placeholders.
  4160  type ArrayOfHostFeatureCapability struct {
  4161  	HostFeatureCapability []HostFeatureCapability `xml:"HostFeatureCapability,omitempty" json:"_value"`
  4162  }
  4163  
  4164  func init() {
  4165  	t["ArrayOfHostFeatureCapability"] = reflect.TypeOf((*ArrayOfHostFeatureCapability)(nil)).Elem()
  4166  }
  4167  
  4168  // A boxed array of `HostFeatureMask`. To be used in `Any` placeholders.
  4169  type ArrayOfHostFeatureMask struct {
  4170  	HostFeatureMask []HostFeatureMask `xml:"HostFeatureMask,omitempty" json:"_value"`
  4171  }
  4172  
  4173  func init() {
  4174  	t["ArrayOfHostFeatureMask"] = reflect.TypeOf((*ArrayOfHostFeatureMask)(nil)).Elem()
  4175  }
  4176  
  4177  // A boxed array of `HostFeatureVersionInfo`. To be used in `Any` placeholders.
  4178  type ArrayOfHostFeatureVersionInfo struct {
  4179  	HostFeatureVersionInfo []HostFeatureVersionInfo `xml:"HostFeatureVersionInfo,omitempty" json:"_value"`
  4180  }
  4181  
  4182  func init() {
  4183  	t["ArrayOfHostFeatureVersionInfo"] = reflect.TypeOf((*ArrayOfHostFeatureVersionInfo)(nil)).Elem()
  4184  }
  4185  
  4186  // A boxed array of `HostFileSystemMountInfo`. To be used in `Any` placeholders.
  4187  type ArrayOfHostFileSystemMountInfo struct {
  4188  	HostFileSystemMountInfo []HostFileSystemMountInfo `xml:"HostFileSystemMountInfo,omitempty" json:"_value"`
  4189  }
  4190  
  4191  func init() {
  4192  	t["ArrayOfHostFileSystemMountInfo"] = reflect.TypeOf((*ArrayOfHostFileSystemMountInfo)(nil)).Elem()
  4193  }
  4194  
  4195  // A boxed array of `HostFirewallConfigRuleSetConfig`. To be used in `Any` placeholders.
  4196  type ArrayOfHostFirewallConfigRuleSetConfig struct {
  4197  	HostFirewallConfigRuleSetConfig []HostFirewallConfigRuleSetConfig `xml:"HostFirewallConfigRuleSetConfig,omitempty" json:"_value"`
  4198  }
  4199  
  4200  func init() {
  4201  	t["ArrayOfHostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*ArrayOfHostFirewallConfigRuleSetConfig)(nil)).Elem()
  4202  }
  4203  
  4204  // A boxed array of `HostFirewallRule`. To be used in `Any` placeholders.
  4205  type ArrayOfHostFirewallRule struct {
  4206  	HostFirewallRule []HostFirewallRule `xml:"HostFirewallRule,omitempty" json:"_value"`
  4207  }
  4208  
  4209  func init() {
  4210  	t["ArrayOfHostFirewallRule"] = reflect.TypeOf((*ArrayOfHostFirewallRule)(nil)).Elem()
  4211  }
  4212  
  4213  // A boxed array of `HostFirewallRuleset`. To be used in `Any` placeholders.
  4214  type ArrayOfHostFirewallRuleset struct {
  4215  	HostFirewallRuleset []HostFirewallRuleset `xml:"HostFirewallRuleset,omitempty" json:"_value"`
  4216  }
  4217  
  4218  func init() {
  4219  	t["ArrayOfHostFirewallRuleset"] = reflect.TypeOf((*ArrayOfHostFirewallRuleset)(nil)).Elem()
  4220  }
  4221  
  4222  // A boxed array of `HostFirewallRulesetIpNetwork`. To be used in `Any` placeholders.
  4223  type ArrayOfHostFirewallRulesetIpNetwork struct {
  4224  	HostFirewallRulesetIpNetwork []HostFirewallRulesetIpNetwork `xml:"HostFirewallRulesetIpNetwork,omitempty" json:"_value"`
  4225  }
  4226  
  4227  func init() {
  4228  	t["ArrayOfHostFirewallRulesetIpNetwork"] = reflect.TypeOf((*ArrayOfHostFirewallRulesetIpNetwork)(nil)).Elem()
  4229  }
  4230  
  4231  // A boxed array of `HostGraphicsConfigDeviceType`. To be used in `Any` placeholders.
  4232  type ArrayOfHostGraphicsConfigDeviceType struct {
  4233  	HostGraphicsConfigDeviceType []HostGraphicsConfigDeviceType `xml:"HostGraphicsConfigDeviceType,omitempty" json:"_value"`
  4234  }
  4235  
  4236  func init() {
  4237  	t["ArrayOfHostGraphicsConfigDeviceType"] = reflect.TypeOf((*ArrayOfHostGraphicsConfigDeviceType)(nil)).Elem()
  4238  }
  4239  
  4240  // A boxed array of `HostGraphicsInfo`. To be used in `Any` placeholders.
  4241  type ArrayOfHostGraphicsInfo struct {
  4242  	HostGraphicsInfo []HostGraphicsInfo `xml:"HostGraphicsInfo,omitempty" json:"_value"`
  4243  }
  4244  
  4245  func init() {
  4246  	t["ArrayOfHostGraphicsInfo"] = reflect.TypeOf((*ArrayOfHostGraphicsInfo)(nil)).Elem()
  4247  }
  4248  
  4249  // A boxed array of `HostHardwareElementInfo`. To be used in `Any` placeholders.
  4250  type ArrayOfHostHardwareElementInfo struct {
  4251  	HostHardwareElementInfo []BaseHostHardwareElementInfo `xml:"HostHardwareElementInfo,omitempty,typeattr" json:"_value"`
  4252  }
  4253  
  4254  func init() {
  4255  	t["ArrayOfHostHardwareElementInfo"] = reflect.TypeOf((*ArrayOfHostHardwareElementInfo)(nil)).Elem()
  4256  }
  4257  
  4258  // A boxed array of `HostHostBusAdapter`. To be used in `Any` placeholders.
  4259  type ArrayOfHostHostBusAdapter struct {
  4260  	HostHostBusAdapter []BaseHostHostBusAdapter `xml:"HostHostBusAdapter,omitempty,typeattr" json:"_value"`
  4261  }
  4262  
  4263  func init() {
  4264  	t["ArrayOfHostHostBusAdapter"] = reflect.TypeOf((*ArrayOfHostHostBusAdapter)(nil)).Elem()
  4265  }
  4266  
  4267  // A boxed array of `HostInternetScsiHbaIscsiIpv6Address`. To be used in `Any` placeholders.
  4268  type ArrayOfHostInternetScsiHbaIscsiIpv6Address struct {
  4269  	HostInternetScsiHbaIscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"HostInternetScsiHbaIscsiIpv6Address,omitempty" json:"_value"`
  4270  }
  4271  
  4272  func init() {
  4273  	t["ArrayOfHostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaIscsiIpv6Address)(nil)).Elem()
  4274  }
  4275  
  4276  // A boxed array of `HostInternetScsiHbaParamValue`. To be used in `Any` placeholders.
  4277  type ArrayOfHostInternetScsiHbaParamValue struct {
  4278  	HostInternetScsiHbaParamValue []HostInternetScsiHbaParamValue `xml:"HostInternetScsiHbaParamValue,omitempty" json:"_value"`
  4279  }
  4280  
  4281  func init() {
  4282  	t["ArrayOfHostInternetScsiHbaParamValue"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaParamValue)(nil)).Elem()
  4283  }
  4284  
  4285  // A boxed array of `HostInternetScsiHbaSendTarget`. To be used in `Any` placeholders.
  4286  type ArrayOfHostInternetScsiHbaSendTarget struct {
  4287  	HostInternetScsiHbaSendTarget []HostInternetScsiHbaSendTarget `xml:"HostInternetScsiHbaSendTarget,omitempty" json:"_value"`
  4288  }
  4289  
  4290  func init() {
  4291  	t["ArrayOfHostInternetScsiHbaSendTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaSendTarget)(nil)).Elem()
  4292  }
  4293  
  4294  // A boxed array of `HostInternetScsiHbaStaticTarget`. To be used in `Any` placeholders.
  4295  type ArrayOfHostInternetScsiHbaStaticTarget struct {
  4296  	HostInternetScsiHbaStaticTarget []HostInternetScsiHbaStaticTarget `xml:"HostInternetScsiHbaStaticTarget,omitempty" json:"_value"`
  4297  }
  4298  
  4299  func init() {
  4300  	t["ArrayOfHostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaStaticTarget)(nil)).Elem()
  4301  }
  4302  
  4303  // A boxed array of `HostIoFilterInfo`. To be used in `Any` placeholders.
  4304  type ArrayOfHostIoFilterInfo struct {
  4305  	HostIoFilterInfo []HostIoFilterInfo `xml:"HostIoFilterInfo,omitempty" json:"_value"`
  4306  }
  4307  
  4308  func init() {
  4309  	t["ArrayOfHostIoFilterInfo"] = reflect.TypeOf((*ArrayOfHostIoFilterInfo)(nil)).Elem()
  4310  }
  4311  
  4312  // A boxed array of `HostIpConfigIpV6Address`. To be used in `Any` placeholders.
  4313  type ArrayOfHostIpConfigIpV6Address struct {
  4314  	HostIpConfigIpV6Address []HostIpConfigIpV6Address `xml:"HostIpConfigIpV6Address,omitempty" json:"_value"`
  4315  }
  4316  
  4317  func init() {
  4318  	t["ArrayOfHostIpConfigIpV6Address"] = reflect.TypeOf((*ArrayOfHostIpConfigIpV6Address)(nil)).Elem()
  4319  }
  4320  
  4321  // A boxed array of `HostIpRouteEntry`. To be used in `Any` placeholders.
  4322  type ArrayOfHostIpRouteEntry struct {
  4323  	HostIpRouteEntry []HostIpRouteEntry `xml:"HostIpRouteEntry,omitempty" json:"_value"`
  4324  }
  4325  
  4326  func init() {
  4327  	t["ArrayOfHostIpRouteEntry"] = reflect.TypeOf((*ArrayOfHostIpRouteEntry)(nil)).Elem()
  4328  }
  4329  
  4330  // A boxed array of `HostIpRouteOp`. To be used in `Any` placeholders.
  4331  type ArrayOfHostIpRouteOp struct {
  4332  	HostIpRouteOp []HostIpRouteOp `xml:"HostIpRouteOp,omitempty" json:"_value"`
  4333  }
  4334  
  4335  func init() {
  4336  	t["ArrayOfHostIpRouteOp"] = reflect.TypeOf((*ArrayOfHostIpRouteOp)(nil)).Elem()
  4337  }
  4338  
  4339  // A boxed array of `HostLowLevelProvisioningManagerDiskLayoutSpec`. To be used in `Any` placeholders.
  4340  type ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec struct {
  4341  	HostLowLevelProvisioningManagerDiskLayoutSpec []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"HostLowLevelProvisioningManagerDiskLayoutSpec,omitempty" json:"_value"`
  4342  }
  4343  
  4344  func init() {
  4345  	t["ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem()
  4346  }
  4347  
  4348  // A boxed array of `HostLowLevelProvisioningManagerFileDeleteResult`. To be used in `Any` placeholders.
  4349  type ArrayOfHostLowLevelProvisioningManagerFileDeleteResult struct {
  4350  	HostLowLevelProvisioningManagerFileDeleteResult []HostLowLevelProvisioningManagerFileDeleteResult `xml:"HostLowLevelProvisioningManagerFileDeleteResult,omitempty" json:"_value"`
  4351  }
  4352  
  4353  func init() {
  4354  	t["ArrayOfHostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem()
  4355  }
  4356  
  4357  // A boxed array of `HostLowLevelProvisioningManagerFileDeleteSpec`. To be used in `Any` placeholders.
  4358  type ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec struct {
  4359  	HostLowLevelProvisioningManagerFileDeleteSpec []HostLowLevelProvisioningManagerFileDeleteSpec `xml:"HostLowLevelProvisioningManagerFileDeleteSpec,omitempty" json:"_value"`
  4360  }
  4361  
  4362  func init() {
  4363  	t["ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem()
  4364  }
  4365  
  4366  // A boxed array of `HostLowLevelProvisioningManagerFileReserveResult`. To be used in `Any` placeholders.
  4367  type ArrayOfHostLowLevelProvisioningManagerFileReserveResult struct {
  4368  	HostLowLevelProvisioningManagerFileReserveResult []HostLowLevelProvisioningManagerFileReserveResult `xml:"HostLowLevelProvisioningManagerFileReserveResult,omitempty" json:"_value"`
  4369  }
  4370  
  4371  func init() {
  4372  	t["ArrayOfHostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem()
  4373  }
  4374  
  4375  // A boxed array of `HostLowLevelProvisioningManagerFileReserveSpec`. To be used in `Any` placeholders.
  4376  type ArrayOfHostLowLevelProvisioningManagerFileReserveSpec struct {
  4377  	HostLowLevelProvisioningManagerFileReserveSpec []HostLowLevelProvisioningManagerFileReserveSpec `xml:"HostLowLevelProvisioningManagerFileReserveSpec,omitempty" json:"_value"`
  4378  }
  4379  
  4380  func init() {
  4381  	t["ArrayOfHostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem()
  4382  }
  4383  
  4384  // A boxed array of `HostLowLevelProvisioningManagerSnapshotLayoutSpec`. To be used in `Any` placeholders.
  4385  type ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
  4386  	HostLowLevelProvisioningManagerSnapshotLayoutSpec []HostLowLevelProvisioningManagerSnapshotLayoutSpec `xml:"HostLowLevelProvisioningManagerSnapshotLayoutSpec,omitempty" json:"_value"`
  4387  }
  4388  
  4389  func init() {
  4390  	t["ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem()
  4391  }
  4392  
  4393  // A boxed array of `HostMemberHealthCheckResult`. To be used in `Any` placeholders.
  4394  type ArrayOfHostMemberHealthCheckResult struct {
  4395  	HostMemberHealthCheckResult []BaseHostMemberHealthCheckResult `xml:"HostMemberHealthCheckResult,omitempty,typeattr" json:"_value"`
  4396  }
  4397  
  4398  func init() {
  4399  	t["ArrayOfHostMemberHealthCheckResult"] = reflect.TypeOf((*ArrayOfHostMemberHealthCheckResult)(nil)).Elem()
  4400  }
  4401  
  4402  // A boxed array of `HostMemberRuntimeInfo`. To be used in `Any` placeholders.
  4403  type ArrayOfHostMemberRuntimeInfo struct {
  4404  	HostMemberRuntimeInfo []HostMemberRuntimeInfo `xml:"HostMemberRuntimeInfo,omitempty" json:"_value"`
  4405  }
  4406  
  4407  func init() {
  4408  	t["ArrayOfHostMemberRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostMemberRuntimeInfo)(nil)).Elem()
  4409  }
  4410  
  4411  // A boxed array of `HostMemoryTierInfo`. To be used in `Any` placeholders.
  4412  type ArrayOfHostMemoryTierInfo struct {
  4413  	HostMemoryTierInfo []HostMemoryTierInfo `xml:"HostMemoryTierInfo,omitempty" json:"_value"`
  4414  }
  4415  
  4416  func init() {
  4417  	t["ArrayOfHostMemoryTierInfo"] = reflect.TypeOf((*ArrayOfHostMemoryTierInfo)(nil)).Elem()
  4418  	minAPIVersionForType["ArrayOfHostMemoryTierInfo"] = "7.0.3.0"
  4419  }
  4420  
  4421  // A boxed array of `HostMultipathInfoLogicalUnit`. To be used in `Any` placeholders.
  4422  type ArrayOfHostMultipathInfoLogicalUnit struct {
  4423  	HostMultipathInfoLogicalUnit []HostMultipathInfoLogicalUnit `xml:"HostMultipathInfoLogicalUnit,omitempty" json:"_value"`
  4424  }
  4425  
  4426  func init() {
  4427  	t["ArrayOfHostMultipathInfoLogicalUnit"] = reflect.TypeOf((*ArrayOfHostMultipathInfoLogicalUnit)(nil)).Elem()
  4428  }
  4429  
  4430  // A boxed array of `HostMultipathInfoPath`. To be used in `Any` placeholders.
  4431  type ArrayOfHostMultipathInfoPath struct {
  4432  	HostMultipathInfoPath []HostMultipathInfoPath `xml:"HostMultipathInfoPath,omitempty" json:"_value"`
  4433  }
  4434  
  4435  func init() {
  4436  	t["ArrayOfHostMultipathInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathInfoPath)(nil)).Elem()
  4437  }
  4438  
  4439  // A boxed array of `HostMultipathStateInfoPath`. To be used in `Any` placeholders.
  4440  type ArrayOfHostMultipathStateInfoPath struct {
  4441  	HostMultipathStateInfoPath []HostMultipathStateInfoPath `xml:"HostMultipathStateInfoPath,omitempty" json:"_value"`
  4442  }
  4443  
  4444  func init() {
  4445  	t["ArrayOfHostMultipathStateInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathStateInfoPath)(nil)).Elem()
  4446  }
  4447  
  4448  // A boxed array of `HostNasVolumeConfig`. To be used in `Any` placeholders.
  4449  type ArrayOfHostNasVolumeConfig struct {
  4450  	HostNasVolumeConfig []HostNasVolumeConfig `xml:"HostNasVolumeConfig,omitempty" json:"_value"`
  4451  }
  4452  
  4453  func init() {
  4454  	t["ArrayOfHostNasVolumeConfig"] = reflect.TypeOf((*ArrayOfHostNasVolumeConfig)(nil)).Elem()
  4455  }
  4456  
  4457  // A boxed array of `HostNatService`. To be used in `Any` placeholders.
  4458  type ArrayOfHostNatService struct {
  4459  	HostNatService []HostNatService `xml:"HostNatService,omitempty" json:"_value"`
  4460  }
  4461  
  4462  func init() {
  4463  	t["ArrayOfHostNatService"] = reflect.TypeOf((*ArrayOfHostNatService)(nil)).Elem()
  4464  }
  4465  
  4466  // A boxed array of `HostNatServiceConfig`. To be used in `Any` placeholders.
  4467  type ArrayOfHostNatServiceConfig struct {
  4468  	HostNatServiceConfig []HostNatServiceConfig `xml:"HostNatServiceConfig,omitempty" json:"_value"`
  4469  }
  4470  
  4471  func init() {
  4472  	t["ArrayOfHostNatServiceConfig"] = reflect.TypeOf((*ArrayOfHostNatServiceConfig)(nil)).Elem()
  4473  }
  4474  
  4475  // A boxed array of `HostNatServicePortForwardSpec`. To be used in `Any` placeholders.
  4476  type ArrayOfHostNatServicePortForwardSpec struct {
  4477  	HostNatServicePortForwardSpec []HostNatServicePortForwardSpec `xml:"HostNatServicePortForwardSpec,omitempty" json:"_value"`
  4478  }
  4479  
  4480  func init() {
  4481  	t["ArrayOfHostNatServicePortForwardSpec"] = reflect.TypeOf((*ArrayOfHostNatServicePortForwardSpec)(nil)).Elem()
  4482  }
  4483  
  4484  // A boxed array of `HostNetStackInstance`. To be used in `Any` placeholders.
  4485  type ArrayOfHostNetStackInstance struct {
  4486  	HostNetStackInstance []HostNetStackInstance `xml:"HostNetStackInstance,omitempty" json:"_value"`
  4487  }
  4488  
  4489  func init() {
  4490  	t["ArrayOfHostNetStackInstance"] = reflect.TypeOf((*ArrayOfHostNetStackInstance)(nil)).Elem()
  4491  }
  4492  
  4493  // A boxed array of `HostNetworkConfigNetStackSpec`. To be used in `Any` placeholders.
  4494  type ArrayOfHostNetworkConfigNetStackSpec struct {
  4495  	HostNetworkConfigNetStackSpec []HostNetworkConfigNetStackSpec `xml:"HostNetworkConfigNetStackSpec,omitempty" json:"_value"`
  4496  }
  4497  
  4498  func init() {
  4499  	t["ArrayOfHostNetworkConfigNetStackSpec"] = reflect.TypeOf((*ArrayOfHostNetworkConfigNetStackSpec)(nil)).Elem()
  4500  }
  4501  
  4502  // A boxed array of `HostNumaNode`. To be used in `Any` placeholders.
  4503  type ArrayOfHostNumaNode struct {
  4504  	HostNumaNode []HostNumaNode `xml:"HostNumaNode,omitempty" json:"_value"`
  4505  }
  4506  
  4507  func init() {
  4508  	t["ArrayOfHostNumaNode"] = reflect.TypeOf((*ArrayOfHostNumaNode)(nil)).Elem()
  4509  }
  4510  
  4511  // A boxed array of `HostNumericSensorInfo`. To be used in `Any` placeholders.
  4512  type ArrayOfHostNumericSensorInfo struct {
  4513  	HostNumericSensorInfo []HostNumericSensorInfo `xml:"HostNumericSensorInfo,omitempty" json:"_value"`
  4514  }
  4515  
  4516  func init() {
  4517  	t["ArrayOfHostNumericSensorInfo"] = reflect.TypeOf((*ArrayOfHostNumericSensorInfo)(nil)).Elem()
  4518  }
  4519  
  4520  // A boxed array of `HostNvmeConnectSpec`. To be used in `Any` placeholders.
  4521  type ArrayOfHostNvmeConnectSpec struct {
  4522  	HostNvmeConnectSpec []HostNvmeConnectSpec `xml:"HostNvmeConnectSpec,omitempty" json:"_value"`
  4523  }
  4524  
  4525  func init() {
  4526  	t["ArrayOfHostNvmeConnectSpec"] = reflect.TypeOf((*ArrayOfHostNvmeConnectSpec)(nil)).Elem()
  4527  }
  4528  
  4529  // A boxed array of `HostNvmeController`. To be used in `Any` placeholders.
  4530  type ArrayOfHostNvmeController struct {
  4531  	HostNvmeController []HostNvmeController `xml:"HostNvmeController,omitempty" json:"_value"`
  4532  }
  4533  
  4534  func init() {
  4535  	t["ArrayOfHostNvmeController"] = reflect.TypeOf((*ArrayOfHostNvmeController)(nil)).Elem()
  4536  }
  4537  
  4538  // A boxed array of `HostNvmeDisconnectSpec`. To be used in `Any` placeholders.
  4539  type ArrayOfHostNvmeDisconnectSpec struct {
  4540  	HostNvmeDisconnectSpec []HostNvmeDisconnectSpec `xml:"HostNvmeDisconnectSpec,omitempty" json:"_value"`
  4541  }
  4542  
  4543  func init() {
  4544  	t["ArrayOfHostNvmeDisconnectSpec"] = reflect.TypeOf((*ArrayOfHostNvmeDisconnectSpec)(nil)).Elem()
  4545  }
  4546  
  4547  // A boxed array of `HostNvmeDiscoveryLogEntry`. To be used in `Any` placeholders.
  4548  type ArrayOfHostNvmeDiscoveryLogEntry struct {
  4549  	HostNvmeDiscoveryLogEntry []HostNvmeDiscoveryLogEntry `xml:"HostNvmeDiscoveryLogEntry,omitempty" json:"_value"`
  4550  }
  4551  
  4552  func init() {
  4553  	t["ArrayOfHostNvmeDiscoveryLogEntry"] = reflect.TypeOf((*ArrayOfHostNvmeDiscoveryLogEntry)(nil)).Elem()
  4554  }
  4555  
  4556  // A boxed array of `HostNvmeNamespace`. To be used in `Any` placeholders.
  4557  type ArrayOfHostNvmeNamespace struct {
  4558  	HostNvmeNamespace []HostNvmeNamespace `xml:"HostNvmeNamespace,omitempty" json:"_value"`
  4559  }
  4560  
  4561  func init() {
  4562  	t["ArrayOfHostNvmeNamespace"] = reflect.TypeOf((*ArrayOfHostNvmeNamespace)(nil)).Elem()
  4563  }
  4564  
  4565  // A boxed array of `HostNvmeTopologyInterface`. To be used in `Any` placeholders.
  4566  type ArrayOfHostNvmeTopologyInterface struct {
  4567  	HostNvmeTopologyInterface []HostNvmeTopologyInterface `xml:"HostNvmeTopologyInterface,omitempty" json:"_value"`
  4568  }
  4569  
  4570  func init() {
  4571  	t["ArrayOfHostNvmeTopologyInterface"] = reflect.TypeOf((*ArrayOfHostNvmeTopologyInterface)(nil)).Elem()
  4572  }
  4573  
  4574  // A boxed array of `HostOpaqueNetworkInfo`. To be used in `Any` placeholders.
  4575  type ArrayOfHostOpaqueNetworkInfo struct {
  4576  	HostOpaqueNetworkInfo []HostOpaqueNetworkInfo `xml:"HostOpaqueNetworkInfo,omitempty" json:"_value"`
  4577  }
  4578  
  4579  func init() {
  4580  	t["ArrayOfHostOpaqueNetworkInfo"] = reflect.TypeOf((*ArrayOfHostOpaqueNetworkInfo)(nil)).Elem()
  4581  }
  4582  
  4583  // A boxed array of `HostOpaqueSwitch`. To be used in `Any` placeholders.
  4584  type ArrayOfHostOpaqueSwitch struct {
  4585  	HostOpaqueSwitch []HostOpaqueSwitch `xml:"HostOpaqueSwitch,omitempty" json:"_value"`
  4586  }
  4587  
  4588  func init() {
  4589  	t["ArrayOfHostOpaqueSwitch"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitch)(nil)).Elem()
  4590  }
  4591  
  4592  // A boxed array of `HostOpaqueSwitchPhysicalNicZone`. To be used in `Any` placeholders.
  4593  type ArrayOfHostOpaqueSwitchPhysicalNicZone struct {
  4594  	HostOpaqueSwitchPhysicalNicZone []HostOpaqueSwitchPhysicalNicZone `xml:"HostOpaqueSwitchPhysicalNicZone,omitempty" json:"_value"`
  4595  }
  4596  
  4597  func init() {
  4598  	t["ArrayOfHostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitchPhysicalNicZone)(nil)).Elem()
  4599  }
  4600  
  4601  // A boxed array of `HostPartialMaintenanceModeRuntimeInfo`. To be used in `Any` placeholders.
  4602  type ArrayOfHostPartialMaintenanceModeRuntimeInfo struct {
  4603  	HostPartialMaintenanceModeRuntimeInfo []HostPartialMaintenanceModeRuntimeInfo `xml:"HostPartialMaintenanceModeRuntimeInfo,omitempty" json:"_value"`
  4604  }
  4605  
  4606  func init() {
  4607  	t["ArrayOfHostPartialMaintenanceModeRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostPartialMaintenanceModeRuntimeInfo)(nil)).Elem()
  4608  	minAPIVersionForType["ArrayOfHostPartialMaintenanceModeRuntimeInfo"] = "8.0.3.0"
  4609  }
  4610  
  4611  // A boxed array of `HostPatchManagerStatus`. To be used in `Any` placeholders.
  4612  type ArrayOfHostPatchManagerStatus struct {
  4613  	HostPatchManagerStatus []HostPatchManagerStatus `xml:"HostPatchManagerStatus,omitempty" json:"_value"`
  4614  }
  4615  
  4616  func init() {
  4617  	t["ArrayOfHostPatchManagerStatus"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatus)(nil)).Elem()
  4618  }
  4619  
  4620  // A boxed array of `HostPatchManagerStatusPrerequisitePatch`. To be used in `Any` placeholders.
  4621  type ArrayOfHostPatchManagerStatusPrerequisitePatch struct {
  4622  	HostPatchManagerStatusPrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"HostPatchManagerStatusPrerequisitePatch,omitempty" json:"_value"`
  4623  }
  4624  
  4625  func init() {
  4626  	t["ArrayOfHostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatusPrerequisitePatch)(nil)).Elem()
  4627  }
  4628  
  4629  // A boxed array of `HostPathSelectionPolicyOption`. To be used in `Any` placeholders.
  4630  type ArrayOfHostPathSelectionPolicyOption struct {
  4631  	HostPathSelectionPolicyOption []HostPathSelectionPolicyOption `xml:"HostPathSelectionPolicyOption,omitempty" json:"_value"`
  4632  }
  4633  
  4634  func init() {
  4635  	t["ArrayOfHostPathSelectionPolicyOption"] = reflect.TypeOf((*ArrayOfHostPathSelectionPolicyOption)(nil)).Elem()
  4636  }
  4637  
  4638  // A boxed array of `HostPciDevice`. To be used in `Any` placeholders.
  4639  type ArrayOfHostPciDevice struct {
  4640  	HostPciDevice []HostPciDevice `xml:"HostPciDevice,omitempty" json:"_value"`
  4641  }
  4642  
  4643  func init() {
  4644  	t["ArrayOfHostPciDevice"] = reflect.TypeOf((*ArrayOfHostPciDevice)(nil)).Elem()
  4645  }
  4646  
  4647  // A boxed array of `HostPciPassthruConfig`. To be used in `Any` placeholders.
  4648  type ArrayOfHostPciPassthruConfig struct {
  4649  	HostPciPassthruConfig []BaseHostPciPassthruConfig `xml:"HostPciPassthruConfig,omitempty,typeattr" json:"_value"`
  4650  }
  4651  
  4652  func init() {
  4653  	t["ArrayOfHostPciPassthruConfig"] = reflect.TypeOf((*ArrayOfHostPciPassthruConfig)(nil)).Elem()
  4654  }
  4655  
  4656  // A boxed array of `HostPciPassthruInfo`. To be used in `Any` placeholders.
  4657  type ArrayOfHostPciPassthruInfo struct {
  4658  	HostPciPassthruInfo []BaseHostPciPassthruInfo `xml:"HostPciPassthruInfo,omitempty,typeattr" json:"_value"`
  4659  }
  4660  
  4661  func init() {
  4662  	t["ArrayOfHostPciPassthruInfo"] = reflect.TypeOf((*ArrayOfHostPciPassthruInfo)(nil)).Elem()
  4663  }
  4664  
  4665  // A boxed array of `HostPlacedVirtualNicIdentifier`. To be used in `Any` placeholders.
  4666  type ArrayOfHostPlacedVirtualNicIdentifier struct {
  4667  	HostPlacedVirtualNicIdentifier []HostPlacedVirtualNicIdentifier `xml:"HostPlacedVirtualNicIdentifier,omitempty" json:"_value"`
  4668  }
  4669  
  4670  func init() {
  4671  	t["ArrayOfHostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*ArrayOfHostPlacedVirtualNicIdentifier)(nil)).Elem()
  4672  }
  4673  
  4674  // A boxed array of `HostPlugStoreTopologyAdapter`. To be used in `Any` placeholders.
  4675  type ArrayOfHostPlugStoreTopologyAdapter struct {
  4676  	HostPlugStoreTopologyAdapter []HostPlugStoreTopologyAdapter `xml:"HostPlugStoreTopologyAdapter,omitempty" json:"_value"`
  4677  }
  4678  
  4679  func init() {
  4680  	t["ArrayOfHostPlugStoreTopologyAdapter"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyAdapter)(nil)).Elem()
  4681  }
  4682  
  4683  // A boxed array of `HostPlugStoreTopologyDevice`. To be used in `Any` placeholders.
  4684  type ArrayOfHostPlugStoreTopologyDevice struct {
  4685  	HostPlugStoreTopologyDevice []HostPlugStoreTopologyDevice `xml:"HostPlugStoreTopologyDevice,omitempty" json:"_value"`
  4686  }
  4687  
  4688  func init() {
  4689  	t["ArrayOfHostPlugStoreTopologyDevice"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyDevice)(nil)).Elem()
  4690  }
  4691  
  4692  // A boxed array of `HostPlugStoreTopologyPath`. To be used in `Any` placeholders.
  4693  type ArrayOfHostPlugStoreTopologyPath struct {
  4694  	HostPlugStoreTopologyPath []HostPlugStoreTopologyPath `xml:"HostPlugStoreTopologyPath,omitempty" json:"_value"`
  4695  }
  4696  
  4697  func init() {
  4698  	t["ArrayOfHostPlugStoreTopologyPath"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPath)(nil)).Elem()
  4699  }
  4700  
  4701  // A boxed array of `HostPlugStoreTopologyPlugin`. To be used in `Any` placeholders.
  4702  type ArrayOfHostPlugStoreTopologyPlugin struct {
  4703  	HostPlugStoreTopologyPlugin []HostPlugStoreTopologyPlugin `xml:"HostPlugStoreTopologyPlugin,omitempty" json:"_value"`
  4704  }
  4705  
  4706  func init() {
  4707  	t["ArrayOfHostPlugStoreTopologyPlugin"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPlugin)(nil)).Elem()
  4708  }
  4709  
  4710  // A boxed array of `HostPlugStoreTopologyTarget`. To be used in `Any` placeholders.
  4711  type ArrayOfHostPlugStoreTopologyTarget struct {
  4712  	HostPlugStoreTopologyTarget []HostPlugStoreTopologyTarget `xml:"HostPlugStoreTopologyTarget,omitempty" json:"_value"`
  4713  }
  4714  
  4715  func init() {
  4716  	t["ArrayOfHostPlugStoreTopologyTarget"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyTarget)(nil)).Elem()
  4717  }
  4718  
  4719  // A boxed array of `HostPnicNetworkResourceInfo`. To be used in `Any` placeholders.
  4720  type ArrayOfHostPnicNetworkResourceInfo struct {
  4721  	HostPnicNetworkResourceInfo []HostPnicNetworkResourceInfo `xml:"HostPnicNetworkResourceInfo,omitempty" json:"_value"`
  4722  }
  4723  
  4724  func init() {
  4725  	t["ArrayOfHostPnicNetworkResourceInfo"] = reflect.TypeOf((*ArrayOfHostPnicNetworkResourceInfo)(nil)).Elem()
  4726  }
  4727  
  4728  // A boxed array of `HostPortGroup`. To be used in `Any` placeholders.
  4729  type ArrayOfHostPortGroup struct {
  4730  	HostPortGroup []HostPortGroup `xml:"HostPortGroup,omitempty" json:"_value"`
  4731  }
  4732  
  4733  func init() {
  4734  	t["ArrayOfHostPortGroup"] = reflect.TypeOf((*ArrayOfHostPortGroup)(nil)).Elem()
  4735  }
  4736  
  4737  // A boxed array of `HostPortGroupConfig`. To be used in `Any` placeholders.
  4738  type ArrayOfHostPortGroupConfig struct {
  4739  	HostPortGroupConfig []HostPortGroupConfig `xml:"HostPortGroupConfig,omitempty" json:"_value"`
  4740  }
  4741  
  4742  func init() {
  4743  	t["ArrayOfHostPortGroupConfig"] = reflect.TypeOf((*ArrayOfHostPortGroupConfig)(nil)).Elem()
  4744  }
  4745  
  4746  // A boxed array of `HostPortGroupPort`. To be used in `Any` placeholders.
  4747  type ArrayOfHostPortGroupPort struct {
  4748  	HostPortGroupPort []HostPortGroupPort `xml:"HostPortGroupPort,omitempty" json:"_value"`
  4749  }
  4750  
  4751  func init() {
  4752  	t["ArrayOfHostPortGroupPort"] = reflect.TypeOf((*ArrayOfHostPortGroupPort)(nil)).Elem()
  4753  }
  4754  
  4755  // A boxed array of `HostPortGroupProfile`. To be used in `Any` placeholders.
  4756  type ArrayOfHostPortGroupProfile struct {
  4757  	HostPortGroupProfile []HostPortGroupProfile `xml:"HostPortGroupProfile,omitempty" json:"_value"`
  4758  }
  4759  
  4760  func init() {
  4761  	t["ArrayOfHostPortGroupProfile"] = reflect.TypeOf((*ArrayOfHostPortGroupProfile)(nil)).Elem()
  4762  }
  4763  
  4764  // A boxed array of `HostPowerPolicy`. To be used in `Any` placeholders.
  4765  type ArrayOfHostPowerPolicy struct {
  4766  	HostPowerPolicy []HostPowerPolicy `xml:"HostPowerPolicy,omitempty" json:"_value"`
  4767  }
  4768  
  4769  func init() {
  4770  	t["ArrayOfHostPowerPolicy"] = reflect.TypeOf((*ArrayOfHostPowerPolicy)(nil)).Elem()
  4771  }
  4772  
  4773  // A boxed array of `HostProfileManagerCompositionResultResultElement`. To be used in `Any` placeholders.
  4774  type ArrayOfHostProfileManagerCompositionResultResultElement struct {
  4775  	HostProfileManagerCompositionResultResultElement []HostProfileManagerCompositionResultResultElement `xml:"HostProfileManagerCompositionResultResultElement,omitempty" json:"_value"`
  4776  }
  4777  
  4778  func init() {
  4779  	t["ArrayOfHostProfileManagerCompositionResultResultElement"] = reflect.TypeOf((*ArrayOfHostProfileManagerCompositionResultResultElement)(nil)).Elem()
  4780  }
  4781  
  4782  // A boxed array of `HostProfileManagerCompositionValidationResultResultElement`. To be used in `Any` placeholders.
  4783  type ArrayOfHostProfileManagerCompositionValidationResultResultElement struct {
  4784  	HostProfileManagerCompositionValidationResultResultElement []HostProfileManagerCompositionValidationResultResultElement `xml:"HostProfileManagerCompositionValidationResultResultElement,omitempty" json:"_value"`
  4785  }
  4786  
  4787  func init() {
  4788  	t["ArrayOfHostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*ArrayOfHostProfileManagerCompositionValidationResultResultElement)(nil)).Elem()
  4789  }
  4790  
  4791  // A boxed array of `HostProfilesEntityCustomizations`. To be used in `Any` placeholders.
  4792  type ArrayOfHostProfilesEntityCustomizations struct {
  4793  	HostProfilesEntityCustomizations []BaseHostProfilesEntityCustomizations `xml:"HostProfilesEntityCustomizations,omitempty,typeattr" json:"_value"`
  4794  }
  4795  
  4796  func init() {
  4797  	t["ArrayOfHostProfilesEntityCustomizations"] = reflect.TypeOf((*ArrayOfHostProfilesEntityCustomizations)(nil)).Elem()
  4798  }
  4799  
  4800  // A boxed array of `HostProtocolEndpoint`. To be used in `Any` placeholders.
  4801  type ArrayOfHostProtocolEndpoint struct {
  4802  	HostProtocolEndpoint []HostProtocolEndpoint `xml:"HostProtocolEndpoint,omitempty" json:"_value"`
  4803  }
  4804  
  4805  func init() {
  4806  	t["ArrayOfHostProtocolEndpoint"] = reflect.TypeOf((*ArrayOfHostProtocolEndpoint)(nil)).Elem()
  4807  }
  4808  
  4809  // A boxed array of `HostProxySwitch`. To be used in `Any` placeholders.
  4810  type ArrayOfHostProxySwitch struct {
  4811  	HostProxySwitch []HostProxySwitch `xml:"HostProxySwitch,omitempty" json:"_value"`
  4812  }
  4813  
  4814  func init() {
  4815  	t["ArrayOfHostProxySwitch"] = reflect.TypeOf((*ArrayOfHostProxySwitch)(nil)).Elem()
  4816  }
  4817  
  4818  // A boxed array of `HostProxySwitchConfig`. To be used in `Any` placeholders.
  4819  type ArrayOfHostProxySwitchConfig struct {
  4820  	HostProxySwitchConfig []HostProxySwitchConfig `xml:"HostProxySwitchConfig,omitempty" json:"_value"`
  4821  }
  4822  
  4823  func init() {
  4824  	t["ArrayOfHostProxySwitchConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchConfig)(nil)).Elem()
  4825  }
  4826  
  4827  // A boxed array of `HostProxySwitchHostLagConfig`. To be used in `Any` placeholders.
  4828  type ArrayOfHostProxySwitchHostLagConfig struct {
  4829  	HostProxySwitchHostLagConfig []HostProxySwitchHostLagConfig `xml:"HostProxySwitchHostLagConfig,omitempty" json:"_value"`
  4830  }
  4831  
  4832  func init() {
  4833  	t["ArrayOfHostProxySwitchHostLagConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchHostLagConfig)(nil)).Elem()
  4834  }
  4835  
  4836  // A boxed array of `HostPtpConfigPtpPort`. To be used in `Any` placeholders.
  4837  type ArrayOfHostPtpConfigPtpPort struct {
  4838  	HostPtpConfigPtpPort []HostPtpConfigPtpPort `xml:"HostPtpConfigPtpPort,omitempty" json:"_value"`
  4839  }
  4840  
  4841  func init() {
  4842  	t["ArrayOfHostPtpConfigPtpPort"] = reflect.TypeOf((*ArrayOfHostPtpConfigPtpPort)(nil)).Elem()
  4843  	minAPIVersionForType["ArrayOfHostPtpConfigPtpPort"] = "7.0.3.0"
  4844  }
  4845  
  4846  // A boxed array of `HostQualifiedName`. To be used in `Any` placeholders.
  4847  type ArrayOfHostQualifiedName struct {
  4848  	HostQualifiedName []HostQualifiedName `xml:"HostQualifiedName,omitempty" json:"_value"`
  4849  }
  4850  
  4851  func init() {
  4852  	t["ArrayOfHostQualifiedName"] = reflect.TypeOf((*ArrayOfHostQualifiedName)(nil)).Elem()
  4853  	minAPIVersionForType["ArrayOfHostQualifiedName"] = "7.0.3.0"
  4854  }
  4855  
  4856  // A boxed array of `HostRdmaDevice`. To be used in `Any` placeholders.
  4857  type ArrayOfHostRdmaDevice struct {
  4858  	HostRdmaDevice []HostRdmaDevice `xml:"HostRdmaDevice,omitempty" json:"_value"`
  4859  }
  4860  
  4861  func init() {
  4862  	t["ArrayOfHostRdmaDevice"] = reflect.TypeOf((*ArrayOfHostRdmaDevice)(nil)).Elem()
  4863  }
  4864  
  4865  // A boxed array of `HostRuntimeInfoNetStackInstanceRuntimeInfo`. To be used in `Any` placeholders.
  4866  type ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo struct {
  4867  	HostRuntimeInfoNetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"HostRuntimeInfoNetStackInstanceRuntimeInfo,omitempty" json:"_value"`
  4868  }
  4869  
  4870  func init() {
  4871  	t["ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem()
  4872  }
  4873  
  4874  // A boxed array of `HostScsiDisk`. To be used in `Any` placeholders.
  4875  type ArrayOfHostScsiDisk struct {
  4876  	HostScsiDisk []HostScsiDisk `xml:"HostScsiDisk,omitempty" json:"_value"`
  4877  }
  4878  
  4879  func init() {
  4880  	t["ArrayOfHostScsiDisk"] = reflect.TypeOf((*ArrayOfHostScsiDisk)(nil)).Elem()
  4881  }
  4882  
  4883  // A boxed array of `HostScsiDiskPartition`. To be used in `Any` placeholders.
  4884  type ArrayOfHostScsiDiskPartition struct {
  4885  	HostScsiDiskPartition []HostScsiDiskPartition `xml:"HostScsiDiskPartition,omitempty" json:"_value"`
  4886  }
  4887  
  4888  func init() {
  4889  	t["ArrayOfHostScsiDiskPartition"] = reflect.TypeOf((*ArrayOfHostScsiDiskPartition)(nil)).Elem()
  4890  }
  4891  
  4892  // A boxed array of `HostScsiTopologyInterface`. To be used in `Any` placeholders.
  4893  type ArrayOfHostScsiTopologyInterface struct {
  4894  	HostScsiTopologyInterface []HostScsiTopologyInterface `xml:"HostScsiTopologyInterface,omitempty" json:"_value"`
  4895  }
  4896  
  4897  func init() {
  4898  	t["ArrayOfHostScsiTopologyInterface"] = reflect.TypeOf((*ArrayOfHostScsiTopologyInterface)(nil)).Elem()
  4899  }
  4900  
  4901  // A boxed array of `HostScsiTopologyLun`. To be used in `Any` placeholders.
  4902  type ArrayOfHostScsiTopologyLun struct {
  4903  	HostScsiTopologyLun []HostScsiTopologyLun `xml:"HostScsiTopologyLun,omitempty" json:"_value"`
  4904  }
  4905  
  4906  func init() {
  4907  	t["ArrayOfHostScsiTopologyLun"] = reflect.TypeOf((*ArrayOfHostScsiTopologyLun)(nil)).Elem()
  4908  }
  4909  
  4910  // A boxed array of `HostScsiTopologyTarget`. To be used in `Any` placeholders.
  4911  type ArrayOfHostScsiTopologyTarget struct {
  4912  	HostScsiTopologyTarget []HostScsiTopologyTarget `xml:"HostScsiTopologyTarget,omitempty" json:"_value"`
  4913  }
  4914  
  4915  func init() {
  4916  	t["ArrayOfHostScsiTopologyTarget"] = reflect.TypeOf((*ArrayOfHostScsiTopologyTarget)(nil)).Elem()
  4917  }
  4918  
  4919  // A boxed array of `HostService`. To be used in `Any` placeholders.
  4920  type ArrayOfHostService struct {
  4921  	HostService []HostService `xml:"HostService,omitempty" json:"_value"`
  4922  }
  4923  
  4924  func init() {
  4925  	t["ArrayOfHostService"] = reflect.TypeOf((*ArrayOfHostService)(nil)).Elem()
  4926  }
  4927  
  4928  // A boxed array of `HostServiceConfig`. To be used in `Any` placeholders.
  4929  type ArrayOfHostServiceConfig struct {
  4930  	HostServiceConfig []HostServiceConfig `xml:"HostServiceConfig,omitempty" json:"_value"`
  4931  }
  4932  
  4933  func init() {
  4934  	t["ArrayOfHostServiceConfig"] = reflect.TypeOf((*ArrayOfHostServiceConfig)(nil)).Elem()
  4935  }
  4936  
  4937  // A boxed array of `HostSharedGpuCapabilities`. To be used in `Any` placeholders.
  4938  type ArrayOfHostSharedGpuCapabilities struct {
  4939  	HostSharedGpuCapabilities []HostSharedGpuCapabilities `xml:"HostSharedGpuCapabilities,omitempty" json:"_value"`
  4940  }
  4941  
  4942  func init() {
  4943  	t["ArrayOfHostSharedGpuCapabilities"] = reflect.TypeOf((*ArrayOfHostSharedGpuCapabilities)(nil)).Elem()
  4944  }
  4945  
  4946  // A boxed array of `HostSnmpDestination`. To be used in `Any` placeholders.
  4947  type ArrayOfHostSnmpDestination struct {
  4948  	HostSnmpDestination []HostSnmpDestination `xml:"HostSnmpDestination,omitempty" json:"_value"`
  4949  }
  4950  
  4951  func init() {
  4952  	t["ArrayOfHostSnmpDestination"] = reflect.TypeOf((*ArrayOfHostSnmpDestination)(nil)).Elem()
  4953  }
  4954  
  4955  // A boxed array of `HostSriovDevicePoolInfo`. To be used in `Any` placeholders.
  4956  type ArrayOfHostSriovDevicePoolInfo struct {
  4957  	HostSriovDevicePoolInfo []BaseHostSriovDevicePoolInfo `xml:"HostSriovDevicePoolInfo,omitempty,typeattr" json:"_value"`
  4958  }
  4959  
  4960  func init() {
  4961  	t["ArrayOfHostSriovDevicePoolInfo"] = reflect.TypeOf((*ArrayOfHostSriovDevicePoolInfo)(nil)).Elem()
  4962  }
  4963  
  4964  // A boxed array of `HostSslThumbprintInfo`. To be used in `Any` placeholders.
  4965  type ArrayOfHostSslThumbprintInfo struct {
  4966  	HostSslThumbprintInfo []HostSslThumbprintInfo `xml:"HostSslThumbprintInfo,omitempty" json:"_value"`
  4967  }
  4968  
  4969  func init() {
  4970  	t["ArrayOfHostSslThumbprintInfo"] = reflect.TypeOf((*ArrayOfHostSslThumbprintInfo)(nil)).Elem()
  4971  }
  4972  
  4973  // A boxed array of `HostStorageArrayTypePolicyOption`. To be used in `Any` placeholders.
  4974  type ArrayOfHostStorageArrayTypePolicyOption struct {
  4975  	HostStorageArrayTypePolicyOption []HostStorageArrayTypePolicyOption `xml:"HostStorageArrayTypePolicyOption,omitempty" json:"_value"`
  4976  }
  4977  
  4978  func init() {
  4979  	t["ArrayOfHostStorageArrayTypePolicyOption"] = reflect.TypeOf((*ArrayOfHostStorageArrayTypePolicyOption)(nil)).Elem()
  4980  }
  4981  
  4982  // A boxed array of `HostStorageElementInfo`. To be used in `Any` placeholders.
  4983  type ArrayOfHostStorageElementInfo struct {
  4984  	HostStorageElementInfo []HostStorageElementInfo `xml:"HostStorageElementInfo,omitempty" json:"_value"`
  4985  }
  4986  
  4987  func init() {
  4988  	t["ArrayOfHostStorageElementInfo"] = reflect.TypeOf((*ArrayOfHostStorageElementInfo)(nil)).Elem()
  4989  }
  4990  
  4991  // A boxed array of `HostStorageOperationalInfo`. To be used in `Any` placeholders.
  4992  type ArrayOfHostStorageOperationalInfo struct {
  4993  	HostStorageOperationalInfo []HostStorageOperationalInfo `xml:"HostStorageOperationalInfo,omitempty" json:"_value"`
  4994  }
  4995  
  4996  func init() {
  4997  	t["ArrayOfHostStorageOperationalInfo"] = reflect.TypeOf((*ArrayOfHostStorageOperationalInfo)(nil)).Elem()
  4998  }
  4999  
  5000  // A boxed array of `HostStorageSystemDiskLocatorLedResult`. To be used in `Any` placeholders.
  5001  type ArrayOfHostStorageSystemDiskLocatorLedResult struct {
  5002  	HostStorageSystemDiskLocatorLedResult []HostStorageSystemDiskLocatorLedResult `xml:"HostStorageSystemDiskLocatorLedResult,omitempty" json:"_value"`
  5003  }
  5004  
  5005  func init() {
  5006  	t["ArrayOfHostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemDiskLocatorLedResult)(nil)).Elem()
  5007  }
  5008  
  5009  // A boxed array of `HostStorageSystemScsiLunResult`. To be used in `Any` placeholders.
  5010  type ArrayOfHostStorageSystemScsiLunResult struct {
  5011  	HostStorageSystemScsiLunResult []HostStorageSystemScsiLunResult `xml:"HostStorageSystemScsiLunResult,omitempty" json:"_value"`
  5012  }
  5013  
  5014  func init() {
  5015  	t["ArrayOfHostStorageSystemScsiLunResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemScsiLunResult)(nil)).Elem()
  5016  }
  5017  
  5018  // A boxed array of `HostStorageSystemVmfsVolumeResult`. To be used in `Any` placeholders.
  5019  type ArrayOfHostStorageSystemVmfsVolumeResult struct {
  5020  	HostStorageSystemVmfsVolumeResult []HostStorageSystemVmfsVolumeResult `xml:"HostStorageSystemVmfsVolumeResult,omitempty" json:"_value"`
  5021  }
  5022  
  5023  func init() {
  5024  	t["ArrayOfHostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemVmfsVolumeResult)(nil)).Elem()
  5025  }
  5026  
  5027  // A boxed array of `HostSubSpecification`. To be used in `Any` placeholders.
  5028  type ArrayOfHostSubSpecification struct {
  5029  	HostSubSpecification []HostSubSpecification `xml:"HostSubSpecification,omitempty" json:"_value"`
  5030  }
  5031  
  5032  func init() {
  5033  	t["ArrayOfHostSubSpecification"] = reflect.TypeOf((*ArrayOfHostSubSpecification)(nil)).Elem()
  5034  }
  5035  
  5036  // A boxed array of `HostSystemIdentificationInfo`. To be used in `Any` placeholders.
  5037  type ArrayOfHostSystemIdentificationInfo struct {
  5038  	HostSystemIdentificationInfo []HostSystemIdentificationInfo `xml:"HostSystemIdentificationInfo,omitempty" json:"_value"`
  5039  }
  5040  
  5041  func init() {
  5042  	t["ArrayOfHostSystemIdentificationInfo"] = reflect.TypeOf((*ArrayOfHostSystemIdentificationInfo)(nil)).Elem()
  5043  }
  5044  
  5045  // A boxed array of `HostSystemResourceInfo`. To be used in `Any` placeholders.
  5046  type ArrayOfHostSystemResourceInfo struct {
  5047  	HostSystemResourceInfo []HostSystemResourceInfo `xml:"HostSystemResourceInfo,omitempty" json:"_value"`
  5048  }
  5049  
  5050  func init() {
  5051  	t["ArrayOfHostSystemResourceInfo"] = reflect.TypeOf((*ArrayOfHostSystemResourceInfo)(nil)).Elem()
  5052  }
  5053  
  5054  // A boxed array of `HostSystemSwapConfigurationSystemSwapOption`. To be used in `Any` placeholders.
  5055  type ArrayOfHostSystemSwapConfigurationSystemSwapOption struct {
  5056  	HostSystemSwapConfigurationSystemSwapOption []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"HostSystemSwapConfigurationSystemSwapOption,omitempty,typeattr" json:"_value"`
  5057  }
  5058  
  5059  func init() {
  5060  	t["ArrayOfHostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*ArrayOfHostSystemSwapConfigurationSystemSwapOption)(nil)).Elem()
  5061  }
  5062  
  5063  // A boxed array of `HostTpmDigestInfo`. To be used in `Any` placeholders.
  5064  type ArrayOfHostTpmDigestInfo struct {
  5065  	HostTpmDigestInfo []HostTpmDigestInfo `xml:"HostTpmDigestInfo,omitempty" json:"_value"`
  5066  }
  5067  
  5068  func init() {
  5069  	t["ArrayOfHostTpmDigestInfo"] = reflect.TypeOf((*ArrayOfHostTpmDigestInfo)(nil)).Elem()
  5070  }
  5071  
  5072  // A boxed array of `HostTpmEventLogEntry`. To be used in `Any` placeholders.
  5073  type ArrayOfHostTpmEventLogEntry struct {
  5074  	HostTpmEventLogEntry []HostTpmEventLogEntry `xml:"HostTpmEventLogEntry,omitempty" json:"_value"`
  5075  }
  5076  
  5077  func init() {
  5078  	t["ArrayOfHostTpmEventLogEntry"] = reflect.TypeOf((*ArrayOfHostTpmEventLogEntry)(nil)).Elem()
  5079  }
  5080  
  5081  // A boxed array of `HostTrustAuthorityAttestationInfo`. To be used in `Any` placeholders.
  5082  type ArrayOfHostTrustAuthorityAttestationInfo struct {
  5083  	HostTrustAuthorityAttestationInfo []HostTrustAuthorityAttestationInfo `xml:"HostTrustAuthorityAttestationInfo,omitempty" json:"_value"`
  5084  }
  5085  
  5086  func init() {
  5087  	t["ArrayOfHostTrustAuthorityAttestationInfo"] = reflect.TypeOf((*ArrayOfHostTrustAuthorityAttestationInfo)(nil)).Elem()
  5088  	minAPIVersionForType["ArrayOfHostTrustAuthorityAttestationInfo"] = "7.0.1.0"
  5089  }
  5090  
  5091  // A boxed array of `HostUnresolvedVmfsExtent`. To be used in `Any` placeholders.
  5092  type ArrayOfHostUnresolvedVmfsExtent struct {
  5093  	HostUnresolvedVmfsExtent []HostUnresolvedVmfsExtent `xml:"HostUnresolvedVmfsExtent,omitempty" json:"_value"`
  5094  }
  5095  
  5096  func init() {
  5097  	t["ArrayOfHostUnresolvedVmfsExtent"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsExtent)(nil)).Elem()
  5098  }
  5099  
  5100  // A boxed array of `HostUnresolvedVmfsResolutionResult`. To be used in `Any` placeholders.
  5101  type ArrayOfHostUnresolvedVmfsResolutionResult struct {
  5102  	HostUnresolvedVmfsResolutionResult []HostUnresolvedVmfsResolutionResult `xml:"HostUnresolvedVmfsResolutionResult,omitempty" json:"_value"`
  5103  }
  5104  
  5105  func init() {
  5106  	t["ArrayOfHostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionResult)(nil)).Elem()
  5107  }
  5108  
  5109  // A boxed array of `HostUnresolvedVmfsResolutionSpec`. To be used in `Any` placeholders.
  5110  type ArrayOfHostUnresolvedVmfsResolutionSpec struct {
  5111  	HostUnresolvedVmfsResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"HostUnresolvedVmfsResolutionSpec,omitempty" json:"_value"`
  5112  }
  5113  
  5114  func init() {
  5115  	t["ArrayOfHostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionSpec)(nil)).Elem()
  5116  }
  5117  
  5118  // A boxed array of `HostUnresolvedVmfsVolume`. To be used in `Any` placeholders.
  5119  type ArrayOfHostUnresolvedVmfsVolume struct {
  5120  	HostUnresolvedVmfsVolume []HostUnresolvedVmfsVolume `xml:"HostUnresolvedVmfsVolume,omitempty" json:"_value"`
  5121  }
  5122  
  5123  func init() {
  5124  	t["ArrayOfHostUnresolvedVmfsVolume"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsVolume)(nil)).Elem()
  5125  }
  5126  
  5127  // A boxed array of `HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption`. To be used in `Any` placeholders.
  5128  type ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
  5129  	HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption,omitempty" json:"_value"`
  5130  }
  5131  
  5132  func init() {
  5133  	t["ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem()
  5134  }
  5135  
  5136  // A boxed array of `HostVMotionCompatibility`. To be used in `Any` placeholders.
  5137  type ArrayOfHostVMotionCompatibility struct {
  5138  	HostVMotionCompatibility []HostVMotionCompatibility `xml:"HostVMotionCompatibility,omitempty" json:"_value"`
  5139  }
  5140  
  5141  func init() {
  5142  	t["ArrayOfHostVMotionCompatibility"] = reflect.TypeOf((*ArrayOfHostVMotionCompatibility)(nil)).Elem()
  5143  }
  5144  
  5145  // A boxed array of `HostVirtualNic`. To be used in `Any` placeholders.
  5146  type ArrayOfHostVirtualNic struct {
  5147  	HostVirtualNic []HostVirtualNic `xml:"HostVirtualNic,omitempty" json:"_value"`
  5148  }
  5149  
  5150  func init() {
  5151  	t["ArrayOfHostVirtualNic"] = reflect.TypeOf((*ArrayOfHostVirtualNic)(nil)).Elem()
  5152  }
  5153  
  5154  // A boxed array of `HostVirtualNicConfig`. To be used in `Any` placeholders.
  5155  type ArrayOfHostVirtualNicConfig struct {
  5156  	HostVirtualNicConfig []HostVirtualNicConfig `xml:"HostVirtualNicConfig,omitempty" json:"_value"`
  5157  }
  5158  
  5159  func init() {
  5160  	t["ArrayOfHostVirtualNicConfig"] = reflect.TypeOf((*ArrayOfHostVirtualNicConfig)(nil)).Elem()
  5161  }
  5162  
  5163  // A boxed array of `HostVirtualNicManagerNicTypeSelection`. To be used in `Any` placeholders.
  5164  type ArrayOfHostVirtualNicManagerNicTypeSelection struct {
  5165  	HostVirtualNicManagerNicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"HostVirtualNicManagerNicTypeSelection,omitempty" json:"_value"`
  5166  }
  5167  
  5168  func init() {
  5169  	t["ArrayOfHostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*ArrayOfHostVirtualNicManagerNicTypeSelection)(nil)).Elem()
  5170  }
  5171  
  5172  // A boxed array of `HostVirtualSwitch`. To be used in `Any` placeholders.
  5173  type ArrayOfHostVirtualSwitch struct {
  5174  	HostVirtualSwitch []HostVirtualSwitch `xml:"HostVirtualSwitch,omitempty" json:"_value"`
  5175  }
  5176  
  5177  func init() {
  5178  	t["ArrayOfHostVirtualSwitch"] = reflect.TypeOf((*ArrayOfHostVirtualSwitch)(nil)).Elem()
  5179  }
  5180  
  5181  // A boxed array of `HostVirtualSwitchConfig`. To be used in `Any` placeholders.
  5182  type ArrayOfHostVirtualSwitchConfig struct {
  5183  	HostVirtualSwitchConfig []HostVirtualSwitchConfig `xml:"HostVirtualSwitchConfig,omitempty" json:"_value"`
  5184  }
  5185  
  5186  func init() {
  5187  	t["ArrayOfHostVirtualSwitchConfig"] = reflect.TypeOf((*ArrayOfHostVirtualSwitchConfig)(nil)).Elem()
  5188  }
  5189  
  5190  // A boxed array of `HostVmciAccessManagerAccessSpec`. To be used in `Any` placeholders.
  5191  type ArrayOfHostVmciAccessManagerAccessSpec struct {
  5192  	HostVmciAccessManagerAccessSpec []HostVmciAccessManagerAccessSpec `xml:"HostVmciAccessManagerAccessSpec,omitempty" json:"_value"`
  5193  }
  5194  
  5195  func init() {
  5196  	t["ArrayOfHostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*ArrayOfHostVmciAccessManagerAccessSpec)(nil)).Elem()
  5197  }
  5198  
  5199  // A boxed array of `HostVmfsRescanResult`. To be used in `Any` placeholders.
  5200  type ArrayOfHostVmfsRescanResult struct {
  5201  	HostVmfsRescanResult []HostVmfsRescanResult `xml:"HostVmfsRescanResult,omitempty" json:"_value"`
  5202  }
  5203  
  5204  func init() {
  5205  	t["ArrayOfHostVmfsRescanResult"] = reflect.TypeOf((*ArrayOfHostVmfsRescanResult)(nil)).Elem()
  5206  }
  5207  
  5208  // A boxed array of `HostVsanInternalSystemCmmdsQuery`. To be used in `Any` placeholders.
  5209  type ArrayOfHostVsanInternalSystemCmmdsQuery struct {
  5210  	HostVsanInternalSystemCmmdsQuery []HostVsanInternalSystemCmmdsQuery `xml:"HostVsanInternalSystemCmmdsQuery,omitempty" json:"_value"`
  5211  }
  5212  
  5213  func init() {
  5214  	t["ArrayOfHostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemCmmdsQuery)(nil)).Elem()
  5215  }
  5216  
  5217  // A boxed array of `HostVsanInternalSystemDeleteVsanObjectsResult`. To be used in `Any` placeholders.
  5218  type ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult struct {
  5219  	HostVsanInternalSystemDeleteVsanObjectsResult []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"HostVsanInternalSystemDeleteVsanObjectsResult,omitempty" json:"_value"`
  5220  }
  5221  
  5222  func init() {
  5223  	t["ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem()
  5224  }
  5225  
  5226  // A boxed array of `HostVsanInternalSystemVsanObjectOperationResult`. To be used in `Any` placeholders.
  5227  type ArrayOfHostVsanInternalSystemVsanObjectOperationResult struct {
  5228  	HostVsanInternalSystemVsanObjectOperationResult []HostVsanInternalSystemVsanObjectOperationResult `xml:"HostVsanInternalSystemVsanObjectOperationResult,omitempty" json:"_value"`
  5229  }
  5230  
  5231  func init() {
  5232  	t["ArrayOfHostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem()
  5233  }
  5234  
  5235  // A boxed array of `HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult`. To be used in `Any` placeholders.
  5236  type ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
  5237  	HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult,omitempty" json:"_value"`
  5238  }
  5239  
  5240  func init() {
  5241  	t["ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem()
  5242  }
  5243  
  5244  // A boxed array of `HostVvolNQN`. To be used in `Any` placeholders.
  5245  type ArrayOfHostVvolNQN struct {
  5246  	HostVvolNQN []HostVvolNQN `xml:"HostVvolNQN,omitempty" json:"_value"`
  5247  }
  5248  
  5249  func init() {
  5250  	t["ArrayOfHostVvolNQN"] = reflect.TypeOf((*ArrayOfHostVvolNQN)(nil)).Elem()
  5251  	minAPIVersionForType["ArrayOfHostVvolNQN"] = "8.0.2.0"
  5252  }
  5253  
  5254  // A boxed array of `HostVvolVolumeHostVvolNQN`. To be used in `Any` placeholders.
  5255  type ArrayOfHostVvolVolumeHostVvolNQN struct {
  5256  	HostVvolVolumeHostVvolNQN []HostVvolVolumeHostVvolNQN `xml:"HostVvolVolumeHostVvolNQN,omitempty" json:"_value"`
  5257  }
  5258  
  5259  func init() {
  5260  	t["ArrayOfHostVvolVolumeHostVvolNQN"] = reflect.TypeOf((*ArrayOfHostVvolVolumeHostVvolNQN)(nil)).Elem()
  5261  	minAPIVersionForType["ArrayOfHostVvolVolumeHostVvolNQN"] = "8.0.2.0"
  5262  }
  5263  
  5264  // A boxed array of `HttpNfcLeaseDatastoreLeaseInfo`. To be used in `Any` placeholders.
  5265  type ArrayOfHttpNfcLeaseDatastoreLeaseInfo struct {
  5266  	HttpNfcLeaseDatastoreLeaseInfo []HttpNfcLeaseDatastoreLeaseInfo `xml:"HttpNfcLeaseDatastoreLeaseInfo,omitempty" json:"_value"`
  5267  }
  5268  
  5269  func init() {
  5270  	t["ArrayOfHttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem()
  5271  }
  5272  
  5273  // A boxed array of `HttpNfcLeaseDeviceUrl`. To be used in `Any` placeholders.
  5274  type ArrayOfHttpNfcLeaseDeviceUrl struct {
  5275  	HttpNfcLeaseDeviceUrl []HttpNfcLeaseDeviceUrl `xml:"HttpNfcLeaseDeviceUrl,omitempty" json:"_value"`
  5276  }
  5277  
  5278  func init() {
  5279  	t["ArrayOfHttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDeviceUrl)(nil)).Elem()
  5280  }
  5281  
  5282  // A boxed array of `HttpNfcLeaseHostInfo`. To be used in `Any` placeholders.
  5283  type ArrayOfHttpNfcLeaseHostInfo struct {
  5284  	HttpNfcLeaseHostInfo []HttpNfcLeaseHostInfo `xml:"HttpNfcLeaseHostInfo,omitempty" json:"_value"`
  5285  }
  5286  
  5287  func init() {
  5288  	t["ArrayOfHttpNfcLeaseHostInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseHostInfo)(nil)).Elem()
  5289  }
  5290  
  5291  // A boxed array of `HttpNfcLeaseManifestEntry`. To be used in `Any` placeholders.
  5292  type ArrayOfHttpNfcLeaseManifestEntry struct {
  5293  	HttpNfcLeaseManifestEntry []HttpNfcLeaseManifestEntry `xml:"HttpNfcLeaseManifestEntry,omitempty" json:"_value"`
  5294  }
  5295  
  5296  func init() {
  5297  	t["ArrayOfHttpNfcLeaseManifestEntry"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseManifestEntry)(nil)).Elem()
  5298  }
  5299  
  5300  // A boxed array of `HttpNfcLeaseProbeResult`. To be used in `Any` placeholders.
  5301  type ArrayOfHttpNfcLeaseProbeResult struct {
  5302  	HttpNfcLeaseProbeResult []HttpNfcLeaseProbeResult `xml:"HttpNfcLeaseProbeResult,omitempty" json:"_value"`
  5303  }
  5304  
  5305  func init() {
  5306  	t["ArrayOfHttpNfcLeaseProbeResult"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseProbeResult)(nil)).Elem()
  5307  	minAPIVersionForType["ArrayOfHttpNfcLeaseProbeResult"] = "7.0.2.0"
  5308  }
  5309  
  5310  // A boxed array of `HttpNfcLeaseSourceFile`. To be used in `Any` placeholders.
  5311  type ArrayOfHttpNfcLeaseSourceFile struct {
  5312  	HttpNfcLeaseSourceFile []HttpNfcLeaseSourceFile `xml:"HttpNfcLeaseSourceFile,omitempty" json:"_value"`
  5313  }
  5314  
  5315  func init() {
  5316  	t["ArrayOfHttpNfcLeaseSourceFile"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseSourceFile)(nil)).Elem()
  5317  }
  5318  
  5319  // A boxed array of `ID`. To be used in `Any` placeholders.
  5320  type ArrayOfID struct {
  5321  	ID []ID `xml:"ID,omitempty" json:"_value"`
  5322  }
  5323  
  5324  func init() {
  5325  	t["ArrayOfID"] = reflect.TypeOf((*ArrayOfID)(nil)).Elem()
  5326  }
  5327  
  5328  // A boxed array of `ImportOperationBulkFaultFaultOnImport`. To be used in `Any` placeholders.
  5329  type ArrayOfImportOperationBulkFaultFaultOnImport struct {
  5330  	ImportOperationBulkFaultFaultOnImport []ImportOperationBulkFaultFaultOnImport `xml:"ImportOperationBulkFaultFaultOnImport,omitempty" json:"_value"`
  5331  }
  5332  
  5333  func init() {
  5334  	t["ArrayOfImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ArrayOfImportOperationBulkFaultFaultOnImport)(nil)).Elem()
  5335  }
  5336  
  5337  // A boxed array of `ImportSpec`. To be used in `Any` placeholders.
  5338  type ArrayOfImportSpec struct {
  5339  	ImportSpec []BaseImportSpec `xml:"ImportSpec,omitempty,typeattr" json:"_value"`
  5340  }
  5341  
  5342  func init() {
  5343  	t["ArrayOfImportSpec"] = reflect.TypeOf((*ArrayOfImportSpec)(nil)).Elem()
  5344  }
  5345  
  5346  // A boxed array of `PrimitiveInt`. To be used in `Any` placeholders.
  5347  type ArrayOfInt struct {
  5348  	Int []int32 `xml:"int,omitempty" json:"_value"`
  5349  }
  5350  
  5351  func init() {
  5352  	t["ArrayOfInt"] = reflect.TypeOf((*ArrayOfInt)(nil)).Elem()
  5353  }
  5354  
  5355  // A boxed array of `IoFilterHostIssue`. To be used in `Any` placeholders.
  5356  type ArrayOfIoFilterHostIssue struct {
  5357  	IoFilterHostIssue []IoFilterHostIssue `xml:"IoFilterHostIssue,omitempty" json:"_value"`
  5358  }
  5359  
  5360  func init() {
  5361  	t["ArrayOfIoFilterHostIssue"] = reflect.TypeOf((*ArrayOfIoFilterHostIssue)(nil)).Elem()
  5362  }
  5363  
  5364  // A boxed array of `IpPool`. To be used in `Any` placeholders.
  5365  type ArrayOfIpPool struct {
  5366  	IpPool []IpPool `xml:"IpPool,omitempty" json:"_value"`
  5367  }
  5368  
  5369  func init() {
  5370  	t["ArrayOfIpPool"] = reflect.TypeOf((*ArrayOfIpPool)(nil)).Elem()
  5371  }
  5372  
  5373  // A boxed array of `IpPoolAssociation`. To be used in `Any` placeholders.
  5374  type ArrayOfIpPoolAssociation struct {
  5375  	IpPoolAssociation []IpPoolAssociation `xml:"IpPoolAssociation,omitempty" json:"_value"`
  5376  }
  5377  
  5378  func init() {
  5379  	t["ArrayOfIpPoolAssociation"] = reflect.TypeOf((*ArrayOfIpPoolAssociation)(nil)).Elem()
  5380  }
  5381  
  5382  // A boxed array of `IpPoolManagerIpAllocation`. To be used in `Any` placeholders.
  5383  type ArrayOfIpPoolManagerIpAllocation struct {
  5384  	IpPoolManagerIpAllocation []IpPoolManagerIpAllocation `xml:"IpPoolManagerIpAllocation,omitempty" json:"_value"`
  5385  }
  5386  
  5387  func init() {
  5388  	t["ArrayOfIpPoolManagerIpAllocation"] = reflect.TypeOf((*ArrayOfIpPoolManagerIpAllocation)(nil)).Elem()
  5389  }
  5390  
  5391  // A boxed array of `IscsiDependencyEntity`. To be used in `Any` placeholders.
  5392  type ArrayOfIscsiDependencyEntity struct {
  5393  	IscsiDependencyEntity []IscsiDependencyEntity `xml:"IscsiDependencyEntity,omitempty" json:"_value"`
  5394  }
  5395  
  5396  func init() {
  5397  	t["ArrayOfIscsiDependencyEntity"] = reflect.TypeOf((*ArrayOfIscsiDependencyEntity)(nil)).Elem()
  5398  }
  5399  
  5400  // A boxed array of `IscsiPortInfo`. To be used in `Any` placeholders.
  5401  type ArrayOfIscsiPortInfo struct {
  5402  	IscsiPortInfo []IscsiPortInfo `xml:"IscsiPortInfo,omitempty" json:"_value"`
  5403  }
  5404  
  5405  func init() {
  5406  	t["ArrayOfIscsiPortInfo"] = reflect.TypeOf((*ArrayOfIscsiPortInfo)(nil)).Elem()
  5407  }
  5408  
  5409  // A boxed array of `KernelModuleInfo`. To be used in `Any` placeholders.
  5410  type ArrayOfKernelModuleInfo struct {
  5411  	KernelModuleInfo []KernelModuleInfo `xml:"KernelModuleInfo,omitempty" json:"_value"`
  5412  }
  5413  
  5414  func init() {
  5415  	t["ArrayOfKernelModuleInfo"] = reflect.TypeOf((*ArrayOfKernelModuleInfo)(nil)).Elem()
  5416  }
  5417  
  5418  // A boxed array of `KeyAnyValue`. To be used in `Any` placeholders.
  5419  type ArrayOfKeyAnyValue struct {
  5420  	KeyAnyValue []KeyAnyValue `xml:"KeyAnyValue,omitempty" json:"_value"`
  5421  }
  5422  
  5423  func init() {
  5424  	t["ArrayOfKeyAnyValue"] = reflect.TypeOf((*ArrayOfKeyAnyValue)(nil)).Elem()
  5425  }
  5426  
  5427  // A boxed array of `KeyValue`. To be used in `Any` placeholders.
  5428  type ArrayOfKeyValue struct {
  5429  	KeyValue []KeyValue `xml:"KeyValue,omitempty" json:"_value"`
  5430  }
  5431  
  5432  func init() {
  5433  	t["ArrayOfKeyValue"] = reflect.TypeOf((*ArrayOfKeyValue)(nil)).Elem()
  5434  }
  5435  
  5436  // A boxed array of `KmipClusterInfo`. To be used in `Any` placeholders.
  5437  type ArrayOfKmipClusterInfo struct {
  5438  	KmipClusterInfo []KmipClusterInfo `xml:"KmipClusterInfo,omitempty" json:"_value"`
  5439  }
  5440  
  5441  func init() {
  5442  	t["ArrayOfKmipClusterInfo"] = reflect.TypeOf((*ArrayOfKmipClusterInfo)(nil)).Elem()
  5443  }
  5444  
  5445  // A boxed array of `KmipServerInfo`. To be used in `Any` placeholders.
  5446  type ArrayOfKmipServerInfo struct {
  5447  	KmipServerInfo []KmipServerInfo `xml:"KmipServerInfo,omitempty" json:"_value"`
  5448  }
  5449  
  5450  func init() {
  5451  	t["ArrayOfKmipServerInfo"] = reflect.TypeOf((*ArrayOfKmipServerInfo)(nil)).Elem()
  5452  }
  5453  
  5454  // A boxed array of `LicenseAssignmentManagerLicenseAssignment`. To be used in `Any` placeholders.
  5455  type ArrayOfLicenseAssignmentManagerLicenseAssignment struct {
  5456  	LicenseAssignmentManagerLicenseAssignment []LicenseAssignmentManagerLicenseAssignment `xml:"LicenseAssignmentManagerLicenseAssignment,omitempty" json:"_value"`
  5457  }
  5458  
  5459  func init() {
  5460  	t["ArrayOfLicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*ArrayOfLicenseAssignmentManagerLicenseAssignment)(nil)).Elem()
  5461  }
  5462  
  5463  // A boxed array of `LicenseAvailabilityInfo`. To be used in `Any` placeholders.
  5464  type ArrayOfLicenseAvailabilityInfo struct {
  5465  	LicenseAvailabilityInfo []LicenseAvailabilityInfo `xml:"LicenseAvailabilityInfo,omitempty" json:"_value"`
  5466  }
  5467  
  5468  func init() {
  5469  	t["ArrayOfLicenseAvailabilityInfo"] = reflect.TypeOf((*ArrayOfLicenseAvailabilityInfo)(nil)).Elem()
  5470  }
  5471  
  5472  // A boxed array of `LicenseFeatureInfo`. To be used in `Any` placeholders.
  5473  type ArrayOfLicenseFeatureInfo struct {
  5474  	LicenseFeatureInfo []LicenseFeatureInfo `xml:"LicenseFeatureInfo,omitempty" json:"_value"`
  5475  }
  5476  
  5477  func init() {
  5478  	t["ArrayOfLicenseFeatureInfo"] = reflect.TypeOf((*ArrayOfLicenseFeatureInfo)(nil)).Elem()
  5479  }
  5480  
  5481  // A boxed array of `LicenseManagerLicenseInfo`. To be used in `Any` placeholders.
  5482  type ArrayOfLicenseManagerLicenseInfo struct {
  5483  	LicenseManagerLicenseInfo []LicenseManagerLicenseInfo `xml:"LicenseManagerLicenseInfo,omitempty" json:"_value"`
  5484  }
  5485  
  5486  func init() {
  5487  	t["ArrayOfLicenseManagerLicenseInfo"] = reflect.TypeOf((*ArrayOfLicenseManagerLicenseInfo)(nil)).Elem()
  5488  }
  5489  
  5490  // A boxed array of `LicenseReservationInfo`. To be used in `Any` placeholders.
  5491  type ArrayOfLicenseReservationInfo struct {
  5492  	LicenseReservationInfo []LicenseReservationInfo `xml:"LicenseReservationInfo,omitempty" json:"_value"`
  5493  }
  5494  
  5495  func init() {
  5496  	t["ArrayOfLicenseReservationInfo"] = reflect.TypeOf((*ArrayOfLicenseReservationInfo)(nil)).Elem()
  5497  }
  5498  
  5499  // A boxed array of `LocalizableMessage`. To be used in `Any` placeholders.
  5500  type ArrayOfLocalizableMessage struct {
  5501  	LocalizableMessage []LocalizableMessage `xml:"LocalizableMessage,omitempty" json:"_value"`
  5502  }
  5503  
  5504  func init() {
  5505  	t["ArrayOfLocalizableMessage"] = reflect.TypeOf((*ArrayOfLocalizableMessage)(nil)).Elem()
  5506  }
  5507  
  5508  // A boxed array of `LocalizationManagerMessageCatalog`. To be used in `Any` placeholders.
  5509  type ArrayOfLocalizationManagerMessageCatalog struct {
  5510  	LocalizationManagerMessageCatalog []LocalizationManagerMessageCatalog `xml:"LocalizationManagerMessageCatalog,omitempty" json:"_value"`
  5511  }
  5512  
  5513  func init() {
  5514  	t["ArrayOfLocalizationManagerMessageCatalog"] = reflect.TypeOf((*ArrayOfLocalizationManagerMessageCatalog)(nil)).Elem()
  5515  }
  5516  
  5517  // A boxed array of `PrimitiveLong`. To be used in `Any` placeholders.
  5518  type ArrayOfLong struct {
  5519  	Long []int64 `xml:"long,omitempty" json:"_value"`
  5520  }
  5521  
  5522  func init() {
  5523  	t["ArrayOfLong"] = reflect.TypeOf((*ArrayOfLong)(nil)).Elem()
  5524  }
  5525  
  5526  // A boxed array of `ManagedEntityStatus_enum`. To be used in `Any` placeholders.
  5527  type ArrayOfManagedEntityStatus struct {
  5528  	ManagedEntityStatus []ManagedEntityStatus `xml:"ManagedEntityStatus,omitempty" json:"_value"`
  5529  }
  5530  
  5531  func init() {
  5532  	t["ArrayOfManagedEntityStatus"] = reflect.TypeOf((*ArrayOfManagedEntityStatus)(nil)).Elem()
  5533  }
  5534  
  5535  // A boxed array of `ManagedObjectReference`. To be used in `Any` placeholders.
  5536  type ArrayOfManagedObjectReference struct {
  5537  	ManagedObjectReference []ManagedObjectReference `xml:"ManagedObjectReference,omitempty" json:"_value"`
  5538  }
  5539  
  5540  func init() {
  5541  	t["ArrayOfManagedObjectReference"] = reflect.TypeOf((*ArrayOfManagedObjectReference)(nil)).Elem()
  5542  }
  5543  
  5544  // A boxed array of `MethodActionArgument`. To be used in `Any` placeholders.
  5545  type ArrayOfMethodActionArgument struct {
  5546  	MethodActionArgument []MethodActionArgument `xml:"MethodActionArgument,omitempty" json:"_value"`
  5547  }
  5548  
  5549  func init() {
  5550  	t["ArrayOfMethodActionArgument"] = reflect.TypeOf((*ArrayOfMethodActionArgument)(nil)).Elem()
  5551  }
  5552  
  5553  // A boxed array of `MethodFault`. To be used in `Any` placeholders.
  5554  type ArrayOfMethodFault struct {
  5555  	MethodFault []BaseMethodFault `xml:"MethodFault,omitempty,typeattr" json:"_value"`
  5556  }
  5557  
  5558  func init() {
  5559  	t["ArrayOfMethodFault"] = reflect.TypeOf((*ArrayOfMethodFault)(nil)).Elem()
  5560  }
  5561  
  5562  // A boxed array of `MissingObject`. To be used in `Any` placeholders.
  5563  type ArrayOfMissingObject struct {
  5564  	MissingObject []MissingObject `xml:"MissingObject,omitempty" json:"_value"`
  5565  }
  5566  
  5567  func init() {
  5568  	t["ArrayOfMissingObject"] = reflect.TypeOf((*ArrayOfMissingObject)(nil)).Elem()
  5569  }
  5570  
  5571  // A boxed array of `MissingProperty`. To be used in `Any` placeholders.
  5572  type ArrayOfMissingProperty struct {
  5573  	MissingProperty []MissingProperty `xml:"MissingProperty,omitempty" json:"_value"`
  5574  }
  5575  
  5576  func init() {
  5577  	t["ArrayOfMissingProperty"] = reflect.TypeOf((*ArrayOfMissingProperty)(nil)).Elem()
  5578  }
  5579  
  5580  // A boxed array of `MultipleCertificatesVerifyFaultThumbprintData`. To be used in `Any` placeholders.
  5581  type ArrayOfMultipleCertificatesVerifyFaultThumbprintData struct {
  5582  	MultipleCertificatesVerifyFaultThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"MultipleCertificatesVerifyFaultThumbprintData,omitempty" json:"_value"`
  5583  }
  5584  
  5585  func init() {
  5586  	t["ArrayOfMultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*ArrayOfMultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem()
  5587  }
  5588  
  5589  // A boxed array of `NasStorageProfile`. To be used in `Any` placeholders.
  5590  type ArrayOfNasStorageProfile struct {
  5591  	NasStorageProfile []NasStorageProfile `xml:"NasStorageProfile,omitempty" json:"_value"`
  5592  }
  5593  
  5594  func init() {
  5595  	t["ArrayOfNasStorageProfile"] = reflect.TypeOf((*ArrayOfNasStorageProfile)(nil)).Elem()
  5596  }
  5597  
  5598  // A boxed array of `NetIpConfigInfoIpAddress`. To be used in `Any` placeholders.
  5599  type ArrayOfNetIpConfigInfoIpAddress struct {
  5600  	NetIpConfigInfoIpAddress []NetIpConfigInfoIpAddress `xml:"NetIpConfigInfoIpAddress,omitempty" json:"_value"`
  5601  }
  5602  
  5603  func init() {
  5604  	t["ArrayOfNetIpConfigInfoIpAddress"] = reflect.TypeOf((*ArrayOfNetIpConfigInfoIpAddress)(nil)).Elem()
  5605  }
  5606  
  5607  // A boxed array of `NetIpConfigSpecIpAddressSpec`. To be used in `Any` placeholders.
  5608  type ArrayOfNetIpConfigSpecIpAddressSpec struct {
  5609  	NetIpConfigSpecIpAddressSpec []NetIpConfigSpecIpAddressSpec `xml:"NetIpConfigSpecIpAddressSpec,omitempty" json:"_value"`
  5610  }
  5611  
  5612  func init() {
  5613  	t["ArrayOfNetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*ArrayOfNetIpConfigSpecIpAddressSpec)(nil)).Elem()
  5614  }
  5615  
  5616  // A boxed array of `NetIpRouteConfigInfoIpRoute`. To be used in `Any` placeholders.
  5617  type ArrayOfNetIpRouteConfigInfoIpRoute struct {
  5618  	NetIpRouteConfigInfoIpRoute []NetIpRouteConfigInfoIpRoute `xml:"NetIpRouteConfigInfoIpRoute,omitempty" json:"_value"`
  5619  }
  5620  
  5621  func init() {
  5622  	t["ArrayOfNetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigInfoIpRoute)(nil)).Elem()
  5623  }
  5624  
  5625  // A boxed array of `NetIpRouteConfigSpecIpRouteSpec`. To be used in `Any` placeholders.
  5626  type ArrayOfNetIpRouteConfigSpecIpRouteSpec struct {
  5627  	NetIpRouteConfigSpecIpRouteSpec []NetIpRouteConfigSpecIpRouteSpec `xml:"NetIpRouteConfigSpecIpRouteSpec,omitempty" json:"_value"`
  5628  }
  5629  
  5630  func init() {
  5631  	t["ArrayOfNetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigSpecIpRouteSpec)(nil)).Elem()
  5632  }
  5633  
  5634  // A boxed array of `NetIpStackInfoDefaultRouter`. To be used in `Any` placeholders.
  5635  type ArrayOfNetIpStackInfoDefaultRouter struct {
  5636  	NetIpStackInfoDefaultRouter []NetIpStackInfoDefaultRouter `xml:"NetIpStackInfoDefaultRouter,omitempty" json:"_value"`
  5637  }
  5638  
  5639  func init() {
  5640  	t["ArrayOfNetIpStackInfoDefaultRouter"] = reflect.TypeOf((*ArrayOfNetIpStackInfoDefaultRouter)(nil)).Elem()
  5641  }
  5642  
  5643  // A boxed array of `NetIpStackInfoNetToMedia`. To be used in `Any` placeholders.
  5644  type ArrayOfNetIpStackInfoNetToMedia struct {
  5645  	NetIpStackInfoNetToMedia []NetIpStackInfoNetToMedia `xml:"NetIpStackInfoNetToMedia,omitempty" json:"_value"`
  5646  }
  5647  
  5648  func init() {
  5649  	t["ArrayOfNetIpStackInfoNetToMedia"] = reflect.TypeOf((*ArrayOfNetIpStackInfoNetToMedia)(nil)).Elem()
  5650  }
  5651  
  5652  // A boxed array of `NetStackInstanceProfile`. To be used in `Any` placeholders.
  5653  type ArrayOfNetStackInstanceProfile struct {
  5654  	NetStackInstanceProfile []NetStackInstanceProfile `xml:"NetStackInstanceProfile,omitempty" json:"_value"`
  5655  }
  5656  
  5657  func init() {
  5658  	t["ArrayOfNetStackInstanceProfile"] = reflect.TypeOf((*ArrayOfNetStackInstanceProfile)(nil)).Elem()
  5659  }
  5660  
  5661  // A boxed array of `NoPermissionEntityPrivileges`. To be used in `Any` placeholders.
  5662  type ArrayOfNoPermissionEntityPrivileges struct {
  5663  	NoPermissionEntityPrivileges []NoPermissionEntityPrivileges `xml:"NoPermissionEntityPrivileges,omitempty" json:"_value"`
  5664  }
  5665  
  5666  func init() {
  5667  	t["ArrayOfNoPermissionEntityPrivileges"] = reflect.TypeOf((*ArrayOfNoPermissionEntityPrivileges)(nil)).Elem()
  5668  	minAPIVersionForType["ArrayOfNoPermissionEntityPrivileges"] = "7.0.3.2"
  5669  }
  5670  
  5671  // A boxed array of `NsxHostVNicProfile`. To be used in `Any` placeholders.
  5672  type ArrayOfNsxHostVNicProfile struct {
  5673  	NsxHostVNicProfile []NsxHostVNicProfile `xml:"NsxHostVNicProfile,omitempty" json:"_value"`
  5674  }
  5675  
  5676  func init() {
  5677  	t["ArrayOfNsxHostVNicProfile"] = reflect.TypeOf((*ArrayOfNsxHostVNicProfile)(nil)).Elem()
  5678  }
  5679  
  5680  // A boxed array of `NumericRange`. To be used in `Any` placeholders.
  5681  type ArrayOfNumericRange struct {
  5682  	NumericRange []NumericRange `xml:"NumericRange,omitempty" json:"_value"`
  5683  }
  5684  
  5685  func init() {
  5686  	t["ArrayOfNumericRange"] = reflect.TypeOf((*ArrayOfNumericRange)(nil)).Elem()
  5687  }
  5688  
  5689  // A boxed array of `NvdimmDimmInfo`. To be used in `Any` placeholders.
  5690  type ArrayOfNvdimmDimmInfo struct {
  5691  	NvdimmDimmInfo []NvdimmDimmInfo `xml:"NvdimmDimmInfo,omitempty" json:"_value"`
  5692  }
  5693  
  5694  func init() {
  5695  	t["ArrayOfNvdimmDimmInfo"] = reflect.TypeOf((*ArrayOfNvdimmDimmInfo)(nil)).Elem()
  5696  }
  5697  
  5698  // A boxed array of `NvdimmGuid`. To be used in `Any` placeholders.
  5699  type ArrayOfNvdimmGuid struct {
  5700  	NvdimmGuid []NvdimmGuid `xml:"NvdimmGuid,omitempty" json:"_value"`
  5701  }
  5702  
  5703  func init() {
  5704  	t["ArrayOfNvdimmGuid"] = reflect.TypeOf((*ArrayOfNvdimmGuid)(nil)).Elem()
  5705  }
  5706  
  5707  // A boxed array of `NvdimmInterleaveSetInfo`. To be used in `Any` placeholders.
  5708  type ArrayOfNvdimmInterleaveSetInfo struct {
  5709  	NvdimmInterleaveSetInfo []NvdimmInterleaveSetInfo `xml:"NvdimmInterleaveSetInfo,omitempty" json:"_value"`
  5710  }
  5711  
  5712  func init() {
  5713  	t["ArrayOfNvdimmInterleaveSetInfo"] = reflect.TypeOf((*ArrayOfNvdimmInterleaveSetInfo)(nil)).Elem()
  5714  }
  5715  
  5716  // A boxed array of `NvdimmNamespaceDetails`. To be used in `Any` placeholders.
  5717  type ArrayOfNvdimmNamespaceDetails struct {
  5718  	NvdimmNamespaceDetails []NvdimmNamespaceDetails `xml:"NvdimmNamespaceDetails,omitempty" json:"_value"`
  5719  }
  5720  
  5721  func init() {
  5722  	t["ArrayOfNvdimmNamespaceDetails"] = reflect.TypeOf((*ArrayOfNvdimmNamespaceDetails)(nil)).Elem()
  5723  }
  5724  
  5725  // A boxed array of `NvdimmNamespaceInfo`. To be used in `Any` placeholders.
  5726  type ArrayOfNvdimmNamespaceInfo struct {
  5727  	NvdimmNamespaceInfo []NvdimmNamespaceInfo `xml:"NvdimmNamespaceInfo,omitempty" json:"_value"`
  5728  }
  5729  
  5730  func init() {
  5731  	t["ArrayOfNvdimmNamespaceInfo"] = reflect.TypeOf((*ArrayOfNvdimmNamespaceInfo)(nil)).Elem()
  5732  }
  5733  
  5734  // A boxed array of `NvdimmRegionInfo`. To be used in `Any` placeholders.
  5735  type ArrayOfNvdimmRegionInfo struct {
  5736  	NvdimmRegionInfo []NvdimmRegionInfo `xml:"NvdimmRegionInfo,omitempty" json:"_value"`
  5737  }
  5738  
  5739  func init() {
  5740  	t["ArrayOfNvdimmRegionInfo"] = reflect.TypeOf((*ArrayOfNvdimmRegionInfo)(nil)).Elem()
  5741  }
  5742  
  5743  // A boxed array of `ObjectContent`. To be used in `Any` placeholders.
  5744  type ArrayOfObjectContent struct {
  5745  	ObjectContent []ObjectContent `xml:"ObjectContent,omitempty" json:"_value"`
  5746  }
  5747  
  5748  func init() {
  5749  	t["ArrayOfObjectContent"] = reflect.TypeOf((*ArrayOfObjectContent)(nil)).Elem()
  5750  }
  5751  
  5752  // A boxed array of `ObjectSpec`. To be used in `Any` placeholders.
  5753  type ArrayOfObjectSpec struct {
  5754  	ObjectSpec []ObjectSpec `xml:"ObjectSpec,omitempty" json:"_value"`
  5755  }
  5756  
  5757  func init() {
  5758  	t["ArrayOfObjectSpec"] = reflect.TypeOf((*ArrayOfObjectSpec)(nil)).Elem()
  5759  }
  5760  
  5761  // A boxed array of `ObjectUpdate`. To be used in `Any` placeholders.
  5762  type ArrayOfObjectUpdate struct {
  5763  	ObjectUpdate []ObjectUpdate `xml:"ObjectUpdate,omitempty" json:"_value"`
  5764  }
  5765  
  5766  func init() {
  5767  	t["ArrayOfObjectUpdate"] = reflect.TypeOf((*ArrayOfObjectUpdate)(nil)).Elem()
  5768  }
  5769  
  5770  // A boxed array of `OpaqueNetworkTargetInfo`. To be used in `Any` placeholders.
  5771  type ArrayOfOpaqueNetworkTargetInfo struct {
  5772  	OpaqueNetworkTargetInfo []OpaqueNetworkTargetInfo `xml:"OpaqueNetworkTargetInfo,omitempty" json:"_value"`
  5773  }
  5774  
  5775  func init() {
  5776  	t["ArrayOfOpaqueNetworkTargetInfo"] = reflect.TypeOf((*ArrayOfOpaqueNetworkTargetInfo)(nil)).Elem()
  5777  }
  5778  
  5779  // A boxed array of `OptionDef`. To be used in `Any` placeholders.
  5780  type ArrayOfOptionDef struct {
  5781  	OptionDef []OptionDef `xml:"OptionDef,omitempty" json:"_value"`
  5782  }
  5783  
  5784  func init() {
  5785  	t["ArrayOfOptionDef"] = reflect.TypeOf((*ArrayOfOptionDef)(nil)).Elem()
  5786  }
  5787  
  5788  // A boxed array of `OptionProfile`. To be used in `Any` placeholders.
  5789  type ArrayOfOptionProfile struct {
  5790  	OptionProfile []OptionProfile `xml:"OptionProfile,omitempty" json:"_value"`
  5791  }
  5792  
  5793  func init() {
  5794  	t["ArrayOfOptionProfile"] = reflect.TypeOf((*ArrayOfOptionProfile)(nil)).Elem()
  5795  }
  5796  
  5797  // A boxed array of `OptionValue`. To be used in `Any` placeholders.
  5798  type ArrayOfOptionValue struct {
  5799  	OptionValue []BaseOptionValue `xml:"OptionValue,omitempty,typeattr" json:"_value"`
  5800  }
  5801  
  5802  func init() {
  5803  	t["ArrayOfOptionValue"] = reflect.TypeOf((*ArrayOfOptionValue)(nil)).Elem()
  5804  }
  5805  
  5806  // A boxed array of `OvfConsumerOstNode`. To be used in `Any` placeholders.
  5807  type ArrayOfOvfConsumerOstNode struct {
  5808  	OvfConsumerOstNode []OvfConsumerOstNode `xml:"OvfConsumerOstNode,omitempty" json:"_value"`
  5809  }
  5810  
  5811  func init() {
  5812  	t["ArrayOfOvfConsumerOstNode"] = reflect.TypeOf((*ArrayOfOvfConsumerOstNode)(nil)).Elem()
  5813  }
  5814  
  5815  // A boxed array of `OvfConsumerOvfSection`. To be used in `Any` placeholders.
  5816  type ArrayOfOvfConsumerOvfSection struct {
  5817  	OvfConsumerOvfSection []OvfConsumerOvfSection `xml:"OvfConsumerOvfSection,omitempty" json:"_value"`
  5818  }
  5819  
  5820  func init() {
  5821  	t["ArrayOfOvfConsumerOvfSection"] = reflect.TypeOf((*ArrayOfOvfConsumerOvfSection)(nil)).Elem()
  5822  }
  5823  
  5824  // A boxed array of `OvfDatastoreMapping`. To be used in `Any` placeholders.
  5825  type ArrayOfOvfDatastoreMapping struct {
  5826  	OvfDatastoreMapping []OvfDatastoreMapping `xml:"OvfDatastoreMapping,omitempty" json:"_value"`
  5827  }
  5828  
  5829  func init() {
  5830  	t["ArrayOfOvfDatastoreMapping"] = reflect.TypeOf((*ArrayOfOvfDatastoreMapping)(nil)).Elem()
  5831  	minAPIVersionForType["ArrayOfOvfDatastoreMapping"] = "9.0.0.0"
  5832  }
  5833  
  5834  // A boxed array of `OvfDeploymentOption`. To be used in `Any` placeholders.
  5835  type ArrayOfOvfDeploymentOption struct {
  5836  	OvfDeploymentOption []OvfDeploymentOption `xml:"OvfDeploymentOption,omitempty" json:"_value"`
  5837  }
  5838  
  5839  func init() {
  5840  	t["ArrayOfOvfDeploymentOption"] = reflect.TypeOf((*ArrayOfOvfDeploymentOption)(nil)).Elem()
  5841  }
  5842  
  5843  // A boxed array of `OvfFile`. To be used in `Any` placeholders.
  5844  type ArrayOfOvfFile struct {
  5845  	OvfFile []OvfFile `xml:"OvfFile,omitempty" json:"_value"`
  5846  }
  5847  
  5848  func init() {
  5849  	t["ArrayOfOvfFile"] = reflect.TypeOf((*ArrayOfOvfFile)(nil)).Elem()
  5850  }
  5851  
  5852  // A boxed array of `OvfFileItem`. To be used in `Any` placeholders.
  5853  type ArrayOfOvfFileItem struct {
  5854  	OvfFileItem []OvfFileItem `xml:"OvfFileItem,omitempty" json:"_value"`
  5855  }
  5856  
  5857  func init() {
  5858  	t["ArrayOfOvfFileItem"] = reflect.TypeOf((*ArrayOfOvfFileItem)(nil)).Elem()
  5859  }
  5860  
  5861  // A boxed array of `OvfNetworkInfo`. To be used in `Any` placeholders.
  5862  type ArrayOfOvfNetworkInfo struct {
  5863  	OvfNetworkInfo []OvfNetworkInfo `xml:"OvfNetworkInfo,omitempty" json:"_value"`
  5864  }
  5865  
  5866  func init() {
  5867  	t["ArrayOfOvfNetworkInfo"] = reflect.TypeOf((*ArrayOfOvfNetworkInfo)(nil)).Elem()
  5868  }
  5869  
  5870  // A boxed array of `OvfNetworkMapping`. To be used in `Any` placeholders.
  5871  type ArrayOfOvfNetworkMapping struct {
  5872  	OvfNetworkMapping []OvfNetworkMapping `xml:"OvfNetworkMapping,omitempty" json:"_value"`
  5873  }
  5874  
  5875  func init() {
  5876  	t["ArrayOfOvfNetworkMapping"] = reflect.TypeOf((*ArrayOfOvfNetworkMapping)(nil)).Elem()
  5877  }
  5878  
  5879  // A boxed array of `OvfOptionInfo`. To be used in `Any` placeholders.
  5880  type ArrayOfOvfOptionInfo struct {
  5881  	OvfOptionInfo []OvfOptionInfo `xml:"OvfOptionInfo,omitempty" json:"_value"`
  5882  }
  5883  
  5884  func init() {
  5885  	t["ArrayOfOvfOptionInfo"] = reflect.TypeOf((*ArrayOfOvfOptionInfo)(nil)).Elem()
  5886  }
  5887  
  5888  // A boxed array of `OvfResourceMap`. To be used in `Any` placeholders.
  5889  type ArrayOfOvfResourceMap struct {
  5890  	OvfResourceMap []OvfResourceMap `xml:"OvfResourceMap,omitempty" json:"_value"`
  5891  }
  5892  
  5893  func init() {
  5894  	t["ArrayOfOvfResourceMap"] = reflect.TypeOf((*ArrayOfOvfResourceMap)(nil)).Elem()
  5895  }
  5896  
  5897  // A boxed array of `OvfStorageProfileMapping`. To be used in `Any` placeholders.
  5898  type ArrayOfOvfStorageProfileMapping struct {
  5899  	OvfStorageProfileMapping []OvfStorageProfileMapping `xml:"OvfStorageProfileMapping,omitempty" json:"_value"`
  5900  }
  5901  
  5902  func init() {
  5903  	t["ArrayOfOvfStorageProfileMapping"] = reflect.TypeOf((*ArrayOfOvfStorageProfileMapping)(nil)).Elem()
  5904  	minAPIVersionForType["ArrayOfOvfStorageProfileMapping"] = "9.0.0.0"
  5905  }
  5906  
  5907  // A boxed array of `PerfCounterInfo`. To be used in `Any` placeholders.
  5908  type ArrayOfPerfCounterInfo struct {
  5909  	PerfCounterInfo []PerfCounterInfo `xml:"PerfCounterInfo,omitempty" json:"_value"`
  5910  }
  5911  
  5912  func init() {
  5913  	t["ArrayOfPerfCounterInfo"] = reflect.TypeOf((*ArrayOfPerfCounterInfo)(nil)).Elem()
  5914  }
  5915  
  5916  // A boxed array of `PerfEntityMetricBase`. To be used in `Any` placeholders.
  5917  type ArrayOfPerfEntityMetricBase struct {
  5918  	PerfEntityMetricBase []BasePerfEntityMetricBase `xml:"PerfEntityMetricBase,omitempty,typeattr" json:"_value"`
  5919  }
  5920  
  5921  func init() {
  5922  	t["ArrayOfPerfEntityMetricBase"] = reflect.TypeOf((*ArrayOfPerfEntityMetricBase)(nil)).Elem()
  5923  }
  5924  
  5925  // A boxed array of `PerfInterval`. To be used in `Any` placeholders.
  5926  type ArrayOfPerfInterval struct {
  5927  	PerfInterval []PerfInterval `xml:"PerfInterval,omitempty" json:"_value"`
  5928  }
  5929  
  5930  func init() {
  5931  	t["ArrayOfPerfInterval"] = reflect.TypeOf((*ArrayOfPerfInterval)(nil)).Elem()
  5932  }
  5933  
  5934  // A boxed array of `PerfMetricId`. To be used in `Any` placeholders.
  5935  type ArrayOfPerfMetricId struct {
  5936  	PerfMetricId []PerfMetricId `xml:"PerfMetricId,omitempty" json:"_value"`
  5937  }
  5938  
  5939  func init() {
  5940  	t["ArrayOfPerfMetricId"] = reflect.TypeOf((*ArrayOfPerfMetricId)(nil)).Elem()
  5941  }
  5942  
  5943  // A boxed array of `PerfMetricSeries`. To be used in `Any` placeholders.
  5944  type ArrayOfPerfMetricSeries struct {
  5945  	PerfMetricSeries []BasePerfMetricSeries `xml:"PerfMetricSeries,omitempty,typeattr" json:"_value"`
  5946  }
  5947  
  5948  func init() {
  5949  	t["ArrayOfPerfMetricSeries"] = reflect.TypeOf((*ArrayOfPerfMetricSeries)(nil)).Elem()
  5950  }
  5951  
  5952  // A boxed array of `PerfMetricSeriesCSV`. To be used in `Any` placeholders.
  5953  type ArrayOfPerfMetricSeriesCSV struct {
  5954  	PerfMetricSeriesCSV []PerfMetricSeriesCSV `xml:"PerfMetricSeriesCSV,omitempty" json:"_value"`
  5955  }
  5956  
  5957  func init() {
  5958  	t["ArrayOfPerfMetricSeriesCSV"] = reflect.TypeOf((*ArrayOfPerfMetricSeriesCSV)(nil)).Elem()
  5959  }
  5960  
  5961  // A boxed array of `PerfQuerySpec`. To be used in `Any` placeholders.
  5962  type ArrayOfPerfQuerySpec struct {
  5963  	PerfQuerySpec []PerfQuerySpec `xml:"PerfQuerySpec,omitempty" json:"_value"`
  5964  }
  5965  
  5966  func init() {
  5967  	t["ArrayOfPerfQuerySpec"] = reflect.TypeOf((*ArrayOfPerfQuerySpec)(nil)).Elem()
  5968  }
  5969  
  5970  // A boxed array of `PerfSampleInfo`. To be used in `Any` placeholders.
  5971  type ArrayOfPerfSampleInfo struct {
  5972  	PerfSampleInfo []PerfSampleInfo `xml:"PerfSampleInfo,omitempty" json:"_value"`
  5973  }
  5974  
  5975  func init() {
  5976  	t["ArrayOfPerfSampleInfo"] = reflect.TypeOf((*ArrayOfPerfSampleInfo)(nil)).Elem()
  5977  }
  5978  
  5979  // A boxed array of `PerformanceManagerCounterLevelMapping`. To be used in `Any` placeholders.
  5980  type ArrayOfPerformanceManagerCounterLevelMapping struct {
  5981  	PerformanceManagerCounterLevelMapping []PerformanceManagerCounterLevelMapping `xml:"PerformanceManagerCounterLevelMapping,omitempty" json:"_value"`
  5982  }
  5983  
  5984  func init() {
  5985  	t["ArrayOfPerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*ArrayOfPerformanceManagerCounterLevelMapping)(nil)).Elem()
  5986  }
  5987  
  5988  // A boxed array of `Permission`. To be used in `Any` placeholders.
  5989  type ArrayOfPermission struct {
  5990  	Permission []Permission `xml:"Permission,omitempty" json:"_value"`
  5991  }
  5992  
  5993  func init() {
  5994  	t["ArrayOfPermission"] = reflect.TypeOf((*ArrayOfPermission)(nil)).Elem()
  5995  }
  5996  
  5997  // A boxed array of `PermissionProfile`. To be used in `Any` placeholders.
  5998  type ArrayOfPermissionProfile struct {
  5999  	PermissionProfile []PermissionProfile `xml:"PermissionProfile,omitempty" json:"_value"`
  6000  }
  6001  
  6002  func init() {
  6003  	t["ArrayOfPermissionProfile"] = reflect.TypeOf((*ArrayOfPermissionProfile)(nil)).Elem()
  6004  }
  6005  
  6006  // A boxed array of `PhysicalNic`. To be used in `Any` placeholders.
  6007  type ArrayOfPhysicalNic struct {
  6008  	PhysicalNic []PhysicalNic `xml:"PhysicalNic,omitempty" json:"_value"`
  6009  }
  6010  
  6011  func init() {
  6012  	t["ArrayOfPhysicalNic"] = reflect.TypeOf((*ArrayOfPhysicalNic)(nil)).Elem()
  6013  }
  6014  
  6015  // A boxed array of `PhysicalNicConfig`. To be used in `Any` placeholders.
  6016  type ArrayOfPhysicalNicConfig struct {
  6017  	PhysicalNicConfig []PhysicalNicConfig `xml:"PhysicalNicConfig,omitempty" json:"_value"`
  6018  }
  6019  
  6020  func init() {
  6021  	t["ArrayOfPhysicalNicConfig"] = reflect.TypeOf((*ArrayOfPhysicalNicConfig)(nil)).Elem()
  6022  }
  6023  
  6024  // A boxed array of `PhysicalNicHintInfo`. To be used in `Any` placeholders.
  6025  type ArrayOfPhysicalNicHintInfo struct {
  6026  	PhysicalNicHintInfo []PhysicalNicHintInfo `xml:"PhysicalNicHintInfo,omitempty" json:"_value"`
  6027  }
  6028  
  6029  func init() {
  6030  	t["ArrayOfPhysicalNicHintInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicHintInfo)(nil)).Elem()
  6031  }
  6032  
  6033  // A boxed array of `PhysicalNicIpHint`. To be used in `Any` placeholders.
  6034  type ArrayOfPhysicalNicIpHint struct {
  6035  	PhysicalNicIpHint []PhysicalNicIpHint `xml:"PhysicalNicIpHint,omitempty" json:"_value"`
  6036  }
  6037  
  6038  func init() {
  6039  	t["ArrayOfPhysicalNicIpHint"] = reflect.TypeOf((*ArrayOfPhysicalNicIpHint)(nil)).Elem()
  6040  }
  6041  
  6042  // A boxed array of `PhysicalNicLinkInfo`. To be used in `Any` placeholders.
  6043  type ArrayOfPhysicalNicLinkInfo struct {
  6044  	PhysicalNicLinkInfo []PhysicalNicLinkInfo `xml:"PhysicalNicLinkInfo,omitempty" json:"_value"`
  6045  }
  6046  
  6047  func init() {
  6048  	t["ArrayOfPhysicalNicLinkInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicLinkInfo)(nil)).Elem()
  6049  }
  6050  
  6051  // A boxed array of `PhysicalNicNameHint`. To be used in `Any` placeholders.
  6052  type ArrayOfPhysicalNicNameHint struct {
  6053  	PhysicalNicNameHint []PhysicalNicNameHint `xml:"PhysicalNicNameHint,omitempty" json:"_value"`
  6054  }
  6055  
  6056  func init() {
  6057  	t["ArrayOfPhysicalNicNameHint"] = reflect.TypeOf((*ArrayOfPhysicalNicNameHint)(nil)).Elem()
  6058  }
  6059  
  6060  // A boxed array of `PhysicalNicProfile`. To be used in `Any` placeholders.
  6061  type ArrayOfPhysicalNicProfile struct {
  6062  	PhysicalNicProfile []PhysicalNicProfile `xml:"PhysicalNicProfile,omitempty" json:"_value"`
  6063  }
  6064  
  6065  func init() {
  6066  	t["ArrayOfPhysicalNicProfile"] = reflect.TypeOf((*ArrayOfPhysicalNicProfile)(nil)).Elem()
  6067  }
  6068  
  6069  // A boxed array of `PlacementAffinityRule`. To be used in `Any` placeholders.
  6070  type ArrayOfPlacementAffinityRule struct {
  6071  	PlacementAffinityRule []PlacementAffinityRule `xml:"PlacementAffinityRule,omitempty" json:"_value"`
  6072  }
  6073  
  6074  func init() {
  6075  	t["ArrayOfPlacementAffinityRule"] = reflect.TypeOf((*ArrayOfPlacementAffinityRule)(nil)).Elem()
  6076  }
  6077  
  6078  // A boxed array of `PlacementSpec`. To be used in `Any` placeholders.
  6079  type ArrayOfPlacementSpec struct {
  6080  	PlacementSpec []PlacementSpec `xml:"PlacementSpec,omitempty" json:"_value"`
  6081  }
  6082  
  6083  func init() {
  6084  	t["ArrayOfPlacementSpec"] = reflect.TypeOf((*ArrayOfPlacementSpec)(nil)).Elem()
  6085  }
  6086  
  6087  // A boxed array of `PnicUplinkProfile`. To be used in `Any` placeholders.
  6088  type ArrayOfPnicUplinkProfile struct {
  6089  	PnicUplinkProfile []PnicUplinkProfile `xml:"PnicUplinkProfile,omitempty" json:"_value"`
  6090  }
  6091  
  6092  func init() {
  6093  	t["ArrayOfPnicUplinkProfile"] = reflect.TypeOf((*ArrayOfPnicUplinkProfile)(nil)).Elem()
  6094  }
  6095  
  6096  // A boxed array of `PodDiskLocator`. To be used in `Any` placeholders.
  6097  type ArrayOfPodDiskLocator struct {
  6098  	PodDiskLocator []PodDiskLocator `xml:"PodDiskLocator,omitempty" json:"_value"`
  6099  }
  6100  
  6101  func init() {
  6102  	t["ArrayOfPodDiskLocator"] = reflect.TypeOf((*ArrayOfPodDiskLocator)(nil)).Elem()
  6103  }
  6104  
  6105  // A boxed array of `PolicyOption`. To be used in `Any` placeholders.
  6106  type ArrayOfPolicyOption struct {
  6107  	PolicyOption []BasePolicyOption `xml:"PolicyOption,omitempty,typeattr" json:"_value"`
  6108  }
  6109  
  6110  func init() {
  6111  	t["ArrayOfPolicyOption"] = reflect.TypeOf((*ArrayOfPolicyOption)(nil)).Elem()
  6112  }
  6113  
  6114  // A boxed array of `PrivilegeAvailability`. To be used in `Any` placeholders.
  6115  type ArrayOfPrivilegeAvailability struct {
  6116  	PrivilegeAvailability []PrivilegeAvailability `xml:"PrivilegeAvailability,omitempty" json:"_value"`
  6117  }
  6118  
  6119  func init() {
  6120  	t["ArrayOfPrivilegeAvailability"] = reflect.TypeOf((*ArrayOfPrivilegeAvailability)(nil)).Elem()
  6121  }
  6122  
  6123  // A boxed array of `ProductComponentInfo`. To be used in `Any` placeholders.
  6124  type ArrayOfProductComponentInfo struct {
  6125  	ProductComponentInfo []ProductComponentInfo `xml:"ProductComponentInfo,omitempty" json:"_value"`
  6126  }
  6127  
  6128  func init() {
  6129  	t["ArrayOfProductComponentInfo"] = reflect.TypeOf((*ArrayOfProductComponentInfo)(nil)).Elem()
  6130  }
  6131  
  6132  // A boxed array of `ProfileApplyProfileProperty`. To be used in `Any` placeholders.
  6133  type ArrayOfProfileApplyProfileProperty struct {
  6134  	ProfileApplyProfileProperty []ProfileApplyProfileProperty `xml:"ProfileApplyProfileProperty,omitempty" json:"_value"`
  6135  }
  6136  
  6137  func init() {
  6138  	t["ArrayOfProfileApplyProfileProperty"] = reflect.TypeOf((*ArrayOfProfileApplyProfileProperty)(nil)).Elem()
  6139  }
  6140  
  6141  // A boxed array of `ProfileDeferredPolicyOptionParameter`. To be used in `Any` placeholders.
  6142  type ArrayOfProfileDeferredPolicyOptionParameter struct {
  6143  	ProfileDeferredPolicyOptionParameter []ProfileDeferredPolicyOptionParameter `xml:"ProfileDeferredPolicyOptionParameter,omitempty" json:"_value"`
  6144  }
  6145  
  6146  func init() {
  6147  	t["ArrayOfProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ArrayOfProfileDeferredPolicyOptionParameter)(nil)).Elem()
  6148  }
  6149  
  6150  // A boxed array of `ProfileDescriptionSection`. To be used in `Any` placeholders.
  6151  type ArrayOfProfileDescriptionSection struct {
  6152  	ProfileDescriptionSection []ProfileDescriptionSection `xml:"ProfileDescriptionSection,omitempty" json:"_value"`
  6153  }
  6154  
  6155  func init() {
  6156  	t["ArrayOfProfileDescriptionSection"] = reflect.TypeOf((*ArrayOfProfileDescriptionSection)(nil)).Elem()
  6157  }
  6158  
  6159  // A boxed array of `ProfileExecuteError`. To be used in `Any` placeholders.
  6160  type ArrayOfProfileExecuteError struct {
  6161  	ProfileExecuteError []ProfileExecuteError `xml:"ProfileExecuteError,omitempty" json:"_value"`
  6162  }
  6163  
  6164  func init() {
  6165  	t["ArrayOfProfileExecuteError"] = reflect.TypeOf((*ArrayOfProfileExecuteError)(nil)).Elem()
  6166  }
  6167  
  6168  // A boxed array of `ProfileExpression`. To be used in `Any` placeholders.
  6169  type ArrayOfProfileExpression struct {
  6170  	ProfileExpression []BaseProfileExpression `xml:"ProfileExpression,omitempty,typeattr" json:"_value"`
  6171  }
  6172  
  6173  func init() {
  6174  	t["ArrayOfProfileExpression"] = reflect.TypeOf((*ArrayOfProfileExpression)(nil)).Elem()
  6175  }
  6176  
  6177  // A boxed array of `ProfileExpressionMetadata`. To be used in `Any` placeholders.
  6178  type ArrayOfProfileExpressionMetadata struct {
  6179  	ProfileExpressionMetadata []ProfileExpressionMetadata `xml:"ProfileExpressionMetadata,omitempty" json:"_value"`
  6180  }
  6181  
  6182  func init() {
  6183  	t["ArrayOfProfileExpressionMetadata"] = reflect.TypeOf((*ArrayOfProfileExpressionMetadata)(nil)).Elem()
  6184  }
  6185  
  6186  // A boxed array of `ProfileMetadata`. To be used in `Any` placeholders.
  6187  type ArrayOfProfileMetadata struct {
  6188  	ProfileMetadata []ProfileMetadata `xml:"ProfileMetadata,omitempty" json:"_value"`
  6189  }
  6190  
  6191  func init() {
  6192  	t["ArrayOfProfileMetadata"] = reflect.TypeOf((*ArrayOfProfileMetadata)(nil)).Elem()
  6193  }
  6194  
  6195  // A boxed array of `ProfileMetadataProfileOperationMessage`. To be used in `Any` placeholders.
  6196  type ArrayOfProfileMetadataProfileOperationMessage struct {
  6197  	ProfileMetadataProfileOperationMessage []ProfileMetadataProfileOperationMessage `xml:"ProfileMetadataProfileOperationMessage,omitempty" json:"_value"`
  6198  }
  6199  
  6200  func init() {
  6201  	t["ArrayOfProfileMetadataProfileOperationMessage"] = reflect.TypeOf((*ArrayOfProfileMetadataProfileOperationMessage)(nil)).Elem()
  6202  }
  6203  
  6204  // A boxed array of `ProfileMetadataProfileSortSpec`. To be used in `Any` placeholders.
  6205  type ArrayOfProfileMetadataProfileSortSpec struct {
  6206  	ProfileMetadataProfileSortSpec []ProfileMetadataProfileSortSpec `xml:"ProfileMetadataProfileSortSpec,omitempty" json:"_value"`
  6207  }
  6208  
  6209  func init() {
  6210  	t["ArrayOfProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ArrayOfProfileMetadataProfileSortSpec)(nil)).Elem()
  6211  }
  6212  
  6213  // A boxed array of `ProfileParameterMetadata`. To be used in `Any` placeholders.
  6214  type ArrayOfProfileParameterMetadata struct {
  6215  	ProfileParameterMetadata []ProfileParameterMetadata `xml:"ProfileParameterMetadata,omitempty" json:"_value"`
  6216  }
  6217  
  6218  func init() {
  6219  	t["ArrayOfProfileParameterMetadata"] = reflect.TypeOf((*ArrayOfProfileParameterMetadata)(nil)).Elem()
  6220  }
  6221  
  6222  // A boxed array of `ProfileParameterMetadataParameterRelationMetadata`. To be used in `Any` placeholders.
  6223  type ArrayOfProfileParameterMetadataParameterRelationMetadata struct {
  6224  	ProfileParameterMetadataParameterRelationMetadata []ProfileParameterMetadataParameterRelationMetadata `xml:"ProfileParameterMetadataParameterRelationMetadata,omitempty" json:"_value"`
  6225  }
  6226  
  6227  func init() {
  6228  	t["ArrayOfProfileParameterMetadataParameterRelationMetadata"] = reflect.TypeOf((*ArrayOfProfileParameterMetadataParameterRelationMetadata)(nil)).Elem()
  6229  }
  6230  
  6231  // A boxed array of `ProfilePolicy`. To be used in `Any` placeholders.
  6232  type ArrayOfProfilePolicy struct {
  6233  	ProfilePolicy []ProfilePolicy `xml:"ProfilePolicy,omitempty" json:"_value"`
  6234  }
  6235  
  6236  func init() {
  6237  	t["ArrayOfProfilePolicy"] = reflect.TypeOf((*ArrayOfProfilePolicy)(nil)).Elem()
  6238  }
  6239  
  6240  // A boxed array of `ProfilePolicyMetadata`. To be used in `Any` placeholders.
  6241  type ArrayOfProfilePolicyMetadata struct {
  6242  	ProfilePolicyMetadata []ProfilePolicyMetadata `xml:"ProfilePolicyMetadata,omitempty" json:"_value"`
  6243  }
  6244  
  6245  func init() {
  6246  	t["ArrayOfProfilePolicyMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyMetadata)(nil)).Elem()
  6247  }
  6248  
  6249  // A boxed array of `ProfilePolicyOptionMetadata`. To be used in `Any` placeholders.
  6250  type ArrayOfProfilePolicyOptionMetadata struct {
  6251  	ProfilePolicyOptionMetadata []BaseProfilePolicyOptionMetadata `xml:"ProfilePolicyOptionMetadata,omitempty,typeattr" json:"_value"`
  6252  }
  6253  
  6254  func init() {
  6255  	t["ArrayOfProfilePolicyOptionMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyOptionMetadata)(nil)).Elem()
  6256  }
  6257  
  6258  // A boxed array of `ProfileProfileStructureProperty`. To be used in `Any` placeholders.
  6259  type ArrayOfProfileProfileStructureProperty struct {
  6260  	ProfileProfileStructureProperty []ProfileProfileStructureProperty `xml:"ProfileProfileStructureProperty,omitempty" json:"_value"`
  6261  }
  6262  
  6263  func init() {
  6264  	t["ArrayOfProfileProfileStructureProperty"] = reflect.TypeOf((*ArrayOfProfileProfileStructureProperty)(nil)).Elem()
  6265  }
  6266  
  6267  // A boxed array of `ProfilePropertyPath`. To be used in `Any` placeholders.
  6268  type ArrayOfProfilePropertyPath struct {
  6269  	ProfilePropertyPath []ProfilePropertyPath `xml:"ProfilePropertyPath,omitempty" json:"_value"`
  6270  }
  6271  
  6272  func init() {
  6273  	t["ArrayOfProfilePropertyPath"] = reflect.TypeOf((*ArrayOfProfilePropertyPath)(nil)).Elem()
  6274  }
  6275  
  6276  // A boxed array of `ProfileUpdateFailedUpdateFailure`. To be used in `Any` placeholders.
  6277  type ArrayOfProfileUpdateFailedUpdateFailure struct {
  6278  	ProfileUpdateFailedUpdateFailure []ProfileUpdateFailedUpdateFailure `xml:"ProfileUpdateFailedUpdateFailure,omitempty" json:"_value"`
  6279  }
  6280  
  6281  func init() {
  6282  	t["ArrayOfProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ArrayOfProfileUpdateFailedUpdateFailure)(nil)).Elem()
  6283  }
  6284  
  6285  // A boxed array of `PropertyChange`. To be used in `Any` placeholders.
  6286  type ArrayOfPropertyChange struct {
  6287  	PropertyChange []PropertyChange `xml:"PropertyChange,omitempty" json:"_value"`
  6288  }
  6289  
  6290  func init() {
  6291  	t["ArrayOfPropertyChange"] = reflect.TypeOf((*ArrayOfPropertyChange)(nil)).Elem()
  6292  }
  6293  
  6294  // A boxed array of `PropertyFilterSpec`. To be used in `Any` placeholders.
  6295  type ArrayOfPropertyFilterSpec struct {
  6296  	PropertyFilterSpec []PropertyFilterSpec `xml:"PropertyFilterSpec,omitempty" json:"_value"`
  6297  }
  6298  
  6299  func init() {
  6300  	t["ArrayOfPropertyFilterSpec"] = reflect.TypeOf((*ArrayOfPropertyFilterSpec)(nil)).Elem()
  6301  }
  6302  
  6303  // A boxed array of `PropertyFilterUpdate`. To be used in `Any` placeholders.
  6304  type ArrayOfPropertyFilterUpdate struct {
  6305  	PropertyFilterUpdate []PropertyFilterUpdate `xml:"PropertyFilterUpdate,omitempty" json:"_value"`
  6306  }
  6307  
  6308  func init() {
  6309  	t["ArrayOfPropertyFilterUpdate"] = reflect.TypeOf((*ArrayOfPropertyFilterUpdate)(nil)).Elem()
  6310  }
  6311  
  6312  // A boxed array of `PropertySpec`. To be used in `Any` placeholders.
  6313  type ArrayOfPropertySpec struct {
  6314  	PropertySpec []PropertySpec `xml:"PropertySpec,omitempty" json:"_value"`
  6315  }
  6316  
  6317  func init() {
  6318  	t["ArrayOfPropertySpec"] = reflect.TypeOf((*ArrayOfPropertySpec)(nil)).Elem()
  6319  }
  6320  
  6321  // A boxed array of `Relation`. To be used in `Any` placeholders.
  6322  type ArrayOfRelation struct {
  6323  	Relation []Relation `xml:"Relation,omitempty" json:"_value"`
  6324  }
  6325  
  6326  func init() {
  6327  	t["ArrayOfRelation"] = reflect.TypeOf((*ArrayOfRelation)(nil)).Elem()
  6328  }
  6329  
  6330  // A boxed array of `ReplicationInfoDiskSettings`. To be used in `Any` placeholders.
  6331  type ArrayOfReplicationInfoDiskSettings struct {
  6332  	ReplicationInfoDiskSettings []ReplicationInfoDiskSettings `xml:"ReplicationInfoDiskSettings,omitempty" json:"_value"`
  6333  }
  6334  
  6335  func init() {
  6336  	t["ArrayOfReplicationInfoDiskSettings"] = reflect.TypeOf((*ArrayOfReplicationInfoDiskSettings)(nil)).Elem()
  6337  }
  6338  
  6339  // A boxed array of `ResourceConfigSpec`. To be used in `Any` placeholders.
  6340  type ArrayOfResourceConfigSpec struct {
  6341  	ResourceConfigSpec []ResourceConfigSpec `xml:"ResourceConfigSpec,omitempty" json:"_value"`
  6342  }
  6343  
  6344  func init() {
  6345  	t["ArrayOfResourceConfigSpec"] = reflect.TypeOf((*ArrayOfResourceConfigSpec)(nil)).Elem()
  6346  }
  6347  
  6348  // A boxed array of `RetrieveVStorageObjSpec`. To be used in `Any` placeholders.
  6349  type ArrayOfRetrieveVStorageObjSpec struct {
  6350  	RetrieveVStorageObjSpec []RetrieveVStorageObjSpec `xml:"RetrieveVStorageObjSpec,omitempty" json:"_value"`
  6351  }
  6352  
  6353  func init() {
  6354  	t["ArrayOfRetrieveVStorageObjSpec"] = reflect.TypeOf((*ArrayOfRetrieveVStorageObjSpec)(nil)).Elem()
  6355  }
  6356  
  6357  // A boxed array of `ScheduledTaskDetail`. To be used in `Any` placeholders.
  6358  type ArrayOfScheduledTaskDetail struct {
  6359  	ScheduledTaskDetail []ScheduledTaskDetail `xml:"ScheduledTaskDetail,omitempty" json:"_value"`
  6360  }
  6361  
  6362  func init() {
  6363  	t["ArrayOfScheduledTaskDetail"] = reflect.TypeOf((*ArrayOfScheduledTaskDetail)(nil)).Elem()
  6364  }
  6365  
  6366  // A boxed array of `ScsiLun`. To be used in `Any` placeholders.
  6367  type ArrayOfScsiLun struct {
  6368  	ScsiLun []BaseScsiLun `xml:"ScsiLun,omitempty,typeattr" json:"_value"`
  6369  }
  6370  
  6371  func init() {
  6372  	t["ArrayOfScsiLun"] = reflect.TypeOf((*ArrayOfScsiLun)(nil)).Elem()
  6373  }
  6374  
  6375  // A boxed array of `ScsiLunDescriptor`. To be used in `Any` placeholders.
  6376  type ArrayOfScsiLunDescriptor struct {
  6377  	ScsiLunDescriptor []ScsiLunDescriptor `xml:"ScsiLunDescriptor,omitempty" json:"_value"`
  6378  }
  6379  
  6380  func init() {
  6381  	t["ArrayOfScsiLunDescriptor"] = reflect.TypeOf((*ArrayOfScsiLunDescriptor)(nil)).Elem()
  6382  }
  6383  
  6384  // A boxed array of `ScsiLunDurableName`. To be used in `Any` placeholders.
  6385  type ArrayOfScsiLunDurableName struct {
  6386  	ScsiLunDurableName []ScsiLunDurableName `xml:"ScsiLunDurableName,omitempty" json:"_value"`
  6387  }
  6388  
  6389  func init() {
  6390  	t["ArrayOfScsiLunDurableName"] = reflect.TypeOf((*ArrayOfScsiLunDurableName)(nil)).Elem()
  6391  }
  6392  
  6393  // A boxed array of `SelectionSet`. To be used in `Any` placeholders.
  6394  type ArrayOfSelectionSet struct {
  6395  	SelectionSet []BaseSelectionSet `xml:"SelectionSet,omitempty,typeattr" json:"_value"`
  6396  }
  6397  
  6398  func init() {
  6399  	t["ArrayOfSelectionSet"] = reflect.TypeOf((*ArrayOfSelectionSet)(nil)).Elem()
  6400  }
  6401  
  6402  // A boxed array of `SelectionSpec`. To be used in `Any` placeholders.
  6403  type ArrayOfSelectionSpec struct {
  6404  	SelectionSpec []BaseSelectionSpec `xml:"SelectionSpec,omitempty,typeattr" json:"_value"`
  6405  }
  6406  
  6407  func init() {
  6408  	t["ArrayOfSelectionSpec"] = reflect.TypeOf((*ArrayOfSelectionSpec)(nil)).Elem()
  6409  }
  6410  
  6411  // A boxed array of `ServiceConsolePortGroupProfile`. To be used in `Any` placeholders.
  6412  type ArrayOfServiceConsolePortGroupProfile struct {
  6413  	ServiceConsolePortGroupProfile []ServiceConsolePortGroupProfile `xml:"ServiceConsolePortGroupProfile,omitempty" json:"_value"`
  6414  }
  6415  
  6416  func init() {
  6417  	t["ArrayOfServiceConsolePortGroupProfile"] = reflect.TypeOf((*ArrayOfServiceConsolePortGroupProfile)(nil)).Elem()
  6418  }
  6419  
  6420  // A boxed array of `ServiceLocator`. To be used in `Any` placeholders.
  6421  type ArrayOfServiceLocator struct {
  6422  	ServiceLocator []ServiceLocator `xml:"ServiceLocator,omitempty" json:"_value"`
  6423  }
  6424  
  6425  func init() {
  6426  	t["ArrayOfServiceLocator"] = reflect.TypeOf((*ArrayOfServiceLocator)(nil)).Elem()
  6427  }
  6428  
  6429  // A boxed array of `ServiceManagerServiceInfo`. To be used in `Any` placeholders.
  6430  type ArrayOfServiceManagerServiceInfo struct {
  6431  	ServiceManagerServiceInfo []ServiceManagerServiceInfo `xml:"ServiceManagerServiceInfo,omitempty" json:"_value"`
  6432  }
  6433  
  6434  func init() {
  6435  	t["ArrayOfServiceManagerServiceInfo"] = reflect.TypeOf((*ArrayOfServiceManagerServiceInfo)(nil)).Elem()
  6436  }
  6437  
  6438  // A boxed array of `ServiceProfile`. To be used in `Any` placeholders.
  6439  type ArrayOfServiceProfile struct {
  6440  	ServiceProfile []ServiceProfile `xml:"ServiceProfile,omitempty" json:"_value"`
  6441  }
  6442  
  6443  func init() {
  6444  	t["ArrayOfServiceProfile"] = reflect.TypeOf((*ArrayOfServiceProfile)(nil)).Elem()
  6445  }
  6446  
  6447  // A boxed array of `PrimitiveShort`. To be used in `Any` placeholders.
  6448  type ArrayOfShort struct {
  6449  	Short []int16 `xml:"short,omitempty" json:"_value"`
  6450  }
  6451  
  6452  func init() {
  6453  	t["ArrayOfShort"] = reflect.TypeOf((*ArrayOfShort)(nil)).Elem()
  6454  }
  6455  
  6456  // A boxed array of `SoftwarePackage`. To be used in `Any` placeholders.
  6457  type ArrayOfSoftwarePackage struct {
  6458  	SoftwarePackage []SoftwarePackage `xml:"SoftwarePackage,omitempty" json:"_value"`
  6459  }
  6460  
  6461  func init() {
  6462  	t["ArrayOfSoftwarePackage"] = reflect.TypeOf((*ArrayOfSoftwarePackage)(nil)).Elem()
  6463  }
  6464  
  6465  // A boxed array of `StaticRouteProfile`. To be used in `Any` placeholders.
  6466  type ArrayOfStaticRouteProfile struct {
  6467  	StaticRouteProfile []StaticRouteProfile `xml:"StaticRouteProfile,omitempty" json:"_value"`
  6468  }
  6469  
  6470  func init() {
  6471  	t["ArrayOfStaticRouteProfile"] = reflect.TypeOf((*ArrayOfStaticRouteProfile)(nil)).Elem()
  6472  }
  6473  
  6474  // A boxed array of `StorageDrsOptionSpec`. To be used in `Any` placeholders.
  6475  type ArrayOfStorageDrsOptionSpec struct {
  6476  	StorageDrsOptionSpec []StorageDrsOptionSpec `xml:"StorageDrsOptionSpec,omitempty" json:"_value"`
  6477  }
  6478  
  6479  func init() {
  6480  	t["ArrayOfStorageDrsOptionSpec"] = reflect.TypeOf((*ArrayOfStorageDrsOptionSpec)(nil)).Elem()
  6481  }
  6482  
  6483  // A boxed array of `StorageDrsPlacementRankVmSpec`. To be used in `Any` placeholders.
  6484  type ArrayOfStorageDrsPlacementRankVmSpec struct {
  6485  	StorageDrsPlacementRankVmSpec []StorageDrsPlacementRankVmSpec `xml:"StorageDrsPlacementRankVmSpec,omitempty" json:"_value"`
  6486  }
  6487  
  6488  func init() {
  6489  	t["ArrayOfStorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*ArrayOfStorageDrsPlacementRankVmSpec)(nil)).Elem()
  6490  }
  6491  
  6492  // A boxed array of `StorageDrsVmConfigInfo`. To be used in `Any` placeholders.
  6493  type ArrayOfStorageDrsVmConfigInfo struct {
  6494  	StorageDrsVmConfigInfo []StorageDrsVmConfigInfo `xml:"StorageDrsVmConfigInfo,omitempty" json:"_value"`
  6495  }
  6496  
  6497  func init() {
  6498  	t["ArrayOfStorageDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigInfo)(nil)).Elem()
  6499  }
  6500  
  6501  // A boxed array of `StorageDrsVmConfigSpec`. To be used in `Any` placeholders.
  6502  type ArrayOfStorageDrsVmConfigSpec struct {
  6503  	StorageDrsVmConfigSpec []StorageDrsVmConfigSpec `xml:"StorageDrsVmConfigSpec,omitempty" json:"_value"`
  6504  }
  6505  
  6506  func init() {
  6507  	t["ArrayOfStorageDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigSpec)(nil)).Elem()
  6508  }
  6509  
  6510  // A boxed array of `StoragePerformanceSummary`. To be used in `Any` placeholders.
  6511  type ArrayOfStoragePerformanceSummary struct {
  6512  	StoragePerformanceSummary []StoragePerformanceSummary `xml:"StoragePerformanceSummary,omitempty" json:"_value"`
  6513  }
  6514  
  6515  func init() {
  6516  	t["ArrayOfStoragePerformanceSummary"] = reflect.TypeOf((*ArrayOfStoragePerformanceSummary)(nil)).Elem()
  6517  }
  6518  
  6519  // A boxed array of `StorageRequirement`. To be used in `Any` placeholders.
  6520  type ArrayOfStorageRequirement struct {
  6521  	StorageRequirement []StorageRequirement `xml:"StorageRequirement,omitempty" json:"_value"`
  6522  }
  6523  
  6524  func init() {
  6525  	t["ArrayOfStorageRequirement"] = reflect.TypeOf((*ArrayOfStorageRequirement)(nil)).Elem()
  6526  }
  6527  
  6528  // A boxed array of `PrimitiveString`. To be used in `Any` placeholders.
  6529  type ArrayOfString struct {
  6530  	String []string `xml:"string,omitempty" json:"_value"`
  6531  }
  6532  
  6533  func init() {
  6534  	t["ArrayOfString"] = reflect.TypeOf((*ArrayOfString)(nil)).Elem()
  6535  }
  6536  
  6537  // A boxed array of `StructuredCustomizations`. To be used in `Any` placeholders.
  6538  type ArrayOfStructuredCustomizations struct {
  6539  	StructuredCustomizations []StructuredCustomizations `xml:"StructuredCustomizations,omitempty" json:"_value"`
  6540  }
  6541  
  6542  func init() {
  6543  	t["ArrayOfStructuredCustomizations"] = reflect.TypeOf((*ArrayOfStructuredCustomizations)(nil)).Elem()
  6544  }
  6545  
  6546  // A boxed array of `SubnetInfo`. To be used in `Any` placeholders.
  6547  type ArrayOfSubnetInfo struct {
  6548  	SubnetInfo []SubnetInfo `xml:"SubnetInfo,omitempty" json:"_value"`
  6549  }
  6550  
  6551  func init() {
  6552  	t["ArrayOfSubnetInfo"] = reflect.TypeOf((*ArrayOfSubnetInfo)(nil)).Elem()
  6553  	minAPIVersionForType["ArrayOfSubnetInfo"] = "9.0.0.0"
  6554  }
  6555  
  6556  // A boxed array of `SystemEventInfo`. To be used in `Any` placeholders.
  6557  type ArrayOfSystemEventInfo struct {
  6558  	SystemEventInfo []SystemEventInfo `xml:"SystemEventInfo,omitempty" json:"_value"`
  6559  }
  6560  
  6561  func init() {
  6562  	t["ArrayOfSystemEventInfo"] = reflect.TypeOf((*ArrayOfSystemEventInfo)(nil)).Elem()
  6563  }
  6564  
  6565  // A boxed array of `Tag`. To be used in `Any` placeholders.
  6566  type ArrayOfTag struct {
  6567  	Tag []Tag `xml:"Tag,omitempty" json:"_value"`
  6568  }
  6569  
  6570  func init() {
  6571  	t["ArrayOfTag"] = reflect.TypeOf((*ArrayOfTag)(nil)).Elem()
  6572  }
  6573  
  6574  // A boxed array of `TaskInfo`. To be used in `Any` placeholders.
  6575  type ArrayOfTaskInfo struct {
  6576  	TaskInfo []TaskInfo `xml:"TaskInfo,omitempty" json:"_value"`
  6577  }
  6578  
  6579  func init() {
  6580  	t["ArrayOfTaskInfo"] = reflect.TypeOf((*ArrayOfTaskInfo)(nil)).Elem()
  6581  }
  6582  
  6583  // A boxed array of `TaskInfoState_enum`. To be used in `Any` placeholders.
  6584  type ArrayOfTaskInfoState struct {
  6585  	TaskInfoState []TaskInfoState `xml:"TaskInfoState,omitempty" json:"_value"`
  6586  }
  6587  
  6588  func init() {
  6589  	t["ArrayOfTaskInfoState"] = reflect.TypeOf((*ArrayOfTaskInfoState)(nil)).Elem()
  6590  }
  6591  
  6592  // A boxed array of `TypeDescription`. To be used in `Any` placeholders.
  6593  type ArrayOfTypeDescription struct {
  6594  	TypeDescription []BaseTypeDescription `xml:"TypeDescription,omitempty,typeattr" json:"_value"`
  6595  }
  6596  
  6597  func init() {
  6598  	t["ArrayOfTypeDescription"] = reflect.TypeOf((*ArrayOfTypeDescription)(nil)).Elem()
  6599  }
  6600  
  6601  // A boxed array of `UpdateVirtualMachineFilesResultFailedVmFileInfo`. To be used in `Any` placeholders.
  6602  type ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo struct {
  6603  	UpdateVirtualMachineFilesResultFailedVmFileInfo []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"UpdateVirtualMachineFilesResultFailedVmFileInfo,omitempty" json:"_value"`
  6604  }
  6605  
  6606  func init() {
  6607  	t["ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem()
  6608  }
  6609  
  6610  type ArrayOfUri struct {
  6611  	Uri []string `xml:"uri,omitempty" json:"_value"`
  6612  }
  6613  
  6614  func init() {
  6615  	t["ArrayOfUri"] = reflect.TypeOf((*ArrayOfUri)(nil)).Elem()
  6616  }
  6617  
  6618  // A boxed array of `UsbScanCodeSpecKeyEvent`. To be used in `Any` placeholders.
  6619  type ArrayOfUsbScanCodeSpecKeyEvent struct {
  6620  	UsbScanCodeSpecKeyEvent []UsbScanCodeSpecKeyEvent `xml:"UsbScanCodeSpecKeyEvent,omitempty" json:"_value"`
  6621  }
  6622  
  6623  func init() {
  6624  	t["ArrayOfUsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*ArrayOfUsbScanCodeSpecKeyEvent)(nil)).Elem()
  6625  }
  6626  
  6627  // A boxed array of `UserGroupProfile`. To be used in `Any` placeholders.
  6628  type ArrayOfUserGroupProfile struct {
  6629  	UserGroupProfile []UserGroupProfile `xml:"UserGroupProfile,omitempty" json:"_value"`
  6630  }
  6631  
  6632  func init() {
  6633  	t["ArrayOfUserGroupProfile"] = reflect.TypeOf((*ArrayOfUserGroupProfile)(nil)).Elem()
  6634  }
  6635  
  6636  // A boxed array of `UserPrivilegeResult`. To be used in `Any` placeholders.
  6637  type ArrayOfUserPrivilegeResult struct {
  6638  	UserPrivilegeResult []UserPrivilegeResult `xml:"UserPrivilegeResult,omitempty" json:"_value"`
  6639  }
  6640  
  6641  func init() {
  6642  	t["ArrayOfUserPrivilegeResult"] = reflect.TypeOf((*ArrayOfUserPrivilegeResult)(nil)).Elem()
  6643  }
  6644  
  6645  // A boxed array of `UserProfile`. To be used in `Any` placeholders.
  6646  type ArrayOfUserProfile struct {
  6647  	UserProfile []UserProfile `xml:"UserProfile,omitempty" json:"_value"`
  6648  }
  6649  
  6650  func init() {
  6651  	t["ArrayOfUserProfile"] = reflect.TypeOf((*ArrayOfUserProfile)(nil)).Elem()
  6652  }
  6653  
  6654  // A boxed array of `UserSearchResult`. To be used in `Any` placeholders.
  6655  type ArrayOfUserSearchResult struct {
  6656  	UserSearchResult []BaseUserSearchResult `xml:"UserSearchResult,omitempty,typeattr" json:"_value"`
  6657  }
  6658  
  6659  func init() {
  6660  	t["ArrayOfUserSearchResult"] = reflect.TypeOf((*ArrayOfUserSearchResult)(nil)).Elem()
  6661  }
  6662  
  6663  // A boxed array of `UserSession`. To be used in `Any` placeholders.
  6664  type ArrayOfUserSession struct {
  6665  	UserSession []UserSession `xml:"UserSession,omitempty" json:"_value"`
  6666  }
  6667  
  6668  func init() {
  6669  	t["ArrayOfUserSession"] = reflect.TypeOf((*ArrayOfUserSession)(nil)).Elem()
  6670  }
  6671  
  6672  // A boxed array of `VASAStorageArray`. To be used in `Any` placeholders.
  6673  type ArrayOfVASAStorageArray struct {
  6674  	VASAStorageArray []VASAStorageArray `xml:"VASAStorageArray,omitempty" json:"_value"`
  6675  }
  6676  
  6677  func init() {
  6678  	t["ArrayOfVASAStorageArray"] = reflect.TypeOf((*ArrayOfVASAStorageArray)(nil)).Elem()
  6679  }
  6680  
  6681  // A boxed array of `VASAStorageArrayDiscoverySvcInfo`. To be used in `Any` placeholders.
  6682  type ArrayOfVASAStorageArrayDiscoverySvcInfo struct {
  6683  	VASAStorageArrayDiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"VASAStorageArrayDiscoverySvcInfo,omitempty" json:"_value"`
  6684  }
  6685  
  6686  func init() {
  6687  	t["ArrayOfVASAStorageArrayDiscoverySvcInfo"] = reflect.TypeOf((*ArrayOfVASAStorageArrayDiscoverySvcInfo)(nil)).Elem()
  6688  	minAPIVersionForType["ArrayOfVASAStorageArrayDiscoverySvcInfo"] = "8.0.0.0"
  6689  }
  6690  
  6691  // A boxed array of `VAppCloneSpecNetworkMappingPair`. To be used in `Any` placeholders.
  6692  type ArrayOfVAppCloneSpecNetworkMappingPair struct {
  6693  	VAppCloneSpecNetworkMappingPair []VAppCloneSpecNetworkMappingPair `xml:"VAppCloneSpecNetworkMappingPair,omitempty" json:"_value"`
  6694  }
  6695  
  6696  func init() {
  6697  	t["ArrayOfVAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*ArrayOfVAppCloneSpecNetworkMappingPair)(nil)).Elem()
  6698  }
  6699  
  6700  // A boxed array of `VAppCloneSpecResourceMap`. To be used in `Any` placeholders.
  6701  type ArrayOfVAppCloneSpecResourceMap struct {
  6702  	VAppCloneSpecResourceMap []VAppCloneSpecResourceMap `xml:"VAppCloneSpecResourceMap,omitempty" json:"_value"`
  6703  }
  6704  
  6705  func init() {
  6706  	t["ArrayOfVAppCloneSpecResourceMap"] = reflect.TypeOf((*ArrayOfVAppCloneSpecResourceMap)(nil)).Elem()
  6707  }
  6708  
  6709  // A boxed array of `VAppEntityConfigInfo`. To be used in `Any` placeholders.
  6710  type ArrayOfVAppEntityConfigInfo struct {
  6711  	VAppEntityConfigInfo []VAppEntityConfigInfo `xml:"VAppEntityConfigInfo,omitempty" json:"_value"`
  6712  }
  6713  
  6714  func init() {
  6715  	t["ArrayOfVAppEntityConfigInfo"] = reflect.TypeOf((*ArrayOfVAppEntityConfigInfo)(nil)).Elem()
  6716  }
  6717  
  6718  // A boxed array of `VAppOvfSectionInfo`. To be used in `Any` placeholders.
  6719  type ArrayOfVAppOvfSectionInfo struct {
  6720  	VAppOvfSectionInfo []VAppOvfSectionInfo `xml:"VAppOvfSectionInfo,omitempty" json:"_value"`
  6721  }
  6722  
  6723  func init() {
  6724  	t["ArrayOfVAppOvfSectionInfo"] = reflect.TypeOf((*ArrayOfVAppOvfSectionInfo)(nil)).Elem()
  6725  }
  6726  
  6727  // A boxed array of `VAppOvfSectionSpec`. To be used in `Any` placeholders.
  6728  type ArrayOfVAppOvfSectionSpec struct {
  6729  	VAppOvfSectionSpec []VAppOvfSectionSpec `xml:"VAppOvfSectionSpec,omitempty" json:"_value"`
  6730  }
  6731  
  6732  func init() {
  6733  	t["ArrayOfVAppOvfSectionSpec"] = reflect.TypeOf((*ArrayOfVAppOvfSectionSpec)(nil)).Elem()
  6734  }
  6735  
  6736  // A boxed array of `VAppProductInfo`. To be used in `Any` placeholders.
  6737  type ArrayOfVAppProductInfo struct {
  6738  	VAppProductInfo []VAppProductInfo `xml:"VAppProductInfo,omitempty" json:"_value"`
  6739  }
  6740  
  6741  func init() {
  6742  	t["ArrayOfVAppProductInfo"] = reflect.TypeOf((*ArrayOfVAppProductInfo)(nil)).Elem()
  6743  }
  6744  
  6745  // A boxed array of `VAppProductSpec`. To be used in `Any` placeholders.
  6746  type ArrayOfVAppProductSpec struct {
  6747  	VAppProductSpec []VAppProductSpec `xml:"VAppProductSpec,omitempty" json:"_value"`
  6748  }
  6749  
  6750  func init() {
  6751  	t["ArrayOfVAppProductSpec"] = reflect.TypeOf((*ArrayOfVAppProductSpec)(nil)).Elem()
  6752  }
  6753  
  6754  // A boxed array of `VAppPropertyInfo`. To be used in `Any` placeholders.
  6755  type ArrayOfVAppPropertyInfo struct {
  6756  	VAppPropertyInfo []VAppPropertyInfo `xml:"VAppPropertyInfo,omitempty" json:"_value"`
  6757  }
  6758  
  6759  func init() {
  6760  	t["ArrayOfVAppPropertyInfo"] = reflect.TypeOf((*ArrayOfVAppPropertyInfo)(nil)).Elem()
  6761  }
  6762  
  6763  // A boxed array of `VAppPropertySpec`. To be used in `Any` placeholders.
  6764  type ArrayOfVAppPropertySpec struct {
  6765  	VAppPropertySpec []VAppPropertySpec `xml:"VAppPropertySpec,omitempty" json:"_value"`
  6766  }
  6767  
  6768  func init() {
  6769  	t["ArrayOfVAppPropertySpec"] = reflect.TypeOf((*ArrayOfVAppPropertySpec)(nil)).Elem()
  6770  }
  6771  
  6772  // A boxed array of `VMwareDVSPvlanConfigSpec`. To be used in `Any` placeholders.
  6773  type ArrayOfVMwareDVSPvlanConfigSpec struct {
  6774  	VMwareDVSPvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"VMwareDVSPvlanConfigSpec,omitempty" json:"_value"`
  6775  }
  6776  
  6777  func init() {
  6778  	t["ArrayOfVMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanConfigSpec)(nil)).Elem()
  6779  }
  6780  
  6781  // A boxed array of `VMwareDVSPvlanMapEntry`. To be used in `Any` placeholders.
  6782  type ArrayOfVMwareDVSPvlanMapEntry struct {
  6783  	VMwareDVSPvlanMapEntry []VMwareDVSPvlanMapEntry `xml:"VMwareDVSPvlanMapEntry,omitempty" json:"_value"`
  6784  }
  6785  
  6786  func init() {
  6787  	t["ArrayOfVMwareDVSPvlanMapEntry"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanMapEntry)(nil)).Elem()
  6788  }
  6789  
  6790  // A boxed array of `VMwareDVSVspanConfigSpec`. To be used in `Any` placeholders.
  6791  type ArrayOfVMwareDVSVspanConfigSpec struct {
  6792  	VMwareDVSVspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"VMwareDVSVspanConfigSpec,omitempty" json:"_value"`
  6793  }
  6794  
  6795  func init() {
  6796  	t["ArrayOfVMwareDVSVspanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSVspanConfigSpec)(nil)).Elem()
  6797  }
  6798  
  6799  // A boxed array of `VMwareDvsLacpGroupConfig`. To be used in `Any` placeholders.
  6800  type ArrayOfVMwareDvsLacpGroupConfig struct {
  6801  	VMwareDvsLacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"VMwareDvsLacpGroupConfig,omitempty" json:"_value"`
  6802  }
  6803  
  6804  func init() {
  6805  	t["ArrayOfVMwareDvsLacpGroupConfig"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupConfig)(nil)).Elem()
  6806  }
  6807  
  6808  // A boxed array of `VMwareDvsLacpGroupSpec`. To be used in `Any` placeholders.
  6809  type ArrayOfVMwareDvsLacpGroupSpec struct {
  6810  	VMwareDvsLacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"VMwareDvsLacpGroupSpec,omitempty" json:"_value"`
  6811  }
  6812  
  6813  func init() {
  6814  	t["ArrayOfVMwareDvsLacpGroupSpec"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupSpec)(nil)).Elem()
  6815  }
  6816  
  6817  // A boxed array of `VMwareVspanSession`. To be used in `Any` placeholders.
  6818  type ArrayOfVMwareVspanSession struct {
  6819  	VMwareVspanSession []VMwareVspanSession `xml:"VMwareVspanSession,omitempty" json:"_value"`
  6820  }
  6821  
  6822  func init() {
  6823  	t["ArrayOfVMwareVspanSession"] = reflect.TypeOf((*ArrayOfVMwareVspanSession)(nil)).Elem()
  6824  }
  6825  
  6826  // A boxed array of `VStorageObjectAssociations`. To be used in `Any` placeholders.
  6827  type ArrayOfVStorageObjectAssociations struct {
  6828  	VStorageObjectAssociations []VStorageObjectAssociations `xml:"VStorageObjectAssociations,omitempty" json:"_value"`
  6829  }
  6830  
  6831  func init() {
  6832  	t["ArrayOfVStorageObjectAssociations"] = reflect.TypeOf((*ArrayOfVStorageObjectAssociations)(nil)).Elem()
  6833  }
  6834  
  6835  // A boxed array of `VStorageObjectAssociationsVmDiskAssociations`. To be used in `Any` placeholders.
  6836  type ArrayOfVStorageObjectAssociationsVmDiskAssociations struct {
  6837  	VStorageObjectAssociationsVmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"VStorageObjectAssociationsVmDiskAssociations,omitempty" json:"_value"`
  6838  }
  6839  
  6840  func init() {
  6841  	t["ArrayOfVStorageObjectAssociationsVmDiskAssociations"] = reflect.TypeOf((*ArrayOfVStorageObjectAssociationsVmDiskAssociations)(nil)).Elem()
  6842  }
  6843  
  6844  // A boxed array of `VStorageObjectReconcileResultInvalidDiskPath`. To be used in `Any` placeholders.
  6845  type ArrayOfVStorageObjectReconcileResultInvalidDiskPath struct {
  6846  	VStorageObjectReconcileResultInvalidDiskPath []VStorageObjectReconcileResultInvalidDiskPath `xml:"VStorageObjectReconcileResultInvalidDiskPath,omitempty" json:"_value"`
  6847  }
  6848  
  6849  func init() {
  6850  	t["ArrayOfVStorageObjectReconcileResultInvalidDiskPath"] = reflect.TypeOf((*ArrayOfVStorageObjectReconcileResultInvalidDiskPath)(nil)).Elem()
  6851  	minAPIVersionForType["ArrayOfVStorageObjectReconcileResultInvalidDiskPath"] = "9.0.0.0"
  6852  }
  6853  
  6854  // A boxed array of `VStorageObjectReconcileResultReconcileDetail`. To be used in `Any` placeholders.
  6855  type ArrayOfVStorageObjectReconcileResultReconcileDetail struct {
  6856  	VStorageObjectReconcileResultReconcileDetail []VStorageObjectReconcileResultReconcileDetail `xml:"VStorageObjectReconcileResultReconcileDetail,omitempty" json:"_value"`
  6857  }
  6858  
  6859  func init() {
  6860  	t["ArrayOfVStorageObjectReconcileResultReconcileDetail"] = reflect.TypeOf((*ArrayOfVStorageObjectReconcileResultReconcileDetail)(nil)).Elem()
  6861  	minAPIVersionForType["ArrayOfVStorageObjectReconcileResultReconcileDetail"] = "9.0.0.0"
  6862  }
  6863  
  6864  // A boxed array of `VStorageObjectSnapshotInfoVStorageObjectSnapshot`. To be used in `Any` placeholders.
  6865  type ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot struct {
  6866  	VStorageObjectSnapshotInfoVStorageObjectSnapshot []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"VStorageObjectSnapshotInfoVStorageObjectSnapshot,omitempty" json:"_value"`
  6867  }
  6868  
  6869  func init() {
  6870  	t["ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot"] = reflect.TypeOf((*ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot)(nil)).Elem()
  6871  }
  6872  
  6873  // A boxed array of `VVolHostPE`. To be used in `Any` placeholders.
  6874  type ArrayOfVVolHostPE struct {
  6875  	VVolHostPE []VVolHostPE `xml:"VVolHostPE,omitempty" json:"_value"`
  6876  }
  6877  
  6878  func init() {
  6879  	t["ArrayOfVVolHostPE"] = reflect.TypeOf((*ArrayOfVVolHostPE)(nil)).Elem()
  6880  }
  6881  
  6882  // A boxed array of `VVolVmConfigFileUpdateResultFailedVmConfigFileInfo`. To be used in `Any` placeholders.
  6883  type ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
  6884  	VVolVmConfigFileUpdateResultFailedVmConfigFileInfo []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"VVolVmConfigFileUpdateResultFailedVmConfigFileInfo,omitempty" json:"_value"`
  6885  }
  6886  
  6887  func init() {
  6888  	t["ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem()
  6889  }
  6890  
  6891  // A boxed array of `VchaNodeRuntimeInfo`. To be used in `Any` placeholders.
  6892  type ArrayOfVchaNodeRuntimeInfo struct {
  6893  	VchaNodeRuntimeInfo []VchaNodeRuntimeInfo `xml:"VchaNodeRuntimeInfo,omitempty" json:"_value"`
  6894  }
  6895  
  6896  func init() {
  6897  	t["ArrayOfVchaNodeRuntimeInfo"] = reflect.TypeOf((*ArrayOfVchaNodeRuntimeInfo)(nil)).Elem()
  6898  }
  6899  
  6900  // A boxed array of `VimVasaProviderInfo`. To be used in `Any` placeholders.
  6901  type ArrayOfVimVasaProviderInfo struct {
  6902  	VimVasaProviderInfo []VimVasaProviderInfo `xml:"VimVasaProviderInfo,omitempty" json:"_value"`
  6903  }
  6904  
  6905  func init() {
  6906  	t["ArrayOfVimVasaProviderInfo"] = reflect.TypeOf((*ArrayOfVimVasaProviderInfo)(nil)).Elem()
  6907  }
  6908  
  6909  // A boxed array of `VimVasaProviderStatePerArray`. To be used in `Any` placeholders.
  6910  type ArrayOfVimVasaProviderStatePerArray struct {
  6911  	VimVasaProviderStatePerArray []VimVasaProviderStatePerArray `xml:"VimVasaProviderStatePerArray,omitempty" json:"_value"`
  6912  }
  6913  
  6914  func init() {
  6915  	t["ArrayOfVimVasaProviderStatePerArray"] = reflect.TypeOf((*ArrayOfVimVasaProviderStatePerArray)(nil)).Elem()
  6916  }
  6917  
  6918  // A boxed array of `VirtualAppLinkInfo`. To be used in `Any` placeholders.
  6919  type ArrayOfVirtualAppLinkInfo struct {
  6920  	VirtualAppLinkInfo []VirtualAppLinkInfo `xml:"VirtualAppLinkInfo,omitempty" json:"_value"`
  6921  }
  6922  
  6923  func init() {
  6924  	t["ArrayOfVirtualAppLinkInfo"] = reflect.TypeOf((*ArrayOfVirtualAppLinkInfo)(nil)).Elem()
  6925  }
  6926  
  6927  // A boxed array of `VirtualDevice`. To be used in `Any` placeholders.
  6928  type ArrayOfVirtualDevice struct {
  6929  	VirtualDevice []BaseVirtualDevice `xml:"VirtualDevice,omitempty,typeattr" json:"_value"`
  6930  }
  6931  
  6932  func init() {
  6933  	t["ArrayOfVirtualDevice"] = reflect.TypeOf((*ArrayOfVirtualDevice)(nil)).Elem()
  6934  }
  6935  
  6936  // A boxed array of `VirtualDeviceBackingOption`. To be used in `Any` placeholders.
  6937  type ArrayOfVirtualDeviceBackingOption struct {
  6938  	VirtualDeviceBackingOption []BaseVirtualDeviceBackingOption `xml:"VirtualDeviceBackingOption,omitempty,typeattr" json:"_value"`
  6939  }
  6940  
  6941  func init() {
  6942  	t["ArrayOfVirtualDeviceBackingOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceBackingOption)(nil)).Elem()
  6943  }
  6944  
  6945  // A boxed array of `VirtualDeviceConfigSpec`. To be used in `Any` placeholders.
  6946  type ArrayOfVirtualDeviceConfigSpec struct {
  6947  	VirtualDeviceConfigSpec []BaseVirtualDeviceConfigSpec `xml:"VirtualDeviceConfigSpec,omitempty,typeattr" json:"_value"`
  6948  }
  6949  
  6950  func init() {
  6951  	t["ArrayOfVirtualDeviceConfigSpec"] = reflect.TypeOf((*ArrayOfVirtualDeviceConfigSpec)(nil)).Elem()
  6952  }
  6953  
  6954  // A boxed array of `VirtualDeviceOption`. To be used in `Any` placeholders.
  6955  type ArrayOfVirtualDeviceOption struct {
  6956  	VirtualDeviceOption []BaseVirtualDeviceOption `xml:"VirtualDeviceOption,omitempty,typeattr" json:"_value"`
  6957  }
  6958  
  6959  func init() {
  6960  	t["ArrayOfVirtualDeviceOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceOption)(nil)).Elem()
  6961  }
  6962  
  6963  // A boxed array of `VirtualDisk`. To be used in `Any` placeholders.
  6964  type ArrayOfVirtualDisk struct {
  6965  	VirtualDisk []VirtualDisk `xml:"VirtualDisk,omitempty" json:"_value"`
  6966  }
  6967  
  6968  func init() {
  6969  	t["ArrayOfVirtualDisk"] = reflect.TypeOf((*ArrayOfVirtualDisk)(nil)).Elem()
  6970  }
  6971  
  6972  // A boxed array of `VirtualDiskDeltaDiskFormatsSupported`. To be used in `Any` placeholders.
  6973  type ArrayOfVirtualDiskDeltaDiskFormatsSupported struct {
  6974  	VirtualDiskDeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"VirtualDiskDeltaDiskFormatsSupported,omitempty" json:"_value"`
  6975  }
  6976  
  6977  func init() {
  6978  	t["ArrayOfVirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*ArrayOfVirtualDiskDeltaDiskFormatsSupported)(nil)).Elem()
  6979  }
  6980  
  6981  // A boxed array of `VirtualDiskId`. To be used in `Any` placeholders.
  6982  type ArrayOfVirtualDiskId struct {
  6983  	VirtualDiskId []VirtualDiskId `xml:"VirtualDiskId,omitempty" json:"_value"`
  6984  }
  6985  
  6986  func init() {
  6987  	t["ArrayOfVirtualDiskId"] = reflect.TypeOf((*ArrayOfVirtualDiskId)(nil)).Elem()
  6988  }
  6989  
  6990  // A boxed array of `VirtualDiskRuleSpec`. To be used in `Any` placeholders.
  6991  type ArrayOfVirtualDiskRuleSpec struct {
  6992  	VirtualDiskRuleSpec []VirtualDiskRuleSpec `xml:"VirtualDiskRuleSpec,omitempty" json:"_value"`
  6993  }
  6994  
  6995  func init() {
  6996  	t["ArrayOfVirtualDiskRuleSpec"] = reflect.TypeOf((*ArrayOfVirtualDiskRuleSpec)(nil)).Elem()
  6997  }
  6998  
  6999  // A boxed array of `VirtualMachineBaseIndependentFilterSpec`. To be used in `Any` placeholders.
  7000  type ArrayOfVirtualMachineBaseIndependentFilterSpec struct {
  7001  	VirtualMachineBaseIndependentFilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"VirtualMachineBaseIndependentFilterSpec,omitempty,typeattr" json:"_value"`
  7002  }
  7003  
  7004  func init() {
  7005  	t["ArrayOfVirtualMachineBaseIndependentFilterSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineBaseIndependentFilterSpec)(nil)).Elem()
  7006  	minAPIVersionForType["ArrayOfVirtualMachineBaseIndependentFilterSpec"] = "7.0.2.1"
  7007  }
  7008  
  7009  // A boxed array of `VirtualMachineBootOptionsBootableDevice`. To be used in `Any` placeholders.
  7010  type ArrayOfVirtualMachineBootOptionsBootableDevice struct {
  7011  	VirtualMachineBootOptionsBootableDevice []BaseVirtualMachineBootOptionsBootableDevice `xml:"VirtualMachineBootOptionsBootableDevice,omitempty,typeattr" json:"_value"`
  7012  }
  7013  
  7014  func init() {
  7015  	t["ArrayOfVirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*ArrayOfVirtualMachineBootOptionsBootableDevice)(nil)).Elem()
  7016  }
  7017  
  7018  // A boxed array of `VirtualMachineCdromInfo`. To be used in `Any` placeholders.
  7019  type ArrayOfVirtualMachineCdromInfo struct {
  7020  	VirtualMachineCdromInfo []VirtualMachineCdromInfo `xml:"VirtualMachineCdromInfo,omitempty" json:"_value"`
  7021  }
  7022  
  7023  func init() {
  7024  	t["ArrayOfVirtualMachineCdromInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineCdromInfo)(nil)).Elem()
  7025  }
  7026  
  7027  // A boxed array of `VirtualMachineCertThumbprint`. To be used in `Any` placeholders.
  7028  type ArrayOfVirtualMachineCertThumbprint struct {
  7029  	VirtualMachineCertThumbprint []VirtualMachineCertThumbprint `xml:"VirtualMachineCertThumbprint,omitempty" json:"_value"`
  7030  }
  7031  
  7032  func init() {
  7033  	t["ArrayOfVirtualMachineCertThumbprint"] = reflect.TypeOf((*ArrayOfVirtualMachineCertThumbprint)(nil)).Elem()
  7034  	minAPIVersionForType["ArrayOfVirtualMachineCertThumbprint"] = "7.0.3.1"
  7035  }
  7036  
  7037  // A boxed array of `VirtualMachineConfigInfoDatastoreUrlPair`. To be used in `Any` placeholders.
  7038  type ArrayOfVirtualMachineConfigInfoDatastoreUrlPair struct {
  7039  	VirtualMachineConfigInfoDatastoreUrlPair []VirtualMachineConfigInfoDatastoreUrlPair `xml:"VirtualMachineConfigInfoDatastoreUrlPair,omitempty" json:"_value"`
  7040  }
  7041  
  7042  func init() {
  7043  	t["ArrayOfVirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem()
  7044  }
  7045  
  7046  // A boxed array of `VirtualMachineConfigOptionDescriptor`. To be used in `Any` placeholders.
  7047  type ArrayOfVirtualMachineConfigOptionDescriptor struct {
  7048  	VirtualMachineConfigOptionDescriptor []VirtualMachineConfigOptionDescriptor `xml:"VirtualMachineConfigOptionDescriptor,omitempty" json:"_value"`
  7049  }
  7050  
  7051  func init() {
  7052  	t["ArrayOfVirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigOptionDescriptor)(nil)).Elem()
  7053  }
  7054  
  7055  // A boxed array of `VirtualMachineConfigSpec`. To be used in `Any` placeholders.
  7056  type ArrayOfVirtualMachineConfigSpec struct {
  7057  	VirtualMachineConfigSpec []VirtualMachineConfigSpec `xml:"VirtualMachineConfigSpec,omitempty" json:"_value"`
  7058  }
  7059  
  7060  func init() {
  7061  	t["ArrayOfVirtualMachineConfigSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigSpec)(nil)).Elem()
  7062  }
  7063  
  7064  // A boxed array of `VirtualMachineConnection`. To be used in `Any` placeholders.
  7065  type ArrayOfVirtualMachineConnection struct {
  7066  	VirtualMachineConnection []BaseVirtualMachineConnection `xml:"VirtualMachineConnection,omitempty,typeattr" json:"_value"`
  7067  }
  7068  
  7069  func init() {
  7070  	t["ArrayOfVirtualMachineConnection"] = reflect.TypeOf((*ArrayOfVirtualMachineConnection)(nil)).Elem()
  7071  	minAPIVersionForType["ArrayOfVirtualMachineConnection"] = "7.0.1.0"
  7072  }
  7073  
  7074  // A boxed array of `VirtualMachineCpuIdInfoSpec`. To be used in `Any` placeholders.
  7075  type ArrayOfVirtualMachineCpuIdInfoSpec struct {
  7076  	VirtualMachineCpuIdInfoSpec []VirtualMachineCpuIdInfoSpec `xml:"VirtualMachineCpuIdInfoSpec,omitempty" json:"_value"`
  7077  }
  7078  
  7079  func init() {
  7080  	t["ArrayOfVirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineCpuIdInfoSpec)(nil)).Elem()
  7081  }
  7082  
  7083  // A boxed array of `VirtualMachineDatastoreInfo`. To be used in `Any` placeholders.
  7084  type ArrayOfVirtualMachineDatastoreInfo struct {
  7085  	VirtualMachineDatastoreInfo []VirtualMachineDatastoreInfo `xml:"VirtualMachineDatastoreInfo,omitempty" json:"_value"`
  7086  }
  7087  
  7088  func init() {
  7089  	t["ArrayOfVirtualMachineDatastoreInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreInfo)(nil)).Elem()
  7090  }
  7091  
  7092  // A boxed array of `VirtualMachineDatastoreVolumeOption`. To be used in `Any` placeholders.
  7093  type ArrayOfVirtualMachineDatastoreVolumeOption struct {
  7094  	VirtualMachineDatastoreVolumeOption []VirtualMachineDatastoreVolumeOption `xml:"VirtualMachineDatastoreVolumeOption,omitempty" json:"_value"`
  7095  }
  7096  
  7097  func init() {
  7098  	t["ArrayOfVirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreVolumeOption)(nil)).Elem()
  7099  }
  7100  
  7101  // A boxed array of `VirtualMachineDeviceRuntimeInfo`. To be used in `Any` placeholders.
  7102  type ArrayOfVirtualMachineDeviceRuntimeInfo struct {
  7103  	VirtualMachineDeviceRuntimeInfo []VirtualMachineDeviceRuntimeInfo `xml:"VirtualMachineDeviceRuntimeInfo,omitempty" json:"_value"`
  7104  }
  7105  
  7106  func init() {
  7107  	t["ArrayOfVirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDeviceRuntimeInfo)(nil)).Elem()
  7108  }
  7109  
  7110  // A boxed array of `VirtualMachineDisplayTopology`. To be used in `Any` placeholders.
  7111  type ArrayOfVirtualMachineDisplayTopology struct {
  7112  	VirtualMachineDisplayTopology []VirtualMachineDisplayTopology `xml:"VirtualMachineDisplayTopology,omitempty" json:"_value"`
  7113  }
  7114  
  7115  func init() {
  7116  	t["ArrayOfVirtualMachineDisplayTopology"] = reflect.TypeOf((*ArrayOfVirtualMachineDisplayTopology)(nil)).Elem()
  7117  }
  7118  
  7119  // A boxed array of `VirtualMachineDvxClassInfo`. To be used in `Any` placeholders.
  7120  type ArrayOfVirtualMachineDvxClassInfo struct {
  7121  	VirtualMachineDvxClassInfo []VirtualMachineDvxClassInfo `xml:"VirtualMachineDvxClassInfo,omitempty" json:"_value"`
  7122  }
  7123  
  7124  func init() {
  7125  	t["ArrayOfVirtualMachineDvxClassInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDvxClassInfo)(nil)).Elem()
  7126  	minAPIVersionForType["ArrayOfVirtualMachineDvxClassInfo"] = "8.0.0.1"
  7127  }
  7128  
  7129  // A boxed array of `VirtualMachineDynamicPassthroughInfo`. To be used in `Any` placeholders.
  7130  type ArrayOfVirtualMachineDynamicPassthroughInfo struct {
  7131  	VirtualMachineDynamicPassthroughInfo []VirtualMachineDynamicPassthroughInfo `xml:"VirtualMachineDynamicPassthroughInfo,omitempty" json:"_value"`
  7132  }
  7133  
  7134  func init() {
  7135  	t["ArrayOfVirtualMachineDynamicPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDynamicPassthroughInfo)(nil)).Elem()
  7136  }
  7137  
  7138  // A boxed array of `VirtualMachineFeatureRequirement`. To be used in `Any` placeholders.
  7139  type ArrayOfVirtualMachineFeatureRequirement struct {
  7140  	VirtualMachineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"VirtualMachineFeatureRequirement,omitempty" json:"_value"`
  7141  }
  7142  
  7143  func init() {
  7144  	t["ArrayOfVirtualMachineFeatureRequirement"] = reflect.TypeOf((*ArrayOfVirtualMachineFeatureRequirement)(nil)).Elem()
  7145  }
  7146  
  7147  // A boxed array of `VirtualMachineFileLayoutDiskLayout`. To be used in `Any` placeholders.
  7148  type ArrayOfVirtualMachineFileLayoutDiskLayout struct {
  7149  	VirtualMachineFileLayoutDiskLayout []VirtualMachineFileLayoutDiskLayout `xml:"VirtualMachineFileLayoutDiskLayout,omitempty" json:"_value"`
  7150  }
  7151  
  7152  func init() {
  7153  	t["ArrayOfVirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutDiskLayout)(nil)).Elem()
  7154  }
  7155  
  7156  // A boxed array of `VirtualMachineFileLayoutExDiskLayout`. To be used in `Any` placeholders.
  7157  type ArrayOfVirtualMachineFileLayoutExDiskLayout struct {
  7158  	VirtualMachineFileLayoutExDiskLayout []VirtualMachineFileLayoutExDiskLayout `xml:"VirtualMachineFileLayoutExDiskLayout,omitempty" json:"_value"`
  7159  }
  7160  
  7161  func init() {
  7162  	t["ArrayOfVirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskLayout)(nil)).Elem()
  7163  }
  7164  
  7165  // A boxed array of `VirtualMachineFileLayoutExDiskUnit`. To be used in `Any` placeholders.
  7166  type ArrayOfVirtualMachineFileLayoutExDiskUnit struct {
  7167  	VirtualMachineFileLayoutExDiskUnit []VirtualMachineFileLayoutExDiskUnit `xml:"VirtualMachineFileLayoutExDiskUnit,omitempty" json:"_value"`
  7168  }
  7169  
  7170  func init() {
  7171  	t["ArrayOfVirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskUnit)(nil)).Elem()
  7172  }
  7173  
  7174  // A boxed array of `VirtualMachineFileLayoutExFileInfo`. To be used in `Any` placeholders.
  7175  type ArrayOfVirtualMachineFileLayoutExFileInfo struct {
  7176  	VirtualMachineFileLayoutExFileInfo []VirtualMachineFileLayoutExFileInfo `xml:"VirtualMachineFileLayoutExFileInfo,omitempty" json:"_value"`
  7177  }
  7178  
  7179  func init() {
  7180  	t["ArrayOfVirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExFileInfo)(nil)).Elem()
  7181  }
  7182  
  7183  // A boxed array of `VirtualMachineFileLayoutExSnapshotLayout`. To be used in `Any` placeholders.
  7184  type ArrayOfVirtualMachineFileLayoutExSnapshotLayout struct {
  7185  	VirtualMachineFileLayoutExSnapshotLayout []VirtualMachineFileLayoutExSnapshotLayout `xml:"VirtualMachineFileLayoutExSnapshotLayout,omitempty" json:"_value"`
  7186  }
  7187  
  7188  func init() {
  7189  	t["ArrayOfVirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem()
  7190  }
  7191  
  7192  // A boxed array of `VirtualMachineFileLayoutSnapshotLayout`. To be used in `Any` placeholders.
  7193  type ArrayOfVirtualMachineFileLayoutSnapshotLayout struct {
  7194  	VirtualMachineFileLayoutSnapshotLayout []VirtualMachineFileLayoutSnapshotLayout `xml:"VirtualMachineFileLayoutSnapshotLayout,omitempty" json:"_value"`
  7195  }
  7196  
  7197  func init() {
  7198  	t["ArrayOfVirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutSnapshotLayout)(nil)).Elem()
  7199  }
  7200  
  7201  // A boxed array of `VirtualMachineFloppyInfo`. To be used in `Any` placeholders.
  7202  type ArrayOfVirtualMachineFloppyInfo struct {
  7203  	VirtualMachineFloppyInfo []VirtualMachineFloppyInfo `xml:"VirtualMachineFloppyInfo,omitempty" json:"_value"`
  7204  }
  7205  
  7206  func init() {
  7207  	t["ArrayOfVirtualMachineFloppyInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFloppyInfo)(nil)).Elem()
  7208  }
  7209  
  7210  // A boxed array of `VirtualMachineIdeDiskDeviceInfo`. To be used in `Any` placeholders.
  7211  type ArrayOfVirtualMachineIdeDiskDeviceInfo struct {
  7212  	VirtualMachineIdeDiskDeviceInfo []VirtualMachineIdeDiskDeviceInfo `xml:"VirtualMachineIdeDiskDeviceInfo,omitempty" json:"_value"`
  7213  }
  7214  
  7215  func init() {
  7216  	t["ArrayOfVirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDeviceInfo)(nil)).Elem()
  7217  }
  7218  
  7219  // A boxed array of `VirtualMachineIdeDiskDevicePartitionInfo`. To be used in `Any` placeholders.
  7220  type ArrayOfVirtualMachineIdeDiskDevicePartitionInfo struct {
  7221  	VirtualMachineIdeDiskDevicePartitionInfo []VirtualMachineIdeDiskDevicePartitionInfo `xml:"VirtualMachineIdeDiskDevicePartitionInfo,omitempty" json:"_value"`
  7222  }
  7223  
  7224  func init() {
  7225  	t["ArrayOfVirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem()
  7226  }
  7227  
  7228  // A boxed array of `VirtualMachineLegacyNetworkSwitchInfo`. To be used in `Any` placeholders.
  7229  type ArrayOfVirtualMachineLegacyNetworkSwitchInfo struct {
  7230  	VirtualMachineLegacyNetworkSwitchInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"VirtualMachineLegacyNetworkSwitchInfo,omitempty" json:"_value"`
  7231  }
  7232  
  7233  func init() {
  7234  	t["ArrayOfVirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem()
  7235  }
  7236  
  7237  // A boxed array of `VirtualMachineMessage`. To be used in `Any` placeholders.
  7238  type ArrayOfVirtualMachineMessage struct {
  7239  	VirtualMachineMessage []VirtualMachineMessage `xml:"VirtualMachineMessage,omitempty" json:"_value"`
  7240  }
  7241  
  7242  func init() {
  7243  	t["ArrayOfVirtualMachineMessage"] = reflect.TypeOf((*ArrayOfVirtualMachineMessage)(nil)).Elem()
  7244  }
  7245  
  7246  // A boxed array of `VirtualMachineMetadataManagerVmMetadataInput`. To be used in `Any` placeholders.
  7247  type ArrayOfVirtualMachineMetadataManagerVmMetadataInput struct {
  7248  	VirtualMachineMetadataManagerVmMetadataInput []VirtualMachineMetadataManagerVmMetadataInput `xml:"VirtualMachineMetadataManagerVmMetadataInput,omitempty" json:"_value"`
  7249  }
  7250  
  7251  func init() {
  7252  	t["ArrayOfVirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem()
  7253  }
  7254  
  7255  // A boxed array of `VirtualMachineMetadataManagerVmMetadataResult`. To be used in `Any` placeholders.
  7256  type ArrayOfVirtualMachineMetadataManagerVmMetadataResult struct {
  7257  	VirtualMachineMetadataManagerVmMetadataResult []VirtualMachineMetadataManagerVmMetadataResult `xml:"VirtualMachineMetadataManagerVmMetadataResult,omitempty" json:"_value"`
  7258  }
  7259  
  7260  func init() {
  7261  	t["ArrayOfVirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem()
  7262  }
  7263  
  7264  // A boxed array of `VirtualMachineNetworkInfo`. To be used in `Any` placeholders.
  7265  type ArrayOfVirtualMachineNetworkInfo struct {
  7266  	VirtualMachineNetworkInfo []VirtualMachineNetworkInfo `xml:"VirtualMachineNetworkInfo,omitempty" json:"_value"`
  7267  }
  7268  
  7269  func init() {
  7270  	t["ArrayOfVirtualMachineNetworkInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineNetworkInfo)(nil)).Elem()
  7271  }
  7272  
  7273  // A boxed array of `VirtualMachineParallelInfo`. To be used in `Any` placeholders.
  7274  type ArrayOfVirtualMachineParallelInfo struct {
  7275  	VirtualMachineParallelInfo []VirtualMachineParallelInfo `xml:"VirtualMachineParallelInfo,omitempty" json:"_value"`
  7276  }
  7277  
  7278  func init() {
  7279  	t["ArrayOfVirtualMachineParallelInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineParallelInfo)(nil)).Elem()
  7280  }
  7281  
  7282  // A boxed array of `VirtualMachinePciPassthroughInfo`. To be used in `Any` placeholders.
  7283  type ArrayOfVirtualMachinePciPassthroughInfo struct {
  7284  	VirtualMachinePciPassthroughInfo []BaseVirtualMachinePciPassthroughInfo `xml:"VirtualMachinePciPassthroughInfo,omitempty,typeattr" json:"_value"`
  7285  }
  7286  
  7287  func init() {
  7288  	t["ArrayOfVirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciPassthroughInfo)(nil)).Elem()
  7289  }
  7290  
  7291  // A boxed array of `VirtualMachinePciSharedGpuPassthroughInfo`. To be used in `Any` placeholders.
  7292  type ArrayOfVirtualMachinePciSharedGpuPassthroughInfo struct {
  7293  	VirtualMachinePciSharedGpuPassthroughInfo []VirtualMachinePciSharedGpuPassthroughInfo `xml:"VirtualMachinePciSharedGpuPassthroughInfo,omitempty" json:"_value"`
  7294  }
  7295  
  7296  func init() {
  7297  	t["ArrayOfVirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem()
  7298  }
  7299  
  7300  // A boxed array of `VirtualMachinePrecisionClockInfo`. To be used in `Any` placeholders.
  7301  type ArrayOfVirtualMachinePrecisionClockInfo struct {
  7302  	VirtualMachinePrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"VirtualMachinePrecisionClockInfo,omitempty" json:"_value"`
  7303  }
  7304  
  7305  func init() {
  7306  	t["ArrayOfVirtualMachinePrecisionClockInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePrecisionClockInfo)(nil)).Elem()
  7307  }
  7308  
  7309  // A boxed array of `VirtualMachineProfileDetailsDiskProfileDetails`. To be used in `Any` placeholders.
  7310  type ArrayOfVirtualMachineProfileDetailsDiskProfileDetails struct {
  7311  	VirtualMachineProfileDetailsDiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"VirtualMachineProfileDetailsDiskProfileDetails,omitempty" json:"_value"`
  7312  }
  7313  
  7314  func init() {
  7315  	t["ArrayOfVirtualMachineProfileDetailsDiskProfileDetails"] = reflect.TypeOf((*ArrayOfVirtualMachineProfileDetailsDiskProfileDetails)(nil)).Elem()
  7316  }
  7317  
  7318  // A boxed array of `VirtualMachineProfileSpec`. To be used in `Any` placeholders.
  7319  type ArrayOfVirtualMachineProfileSpec struct {
  7320  	VirtualMachineProfileSpec []BaseVirtualMachineProfileSpec `xml:"VirtualMachineProfileSpec,omitempty,typeattr" json:"_value"`
  7321  }
  7322  
  7323  func init() {
  7324  	t["ArrayOfVirtualMachineProfileSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineProfileSpec)(nil)).Elem()
  7325  }
  7326  
  7327  // A boxed array of `VirtualMachinePropertyRelation`. To be used in `Any` placeholders.
  7328  type ArrayOfVirtualMachinePropertyRelation struct {
  7329  	VirtualMachinePropertyRelation []VirtualMachinePropertyRelation `xml:"VirtualMachinePropertyRelation,omitempty" json:"_value"`
  7330  }
  7331  
  7332  func init() {
  7333  	t["ArrayOfVirtualMachinePropertyRelation"] = reflect.TypeOf((*ArrayOfVirtualMachinePropertyRelation)(nil)).Elem()
  7334  }
  7335  
  7336  // A boxed array of `VirtualMachineQuickStatsMemoryTierStats`. To be used in `Any` placeholders.
  7337  type ArrayOfVirtualMachineQuickStatsMemoryTierStats struct {
  7338  	VirtualMachineQuickStatsMemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"VirtualMachineQuickStatsMemoryTierStats,omitempty" json:"_value"`
  7339  }
  7340  
  7341  func init() {
  7342  	t["ArrayOfVirtualMachineQuickStatsMemoryTierStats"] = reflect.TypeOf((*ArrayOfVirtualMachineQuickStatsMemoryTierStats)(nil)).Elem()
  7343  	minAPIVersionForType["ArrayOfVirtualMachineQuickStatsMemoryTierStats"] = "7.0.3.0"
  7344  }
  7345  
  7346  // A boxed array of `VirtualMachineRelocateSpecDiskLocator`. To be used in `Any` placeholders.
  7347  type ArrayOfVirtualMachineRelocateSpecDiskLocator struct {
  7348  	VirtualMachineRelocateSpecDiskLocator []VirtualMachineRelocateSpecDiskLocator `xml:"VirtualMachineRelocateSpecDiskLocator,omitempty" json:"_value"`
  7349  }
  7350  
  7351  func init() {
  7352  	t["ArrayOfVirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*ArrayOfVirtualMachineRelocateSpecDiskLocator)(nil)).Elem()
  7353  }
  7354  
  7355  // A boxed array of `VirtualMachineScsiDiskDeviceInfo`. To be used in `Any` placeholders.
  7356  type ArrayOfVirtualMachineScsiDiskDeviceInfo struct {
  7357  	VirtualMachineScsiDiskDeviceInfo []VirtualMachineScsiDiskDeviceInfo `xml:"VirtualMachineScsiDiskDeviceInfo,omitempty" json:"_value"`
  7358  }
  7359  
  7360  func init() {
  7361  	t["ArrayOfVirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiDiskDeviceInfo)(nil)).Elem()
  7362  }
  7363  
  7364  // A boxed array of `VirtualMachineScsiPassthroughInfo`. To be used in `Any` placeholders.
  7365  type ArrayOfVirtualMachineScsiPassthroughInfo struct {
  7366  	VirtualMachineScsiPassthroughInfo []VirtualMachineScsiPassthroughInfo `xml:"VirtualMachineScsiPassthroughInfo,omitempty" json:"_value"`
  7367  }
  7368  
  7369  func init() {
  7370  	t["ArrayOfVirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiPassthroughInfo)(nil)).Elem()
  7371  }
  7372  
  7373  // A boxed array of `VirtualMachineSerialInfo`. To be used in `Any` placeholders.
  7374  type ArrayOfVirtualMachineSerialInfo struct {
  7375  	VirtualMachineSerialInfo []VirtualMachineSerialInfo `xml:"VirtualMachineSerialInfo,omitempty" json:"_value"`
  7376  }
  7377  
  7378  func init() {
  7379  	t["ArrayOfVirtualMachineSerialInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSerialInfo)(nil)).Elem()
  7380  }
  7381  
  7382  // A boxed array of `VirtualMachineSnapshotTree`. To be used in `Any` placeholders.
  7383  type ArrayOfVirtualMachineSnapshotTree struct {
  7384  	VirtualMachineSnapshotTree []VirtualMachineSnapshotTree `xml:"VirtualMachineSnapshotTree,omitempty" json:"_value"`
  7385  }
  7386  
  7387  func init() {
  7388  	t["ArrayOfVirtualMachineSnapshotTree"] = reflect.TypeOf((*ArrayOfVirtualMachineSnapshotTree)(nil)).Elem()
  7389  }
  7390  
  7391  // A boxed array of `VirtualMachineSoundInfo`. To be used in `Any` placeholders.
  7392  type ArrayOfVirtualMachineSoundInfo struct {
  7393  	VirtualMachineSoundInfo []VirtualMachineSoundInfo `xml:"VirtualMachineSoundInfo,omitempty" json:"_value"`
  7394  }
  7395  
  7396  func init() {
  7397  	t["ArrayOfVirtualMachineSoundInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSoundInfo)(nil)).Elem()
  7398  }
  7399  
  7400  // A boxed array of `VirtualMachineSriovInfo`. To be used in `Any` placeholders.
  7401  type ArrayOfVirtualMachineSriovInfo struct {
  7402  	VirtualMachineSriovInfo []VirtualMachineSriovInfo `xml:"VirtualMachineSriovInfo,omitempty" json:"_value"`
  7403  }
  7404  
  7405  func init() {
  7406  	t["ArrayOfVirtualMachineSriovInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSriovInfo)(nil)).Elem()
  7407  }
  7408  
  7409  // A boxed array of `VirtualMachineSummary`. To be used in `Any` placeholders.
  7410  type ArrayOfVirtualMachineSummary struct {
  7411  	VirtualMachineSummary []VirtualMachineSummary `xml:"VirtualMachineSummary,omitempty" json:"_value"`
  7412  }
  7413  
  7414  func init() {
  7415  	t["ArrayOfVirtualMachineSummary"] = reflect.TypeOf((*ArrayOfVirtualMachineSummary)(nil)).Elem()
  7416  }
  7417  
  7418  // A boxed array of `VirtualMachineUsageOnDatastore`. To be used in `Any` placeholders.
  7419  type ArrayOfVirtualMachineUsageOnDatastore struct {
  7420  	VirtualMachineUsageOnDatastore []VirtualMachineUsageOnDatastore `xml:"VirtualMachineUsageOnDatastore,omitempty" json:"_value"`
  7421  }
  7422  
  7423  func init() {
  7424  	t["ArrayOfVirtualMachineUsageOnDatastore"] = reflect.TypeOf((*ArrayOfVirtualMachineUsageOnDatastore)(nil)).Elem()
  7425  }
  7426  
  7427  // A boxed array of `VirtualMachineUsbInfo`. To be used in `Any` placeholders.
  7428  type ArrayOfVirtualMachineUsbInfo struct {
  7429  	VirtualMachineUsbInfo []VirtualMachineUsbInfo `xml:"VirtualMachineUsbInfo,omitempty" json:"_value"`
  7430  }
  7431  
  7432  func init() {
  7433  	t["ArrayOfVirtualMachineUsbInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineUsbInfo)(nil)).Elem()
  7434  }
  7435  
  7436  // A boxed array of `VirtualMachineVFlashModuleInfo`. To be used in `Any` placeholders.
  7437  type ArrayOfVirtualMachineVFlashModuleInfo struct {
  7438  	VirtualMachineVFlashModuleInfo []VirtualMachineVFlashModuleInfo `xml:"VirtualMachineVFlashModuleInfo,omitempty" json:"_value"`
  7439  }
  7440  
  7441  func init() {
  7442  	t["ArrayOfVirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVFlashModuleInfo)(nil)).Elem()
  7443  }
  7444  
  7445  // A boxed array of `VirtualMachineVMCIDeviceFilterSpec`. To be used in `Any` placeholders.
  7446  type ArrayOfVirtualMachineVMCIDeviceFilterSpec struct {
  7447  	VirtualMachineVMCIDeviceFilterSpec []VirtualMachineVMCIDeviceFilterSpec `xml:"VirtualMachineVMCIDeviceFilterSpec,omitempty" json:"_value"`
  7448  }
  7449  
  7450  func init() {
  7451  	t["ArrayOfVirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineVMCIDeviceFilterSpec)(nil)).Elem()
  7452  }
  7453  
  7454  // A boxed array of `VirtualMachineVMotionStunTimeInfo`. To be used in `Any` placeholders.
  7455  type ArrayOfVirtualMachineVMotionStunTimeInfo struct {
  7456  	VirtualMachineVMotionStunTimeInfo []VirtualMachineVMotionStunTimeInfo `xml:"VirtualMachineVMotionStunTimeInfo,omitempty" json:"_value"`
  7457  }
  7458  
  7459  func init() {
  7460  	t["ArrayOfVirtualMachineVMotionStunTimeInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVMotionStunTimeInfo)(nil)).Elem()
  7461  	minAPIVersionForType["ArrayOfVirtualMachineVMotionStunTimeInfo"] = "8.0.2.0"
  7462  }
  7463  
  7464  // A boxed array of `VirtualMachineVcpuConfig`. To be used in `Any` placeholders.
  7465  type ArrayOfVirtualMachineVcpuConfig struct {
  7466  	VirtualMachineVcpuConfig []VirtualMachineVcpuConfig `xml:"VirtualMachineVcpuConfig,omitempty" json:"_value"`
  7467  }
  7468  
  7469  func init() {
  7470  	t["ArrayOfVirtualMachineVcpuConfig"] = reflect.TypeOf((*ArrayOfVirtualMachineVcpuConfig)(nil)).Elem()
  7471  }
  7472  
  7473  // A boxed array of `VirtualMachineVendorDeviceGroupInfo`. To be used in `Any` placeholders.
  7474  type ArrayOfVirtualMachineVendorDeviceGroupInfo struct {
  7475  	VirtualMachineVendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"VirtualMachineVendorDeviceGroupInfo,omitempty" json:"_value"`
  7476  }
  7477  
  7478  func init() {
  7479  	t["ArrayOfVirtualMachineVendorDeviceGroupInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVendorDeviceGroupInfo)(nil)).Elem()
  7480  	minAPIVersionForType["ArrayOfVirtualMachineVendorDeviceGroupInfo"] = "8.0.0.1"
  7481  }
  7482  
  7483  // A boxed array of `VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo`. To be used in `Any` placeholders.
  7484  type ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct {
  7485  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo,omitempty" json:"_value"`
  7486  }
  7487  
  7488  func init() {
  7489  	t["ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo)(nil)).Elem()
  7490  	minAPIVersionForType["ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = "8.0.0.1"
  7491  }
  7492  
  7493  // A boxed array of `VirtualMachineVgpuDeviceInfo`. To be used in `Any` placeholders.
  7494  type ArrayOfVirtualMachineVgpuDeviceInfo struct {
  7495  	VirtualMachineVgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"VirtualMachineVgpuDeviceInfo,omitempty" json:"_value"`
  7496  }
  7497  
  7498  func init() {
  7499  	t["ArrayOfVirtualMachineVgpuDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVgpuDeviceInfo)(nil)).Elem()
  7500  	minAPIVersionForType["ArrayOfVirtualMachineVgpuDeviceInfo"] = "7.0.3.0"
  7501  }
  7502  
  7503  // A boxed array of `VirtualMachineVgpuProfileInfo`. To be used in `Any` placeholders.
  7504  type ArrayOfVirtualMachineVgpuProfileInfo struct {
  7505  	VirtualMachineVgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"VirtualMachineVgpuProfileInfo,omitempty" json:"_value"`
  7506  }
  7507  
  7508  func init() {
  7509  	t["ArrayOfVirtualMachineVgpuProfileInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVgpuProfileInfo)(nil)).Elem()
  7510  	minAPIVersionForType["ArrayOfVirtualMachineVgpuProfileInfo"] = "7.0.3.0"
  7511  }
  7512  
  7513  // A boxed array of `VirtualMachineVirtualDeviceGroupsDeviceGroup`. To be used in `Any` placeholders.
  7514  type ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup struct {
  7515  	VirtualMachineVirtualDeviceGroupsDeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"VirtualMachineVirtualDeviceGroupsDeviceGroup,omitempty,typeattr" json:"_value"`
  7516  }
  7517  
  7518  func init() {
  7519  	t["ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup"] = reflect.TypeOf((*ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup)(nil)).Elem()
  7520  }
  7521  
  7522  // A boxed array of `VirtualNicManagerNetConfig`. To be used in `Any` placeholders.
  7523  type ArrayOfVirtualNicManagerNetConfig struct {
  7524  	VirtualNicManagerNetConfig []VirtualNicManagerNetConfig `xml:"VirtualNicManagerNetConfig,omitempty" json:"_value"`
  7525  }
  7526  
  7527  func init() {
  7528  	t["ArrayOfVirtualNicManagerNetConfig"] = reflect.TypeOf((*ArrayOfVirtualNicManagerNetConfig)(nil)).Elem()
  7529  }
  7530  
  7531  // A boxed array of `VirtualPCIPassthroughAllowedDevice`. To be used in `Any` placeholders.
  7532  type ArrayOfVirtualPCIPassthroughAllowedDevice struct {
  7533  	VirtualPCIPassthroughAllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"VirtualPCIPassthroughAllowedDevice,omitempty" json:"_value"`
  7534  }
  7535  
  7536  func init() {
  7537  	t["ArrayOfVirtualPCIPassthroughAllowedDevice"] = reflect.TypeOf((*ArrayOfVirtualPCIPassthroughAllowedDevice)(nil)).Elem()
  7538  }
  7539  
  7540  // A boxed array of `VirtualSCSISharing_enum`. To be used in `Any` placeholders.
  7541  type ArrayOfVirtualSCSISharing struct {
  7542  	VirtualSCSISharing []VirtualSCSISharing `xml:"VirtualSCSISharing,omitempty" json:"_value"`
  7543  }
  7544  
  7545  func init() {
  7546  	t["ArrayOfVirtualSCSISharing"] = reflect.TypeOf((*ArrayOfVirtualSCSISharing)(nil)).Elem()
  7547  }
  7548  
  7549  // A boxed array of `VirtualSwitchProfile`. To be used in `Any` placeholders.
  7550  type ArrayOfVirtualSwitchProfile struct {
  7551  	VirtualSwitchProfile []VirtualSwitchProfile `xml:"VirtualSwitchProfile,omitempty" json:"_value"`
  7552  }
  7553  
  7554  func init() {
  7555  	t["ArrayOfVirtualSwitchProfile"] = reflect.TypeOf((*ArrayOfVirtualSwitchProfile)(nil)).Elem()
  7556  }
  7557  
  7558  // A boxed array of `VmEventArgument`. To be used in `Any` placeholders.
  7559  type ArrayOfVmEventArgument struct {
  7560  	VmEventArgument []VmEventArgument `xml:"VmEventArgument,omitempty" json:"_value"`
  7561  }
  7562  
  7563  func init() {
  7564  	t["ArrayOfVmEventArgument"] = reflect.TypeOf((*ArrayOfVmEventArgument)(nil)).Elem()
  7565  }
  7566  
  7567  // A boxed array of `VmPodConfigForPlacement`. To be used in `Any` placeholders.
  7568  type ArrayOfVmPodConfigForPlacement struct {
  7569  	VmPodConfigForPlacement []VmPodConfigForPlacement `xml:"VmPodConfigForPlacement,omitempty" json:"_value"`
  7570  }
  7571  
  7572  func init() {
  7573  	t["ArrayOfVmPodConfigForPlacement"] = reflect.TypeOf((*ArrayOfVmPodConfigForPlacement)(nil)).Elem()
  7574  }
  7575  
  7576  // A boxed array of `VmPortGroupProfile`. To be used in `Any` placeholders.
  7577  type ArrayOfVmPortGroupProfile struct {
  7578  	VmPortGroupProfile []VmPortGroupProfile `xml:"VmPortGroupProfile,omitempty" json:"_value"`
  7579  }
  7580  
  7581  func init() {
  7582  	t["ArrayOfVmPortGroupProfile"] = reflect.TypeOf((*ArrayOfVmPortGroupProfile)(nil)).Elem()
  7583  }
  7584  
  7585  // A boxed array of `VmfsConfigOption`. To be used in `Any` placeholders.
  7586  type ArrayOfVmfsConfigOption struct {
  7587  	VmfsConfigOption []VmfsConfigOption `xml:"VmfsConfigOption,omitempty" json:"_value"`
  7588  }
  7589  
  7590  func init() {
  7591  	t["ArrayOfVmfsConfigOption"] = reflect.TypeOf((*ArrayOfVmfsConfigOption)(nil)).Elem()
  7592  }
  7593  
  7594  // A boxed array of `VmfsDatastoreOption`. To be used in `Any` placeholders.
  7595  type ArrayOfVmfsDatastoreOption struct {
  7596  	VmfsDatastoreOption []VmfsDatastoreOption `xml:"VmfsDatastoreOption,omitempty" json:"_value"`
  7597  }
  7598  
  7599  func init() {
  7600  	t["ArrayOfVmfsDatastoreOption"] = reflect.TypeOf((*ArrayOfVmfsDatastoreOption)(nil)).Elem()
  7601  }
  7602  
  7603  // A boxed array of `VnicPortArgument`. To be used in `Any` placeholders.
  7604  type ArrayOfVnicPortArgument struct {
  7605  	VnicPortArgument []VnicPortArgument `xml:"VnicPortArgument,omitempty" json:"_value"`
  7606  }
  7607  
  7608  func init() {
  7609  	t["ArrayOfVnicPortArgument"] = reflect.TypeOf((*ArrayOfVnicPortArgument)(nil)).Elem()
  7610  }
  7611  
  7612  // A boxed array of `VsanHostConfigInfo`. To be used in `Any` placeholders.
  7613  type ArrayOfVsanHostConfigInfo struct {
  7614  	VsanHostConfigInfo []VsanHostConfigInfo `xml:"VsanHostConfigInfo,omitempty" json:"_value"`
  7615  }
  7616  
  7617  func init() {
  7618  	t["ArrayOfVsanHostConfigInfo"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfo)(nil)).Elem()
  7619  }
  7620  
  7621  // A boxed array of `VsanHostConfigInfoNetworkInfoPortConfig`. To be used in `Any` placeholders.
  7622  type ArrayOfVsanHostConfigInfoNetworkInfoPortConfig struct {
  7623  	VsanHostConfigInfoNetworkInfoPortConfig []VsanHostConfigInfoNetworkInfoPortConfig `xml:"VsanHostConfigInfoNetworkInfoPortConfig,omitempty" json:"_value"`
  7624  }
  7625  
  7626  func init() {
  7627  	t["ArrayOfVsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem()
  7628  }
  7629  
  7630  // A boxed array of `VsanHostDiskMapInfo`. To be used in `Any` placeholders.
  7631  type ArrayOfVsanHostDiskMapInfo struct {
  7632  	VsanHostDiskMapInfo []VsanHostDiskMapInfo `xml:"VsanHostDiskMapInfo,omitempty" json:"_value"`
  7633  }
  7634  
  7635  func init() {
  7636  	t["ArrayOfVsanHostDiskMapInfo"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapInfo)(nil)).Elem()
  7637  }
  7638  
  7639  // A boxed array of `VsanHostDiskMapResult`. To be used in `Any` placeholders.
  7640  type ArrayOfVsanHostDiskMapResult struct {
  7641  	VsanHostDiskMapResult []VsanHostDiskMapResult `xml:"VsanHostDiskMapResult,omitempty" json:"_value"`
  7642  }
  7643  
  7644  func init() {
  7645  	t["ArrayOfVsanHostDiskMapResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapResult)(nil)).Elem()
  7646  }
  7647  
  7648  // A boxed array of `VsanHostDiskMapping`. To be used in `Any` placeholders.
  7649  type ArrayOfVsanHostDiskMapping struct {
  7650  	VsanHostDiskMapping []VsanHostDiskMapping `xml:"VsanHostDiskMapping,omitempty" json:"_value"`
  7651  }
  7652  
  7653  func init() {
  7654  	t["ArrayOfVsanHostDiskMapping"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapping)(nil)).Elem()
  7655  }
  7656  
  7657  // A boxed array of `VsanHostDiskResult`. To be used in `Any` placeholders.
  7658  type ArrayOfVsanHostDiskResult struct {
  7659  	VsanHostDiskResult []VsanHostDiskResult `xml:"VsanHostDiskResult,omitempty" json:"_value"`
  7660  }
  7661  
  7662  func init() {
  7663  	t["ArrayOfVsanHostDiskResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskResult)(nil)).Elem()
  7664  }
  7665  
  7666  // A boxed array of `VsanHostMembershipInfo`. To be used in `Any` placeholders.
  7667  type ArrayOfVsanHostMembershipInfo struct {
  7668  	VsanHostMembershipInfo []VsanHostMembershipInfo `xml:"VsanHostMembershipInfo,omitempty" json:"_value"`
  7669  }
  7670  
  7671  func init() {
  7672  	t["ArrayOfVsanHostMembershipInfo"] = reflect.TypeOf((*ArrayOfVsanHostMembershipInfo)(nil)).Elem()
  7673  }
  7674  
  7675  // A boxed array of `VsanHostRuntimeInfoDiskIssue`. To be used in `Any` placeholders.
  7676  type ArrayOfVsanHostRuntimeInfoDiskIssue struct {
  7677  	VsanHostRuntimeInfoDiskIssue []VsanHostRuntimeInfoDiskIssue `xml:"VsanHostRuntimeInfoDiskIssue,omitempty" json:"_value"`
  7678  }
  7679  
  7680  func init() {
  7681  	t["ArrayOfVsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*ArrayOfVsanHostRuntimeInfoDiskIssue)(nil)).Elem()
  7682  }
  7683  
  7684  // A boxed array of `VsanNewPolicyBatch`. To be used in `Any` placeholders.
  7685  type ArrayOfVsanNewPolicyBatch struct {
  7686  	VsanNewPolicyBatch []VsanNewPolicyBatch `xml:"VsanNewPolicyBatch,omitempty" json:"_value"`
  7687  }
  7688  
  7689  func init() {
  7690  	t["ArrayOfVsanNewPolicyBatch"] = reflect.TypeOf((*ArrayOfVsanNewPolicyBatch)(nil)).Elem()
  7691  }
  7692  
  7693  // A boxed array of `VsanPolicyChangeBatch`. To be used in `Any` placeholders.
  7694  type ArrayOfVsanPolicyChangeBatch struct {
  7695  	VsanPolicyChangeBatch []VsanPolicyChangeBatch `xml:"VsanPolicyChangeBatch,omitempty" json:"_value"`
  7696  }
  7697  
  7698  func init() {
  7699  	t["ArrayOfVsanPolicyChangeBatch"] = reflect.TypeOf((*ArrayOfVsanPolicyChangeBatch)(nil)).Elem()
  7700  }
  7701  
  7702  // A boxed array of `VsanPolicySatisfiability`. To be used in `Any` placeholders.
  7703  type ArrayOfVsanPolicySatisfiability struct {
  7704  	VsanPolicySatisfiability []VsanPolicySatisfiability `xml:"VsanPolicySatisfiability,omitempty" json:"_value"`
  7705  }
  7706  
  7707  func init() {
  7708  	t["ArrayOfVsanPolicySatisfiability"] = reflect.TypeOf((*ArrayOfVsanPolicySatisfiability)(nil)).Elem()
  7709  }
  7710  
  7711  // A boxed array of `VsanUpgradeSystemNetworkPartitionInfo`. To be used in `Any` placeholders.
  7712  type ArrayOfVsanUpgradeSystemNetworkPartitionInfo struct {
  7713  	VsanUpgradeSystemNetworkPartitionInfo []VsanUpgradeSystemNetworkPartitionInfo `xml:"VsanUpgradeSystemNetworkPartitionInfo,omitempty" json:"_value"`
  7714  }
  7715  
  7716  func init() {
  7717  	t["ArrayOfVsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem()
  7718  }
  7719  
  7720  // A boxed array of `VsanUpgradeSystemPreflightCheckIssue`. To be used in `Any` placeholders.
  7721  type ArrayOfVsanUpgradeSystemPreflightCheckIssue struct {
  7722  	VsanUpgradeSystemPreflightCheckIssue []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"VsanUpgradeSystemPreflightCheckIssue,omitempty,typeattr" json:"_value"`
  7723  }
  7724  
  7725  func init() {
  7726  	t["ArrayOfVsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemPreflightCheckIssue)(nil)).Elem()
  7727  }
  7728  
  7729  // A boxed array of `VsanUpgradeSystemUpgradeHistoryItem`. To be used in `Any` placeholders.
  7730  type ArrayOfVsanUpgradeSystemUpgradeHistoryItem struct {
  7731  	VsanUpgradeSystemUpgradeHistoryItem []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"VsanUpgradeSystemUpgradeHistoryItem,omitempty,typeattr" json:"_value"`
  7732  }
  7733  
  7734  func init() {
  7735  	t["ArrayOfVsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem()
  7736  }
  7737  
  7738  // A boxed array of `VslmTagEntry`. To be used in `Any` placeholders.
  7739  type ArrayOfVslmTagEntry struct {
  7740  	VslmTagEntry []VslmTagEntry `xml:"VslmTagEntry,omitempty" json:"_value"`
  7741  }
  7742  
  7743  func init() {
  7744  	t["ArrayOfVslmTagEntry"] = reflect.TypeOf((*ArrayOfVslmTagEntry)(nil)).Elem()
  7745  }
  7746  
  7747  type ArrayOfVslmInfrastructureObjectPolicy struct {
  7748  	VslmInfrastructureObjectPolicy []VslmInfrastructureObjectPolicy `xml:"vslmInfrastructureObjectPolicy,omitempty" json:"_value"`
  7749  }
  7750  
  7751  func init() {
  7752  	t["ArrayOfvslmInfrastructureObjectPolicy"] = reflect.TypeOf((*ArrayOfVslmInfrastructureObjectPolicy)(nil)).Elem()
  7753  }
  7754  
  7755  // An ArrayUpdateSpec data object type is a common superclass
  7756  // for supporting incremental updates to arrays.
  7757  //
  7758  // The common code pattern is:
  7759  //
  7760  //	class MyTypeSpec extrends ArrayUpdateSpec {
  7761  //	      MyTypeInfo info;
  7762  //	}
  7763  //
  7764  // The ArrayUpdateSpec contains the following:
  7765  //   - `*operation*`: the type of operation being performed.
  7766  //   - `*removeKey*`: In the case of a remove operation, the
  7767  //     key value that identifies the array to be removed.
  7768  type ArrayUpdateSpec struct {
  7769  	DynamicData
  7770  
  7771  	// The type of operation being performed on the specified virtual device.
  7772  	Operation ArrayUpdateOperation `xml:"operation" json:"operation"`
  7773  	// Key for the element to be removed.
  7774  	//
  7775  	// Only used if the operation
  7776  	// is "remove".
  7777  	RemoveKey AnyType `xml:"removeKey,omitempty,typeattr" json:"removeKey,omitempty"`
  7778  }
  7779  
  7780  func init() {
  7781  	t["ArrayUpdateSpec"] = reflect.TypeOf((*ArrayUpdateSpec)(nil)).Elem()
  7782  }
  7783  
  7784  type AssignUserToGroup AssignUserToGroupRequestType
  7785  
  7786  func init() {
  7787  	t["AssignUserToGroup"] = reflect.TypeOf((*AssignUserToGroup)(nil)).Elem()
  7788  }
  7789  
  7790  // The parameters of `HostLocalAccountManager.AssignUserToGroup`.
  7791  type AssignUserToGroupRequestType struct {
  7792  	This ManagedObjectReference `xml:"_this" json:"-"`
  7793  	// User ID of the account whose group membership is
  7794  	// being assigned.
  7795  	User string `xml:"user" json:"user"`
  7796  	// Destination group account to which the user is
  7797  	// being assigned.
  7798  	Group string `xml:"group" json:"group"`
  7799  }
  7800  
  7801  func init() {
  7802  	t["AssignUserToGroupRequestType"] = reflect.TypeOf((*AssignUserToGroupRequestType)(nil)).Elem()
  7803  }
  7804  
  7805  type AssignUserToGroupResponse struct {
  7806  }
  7807  
  7808  type AssociateProfile AssociateProfileRequestType
  7809  
  7810  func init() {
  7811  	t["AssociateProfile"] = reflect.TypeOf((*AssociateProfile)(nil)).Elem()
  7812  }
  7813  
  7814  // The parameters of `Profile.AssociateProfile`.
  7815  type AssociateProfileRequestType struct {
  7816  	This ManagedObjectReference `xml:"_this" json:"-"`
  7817  	// The entity(s) to associate with the profile.
  7818  	// If an entity is already associated with the profile, the association is
  7819  	// maintained and the vCenter Server does not perform any action.
  7820  	//
  7821  	// Refers instances of `ManagedEntity`.
  7822  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
  7823  }
  7824  
  7825  func init() {
  7826  	t["AssociateProfileRequestType"] = reflect.TypeOf((*AssociateProfileRequestType)(nil)).Elem()
  7827  }
  7828  
  7829  type AssociateProfileResponse struct {
  7830  }
  7831  
  7832  // The parameters of `VirtualMachine.AttachDisk_Task`.
  7833  type AttachDiskRequestType struct {
  7834  	This ManagedObjectReference `xml:"_this" json:"-"`
  7835  	// The ID of the virtual disk to be operated. See
  7836  	// `ID`
  7837  	DiskId ID `xml:"diskId" json:"diskId"`
  7838  	// The datastore where the virtual disk is located.
  7839  	//
  7840  	// Refers instance of `Datastore`.
  7841  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
  7842  	// Key of the controller the disk will connect to.
  7843  	// It can be unset if there is only one controller
  7844  	// (SCSI or SATA) with the available slot in the
  7845  	// virtual machine. If there are multiple SCSI or
  7846  	// SATA controllers available, user must specify
  7847  	// the controller; if there is no available
  7848  	// controllers, a `MissingController`
  7849  	// fault will be thrown.
  7850  	ControllerKey int32 `xml:"controllerKey,omitempty" json:"controllerKey,omitempty"`
  7851  	// The unit number of the attached disk on its controller.
  7852  	// If unset, the next available slot on the specified
  7853  	// controller or the only available controller will be
  7854  	// assigned to the attached disk.
  7855  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
  7856  }
  7857  
  7858  func init() {
  7859  	t["AttachDiskRequestType"] = reflect.TypeOf((*AttachDiskRequestType)(nil)).Elem()
  7860  }
  7861  
  7862  type AttachDisk_Task AttachDiskRequestType
  7863  
  7864  func init() {
  7865  	t["AttachDisk_Task"] = reflect.TypeOf((*AttachDisk_Task)(nil)).Elem()
  7866  }
  7867  
  7868  type AttachDisk_TaskResponse struct {
  7869  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  7870  }
  7871  
  7872  type AttachScsiLun AttachScsiLunRequestType
  7873  
  7874  func init() {
  7875  	t["AttachScsiLun"] = reflect.TypeOf((*AttachScsiLun)(nil)).Elem()
  7876  }
  7877  
  7878  // The parameters of `HostStorageSystem.AttachScsiLunEx_Task`.
  7879  type AttachScsiLunExRequestType struct {
  7880  	This ManagedObjectReference `xml:"_this" json:"-"`
  7881  	// each element specifies UUID of LUN to be attached.
  7882  	LunUuid []string `xml:"lunUuid" json:"lunUuid"`
  7883  }
  7884  
  7885  func init() {
  7886  	t["AttachScsiLunExRequestType"] = reflect.TypeOf((*AttachScsiLunExRequestType)(nil)).Elem()
  7887  }
  7888  
  7889  type AttachScsiLunEx_Task AttachScsiLunExRequestType
  7890  
  7891  func init() {
  7892  	t["AttachScsiLunEx_Task"] = reflect.TypeOf((*AttachScsiLunEx_Task)(nil)).Elem()
  7893  }
  7894  
  7895  type AttachScsiLunEx_TaskResponse struct {
  7896  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  7897  }
  7898  
  7899  // The parameters of `HostStorageSystem.AttachScsiLun`.
  7900  type AttachScsiLunRequestType struct {
  7901  	This ManagedObjectReference `xml:"_this" json:"-"`
  7902  	// The uuid of the ScsiLun to update.
  7903  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
  7904  }
  7905  
  7906  func init() {
  7907  	t["AttachScsiLunRequestType"] = reflect.TypeOf((*AttachScsiLunRequestType)(nil)).Elem()
  7908  }
  7909  
  7910  type AttachScsiLunResponse struct {
  7911  }
  7912  
  7913  type AttachTagToVStorageObject AttachTagToVStorageObjectRequestType
  7914  
  7915  func init() {
  7916  	t["AttachTagToVStorageObject"] = reflect.TypeOf((*AttachTagToVStorageObject)(nil)).Elem()
  7917  }
  7918  
  7919  // The parameters of `VcenterVStorageObjectManager.AttachTagToVStorageObject`.
  7920  type AttachTagToVStorageObjectRequestType struct {
  7921  	This ManagedObjectReference `xml:"_this" json:"-"`
  7922  	// The identifier(ID) of the virtual storage object.
  7923  	Id ID `xml:"id" json:"id"`
  7924  	// The category to which the tag belongs.
  7925  	Category string `xml:"category" json:"category"`
  7926  	// The tag which has to be associated with the virtual storage
  7927  	// object.
  7928  	Tag string `xml:"tag" json:"tag"`
  7929  }
  7930  
  7931  func init() {
  7932  	t["AttachTagToVStorageObjectRequestType"] = reflect.TypeOf((*AttachTagToVStorageObjectRequestType)(nil)).Elem()
  7933  }
  7934  
  7935  type AttachTagToVStorageObjectResponse struct {
  7936  }
  7937  
  7938  type AttachVmfsExtent AttachVmfsExtentRequestType
  7939  
  7940  func init() {
  7941  	t["AttachVmfsExtent"] = reflect.TypeOf((*AttachVmfsExtent)(nil)).Elem()
  7942  }
  7943  
  7944  // The parameters of `HostStorageSystem.AttachVmfsExtent`.
  7945  type AttachVmfsExtentRequestType struct {
  7946  	This ManagedObjectReference `xml:"_this" json:"-"`
  7947  	// The path of the VMFS to extend. See `FileSystemMountInfo`.
  7948  	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
  7949  	// A data object that describes the specification of a
  7950  	// Disk partition.
  7951  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
  7952  }
  7953  
  7954  func init() {
  7955  	t["AttachVmfsExtentRequestType"] = reflect.TypeOf((*AttachVmfsExtentRequestType)(nil)).Elem()
  7956  }
  7957  
  7958  type AttachVmfsExtentResponse struct {
  7959  }
  7960  
  7961  // This fault is thrown when the requested change
  7962  // would result in a loss of full administrative privileges
  7963  // for at least one user or group.
  7964  type AuthMinimumAdminPermission struct {
  7965  	VimFault
  7966  }
  7967  
  7968  func init() {
  7969  	t["AuthMinimumAdminPermission"] = reflect.TypeOf((*AuthMinimumAdminPermission)(nil)).Elem()
  7970  }
  7971  
  7972  type AuthMinimumAdminPermissionFault AuthMinimumAdminPermission
  7973  
  7974  func init() {
  7975  	t["AuthMinimumAdminPermissionFault"] = reflect.TypeOf((*AuthMinimumAdminPermissionFault)(nil)).Elem()
  7976  }
  7977  
  7978  // The `AuthenticationProfile` data object represents the host configuration
  7979  // for authentication.
  7980  //
  7981  // If a profile plug-in defines policies or subprofiles, use the
  7982  // `ApplyProfile.policy` or `ApplyProfile.property`
  7983  // list to access the additional configuration data.
  7984  type AuthenticationProfile struct {
  7985  	ApplyProfile
  7986  
  7987  	// Subprofile representing the Active Directory configuration.
  7988  	ActiveDirectory *ActiveDirectoryProfile `xml:"activeDirectory,omitempty" json:"activeDirectory,omitempty"`
  7989  }
  7990  
  7991  func init() {
  7992  	t["AuthenticationProfile"] = reflect.TypeOf((*AuthenticationProfile)(nil)).Elem()
  7993  }
  7994  
  7995  // Static strings for authorization.
  7996  type AuthorizationDescription struct {
  7997  	DynamicData
  7998  
  7999  	// Description of the privilege.
  8000  	Privilege []BaseElementDescription `xml:"privilege,typeattr" json:"privilege"`
  8001  	// Description of a category of similar privileges, grouped
  8002  	// together for convenience.
  8003  	PrivilegeGroup []BaseElementDescription `xml:"privilegeGroup,typeattr" json:"privilegeGroup"`
  8004  }
  8005  
  8006  func init() {
  8007  	t["AuthorizationDescription"] = reflect.TypeOf((*AuthorizationDescription)(nil)).Elem()
  8008  }
  8009  
  8010  // These events indicate authorization events.
  8011  type AuthorizationEvent struct {
  8012  	Event
  8013  }
  8014  
  8015  func init() {
  8016  	t["AuthorizationEvent"] = reflect.TypeOf((*AuthorizationEvent)(nil)).Elem()
  8017  }
  8018  
  8019  // This data object type provides access to some aspect of the system.
  8020  //
  8021  // Privileges are generally independent. This means a user with a privilege
  8022  // usually can perform an associated set of actions without needing any
  8023  // additional supporting privileges.
  8024  //
  8025  // Within each product version, privileges do not change.
  8026  // See `AuthorizationDescription` for
  8027  // detailed information on the privileges defined by the system.
  8028  type AuthorizationPrivilege struct {
  8029  	DynamicData
  8030  
  8031  	// Unique identifier.
  8032  	PrivId string `xml:"privId" json:"privId"`
  8033  	// Determines whether or not the privilege is applied on the parent entity.
  8034  	OnParent bool `xml:"onParent" json:"onParent"`
  8035  	// Privilege name.
  8036  	Name string `xml:"name" json:"name"`
  8037  	// Group name.
  8038  	PrivGroupName string `xml:"privGroupName" json:"privGroupName"`
  8039  }
  8040  
  8041  func init() {
  8042  	t["AuthorizationPrivilege"] = reflect.TypeOf((*AuthorizationPrivilege)(nil)).Elem()
  8043  }
  8044  
  8045  // This data object type specifies a collection of privileges used
  8046  // to grant access to users on managed entities.
  8047  type AuthorizationRole struct {
  8048  	DynamicData
  8049  
  8050  	// Unique role identifier.
  8051  	RoleId int32 `xml:"roleId" json:"roleId"`
  8052  	// Whether or not the role is system-defined.
  8053  	//
  8054  	// System-defined roles cannot be
  8055  	// changed.
  8056  	System bool `xml:"system" json:"system"`
  8057  	// System-defined or user-defined role name.
  8058  	Name string `xml:"name" json:"name"`
  8059  	// Displayable role information.
  8060  	Info BaseDescription `xml:"info,typeattr" json:"info"`
  8061  	// Privileges provided by this role, by privilege identifier.
  8062  	Privilege []string `xml:"privilege,omitempty" json:"privilege,omitempty"`
  8063  }
  8064  
  8065  func init() {
  8066  	t["AuthorizationRole"] = reflect.TypeOf((*AuthorizationRole)(nil)).Elem()
  8067  }
  8068  
  8069  // Defines the system default auto-start/auto-stop values.
  8070  type AutoStartDefaults struct {
  8071  	DynamicData
  8072  
  8073  	// Indicates whether or not auto-start manager is enabled.
  8074  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
  8075  	// System-default autoStart delay in seconds.
  8076  	//
  8077  	// The default is 120 seconds.
  8078  	StartDelay int32 `xml:"startDelay,omitempty" json:"startDelay,omitempty"`
  8079  	// System-default autoStop delay in seconds.
  8080  	//
  8081  	// The default is 120 seconds.
  8082  	StopDelay int32 `xml:"stopDelay,omitempty" json:"stopDelay,omitempty"`
  8083  	// System-default waitForHeartbeat setting.
  8084  	WaitForHeartbeat *bool `xml:"waitForHeartbeat" json:"waitForHeartbeat,omitempty"`
  8085  	// System-default power-off action.
  8086  	//
  8087  	// Used if the stopAction string in the
  8088  	// AutoPowerInfo object for a particular machine is set to systemDefault.
  8089  	// If stopAction and startAction for a virtual machine are both set to none,
  8090  	// that virtual machine is removed from the AutoStart sequence.
  8091  	StopAction string `xml:"stopAction,omitempty" json:"stopAction,omitempty"`
  8092  }
  8093  
  8094  func init() {
  8095  	t["AutoStartDefaults"] = reflect.TypeOf((*AutoStartDefaults)(nil)).Elem()
  8096  }
  8097  
  8098  // This object type describes the power-on / power-off behavior for a given virtual
  8099  // machine.
  8100  //
  8101  // Virtual machines can be configured to wait for a period of time before
  8102  // starting or to wait to receive a successful heartbeat from a virtual machine
  8103  // before starting the next virtual machine in the sequence.
  8104  //   - For a power-on operation, if waitForHeartbeat is true, then the power-on
  8105  //     sequence continues after the first heartbeat has been received. If
  8106  //     waitForHeartbeat is false, the system waits for the specified delay and
  8107  //     then continues the power-on sequence.
  8108  //   - For a power-off operation, if delay is non-zero, the requested power-off
  8109  //     action is invoked (powerOff, suspend, guestShutdown) on the virtual
  8110  //     machine and the system waits until the number of seconds specified in the
  8111  //     delay have passed.
  8112  //
  8113  // If startAction and stopAction for a virtual machine are both set to none, that
  8114  // virtual machine is removed from the AutoStart sequence.
  8115  // Virtual machines can be configured both to wait for a period of time before
  8116  // starting and to wait for a heartbeat. In such a case, the waiting virtual machine
  8117  // only waits until either of these conditions are met. In other words, a virtual
  8118  // machine starts in either of the following cases:
  8119  //   - After receiving a heartbeat but before the start delay has elapsed
  8120  //   - After the start delay has elapsed but before receiving a heartbeat
  8121  //
  8122  // This provides a better experience since as soon as one virtual machine begins
  8123  // sending heartbeats, indicating it has successfully started up, the next machine
  8124  // will begin starting up. This happens even if the startDelay has not yet elapsed.
  8125  // Similarly, if one virtual machine fails to begin sending heartbeats, perhaps
  8126  // because it could not start up, other machines are not blocked from starting up
  8127  // since the startDelay eventually elapses.
  8128  type AutoStartPowerInfo struct {
  8129  	DynamicData
  8130  
  8131  	// Virtual machine to power on or power off.
  8132  	//
  8133  	// Refers instance of `VirtualMachine`.
  8134  	Key ManagedObjectReference `xml:"key" json:"key"`
  8135  	// The autostart priority of this virtual machine.
  8136  	//
  8137  	// Virtual machines with a lower
  8138  	// number are powered on first. On host shutdown, the virtual machines are
  8139  	// shut down in reverse order, meaning those with a higher number are powered off
  8140  	// first.
  8141  	//
  8142  	// Positive values indicate a start order and -1 indicates the machine can be
  8143  	// powered on at any time. Machines with a -1 value are typically powered on and
  8144  	// off after all virtual machines with positive startOrder values. Failure to
  8145  	// meet the following requirements results in an InvalidArgument exception:
  8146  	//   - startOrder must be set to -1 if startAction is set to none
  8147  	//   - startOrder must be -1 or positive integers. Values such as 0 or
  8148  	//     \-2 are not valid.
  8149  	//   - startOrder is relative to other virtual machines in the autostart
  8150  	//     sequence. Hence specifying a startOrder of 4 when there are only 3
  8151  	//     virtual machines in the Autostart sequence is not valid.
  8152  	//
  8153  	// If a newly established or changed startOrder value for a virtual machine
  8154  	// matches an existing startOrder value, the newly applied value takes
  8155  	// precedence, and the existing value is incremented by one. The incremented
  8156  	// startOrder value is checked for collisions, and the same rule is applied if
  8157  	// one is found. This simple system ensures no two virtual machines ever have the
  8158  	// same order number.
  8159  	//
  8160  	// For example, consider the case where there are three virtual machines with
  8161  	// different startOrder values. Virtual machine A has not yet established a
  8162  	// startOrder, virtual machine B has a startOrder value of 1 and Virtual Machine
  8163  	// C has a startOrder value of 2. If virtual machine A's startOrder is set to 1,
  8164  	// then virtual machine B's startOrder is incremented to 2. This creates a
  8165  	// conflict with virtual machine C's startOrder value, which is also incremented,
  8166  	// this time to 3.
  8167  	StartOrder int32 `xml:"startOrder" json:"startOrder"`
  8168  	// Delay in seconds before continuing with the next virtual machine in the order
  8169  	// of machines to be started.
  8170  	//
  8171  	// If the delay is specified as -1, then the system
  8172  	// default is used.
  8173  	StartDelay       int32                         `xml:"startDelay" json:"startDelay"`
  8174  	WaitForHeartbeat AutoStartWaitHeartbeatSetting `xml:"waitForHeartbeat" json:"waitForHeartbeat"`
  8175  	// How to start the virtual machine.
  8176  	//
  8177  	// Valid settings are none or powerOn.
  8178  	// If set to none, then the virtual machine does not participate in auto-start.
  8179  	StartAction string `xml:"startAction" json:"startAction"`
  8180  	// Delay in seconds before continuing with the next virtual machine in the order
  8181  	// sequence.
  8182  	//
  8183  	// If the delay is -1, then the system default is used.
  8184  	StopDelay int32 `xml:"stopDelay" json:"stopDelay"`
  8185  	// Defines the stop action for the virtual machine.
  8186  	//
  8187  	// Can be set to none,
  8188  	// systemDefault, powerOff, or suspend. If set to none, then the virtual machine
  8189  	// does not participate in auto-stop.
  8190  	StopAction string `xml:"stopAction" json:"stopAction"`
  8191  }
  8192  
  8193  func init() {
  8194  	t["AutoStartPowerInfo"] = reflect.TypeOf((*AutoStartPowerInfo)(nil)).Elem()
  8195  }
  8196  
  8197  type AutoStartPowerOff AutoStartPowerOffRequestType
  8198  
  8199  func init() {
  8200  	t["AutoStartPowerOff"] = reflect.TypeOf((*AutoStartPowerOff)(nil)).Elem()
  8201  }
  8202  
  8203  type AutoStartPowerOffRequestType struct {
  8204  	This ManagedObjectReference `xml:"_this" json:"-"`
  8205  }
  8206  
  8207  func init() {
  8208  	t["AutoStartPowerOffRequestType"] = reflect.TypeOf((*AutoStartPowerOffRequestType)(nil)).Elem()
  8209  }
  8210  
  8211  type AutoStartPowerOffResponse struct {
  8212  }
  8213  
  8214  type AutoStartPowerOn AutoStartPowerOnRequestType
  8215  
  8216  func init() {
  8217  	t["AutoStartPowerOn"] = reflect.TypeOf((*AutoStartPowerOn)(nil)).Elem()
  8218  }
  8219  
  8220  type AutoStartPowerOnRequestType struct {
  8221  	This ManagedObjectReference `xml:"_this" json:"-"`
  8222  }
  8223  
  8224  func init() {
  8225  	t["AutoStartPowerOnRequestType"] = reflect.TypeOf((*AutoStartPowerOnRequestType)(nil)).Elem()
  8226  }
  8227  
  8228  type AutoStartPowerOnResponse struct {
  8229  }
  8230  
  8231  // Thrown if backupConfig blob is corrupted
  8232  type BackupBlobReadFailure struct {
  8233  	DvsFault
  8234  
  8235  	// The entity name on which backupConfig read failed
  8236  	EntityName string `xml:"entityName" json:"entityName"`
  8237  	// The entity type on which backupConfig read failed
  8238  	EntityType string `xml:"entityType" json:"entityType"`
  8239  	// The fault that occurred.
  8240  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
  8241  }
  8242  
  8243  func init() {
  8244  	t["BackupBlobReadFailure"] = reflect.TypeOf((*BackupBlobReadFailure)(nil)).Elem()
  8245  }
  8246  
  8247  type BackupBlobReadFailureFault BackupBlobReadFailure
  8248  
  8249  func init() {
  8250  	t["BackupBlobReadFailureFault"] = reflect.TypeOf((*BackupBlobReadFailureFault)(nil)).Elem()
  8251  }
  8252  
  8253  // Thrown if backupConfig blob write fails
  8254  type BackupBlobWriteFailure struct {
  8255  	DvsFault
  8256  
  8257  	// The entity name on which backupConfig write failed
  8258  	EntityName string `xml:"entityName" json:"entityName"`
  8259  	// The entity type on which backupConfig write failed
  8260  	EntityType string `xml:"entityType" json:"entityType"`
  8261  	// The fault that occurred.
  8262  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
  8263  }
  8264  
  8265  func init() {
  8266  	t["BackupBlobWriteFailure"] = reflect.TypeOf((*BackupBlobWriteFailure)(nil)).Elem()
  8267  }
  8268  
  8269  type BackupBlobWriteFailureFault BackupBlobWriteFailure
  8270  
  8271  func init() {
  8272  	t["BackupBlobWriteFailureFault"] = reflect.TypeOf((*BackupBlobWriteFailureFault)(nil)).Elem()
  8273  }
  8274  
  8275  type BackupFirmwareConfiguration BackupFirmwareConfigurationRequestType
  8276  
  8277  func init() {
  8278  	t["BackupFirmwareConfiguration"] = reflect.TypeOf((*BackupFirmwareConfiguration)(nil)).Elem()
  8279  }
  8280  
  8281  type BackupFirmwareConfigurationRequestType struct {
  8282  	This ManagedObjectReference `xml:"_this" json:"-"`
  8283  }
  8284  
  8285  func init() {
  8286  	t["BackupFirmwareConfigurationRequestType"] = reflect.TypeOf((*BackupFirmwareConfigurationRequestType)(nil)).Elem()
  8287  }
  8288  
  8289  type BackupFirmwareConfigurationResponse struct {
  8290  	Returnval string `xml:"returnval" json:"returnval"`
  8291  }
  8292  
  8293  // This event records a failed user logon.
  8294  //
  8295  // Failed logons are due to no match existing
  8296  // between the provided user name and password combination and the combinations
  8297  // stored for authentication.
  8298  type BadUsernameSessionEvent struct {
  8299  	SessionEvent
  8300  
  8301  	// The IP address of the peer that initiated the connection.
  8302  	//
  8303  	// This may
  8304  	// be the client that originated the session, or it may be an intervening
  8305  	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
  8306  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
  8307  }
  8308  
  8309  func init() {
  8310  	t["BadUsernameSessionEvent"] = reflect.TypeOf((*BadUsernameSessionEvent)(nil)).Elem()
  8311  }
  8312  
  8313  // This data object type contains the basic configuration for
  8314  // a virtual storage object or a virtual storage object snapshot.
  8315  type BaseConfigInfo struct {
  8316  	DynamicData
  8317  
  8318  	// ID of this object.
  8319  	Id ID `xml:"id" json:"id"`
  8320  	// Descriptive name of this object.
  8321  	Name string `xml:"name" json:"name"`
  8322  	// The date and time this object was created.
  8323  	CreateTime time.Time `xml:"createTime" json:"createTime"`
  8324  	// Choice of the deletion behavior of this virtual storage object.
  8325  	//
  8326  	// If not set, the default value is false.
  8327  	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty"`
  8328  	// Is virtual storage object relocation disabled.
  8329  	//
  8330  	// If not set, the default value is false.
  8331  	RelocationDisabled *bool `xml:"relocationDisabled" json:"relocationDisabled,omitempty"`
  8332  	// Is virtual storage object supports native snapshot.
  8333  	//
  8334  	// If not set, the default value is false.
  8335  	NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported" json:"nativeSnapshotSupported,omitempty"`
  8336  	// If Virtua storage object has changed block tracking enabled.
  8337  	//
  8338  	// If not set, the default value is false.
  8339  	ChangedBlockTrackingEnabled *bool `xml:"changedBlockTrackingEnabled" json:"changedBlockTrackingEnabled,omitempty"`
  8340  	// Backing of this object.
  8341  	Backing BaseBaseConfigInfoBackingInfo `xml:"backing,typeattr" json:"backing"`
  8342  	// Metadata associated with the FCD if available.
  8343  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty" vim:"7.0.2.0"`
  8344  	// VClock associated with the fcd when the operation completed.
  8345  	//
  8346  	// The files is unset if the operation is a retrieve.
  8347  	Vclock *VslmVClockInfo `xml:"vclock,omitempty" json:"vclock,omitempty" vim:"7.0.2.0"`
  8348  	// IDs of the IO Filters associated with the virtual disk.
  8349  	//
  8350  	// See `IoFilterInfo.id`.
  8351  	// The client cannot modify this information on a virtual machine.
  8352  	Iofilter []string `xml:"iofilter,omitempty" json:"iofilter,omitempty"`
  8353  }
  8354  
  8355  func init() {
  8356  	t["BaseConfigInfo"] = reflect.TypeOf((*BaseConfigInfo)(nil)).Elem()
  8357  }
  8358  
  8359  // The data object type is a base type of backing of a virtual
  8360  // storage object.
  8361  type BaseConfigInfoBackingInfo struct {
  8362  	DynamicData
  8363  
  8364  	// The datastore managed object where this backing is located.
  8365  	//
  8366  	// Refers instance of `Datastore`.
  8367  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
  8368  }
  8369  
  8370  func init() {
  8371  	t["BaseConfigInfoBackingInfo"] = reflect.TypeOf((*BaseConfigInfoBackingInfo)(nil)).Elem()
  8372  }
  8373  
  8374  // The data object type for disk file backing of a virtual storage
  8375  // object.
  8376  //
  8377  // Disk file backing provides full virtualization of the backend
  8378  // storage.
  8379  type BaseConfigInfoDiskFileBackingInfo struct {
  8380  	BaseConfigInfoFileBackingInfo
  8381  
  8382  	// Provisioning type.
  8383  	//
  8384  	// See `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum` for the
  8385  	// supported types.
  8386  	ProvisioningType string `xml:"provisioningType" json:"provisioningType"`
  8387  }
  8388  
  8389  func init() {
  8390  	t["BaseConfigInfoDiskFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfo)(nil)).Elem()
  8391  }
  8392  
  8393  // Information for file backing of a virtual storage
  8394  // object.
  8395  //
  8396  // File backing is mainly used for virtual disks.
  8397  type BaseConfigInfoFileBackingInfo struct {
  8398  	BaseConfigInfoBackingInfo
  8399  
  8400  	// Full file path for the host file used in this backing.
  8401  	FilePath string `xml:"filePath" json:"filePath"`
  8402  	// Id refers to the backed storage object where the virtual storage object
  8403  	// is backed on.
  8404  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
  8405  	// The parent of this virtual disk file, if this is a delta disk backing.
  8406  	//
  8407  	// This will be unset if this is the root disk backing.
  8408  	//
  8409  	// Note that the type of the backing is consistent throughout the chain;
  8410  	// any new delta disk backing which is added is of the same type as the
  8411  	// original disk. Also note that since the parent backing is not being
  8412  	// written to, it is possible that the parent backing may be shared among
  8413  	// multiple disks.
  8414  	//
  8415  	// Only raw disk mappings in
  8416  	// *virtual compatibility mode* can have parents.
  8417  	Parent BaseBaseConfigInfoFileBackingInfo `xml:"parent,omitempty,typeattr" json:"parent,omitempty"`
  8418  	// Size allocated by the FS for this file/chain/link/extent only.
  8419  	//
  8420  	// This property is used only for a delta disk whose
  8421  	// `BaseConfigInfoFileBackingInfo.parent` is set.
  8422  	DeltaSizeInMB int64 `xml:"deltaSizeInMB,omitempty" json:"deltaSizeInMB,omitempty"`
  8423  	// key id used to encrypt the backing disk.
  8424  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
  8425  }
  8426  
  8427  func init() {
  8428  	t["BaseConfigInfoFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoFileBackingInfo)(nil)).Elem()
  8429  }
  8430  
  8431  // This data object type contains information about raw device mapping.
  8432  type BaseConfigInfoRawDiskMappingBackingInfo struct {
  8433  	BaseConfigInfoFileBackingInfo
  8434  
  8435  	// Unique identifier of the LUN accessed by the raw disk mapping.
  8436  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
  8437  	// The compatibility mode of the raw disk mapping (RDM).
  8438  	//
  8439  	// This must be
  8440  	// specified when a new virtual disk with an RDM backing is created.
  8441  	//
  8442  	// See also `VirtualDiskCompatibilityMode_enum`.
  8443  	CompatibilityMode string `xml:"compatibilityMode" json:"compatibilityMode"`
  8444  }
  8445  
  8446  func init() {
  8447  	t["BaseConfigInfoRawDiskMappingBackingInfo"] = reflect.TypeOf((*BaseConfigInfoRawDiskMappingBackingInfo)(nil)).Elem()
  8448  }
  8449  
  8450  // The parameters of `Folder.BatchAddHostsToCluster_Task`.
  8451  type BatchAddHostsToClusterRequestType struct {
  8452  	This ManagedObjectReference `xml:"_this" json:"-"`
  8453  	// Specifies the cluster to which hosts need to be
  8454  	// added.
  8455  	//
  8456  	// Refers instance of `ClusterComputeResource`.
  8457  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
  8458  	// Specifies a list of new hosts to be added to
  8459  	// the cluster. Hosts are first added as standalone hosts.
  8460  	NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty" json:"newHosts,omitempty"`
  8461  	// Specifies a list of existing hosts to be
  8462  	// added to the cluster. Hosts are first moved to the desired state
  8463  	// before moving them to cluster.
  8464  	//
  8465  	// Refers instances of `HostSystem`.
  8466  	ExistingHosts []ManagedObjectReference `xml:"existingHosts,omitempty" json:"existingHosts,omitempty"`
  8467  	// Specifies the configuration for the compute
  8468  	// resource that will be created to contain all the hosts.
  8469  	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
  8470  	// Specifies desired state for hosts once added to
  8471  	// the cluster. If not specified, hosts are added to the cluster in their
  8472  	// current state. See `FolderDesiredHostState_enum` for valid values.
  8473  	DesiredState string `xml:"desiredState,omitempty" json:"desiredState,omitempty"`
  8474  }
  8475  
  8476  func init() {
  8477  	t["BatchAddHostsToClusterRequestType"] = reflect.TypeOf((*BatchAddHostsToClusterRequestType)(nil)).Elem()
  8478  }
  8479  
  8480  type BatchAddHostsToCluster_Task BatchAddHostsToClusterRequestType
  8481  
  8482  func init() {
  8483  	t["BatchAddHostsToCluster_Task"] = reflect.TypeOf((*BatchAddHostsToCluster_Task)(nil)).Elem()
  8484  }
  8485  
  8486  type BatchAddHostsToCluster_TaskResponse struct {
  8487  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  8488  }
  8489  
  8490  // The parameters of `Folder.BatchAddStandaloneHosts_Task`.
  8491  type BatchAddStandaloneHostsRequestType struct {
  8492  	This ManagedObjectReference `xml:"_this" json:"-"`
  8493  	// Specifies a list of host specifications for new hosts.
  8494  	NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty" json:"newHosts,omitempty"`
  8495  	// Specifies the configuration for the compute
  8496  	// resource that will be created to contain all the
  8497  	// hosts.
  8498  	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
  8499  	// Flag to specify whether or not hosts should be
  8500  	// connected at the time they are added. A host will not
  8501  	// be added if a connection attempt is made and fails.
  8502  	AddConnected bool `xml:"addConnected" json:"addConnected"`
  8503  }
  8504  
  8505  func init() {
  8506  	t["BatchAddStandaloneHostsRequestType"] = reflect.TypeOf((*BatchAddStandaloneHostsRequestType)(nil)).Elem()
  8507  }
  8508  
  8509  type BatchAddStandaloneHosts_Task BatchAddStandaloneHostsRequestType
  8510  
  8511  func init() {
  8512  	t["BatchAddStandaloneHosts_Task"] = reflect.TypeOf((*BatchAddStandaloneHosts_Task)(nil)).Elem()
  8513  }
  8514  
  8515  type BatchAddStandaloneHosts_TaskResponse struct {
  8516  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  8517  }
  8518  
  8519  type BatchQueryConnectInfo BatchQueryConnectInfoRequestType
  8520  
  8521  func init() {
  8522  	t["BatchQueryConnectInfo"] = reflect.TypeOf((*BatchQueryConnectInfo)(nil)).Elem()
  8523  }
  8524  
  8525  // The parameters of `Datacenter.BatchQueryConnectInfo`.
  8526  type BatchQueryConnectInfoRequestType struct {
  8527  	This ManagedObjectReference `xml:"_this" json:"-"`
  8528  	// Information about the set of hosts to query.
  8529  	HostSpecs []HostConnectSpec `xml:"hostSpecs,omitempty" json:"hostSpecs,omitempty"`
  8530  }
  8531  
  8532  func init() {
  8533  	t["BatchQueryConnectInfoRequestType"] = reflect.TypeOf((*BatchQueryConnectInfoRequestType)(nil)).Elem()
  8534  }
  8535  
  8536  type BatchQueryConnectInfoResponse struct {
  8537  	Returnval []DatacenterBasicConnectInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
  8538  }
  8539  
  8540  // Results of Batch APIs.
  8541  type BatchResult struct {
  8542  	DynamicData
  8543  
  8544  	// Enum value for @link BatchResult.Result
  8545  	Result string `xml:"result" json:"result"`
  8546  	// Host for which the result applies.
  8547  	HostKey string `xml:"hostKey" json:"hostKey"`
  8548  	// The datastore that is created.
  8549  	//
  8550  	// Refers instance of `Datastore`.
  8551  	Ds *ManagedObjectReference `xml:"ds,omitempty" json:"ds,omitempty"`
  8552  	// 'fault' would be set if the operation was not successful
  8553  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
  8554  }
  8555  
  8556  func init() {
  8557  	t["BatchResult"] = reflect.TypeOf((*BatchResult)(nil)).Elem()
  8558  }
  8559  
  8560  type BindVnic BindVnicRequestType
  8561  
  8562  func init() {
  8563  	t["BindVnic"] = reflect.TypeOf((*BindVnic)(nil)).Elem()
  8564  }
  8565  
  8566  // The parameters of `IscsiManager.BindVnic`.
  8567  type BindVnicRequestType struct {
  8568  	This ManagedObjectReference `xml:"_this" json:"-"`
  8569  	// iSCSI adapter name for which the Virtual NIC to
  8570  	// be added.
  8571  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
  8572  	// Virtual NIC that is to be bound to the iSCSI HBA
  8573  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
  8574  }
  8575  
  8576  func init() {
  8577  	t["BindVnicRequestType"] = reflect.TypeOf((*BindVnicRequestType)(nil)).Elem()
  8578  }
  8579  
  8580  type BindVnicResponse struct {
  8581  }
  8582  
  8583  // Fault indicating that firewall configuration prevents
  8584  // an operation from completing successfully.
  8585  type BlockedByFirewall struct {
  8586  	HostConfigFault
  8587  }
  8588  
  8589  func init() {
  8590  	t["BlockedByFirewall"] = reflect.TypeOf((*BlockedByFirewall)(nil)).Elem()
  8591  }
  8592  
  8593  type BlockedByFirewallFault BlockedByFirewall
  8594  
  8595  func init() {
  8596  	t["BlockedByFirewallFault"] = reflect.TypeOf((*BlockedByFirewallFault)(nil)).Elem()
  8597  }
  8598  
  8599  // The BoolOption data object type describes if an option
  8600  // is supported ("true") and if the option is set to "true" or
  8601  // "false" by default.
  8602  type BoolOption struct {
  8603  	OptionType
  8604  
  8605  	// The flag to indicate whether or not the
  8606  	// option is supported.
  8607  	Supported bool `xml:"supported" json:"supported"`
  8608  	// The default value for the option.
  8609  	DefaultValue bool `xml:"defaultValue" json:"defaultValue"`
  8610  }
  8611  
  8612  func init() {
  8613  	t["BoolOption"] = reflect.TypeOf((*BoolOption)(nil)).Elem()
  8614  }
  8615  
  8616  // The boolean type of setting or configuration that may get an
  8617  // inherited value.
  8618  type BoolPolicy struct {
  8619  	InheritablePolicy
  8620  
  8621  	// The boolean value that is either set or inherited.
  8622  	Value *bool `xml:"value" json:"value,omitempty"`
  8623  }
  8624  
  8625  func init() {
  8626  	t["BoolPolicy"] = reflect.TypeOf((*BoolPolicy)(nil)).Elem()
  8627  }
  8628  
  8629  type BrowseDiagnosticLog BrowseDiagnosticLogRequestType
  8630  
  8631  func init() {
  8632  	t["BrowseDiagnosticLog"] = reflect.TypeOf((*BrowseDiagnosticLog)(nil)).Elem()
  8633  }
  8634  
  8635  // The parameters of `DiagnosticManager.BrowseDiagnosticLog`.
  8636  type BrowseDiagnosticLogRequestType struct {
  8637  	This ManagedObjectReference `xml:"_this" json:"-"`
  8638  	// Specifies the host. If not specified, then it defaults
  8639  	// to the default server. For example, if called on
  8640  	// VirtualCenter, then the value defaults to VirtualCenter
  8641  	// logs.
  8642  	//
  8643  	// Refers instance of `HostSystem`.
  8644  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
  8645  	// A string key specifying the key for the log file to
  8646  	// browse. Keys can be obtained using the queryDescriptions
  8647  	// method.
  8648  	Key string `xml:"key" json:"key"`
  8649  	// The line number for the first entry to be returned. If the
  8650  	// parameter is not specified, then the operation returns
  8651  	// with lines starting from the top of the log.
  8652  	Start int32 `xml:"start,omitempty" json:"start,omitempty"`
  8653  	// The number of lines to return. If not specified, then
  8654  	// all lines are returned from the start value to the end of
  8655  	// the file.
  8656  	Lines int32 `xml:"lines,omitempty" json:"lines,omitempty"`
  8657  }
  8658  
  8659  func init() {
  8660  	t["BrowseDiagnosticLogRequestType"] = reflect.TypeOf((*BrowseDiagnosticLogRequestType)(nil)).Elem()
  8661  }
  8662  
  8663  type BrowseDiagnosticLogResponse struct {
  8664  	Returnval DiagnosticManagerLogHeader `xml:"returnval" json:"returnval"`
  8665  }
  8666  
  8667  // Fault indicating that the CAM server
  8668  // cannot be connected.
  8669  type CAMServerRefusedConnection struct {
  8670  	InvalidCAMServer
  8671  }
  8672  
  8673  func init() {
  8674  	t["CAMServerRefusedConnection"] = reflect.TypeOf((*CAMServerRefusedConnection)(nil)).Elem()
  8675  }
  8676  
  8677  type CAMServerRefusedConnectionFault CAMServerRefusedConnection
  8678  
  8679  func init() {
  8680  	t["CAMServerRefusedConnectionFault"] = reflect.TypeOf((*CAMServerRefusedConnectionFault)(nil)).Elem()
  8681  }
  8682  
  8683  type CanProvisionObjects CanProvisionObjectsRequestType
  8684  
  8685  func init() {
  8686  	t["CanProvisionObjects"] = reflect.TypeOf((*CanProvisionObjects)(nil)).Elem()
  8687  }
  8688  
  8689  // The parameters of `HostVsanInternalSystem.CanProvisionObjects`.
  8690  type CanProvisionObjectsRequestType struct {
  8691  	This ManagedObjectReference `xml:"_this" json:"-"`
  8692  	// List of NewPolicyBatch structure with sizes and policies.
  8693  	Npbs []VsanNewPolicyBatch `xml:"npbs" json:"npbs"`
  8694  	// Optionally populate PolicyCost even though
  8695  	// object cannot be provisioned in the current cluster topology.
  8696  	IgnoreSatisfiability *bool `xml:"ignoreSatisfiability" json:"ignoreSatisfiability,omitempty"`
  8697  }
  8698  
  8699  func init() {
  8700  	t["CanProvisionObjectsRequestType"] = reflect.TypeOf((*CanProvisionObjectsRequestType)(nil)).Elem()
  8701  }
  8702  
  8703  type CanProvisionObjectsResponse struct {
  8704  	Returnval []VsanPolicySatisfiability `xml:"returnval" json:"returnval"`
  8705  }
  8706  
  8707  type CancelRecommendation CancelRecommendationRequestType
  8708  
  8709  func init() {
  8710  	t["CancelRecommendation"] = reflect.TypeOf((*CancelRecommendation)(nil)).Elem()
  8711  }
  8712  
  8713  // The parameters of `ClusterComputeResource.CancelRecommendation`.
  8714  type CancelRecommendationRequestType struct {
  8715  	This ManagedObjectReference `xml:"_this" json:"-"`
  8716  	// The key field of the Recommendation.
  8717  	Key string `xml:"key" json:"key"`
  8718  }
  8719  
  8720  func init() {
  8721  	t["CancelRecommendationRequestType"] = reflect.TypeOf((*CancelRecommendationRequestType)(nil)).Elem()
  8722  }
  8723  
  8724  type CancelRecommendationResponse struct {
  8725  }
  8726  
  8727  type CancelRetrievePropertiesEx CancelRetrievePropertiesExRequestType
  8728  
  8729  func init() {
  8730  	t["CancelRetrievePropertiesEx"] = reflect.TypeOf((*CancelRetrievePropertiesEx)(nil)).Elem()
  8731  }
  8732  
  8733  // The parameters of `PropertyCollector.CancelRetrievePropertiesEx`.
  8734  type CancelRetrievePropertiesExRequestType struct {
  8735  	This ManagedObjectReference `xml:"_this" json:"-"`
  8736  	// the token returned in the previous `RetrieveResult` returned on the same session by the
  8737  	// same `PropertyCollector`.
  8738  	Token string `xml:"token" json:"token"`
  8739  }
  8740  
  8741  func init() {
  8742  	t["CancelRetrievePropertiesExRequestType"] = reflect.TypeOf((*CancelRetrievePropertiesExRequestType)(nil)).Elem()
  8743  }
  8744  
  8745  type CancelRetrievePropertiesExResponse struct {
  8746  }
  8747  
  8748  type CancelStorageDrsRecommendation CancelStorageDrsRecommendationRequestType
  8749  
  8750  func init() {
  8751  	t["CancelStorageDrsRecommendation"] = reflect.TypeOf((*CancelStorageDrsRecommendation)(nil)).Elem()
  8752  }
  8753  
  8754  // The parameters of `StorageResourceManager.CancelStorageDrsRecommendation`.
  8755  type CancelStorageDrsRecommendationRequestType struct {
  8756  	This ManagedObjectReference `xml:"_this" json:"-"`
  8757  	// The key field of the Recommendation.
  8758  	Key []string `xml:"key" json:"key"`
  8759  }
  8760  
  8761  func init() {
  8762  	t["CancelStorageDrsRecommendationRequestType"] = reflect.TypeOf((*CancelStorageDrsRecommendationRequestType)(nil)).Elem()
  8763  }
  8764  
  8765  type CancelStorageDrsRecommendationResponse struct {
  8766  }
  8767  
  8768  type CancelTask CancelTaskRequestType
  8769  
  8770  func init() {
  8771  	t["CancelTask"] = reflect.TypeOf((*CancelTask)(nil)).Elem()
  8772  }
  8773  
  8774  type CancelTaskRequestType struct {
  8775  	This ManagedObjectReference `xml:"_this" json:"-"`
  8776  }
  8777  
  8778  func init() {
  8779  	t["CancelTaskRequestType"] = reflect.TypeOf((*CancelTaskRequestType)(nil)).Elem()
  8780  }
  8781  
  8782  type CancelTaskResponse struct {
  8783  }
  8784  
  8785  type CancelWaitForUpdates CancelWaitForUpdatesRequestType
  8786  
  8787  func init() {
  8788  	t["CancelWaitForUpdates"] = reflect.TypeOf((*CancelWaitForUpdates)(nil)).Elem()
  8789  }
  8790  
  8791  type CancelWaitForUpdatesRequestType struct {
  8792  	This ManagedObjectReference `xml:"_this" json:"-"`
  8793  }
  8794  
  8795  func init() {
  8796  	t["CancelWaitForUpdatesRequestType"] = reflect.TypeOf((*CancelWaitForUpdatesRequestType)(nil)).Elem()
  8797  }
  8798  
  8799  type CancelWaitForUpdatesResponse struct {
  8800  }
  8801  
  8802  // An operation performed on the host was canceled.
  8803  //
  8804  // Typically,
  8805  // a previous event in the sequence of events contains more
  8806  // information about the cause of this cancellation.
  8807  type CanceledHostOperationEvent struct {
  8808  	HostEvent
  8809  }
  8810  
  8811  func init() {
  8812  	t["CanceledHostOperationEvent"] = reflect.TypeOf((*CanceledHostOperationEvent)(nil)).Elem()
  8813  }
  8814  
  8815  // This fault is thrown when an operation fails because of insufficient
  8816  // permissions to access a file.
  8817  type CannotAccessFile struct {
  8818  	FileFault
  8819  }
  8820  
  8821  func init() {
  8822  	t["CannotAccessFile"] = reflect.TypeOf((*CannotAccessFile)(nil)).Elem()
  8823  }
  8824  
  8825  type CannotAccessFileFault CannotAccessFile
  8826  
  8827  func init() {
  8828  	t["CannotAccessFileFault"] = reflect.TypeOf((*CannotAccessFileFault)(nil)).Elem()
  8829  }
  8830  
  8831  // An CannotAccessLocalSourceFault exception is thrown when a
  8832  // an attempt is made to upload license content
  8833  // and the local source cannot be accesed.
  8834  type CannotAccessLocalSource struct {
  8835  	VimFault
  8836  }
  8837  
  8838  func init() {
  8839  	t["CannotAccessLocalSource"] = reflect.TypeOf((*CannotAccessLocalSource)(nil)).Elem()
  8840  }
  8841  
  8842  type CannotAccessLocalSourceFault CannotAccessLocalSource
  8843  
  8844  func init() {
  8845  	t["CannotAccessLocalSourceFault"] = reflect.TypeOf((*CannotAccessLocalSourceFault)(nil)).Elem()
  8846  }
  8847  
  8848  // A network associated with the virtual machine is not accessible.
  8849  //
  8850  // If returned as
  8851  // part of migration checks, this is an error if either of the following is true,
  8852  // a warning otherwise:
  8853  //   - The virtual ethernet card device backing is a distributed virtual switch,
  8854  //     of which the destination host is not a member
  8855  //   - The virtual ethernet card device backing is a standard network and the
  8856  //     the device is connected
  8857  type CannotAccessNetwork struct {
  8858  	CannotAccessVmDevice
  8859  
  8860  	// A reference to the network that cannot be accessed
  8861  	//
  8862  	// Refers instance of `Network`.
  8863  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
  8864  }
  8865  
  8866  func init() {
  8867  	t["CannotAccessNetwork"] = reflect.TypeOf((*CannotAccessNetwork)(nil)).Elem()
  8868  }
  8869  
  8870  type CannotAccessNetworkFault BaseCannotAccessNetwork
  8871  
  8872  func init() {
  8873  	t["CannotAccessNetworkFault"] = reflect.TypeOf((*CannotAccessNetworkFault)(nil)).Elem()
  8874  }
  8875  
  8876  // One of the virtual machine's components is not accessible on the execution host.
  8877  //
  8878  // This is a base class. Subclasses will encode the type of component that is not
  8879  // accessible.
  8880  type CannotAccessVmComponent struct {
  8881  	VmConfigFault
  8882  }
  8883  
  8884  func init() {
  8885  	t["CannotAccessVmComponent"] = reflect.TypeOf((*CannotAccessVmComponent)(nil)).Elem()
  8886  }
  8887  
  8888  type CannotAccessVmComponentFault BaseCannotAccessVmComponent
  8889  
  8890  func init() {
  8891  	t["CannotAccessVmComponentFault"] = reflect.TypeOf((*CannotAccessVmComponentFault)(nil)).Elem()
  8892  }
  8893  
  8894  // One or more of the virtual machine's configuration files are not accessible.
  8895  type CannotAccessVmConfig struct {
  8896  	CannotAccessVmComponent
  8897  
  8898  	// Contains the reason why the VM file could not be found.
  8899  	//
  8900  	// This is typically
  8901  	// a FileFault.
  8902  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  8903  }
  8904  
  8905  func init() {
  8906  	t["CannotAccessVmConfig"] = reflect.TypeOf((*CannotAccessVmConfig)(nil)).Elem()
  8907  }
  8908  
  8909  type CannotAccessVmConfigFault CannotAccessVmConfig
  8910  
  8911  func init() {
  8912  	t["CannotAccessVmConfigFault"] = reflect.TypeOf((*CannotAccessVmConfigFault)(nil)).Elem()
  8913  }
  8914  
  8915  // One of the virtual machine's devices uses a backing that is not accessible
  8916  // on the host.
  8917  //
  8918  // Following is a discussion of this fault's use in migration validation.
  8919  // This is an error if the device is currently connected and a warning
  8920  // otherwise. Devices that can be disconnected can only be connected if the virtual
  8921  // machine is powered on.
  8922  //
  8923  // The usage of this fault is slightly different if the backing of a device is
  8924  // inherently host-local, and therefore not shared or globally named among
  8925  // hosts. (Examples of such backings: physical CD-ROM drive, physical serial
  8926  // port.) If a device with such a backing is currently connected, that will
  8927  // be a migration error. If the device is disconnected, there will be a
  8928  // warning if no backing with the same name exists on the destination host.
  8929  // If the device is disconnected and a backing with the same name exists on
  8930  // the destination host, this is neither a warning nor an error case, even
  8931  // though the destination host's backing is not the same instance as the
  8932  // source host's. It is assumed that use of the host-local backing is what is
  8933  // desired for the device.
  8934  type CannotAccessVmDevice struct {
  8935  	CannotAccessVmComponent
  8936  
  8937  	// The label of the device.
  8938  	Device string `xml:"device" json:"device"`
  8939  	// The backing of the device.
  8940  	Backing string `xml:"backing" json:"backing"`
  8941  	// The connected/disconnected state of the device.
  8942  	Connected bool `xml:"connected" json:"connected"`
  8943  }
  8944  
  8945  func init() {
  8946  	t["CannotAccessVmDevice"] = reflect.TypeOf((*CannotAccessVmDevice)(nil)).Elem()
  8947  }
  8948  
  8949  type CannotAccessVmDeviceFault BaseCannotAccessVmDevice
  8950  
  8951  func init() {
  8952  	t["CannotAccessVmDeviceFault"] = reflect.TypeOf((*CannotAccessVmDeviceFault)(nil)).Elem()
  8953  }
  8954  
  8955  // One of the virtual machine's virtual disks is not accessible.
  8956  type CannotAccessVmDisk struct {
  8957  	CannotAccessVmDevice
  8958  
  8959  	// The reason why the disk could not be accessed
  8960  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
  8961  }
  8962  
  8963  func init() {
  8964  	t["CannotAccessVmDisk"] = reflect.TypeOf((*CannotAccessVmDisk)(nil)).Elem()
  8965  }
  8966  
  8967  type CannotAccessVmDiskFault BaseCannotAccessVmDisk
  8968  
  8969  func init() {
  8970  	t["CannotAccessVmDiskFault"] = reflect.TypeOf((*CannotAccessVmDiskFault)(nil)).Elem()
  8971  }
  8972  
  8973  // Can not add a host with fault tolerance vms to be standalone
  8974  type CannotAddHostWithFTVmAsStandalone struct {
  8975  	HostConnectFault
  8976  }
  8977  
  8978  func init() {
  8979  	t["CannotAddHostWithFTVmAsStandalone"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandalone)(nil)).Elem()
  8980  }
  8981  
  8982  type CannotAddHostWithFTVmAsStandaloneFault CannotAddHostWithFTVmAsStandalone
  8983  
  8984  func init() {
  8985  	t["CannotAddHostWithFTVmAsStandaloneFault"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandaloneFault)(nil)).Elem()
  8986  }
  8987  
  8988  // Can not add a host with fault tolerance vms to a different cluster other
  8989  // than the one used other vms in the same fault tolerance group.
  8990  type CannotAddHostWithFTVmToDifferentCluster struct {
  8991  	HostConnectFault
  8992  }
  8993  
  8994  func init() {
  8995  	t["CannotAddHostWithFTVmToDifferentCluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentCluster)(nil)).Elem()
  8996  }
  8997  
  8998  type CannotAddHostWithFTVmToDifferentClusterFault CannotAddHostWithFTVmToDifferentCluster
  8999  
  9000  func init() {
  9001  	t["CannotAddHostWithFTVmToDifferentClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentClusterFault)(nil)).Elem()
  9002  }
  9003  
  9004  // Can not add a host with fault tolerance vms to a non HA enabled cluster
  9005  type CannotAddHostWithFTVmToNonHACluster struct {
  9006  	HostConnectFault
  9007  }
  9008  
  9009  func init() {
  9010  	t["CannotAddHostWithFTVmToNonHACluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHACluster)(nil)).Elem()
  9011  }
  9012  
  9013  type CannotAddHostWithFTVmToNonHAClusterFault CannotAddHostWithFTVmToNonHACluster
  9014  
  9015  func init() {
  9016  	t["CannotAddHostWithFTVmToNonHAClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHAClusterFault)(nil)).Elem()
  9017  }
  9018  
  9019  // This fault is used to report that the DRS behavior cannot be modified
  9020  // for a FT secondary virtual machine
  9021  type CannotChangeDrsBehaviorForFtSecondary struct {
  9022  	VmFaultToleranceIssue
  9023  
  9024  	// The virtual machine whose behavior cannot be modified
  9025  	//
  9026  	// Refers instance of `VirtualMachine`.
  9027  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9028  	// Name of the virtual machine
  9029  	VmName string `xml:"vmName" json:"vmName"`
  9030  }
  9031  
  9032  func init() {
  9033  	t["CannotChangeDrsBehaviorForFtSecondary"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondary)(nil)).Elem()
  9034  }
  9035  
  9036  type CannotChangeDrsBehaviorForFtSecondaryFault CannotChangeDrsBehaviorForFtSecondary
  9037  
  9038  func init() {
  9039  	t["CannotChangeDrsBehaviorForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondaryFault)(nil)).Elem()
  9040  }
  9041  
  9042  // This fault is used to report that the HA settings cannot be modified
  9043  // for a FT secondary virtual machine
  9044  type CannotChangeHaSettingsForFtSecondary struct {
  9045  	VmFaultToleranceIssue
  9046  
  9047  	// The FT secondary virtual machine whose behavior cannot be modified
  9048  	//
  9049  	// Refers instance of `VirtualMachine`.
  9050  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9051  	// Name of the FT secondary virtual machine
  9052  	VmName string `xml:"vmName" json:"vmName"`
  9053  }
  9054  
  9055  func init() {
  9056  	t["CannotChangeHaSettingsForFtSecondary"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondary)(nil)).Elem()
  9057  }
  9058  
  9059  type CannotChangeHaSettingsForFtSecondaryFault CannotChangeHaSettingsForFtSecondary
  9060  
  9061  func init() {
  9062  	t["CannotChangeHaSettingsForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondaryFault)(nil)).Elem()
  9063  }
  9064  
  9065  // Fault thrown for cases that a VSAN cluster UUID may not be changed.
  9066  //
  9067  // For example, the VSAN cluster UUID for a host may not be changed so long
  9068  // as that host is enabled for VSAN.
  9069  // The VSAN cluster UUID for a given `ClusterComputeResource` may
  9070  // not be changed so long as that vim.ClusterComputeResource is enabled for
  9071  // VSAN.
  9072  //
  9073  // See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
  9074  type CannotChangeVsanClusterUuid struct {
  9075  	VsanFault
  9076  }
  9077  
  9078  func init() {
  9079  	t["CannotChangeVsanClusterUuid"] = reflect.TypeOf((*CannotChangeVsanClusterUuid)(nil)).Elem()
  9080  }
  9081  
  9082  type CannotChangeVsanClusterUuidFault CannotChangeVsanClusterUuid
  9083  
  9084  func init() {
  9085  	t["CannotChangeVsanClusterUuidFault"] = reflect.TypeOf((*CannotChangeVsanClusterUuidFault)(nil)).Elem()
  9086  }
  9087  
  9088  // Fault thrown for cases that a VSAN node UUID may not be changed.
  9089  //
  9090  // For example, the VSAN node UUID for a host may not be changed so long as
  9091  // that host is enabled for VSAN.
  9092  //
  9093  // See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
  9094  type CannotChangeVsanNodeUuid struct {
  9095  	VsanFault
  9096  }
  9097  
  9098  func init() {
  9099  	t["CannotChangeVsanNodeUuid"] = reflect.TypeOf((*CannotChangeVsanNodeUuid)(nil)).Elem()
  9100  }
  9101  
  9102  type CannotChangeVsanNodeUuidFault CannotChangeVsanNodeUuid
  9103  
  9104  func init() {
  9105  	t["CannotChangeVsanNodeUuidFault"] = reflect.TypeOf((*CannotChangeVsanNodeUuidFault)(nil)).Elem()
  9106  }
  9107  
  9108  // This fault is used if FT compatible hosts cannot be computed for a VM
  9109  type CannotComputeFTCompatibleHosts struct {
  9110  	VmFaultToleranceIssue
  9111  
  9112  	// The virtual machine for FT compatible hosts is being computed
  9113  	//
  9114  	// Refers instance of `VirtualMachine`.
  9115  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9116  	// Name of the virtual machine
  9117  	VmName string `xml:"vmName" json:"vmName"`
  9118  }
  9119  
  9120  func init() {
  9121  	t["CannotComputeFTCompatibleHosts"] = reflect.TypeOf((*CannotComputeFTCompatibleHosts)(nil)).Elem()
  9122  }
  9123  
  9124  type CannotComputeFTCompatibleHostsFault CannotComputeFTCompatibleHosts
  9125  
  9126  func init() {
  9127  	t["CannotComputeFTCompatibleHostsFault"] = reflect.TypeOf((*CannotComputeFTCompatibleHostsFault)(nil)).Elem()
  9128  }
  9129  
  9130  // A CannotCreateFile exception is thrown if a file create
  9131  // operation fails.
  9132  type CannotCreateFile struct {
  9133  	FileFault
  9134  }
  9135  
  9136  func init() {
  9137  	t["CannotCreateFile"] = reflect.TypeOf((*CannotCreateFile)(nil)).Elem()
  9138  }
  9139  
  9140  type CannotCreateFileFault CannotCreateFile
  9141  
  9142  func init() {
  9143  	t["CannotCreateFileFault"] = reflect.TypeOf((*CannotCreateFileFault)(nil)).Elem()
  9144  }
  9145  
  9146  // The VirtualCenter server is unable to decrypt passwords stored in
  9147  // the customization specification.
  9148  type CannotDecryptPasswords struct {
  9149  	CustomizationFault
  9150  }
  9151  
  9152  func init() {
  9153  	t["CannotDecryptPasswords"] = reflect.TypeOf((*CannotDecryptPasswords)(nil)).Elem()
  9154  }
  9155  
  9156  type CannotDecryptPasswordsFault CannotDecryptPasswords
  9157  
  9158  func init() {
  9159  	t["CannotDecryptPasswordsFault"] = reflect.TypeOf((*CannotDecryptPasswordsFault)(nil)).Elem()
  9160  }
  9161  
  9162  // A CannotDeleteFile exception is thrown if a file-deletion
  9163  // operation fails.
  9164  type CannotDeleteFile struct {
  9165  	FileFault
  9166  }
  9167  
  9168  func init() {
  9169  	t["CannotDeleteFile"] = reflect.TypeOf((*CannotDeleteFile)(nil)).Elem()
  9170  }
  9171  
  9172  type CannotDeleteFileFault CannotDeleteFile
  9173  
  9174  func init() {
  9175  	t["CannotDeleteFileFault"] = reflect.TypeOf((*CannotDeleteFileFault)(nil)).Elem()
  9176  }
  9177  
  9178  // This fault is thrown when an attempt is made to disable DRS on a cluster,
  9179  // which contains a vApp.
  9180  type CannotDisableDrsOnClustersWithVApps struct {
  9181  	RuntimeFault
  9182  }
  9183  
  9184  func init() {
  9185  	t["CannotDisableDrsOnClustersWithVApps"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVApps)(nil)).Elem()
  9186  }
  9187  
  9188  type CannotDisableDrsOnClustersWithVAppsFault CannotDisableDrsOnClustersWithVApps
  9189  
  9190  func init() {
  9191  	t["CannotDisableDrsOnClustersWithVAppsFault"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVAppsFault)(nil)).Elem()
  9192  }
  9193  
  9194  // Fault thrown when an attempt is made to disable snapshots on a virtual
  9195  // machine which has a snapshot.
  9196  //
  9197  // To disable the snapshot feature, the
  9198  // virtual machine must not currently have a snapshot.
  9199  type CannotDisableSnapshot struct {
  9200  	VmConfigFault
  9201  }
  9202  
  9203  func init() {
  9204  	t["CannotDisableSnapshot"] = reflect.TypeOf((*CannotDisableSnapshot)(nil)).Elem()
  9205  }
  9206  
  9207  type CannotDisableSnapshotFault CannotDisableSnapshot
  9208  
  9209  func init() {
  9210  	t["CannotDisableSnapshotFault"] = reflect.TypeOf((*CannotDisableSnapshotFault)(nil)).Elem()
  9211  }
  9212  
  9213  // This fault is thrown when an attempt is made to disconnect a host, which
  9214  // has one or more fault tolerance vms and is not in maintenance mode.
  9215  type CannotDisconnectHostWithFaultToleranceVm struct {
  9216  	VimFault
  9217  
  9218  	// The name of the host to be disconnected
  9219  	HostName string `xml:"hostName" json:"hostName"`
  9220  }
  9221  
  9222  func init() {
  9223  	t["CannotDisconnectHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVm)(nil)).Elem()
  9224  }
  9225  
  9226  type CannotDisconnectHostWithFaultToleranceVmFault CannotDisconnectHostWithFaultToleranceVm
  9227  
  9228  func init() {
  9229  	t["CannotDisconnectHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVmFault)(nil)).Elem()
  9230  }
  9231  
  9232  // This fault is thrown when an attempt is made to enable VM Component Protection
  9233  // on a cluster which contains a host that does not support this feature.
  9234  type CannotEnableVmcpForCluster struct {
  9235  	VimFault
  9236  
  9237  	// Report the host with APD timeout disabled.
  9238  	//
  9239  	// If the host is set it points to the host which is the reason
  9240  	// for this fault i.e this host has ADPTimeout disabled.
  9241  	//
  9242  	// Refers instance of `HostSystem`.
  9243  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
  9244  	// If set this reports the hostName.
  9245  	//
  9246  	// This is used for printing the host name in the
  9247  	// localized message as the host may have been removed
  9248  	// from the vCenter's inventory by the time localization would
  9249  	// be taking place.
  9250  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
  9251  	// This reports the reason for host not meeting the requirements
  9252  	// for enabling vSphere VMCP.
  9253  	//
  9254  	// It can be the following reason.
  9255  	//   - APDTimeout disabled.
  9256  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
  9257  }
  9258  
  9259  func init() {
  9260  	t["CannotEnableVmcpForCluster"] = reflect.TypeOf((*CannotEnableVmcpForCluster)(nil)).Elem()
  9261  }
  9262  
  9263  type CannotEnableVmcpForClusterFault CannotEnableVmcpForCluster
  9264  
  9265  func init() {
  9266  	t["CannotEnableVmcpForClusterFault"] = reflect.TypeOf((*CannotEnableVmcpForClusterFault)(nil)).Elem()
  9267  }
  9268  
  9269  // A virtual machine's total CPU feature requirements are determined by
  9270  // overlaying the requirements specified in its configuration (if any) on top
  9271  // of the requirements specified in the descriptor for its guest OS.
  9272  //
  9273  // It is
  9274  // therefore possible for a host change to implicitly change a virtual
  9275  // machine's CPU feature requirements. The guest OS descriptor may have
  9276  // different requirements on the new host. Or, if the virtual machine
  9277  // currently specifies requirements in its configuration, those requirements
  9278  // will be lost if the new host does not support this.
  9279  //
  9280  // This fault indicates that the virtual machine's CPU feature requirements
  9281  // would change because of a migration, and also that the destination host
  9282  // does not support storing CPU feature requirements in the virtual machine's
  9283  // configuration. (If the destination host does support such an action,
  9284  // WillModifyConfigCpuRequirements is used instead of this fault.)
  9285  //
  9286  // For a powered-off virtual machine, this is a warning. The migration may
  9287  // proceed, but the virtual machine will be operating under different
  9288  // CPU feature requirements if it is powered on after the migration.
  9289  //
  9290  // For a powered-on or suspended virtual machine, this is an error.
  9291  type CannotModifyConfigCpuRequirements struct {
  9292  	MigrationFault
  9293  }
  9294  
  9295  func init() {
  9296  	t["CannotModifyConfigCpuRequirements"] = reflect.TypeOf((*CannotModifyConfigCpuRequirements)(nil)).Elem()
  9297  }
  9298  
  9299  type CannotModifyConfigCpuRequirementsFault CannotModifyConfigCpuRequirements
  9300  
  9301  func init() {
  9302  	t["CannotModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*CannotModifyConfigCpuRequirementsFault)(nil)).Elem()
  9303  }
  9304  
  9305  // This fault is thrown when an attempt is made to move a fault tolerance
  9306  // vm to a different resource pool or cluster.
  9307  type CannotMoveFaultToleranceVm struct {
  9308  	VimFault
  9309  
  9310  	// The type of the move
  9311  	MoveType string `xml:"moveType" json:"moveType"`
  9312  	// The virtual machine name to be moved.
  9313  	VmName string `xml:"vmName" json:"vmName"`
  9314  }
  9315  
  9316  func init() {
  9317  	t["CannotMoveFaultToleranceVm"] = reflect.TypeOf((*CannotMoveFaultToleranceVm)(nil)).Elem()
  9318  }
  9319  
  9320  type CannotMoveFaultToleranceVmFault CannotMoveFaultToleranceVm
  9321  
  9322  func init() {
  9323  	t["CannotMoveFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveFaultToleranceVmFault)(nil)).Elem()
  9324  }
  9325  
  9326  // This fault is thrown when an attempt is made to move a host which has
  9327  // one or more fault tolerance vms out of the current cluster.
  9328  type CannotMoveHostWithFaultToleranceVm struct {
  9329  	VimFault
  9330  }
  9331  
  9332  func init() {
  9333  	t["CannotMoveHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVm)(nil)).Elem()
  9334  }
  9335  
  9336  type CannotMoveHostWithFaultToleranceVmFault CannotMoveHostWithFaultToleranceVm
  9337  
  9338  func init() {
  9339  	t["CannotMoveHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVmFault)(nil)).Elem()
  9340  }
  9341  
  9342  // This fault is thrown when an attempt is made to relocate a virtual machine
  9343  // with virtual disk(s) having delta disk backing.
  9344  type CannotMoveVmWithDeltaDisk struct {
  9345  	MigrationFault
  9346  
  9347  	// The label of the delta disk device
  9348  	Device string `xml:"device" json:"device"`
  9349  }
  9350  
  9351  func init() {
  9352  	t["CannotMoveVmWithDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithDeltaDisk)(nil)).Elem()
  9353  }
  9354  
  9355  type CannotMoveVmWithDeltaDiskFault CannotMoveVmWithDeltaDisk
  9356  
  9357  func init() {
  9358  	t["CannotMoveVmWithDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithDeltaDiskFault)(nil)).Elem()
  9359  }
  9360  
  9361  // This fault is thrown when an attempt is made to migrate a virtual machine
  9362  // with native delta disks to different datastores.
  9363  type CannotMoveVmWithNativeDeltaDisk struct {
  9364  	MigrationFault
  9365  }
  9366  
  9367  func init() {
  9368  	t["CannotMoveVmWithNativeDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDisk)(nil)).Elem()
  9369  }
  9370  
  9371  type CannotMoveVmWithNativeDeltaDiskFault CannotMoveVmWithNativeDeltaDisk
  9372  
  9373  func init() {
  9374  	t["CannotMoveVmWithNativeDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDiskFault)(nil)).Elem()
  9375  }
  9376  
  9377  // Fault thrown for the case that an attempt is made to move a host which
  9378  // is enabled for VSAN into an unsuitable `ClusterComputeResource`.
  9379  //
  9380  // The destination vim.ClusterComputeResource may be disabled for VSAN, or
  9381  // may be using VSAN with a different cluster UUID.
  9382  //
  9383  // See also `ClusterComputeResource.AddHost_Task`, `ClusterComputeResource.MoveHostInto_Task`, `ClusterComputeResource.MoveInto_Task`, `VsanClusterUuidMismatch`, `DestinationVsanDisabled`.
  9384  type CannotMoveVsanEnabledHost struct {
  9385  	VsanFault
  9386  }
  9387  
  9388  func init() {
  9389  	t["CannotMoveVsanEnabledHost"] = reflect.TypeOf((*CannotMoveVsanEnabledHost)(nil)).Elem()
  9390  }
  9391  
  9392  type CannotMoveVsanEnabledHostFault BaseCannotMoveVsanEnabledHost
  9393  
  9394  func init() {
  9395  	t["CannotMoveVsanEnabledHostFault"] = reflect.TypeOf((*CannotMoveVsanEnabledHostFault)(nil)).Elem()
  9396  }
  9397  
  9398  // This fault is thrown when Storage DRS cannot recommend to place disks of
  9399  // a virtual machine without moving existing virtual disks in a
  9400  // datastore cluster.
  9401  type CannotPlaceWithoutPrerequisiteMoves struct {
  9402  	VimFault
  9403  }
  9404  
  9405  func init() {
  9406  	t["CannotPlaceWithoutPrerequisiteMoves"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMoves)(nil)).Elem()
  9407  }
  9408  
  9409  type CannotPlaceWithoutPrerequisiteMovesFault CannotPlaceWithoutPrerequisiteMoves
  9410  
  9411  func init() {
  9412  	t["CannotPlaceWithoutPrerequisiteMovesFault"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMovesFault)(nil)).Elem()
  9413  }
  9414  
  9415  // This fault is reported when a user attempts to power off or
  9416  // suspend a VM when the HA master agent to which vCenter Server is
  9417  // connected does not manage the VM.
  9418  type CannotPowerOffVmInCluster struct {
  9419  	InvalidState
  9420  
  9421  	// The operation being performed.
  9422  	//
  9423  	// Values come from
  9424  	// `CannotPowerOffVmInClusterOperation_enum`.
  9425  	Operation string `xml:"operation" json:"operation"`
  9426  	// The Virtual Machine
  9427  	//
  9428  	// Refers instance of `VirtualMachine`.
  9429  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9430  	// Name of the Virtual Machine
  9431  	VmName string `xml:"vmName" json:"vmName"`
  9432  }
  9433  
  9434  func init() {
  9435  	t["CannotPowerOffVmInCluster"] = reflect.TypeOf((*CannotPowerOffVmInCluster)(nil)).Elem()
  9436  }
  9437  
  9438  type CannotPowerOffVmInClusterFault CannotPowerOffVmInCluster
  9439  
  9440  func init() {
  9441  	t["CannotPowerOffVmInClusterFault"] = reflect.TypeOf((*CannotPowerOffVmInClusterFault)(nil)).Elem()
  9442  }
  9443  
  9444  // Fault thrown for the case that an attempt is made to reconfigure VSAN
  9445  // when HA is currently enabled for a given `ClusterComputeResource`.
  9446  //
  9447  // See also `ComputeResource.ReconfigureComputeResource_Task`.
  9448  type CannotReconfigureVsanWhenHaEnabled struct {
  9449  	VsanFault
  9450  }
  9451  
  9452  func init() {
  9453  	t["CannotReconfigureVsanWhenHaEnabled"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabled)(nil)).Elem()
  9454  }
  9455  
  9456  type CannotReconfigureVsanWhenHaEnabledFault CannotReconfigureVsanWhenHaEnabled
  9457  
  9458  func init() {
  9459  	t["CannotReconfigureVsanWhenHaEnabledFault"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabledFault)(nil)).Elem()
  9460  }
  9461  
  9462  // A network associated with the virtual machine is accessible, but it
  9463  // cannot be used for some reason.
  9464  type CannotUseNetwork struct {
  9465  	VmConfigFault
  9466  
  9467  	// The label of the network device.
  9468  	Device string `xml:"device" json:"device"`
  9469  	// The backing of the network device.
  9470  	Backing string `xml:"backing" json:"backing"`
  9471  	// The connected/disconnected state of the device.
  9472  	Connected bool `xml:"connected" json:"connected"`
  9473  	// Reason describing why the network cannot be used.
  9474  	Reason string `xml:"reason" json:"reason"`
  9475  	// A reference to the network that cannot be used
  9476  	//
  9477  	// Refers instance of `Network`.
  9478  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
  9479  }
  9480  
  9481  func init() {
  9482  	t["CannotUseNetwork"] = reflect.TypeOf((*CannotUseNetwork)(nil)).Elem()
  9483  }
  9484  
  9485  type CannotUseNetworkFault CannotUseNetwork
  9486  
  9487  func init() {
  9488  	t["CannotUseNetworkFault"] = reflect.TypeOf((*CannotUseNetworkFault)(nil)).Elem()
  9489  }
  9490  
  9491  // A particular product may or may not support certain features.
  9492  //
  9493  // This data object
  9494  // indicates whether or not a service instance implements these features. This data
  9495  // object type indicates the circumstances under which an operation throws a
  9496  // `NotSupported` fault.
  9497  //
  9498  // Support for some features is indicated by the presence or absence of
  9499  // the manager object from the service instance. For example, the AlarmManager manager
  9500  // object indicates collecting alarms is supported.
  9501  // Other features indicate whether or not a given operation on an
  9502  // object throws a `NotSupported` fault.
  9503  //
  9504  // Some capabilities depend on the host or virtual machine
  9505  // version. These are specified by using the vim.host.Capability and
  9506  // vim.vm.Capability objects.
  9507  type Capability struct {
  9508  	DynamicData
  9509  
  9510  	// Indicates whether or not the service instance supports provisioning.
  9511  	//
  9512  	// For example, the `CloneVM` operation.
  9513  	ProvisioningSupported bool `xml:"provisioningSupported" json:"provisioningSupported"`
  9514  	// Indicates whether or not the service instance supports multiple hosts.
  9515  	MultiHostSupported bool `xml:"multiHostSupported" json:"multiHostSupported"`
  9516  	// Flag indicating whether host user accounts should have the option to
  9517  	// be granted shell access
  9518  	UserShellAccessSupported bool `xml:"userShellAccessSupported" json:"userShellAccessSupported"`
  9519  	// All supported Enhanced VMotion Compatibility modes.
  9520  	SupportedEVCMode []EVCMode `xml:"supportedEVCMode,omitempty" json:"supportedEVCMode,omitempty"`
  9521  	// All supported Enhanced VMotion Compatibility Graphics modes.
  9522  	SupportedEVCGraphicsMode []FeatureEVCMode `xml:"supportedEVCGraphicsMode,omitempty" json:"supportedEVCGraphicsMode,omitempty" vim:"7.0.1.0"`
  9523  	// Indicates whether network backup and restore feature is supported.
  9524  	NetworkBackupAndRestoreSupported *bool `xml:"networkBackupAndRestoreSupported" json:"networkBackupAndRestoreSupported,omitempty"`
  9525  	// Is DRS supported for Fault Tolerance VMs without enabling EVC.
  9526  	FtDrsWithoutEvcSupported *bool `xml:"ftDrsWithoutEvcSupported" json:"ftDrsWithoutEvcSupported,omitempty"`
  9527  	// Specifies if the workflow for setting up a HCI cluster is supported.
  9528  	HciWorkflowSupported *bool `xml:"hciWorkflowSupported" json:"hciWorkflowSupported,omitempty"`
  9529  	// Specifies the supported compute policy version.
  9530  	ComputePolicyVersion      int32 `xml:"computePolicyVersion,omitempty" json:"computePolicyVersion,omitempty"`
  9531  	ClusterPlacementSupported *bool `xml:"clusterPlacementSupported" json:"clusterPlacementSupported,omitempty"`
  9532  	// Specifies if lifecycle management of a Cluster is supported.
  9533  	LifecycleManagementSupported *bool `xml:"lifecycleManagementSupported" json:"lifecycleManagementSupported,omitempty"`
  9534  	// Specifies if host seeding for a cluster is supported.
  9535  	HostSeedingSupported *bool `xml:"hostSeedingSupported" json:"hostSeedingSupported,omitempty" vim:"7.0.2.0"`
  9536  	// Specifies if scalable shares for resource pools is supported.
  9537  	ScalableSharesSupported *bool `xml:"scalableSharesSupported" json:"scalableSharesSupported,omitempty"`
  9538  	// Specifies if highly available distributed clustering service is supported.
  9539  	HadcsSupported *bool `xml:"hadcsSupported" json:"hadcsSupported,omitempty" vim:"7.0.1.1"`
  9540  	// Specifies if desired configuration management platform is supported
  9541  	// on the cluster.
  9542  	ConfigMgmtSupported *bool `xml:"configMgmtSupported" json:"configMgmtSupported,omitempty" vim:"7.0.3.1"`
  9543  }
  9544  
  9545  func init() {
  9546  	t["Capability"] = reflect.TypeOf((*Capability)(nil)).Elem()
  9547  }
  9548  
  9549  // The parameters of `CertificateManager.CertMgrRefreshCACertificatesAndCRLs_Task`.
  9550  type CertMgrRefreshCACertificatesAndCRLsRequestType struct {
  9551  	This ManagedObjectReference `xml:"_this" json:"-"`
  9552  	// the hosts on which the certificates need to be refreshed
  9553  	//
  9554  	// Refers instances of `HostSystem`.
  9555  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9556  }
  9557  
  9558  func init() {
  9559  	t["CertMgrRefreshCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLsRequestType)(nil)).Elem()
  9560  }
  9561  
  9562  type CertMgrRefreshCACertificatesAndCRLs_Task CertMgrRefreshCACertificatesAndCRLsRequestType
  9563  
  9564  func init() {
  9565  	t["CertMgrRefreshCACertificatesAndCRLs_Task"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLs_Task)(nil)).Elem()
  9566  }
  9567  
  9568  type CertMgrRefreshCACertificatesAndCRLs_TaskResponse struct {
  9569  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9570  }
  9571  
  9572  // The parameters of `CertificateManager.CertMgrRefreshCertificates_Task`.
  9573  type CertMgrRefreshCertificatesRequestType struct {
  9574  	This ManagedObjectReference `xml:"_this" json:"-"`
  9575  	// the hosts on which the certificates need to be refreshed
  9576  	//
  9577  	// Refers instances of `HostSystem`.
  9578  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9579  }
  9580  
  9581  func init() {
  9582  	t["CertMgrRefreshCertificatesRequestType"] = reflect.TypeOf((*CertMgrRefreshCertificatesRequestType)(nil)).Elem()
  9583  }
  9584  
  9585  type CertMgrRefreshCertificates_Task CertMgrRefreshCertificatesRequestType
  9586  
  9587  func init() {
  9588  	t["CertMgrRefreshCertificates_Task"] = reflect.TypeOf((*CertMgrRefreshCertificates_Task)(nil)).Elem()
  9589  }
  9590  
  9591  type CertMgrRefreshCertificates_TaskResponse struct {
  9592  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9593  }
  9594  
  9595  // The parameters of `CertificateManager.CertMgrRevokeCertificates_Task`.
  9596  type CertMgrRevokeCertificatesRequestType struct {
  9597  	This ManagedObjectReference `xml:"_this" json:"-"`
  9598  	// the hosts on which the certificates need to be revoked
  9599  	//
  9600  	// Refers instances of `HostSystem`.
  9601  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9602  }
  9603  
  9604  func init() {
  9605  	t["CertMgrRevokeCertificatesRequestType"] = reflect.TypeOf((*CertMgrRevokeCertificatesRequestType)(nil)).Elem()
  9606  }
  9607  
  9608  type CertMgrRevokeCertificates_Task CertMgrRevokeCertificatesRequestType
  9609  
  9610  func init() {
  9611  	t["CertMgrRevokeCertificates_Task"] = reflect.TypeOf((*CertMgrRevokeCertificates_Task)(nil)).Elem()
  9612  }
  9613  
  9614  type CertMgrRevokeCertificates_TaskResponse struct {
  9615  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9616  }
  9617  
  9618  type ChangeAccessMode ChangeAccessModeRequestType
  9619  
  9620  func init() {
  9621  	t["ChangeAccessMode"] = reflect.TypeOf((*ChangeAccessMode)(nil)).Elem()
  9622  }
  9623  
  9624  // The parameters of `HostAccessManager.ChangeAccessMode`.
  9625  type ChangeAccessModeRequestType struct {
  9626  	This ManagedObjectReference `xml:"_this" json:"-"`
  9627  	// The affected user or group.
  9628  	Principal string `xml:"principal" json:"principal"`
  9629  	// True if principal refers to a group account,
  9630  	// false otherwise.
  9631  	IsGroup bool `xml:"isGroup" json:"isGroup"`
  9632  	// AccessMode to be granted.
  9633  	// `accessOther` is meaningless and
  9634  	// will result in InvalidArgument exception.
  9635  	AccessMode HostAccessMode `xml:"accessMode" json:"accessMode"`
  9636  }
  9637  
  9638  func init() {
  9639  	t["ChangeAccessModeRequestType"] = reflect.TypeOf((*ChangeAccessModeRequestType)(nil)).Elem()
  9640  }
  9641  
  9642  type ChangeAccessModeResponse struct {
  9643  }
  9644  
  9645  type ChangeFileAttributesInGuest ChangeFileAttributesInGuestRequestType
  9646  
  9647  func init() {
  9648  	t["ChangeFileAttributesInGuest"] = reflect.TypeOf((*ChangeFileAttributesInGuest)(nil)).Elem()
  9649  }
  9650  
  9651  // The parameters of `GuestFileManager.ChangeFileAttributesInGuest`.
  9652  type ChangeFileAttributesInGuestRequestType struct {
  9653  	This ManagedObjectReference `xml:"_this" json:"-"`
  9654  	// Virtual Machine to perform the operation on.
  9655  	//
  9656  	// Required privileges: VirtualMachine.GuestOperations.Modify
  9657  	//
  9658  	// Refers instance of `VirtualMachine`.
  9659  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9660  	// The guest authentication data. See
  9661  	// `GuestAuthentication`.
  9662  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
  9663  	// The complete path to the file to be copied in
  9664  	// the guest. If the file points to an symbolic link, then the
  9665  	// attributes of the target file are changed.
  9666  	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
  9667  	// Specifies the different file attributes of the
  9668  	// guest file to be changed.
  9669  	// See `GuestFileAttributes`.
  9670  	// If any property is not specified, then the specific attribute of
  9671  	// the file will be unchanged.
  9672  	FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr" json:"fileAttributes"`
  9673  }
  9674  
  9675  func init() {
  9676  	t["ChangeFileAttributesInGuestRequestType"] = reflect.TypeOf((*ChangeFileAttributesInGuestRequestType)(nil)).Elem()
  9677  }
  9678  
  9679  type ChangeFileAttributesInGuestResponse struct {
  9680  }
  9681  
  9682  // The parameters of `CryptoManagerHost.ChangeKey_Task`.
  9683  type ChangeKeyRequestType struct {
  9684  	This ManagedObjectReference `xml:"_this" json:"-"`
  9685  	// The key that replaces the existing core dump encryption key
  9686  	NewKey CryptoKeyPlain `xml:"newKey" json:"newKey"`
  9687  }
  9688  
  9689  func init() {
  9690  	t["ChangeKeyRequestType"] = reflect.TypeOf((*ChangeKeyRequestType)(nil)).Elem()
  9691  }
  9692  
  9693  type ChangeKey_Task ChangeKeyRequestType
  9694  
  9695  func init() {
  9696  	t["ChangeKey_Task"] = reflect.TypeOf((*ChangeKey_Task)(nil)).Elem()
  9697  }
  9698  
  9699  type ChangeKey_TaskResponse struct {
  9700  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9701  }
  9702  
  9703  type ChangeLockdownMode ChangeLockdownModeRequestType
  9704  
  9705  func init() {
  9706  	t["ChangeLockdownMode"] = reflect.TypeOf((*ChangeLockdownMode)(nil)).Elem()
  9707  }
  9708  
  9709  // The parameters of `HostAccessManager.ChangeLockdownMode`.
  9710  type ChangeLockdownModeRequestType struct {
  9711  	This ManagedObjectReference `xml:"_this" json:"-"`
  9712  	// The new desired lockdown mode.
  9713  	//
  9714  	// If this is the same as the current lockdown mode state, the
  9715  	// operation will silently succeed and nothing will be changed.
  9716  	//
  9717  	// If this is `lockdownDisabled`
  9718  	// then lockdown mode will be disabled and the system will
  9719  	// start service DCUI if it is not running.
  9720  	//
  9721  	// If this is `lockdownNormal`
  9722  	// then lockdown mode will be enabled and the system will
  9723  	// start service DCUI if it is not running.
  9724  	//
  9725  	// If this is `lockdownStrict`
  9726  	// then lockdown mode will be enabled and the system will
  9727  	// stop service DCUI if it is running.
  9728  	Mode HostLockdownMode `xml:"mode" json:"mode"`
  9729  }
  9730  
  9731  func init() {
  9732  	t["ChangeLockdownModeRequestType"] = reflect.TypeOf((*ChangeLockdownModeRequestType)(nil)).Elem()
  9733  }
  9734  
  9735  type ChangeLockdownModeResponse struct {
  9736  }
  9737  
  9738  type ChangeNFSUserPassword ChangeNFSUserPasswordRequestType
  9739  
  9740  func init() {
  9741  	t["ChangeNFSUserPassword"] = reflect.TypeOf((*ChangeNFSUserPassword)(nil)).Elem()
  9742  }
  9743  
  9744  // The parameters of `HostStorageSystem.ChangeNFSUserPassword`.
  9745  type ChangeNFSUserPasswordRequestType struct {
  9746  	This ManagedObjectReference `xml:"_this" json:"-"`
  9747  	// New password.
  9748  	Password string `xml:"password" json:"password"`
  9749  }
  9750  
  9751  func init() {
  9752  	t["ChangeNFSUserPasswordRequestType"] = reflect.TypeOf((*ChangeNFSUserPasswordRequestType)(nil)).Elem()
  9753  }
  9754  
  9755  type ChangeNFSUserPasswordResponse struct {
  9756  }
  9757  
  9758  type ChangeOwner ChangeOwnerRequestType
  9759  
  9760  func init() {
  9761  	t["ChangeOwner"] = reflect.TypeOf((*ChangeOwner)(nil)).Elem()
  9762  }
  9763  
  9764  // The parameters of `FileManager.ChangeOwner`.
  9765  type ChangeOwnerRequestType struct {
  9766  	This ManagedObjectReference `xml:"_this" json:"-"`
  9767  	Name string                 `xml:"name" json:"name"`
  9768  	// Required privileges: System.View
  9769  	//
  9770  	// Refers instance of `Datacenter`.
  9771  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
  9772  	Owner      string                  `xml:"owner" json:"owner"`
  9773  }
  9774  
  9775  func init() {
  9776  	t["ChangeOwnerRequestType"] = reflect.TypeOf((*ChangeOwnerRequestType)(nil)).Elem()
  9777  }
  9778  
  9779  type ChangeOwnerResponse struct {
  9780  }
  9781  
  9782  type ChangePassword ChangePasswordRequestType
  9783  
  9784  func init() {
  9785  	t["ChangePassword"] = reflect.TypeOf((*ChangePassword)(nil)).Elem()
  9786  }
  9787  
  9788  // The parameters of `HostLocalAccountManager.ChangePassword`.
  9789  type ChangePasswordRequestType struct {
  9790  	This ManagedObjectReference `xml:"_this" json:"-"`
  9791  	// the user whose password will be changed.
  9792  	User string `xml:"user" json:"user"`
  9793  	// the user's current (old) password.
  9794  	OldPassword string `xml:"oldPassword" json:"oldPassword"`
  9795  	// the user's new password.
  9796  	NewPassword string `xml:"newPassword" json:"newPassword"`
  9797  }
  9798  
  9799  func init() {
  9800  	t["ChangePasswordRequestType"] = reflect.TypeOf((*ChangePasswordRequestType)(nil)).Elem()
  9801  }
  9802  
  9803  type ChangePasswordResponse struct {
  9804  }
  9805  
  9806  // The event argument contains changes.
  9807  type ChangesInfoEventArgument struct {
  9808  	DynamicData
  9809  
  9810  	// Modified properties.
  9811  	Modified string `xml:"modified,omitempty" json:"modified,omitempty"`
  9812  	// Added properties.
  9813  	Added string `xml:"added,omitempty" json:"added,omitempty"`
  9814  	// Deleted properties.
  9815  	Deleted string `xml:"deleted,omitempty" json:"deleted,omitempty"`
  9816  }
  9817  
  9818  func init() {
  9819  	t["ChangesInfoEventArgument"] = reflect.TypeOf((*ChangesInfoEventArgument)(nil)).Elem()
  9820  }
  9821  
  9822  // The parameters of `ClusterEVCManager.CheckAddHostEvc_Task`.
  9823  type CheckAddHostEvcRequestType struct {
  9824  	This ManagedObjectReference `xml:"_this" json:"-"`
  9825  	// The spec that will be used to add the host.
  9826  	CnxSpec HostConnectSpec `xml:"cnxSpec" json:"cnxSpec"`
  9827  }
  9828  
  9829  func init() {
  9830  	t["CheckAddHostEvcRequestType"] = reflect.TypeOf((*CheckAddHostEvcRequestType)(nil)).Elem()
  9831  }
  9832  
  9833  type CheckAddHostEvc_Task CheckAddHostEvcRequestType
  9834  
  9835  func init() {
  9836  	t["CheckAddHostEvc_Task"] = reflect.TypeOf((*CheckAddHostEvc_Task)(nil)).Elem()
  9837  }
  9838  
  9839  type CheckAddHostEvc_TaskResponse struct {
  9840  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9841  }
  9842  
  9843  // The parameters of `HostProfileManager.CheckAnswerFileStatus_Task`.
  9844  type CheckAnswerFileStatusRequestType struct {
  9845  	This ManagedObjectReference `xml:"_this" json:"-"`
  9846  	// Set of hosts for which the answer file status will be checked.
  9847  	//
  9848  	// Refers instances of `HostSystem`.
  9849  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9850  }
  9851  
  9852  func init() {
  9853  	t["CheckAnswerFileStatusRequestType"] = reflect.TypeOf((*CheckAnswerFileStatusRequestType)(nil)).Elem()
  9854  }
  9855  
  9856  type CheckAnswerFileStatus_Task CheckAnswerFileStatusRequestType
  9857  
  9858  func init() {
  9859  	t["CheckAnswerFileStatus_Task"] = reflect.TypeOf((*CheckAnswerFileStatus_Task)(nil)).Elem()
  9860  }
  9861  
  9862  type CheckAnswerFileStatus_TaskResponse struct {
  9863  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9864  }
  9865  
  9866  // The parameters of `VirtualMachineProvisioningChecker.CheckClone_Task`.
  9867  type CheckCloneRequestType struct {
  9868  	This ManagedObjectReference `xml:"_this" json:"-"`
  9869  	// The virtual machine we propose to clone.
  9870  	//
  9871  	// Refers instance of `VirtualMachine`.
  9872  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9873  	// The location of the new virtual machine.
  9874  	//
  9875  	// Refers instance of `Folder`.
  9876  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
  9877  	// The name of the new virtual machine.
  9878  	Name string `xml:"name" json:"name"`
  9879  	// Specifies how to clone the virtual machine. In cases
  9880  	// where DRS would automatically select a host, all potential
  9881  	// hosts are tested against.
  9882  	Spec VirtualMachineCloneSpec `xml:"spec" json:"spec"`
  9883  	// The set of tests to run. If this argument is not set, all
  9884  	// tests will be run. See `CheckTestType_enum` for possible values.
  9885  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
  9886  }
  9887  
  9888  func init() {
  9889  	t["CheckCloneRequestType"] = reflect.TypeOf((*CheckCloneRequestType)(nil)).Elem()
  9890  }
  9891  
  9892  type CheckClone_Task CheckCloneRequestType
  9893  
  9894  func init() {
  9895  	t["CheckClone_Task"] = reflect.TypeOf((*CheckClone_Task)(nil)).Elem()
  9896  }
  9897  
  9898  type CheckClone_TaskResponse struct {
  9899  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9900  }
  9901  
  9902  // The parameters of `VirtualMachineCompatibilityChecker.CheckCompatibility_Task`.
  9903  type CheckCompatibilityRequestType struct {
  9904  	This ManagedObjectReference `xml:"_this" json:"-"`
  9905  	// The virtual machine we'd like to place.
  9906  	//
  9907  	// Refers instance of `VirtualMachine`.
  9908  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9909  	// The host we would like the virtual machine
  9910  	// to execute on. The host parameter may be left unset if the compute
  9911  	// resource associated with the pool represents a stand-alone host
  9912  	// or a DRS-enabled cluster. In the former case the stand-alone host is
  9913  	// used. In the latter case, each connected host in the cluster
  9914  	// that is not in maintenance mode is tested. If the virtual machine is a
  9915  	// template then either this parameter or the pool parameter must be set.
  9916  	//
  9917  	// Refers instance of `HostSystem`.
  9918  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
  9919  	// The resource pool we would like the virtual machine
  9920  	// to reside in. If the pool parameter is left unset, then the virtual
  9921  	// machine's current pool is assumed. If the virtual machine is a template
  9922  	// then either this parameter or the host parameter must be set.
  9923  	//
  9924  	// Refers instance of `ResourcePool`.
  9925  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
  9926  	// The set of tests to run. If this argument is not set, all
  9927  	// tests will be run. See `CheckTestType_enum` for possible values.
  9928  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
  9929  }
  9930  
  9931  func init() {
  9932  	t["CheckCompatibilityRequestType"] = reflect.TypeOf((*CheckCompatibilityRequestType)(nil)).Elem()
  9933  }
  9934  
  9935  type CheckCompatibility_Task CheckCompatibilityRequestType
  9936  
  9937  func init() {
  9938  	t["CheckCompatibility_Task"] = reflect.TypeOf((*CheckCompatibility_Task)(nil)).Elem()
  9939  }
  9940  
  9941  type CheckCompatibility_TaskResponse struct {
  9942  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9943  }
  9944  
  9945  // The parameters of `ProfileComplianceManager.CheckCompliance_Task`.
  9946  type CheckComplianceRequestType struct {
  9947  	This ManagedObjectReference `xml:"_this" json:"-"`
  9948  	// If specified, check compliance against the specified profiles.
  9949  	// If not specified, use the profiles associated with the entities.
  9950  	// If both Profiles and Entities are specified, Check the compliance of each
  9951  	// Entity against each of the profile specified.
  9952  	//
  9953  	// For more information, look at the KMap below.
  9954  	//
  9955  	// P represents if Profile is specified.
  9956  	//
  9957  	// E represents if Entity is specified.
  9958  	//
  9959  	//	            P                        ^P
  9960  	//	  ---------------------------------------------------
  9961  	//	  | Check compliance      |  Profiles associated    |
  9962  	//	 E|  of each entity       |   with the specified    |
  9963  	//	  |  against each of the  |   entity will be used   |
  9964  	//	  |  profiles specified.  |   for checking          |
  9965  	//	  |                       |   compliance.           |
  9966  	//	  |                       |                         |
  9967  	//	  |                       |                         |
  9968  	//	  ---------------------------------------------------
  9969  	//	  | All entities          |   InvalidArgument       |
  9970  	//	  |  associated with the  |   Exception is thrown.  |
  9971  	//	  |  profile are checked. |                         |
  9972  	//	^E|                       |                         |
  9973  	//	  |                       |                         |
  9974  	//	  |                       |                         |
  9975  	//	  |                       |                         |
  9976  	//	  ---------------------------------------------------
  9977  	//
  9978  	// Refers instances of `Profile`.
  9979  	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
  9980  	// If specified, the compliance check is done against this entity.
  9981  	//
  9982  	// Refers instances of `ManagedEntity`.
  9983  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
  9984  }
  9985  
  9986  func init() {
  9987  	t["CheckComplianceRequestType"] = reflect.TypeOf((*CheckComplianceRequestType)(nil)).Elem()
  9988  }
  9989  
  9990  type CheckCompliance_Task CheckComplianceRequestType
  9991  
  9992  func init() {
  9993  	t["CheckCompliance_Task"] = reflect.TypeOf((*CheckCompliance_Task)(nil)).Elem()
  9994  }
  9995  
  9996  type CheckCompliance_TaskResponse struct {
  9997  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9998  }
  9999  
 10000  // The parameters of `ClusterEVCManager.CheckConfigureEvcMode_Task`.
 10001  type CheckConfigureEvcModeRequestType struct {
 10002  	This ManagedObjectReference `xml:"_this" json:"-"`
 10003  	// A key referencing the desired EVC mode.
 10004  	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
 10005  	// A key referencing the desired EVC Graphics
 10006  	// mode `Capability.supportedEVCGraphicsMode`.
 10007  	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 10008  }
 10009  
 10010  func init() {
 10011  	t["CheckConfigureEvcModeRequestType"] = reflect.TypeOf((*CheckConfigureEvcModeRequestType)(nil)).Elem()
 10012  }
 10013  
 10014  type CheckConfigureEvcMode_Task CheckConfigureEvcModeRequestType
 10015  
 10016  func init() {
 10017  	t["CheckConfigureEvcMode_Task"] = reflect.TypeOf((*CheckConfigureEvcMode_Task)(nil)).Elem()
 10018  }
 10019  
 10020  type CheckConfigureEvcMode_TaskResponse struct {
 10021  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10022  }
 10023  
 10024  type CheckCustomizationResources CheckCustomizationResourcesRequestType
 10025  
 10026  func init() {
 10027  	t["CheckCustomizationResources"] = reflect.TypeOf((*CheckCustomizationResources)(nil)).Elem()
 10028  }
 10029  
 10030  // The parameters of `CustomizationSpecManager.CheckCustomizationResources`.
 10031  type CheckCustomizationResourcesRequestType struct {
 10032  	This ManagedObjectReference `xml:"_this" json:"-"`
 10033  	// Short name from the guest OS descriptor list describing the OS
 10034  	// we intend to customize.
 10035  	GuestOs string `xml:"guestOs" json:"guestOs"`
 10036  }
 10037  
 10038  func init() {
 10039  	t["CheckCustomizationResourcesRequestType"] = reflect.TypeOf((*CheckCustomizationResourcesRequestType)(nil)).Elem()
 10040  }
 10041  
 10042  type CheckCustomizationResourcesResponse struct {
 10043  }
 10044  
 10045  type CheckCustomizationSpec CheckCustomizationSpecRequestType
 10046  
 10047  func init() {
 10048  	t["CheckCustomizationSpec"] = reflect.TypeOf((*CheckCustomizationSpec)(nil)).Elem()
 10049  }
 10050  
 10051  // The parameters of `VirtualMachine.CheckCustomizationSpec`.
 10052  type CheckCustomizationSpecRequestType struct {
 10053  	This ManagedObjectReference `xml:"_this" json:"-"`
 10054  	// The customization specification to check.
 10055  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 10056  }
 10057  
 10058  func init() {
 10059  	t["CheckCustomizationSpecRequestType"] = reflect.TypeOf((*CheckCustomizationSpecRequestType)(nil)).Elem()
 10060  }
 10061  
 10062  type CheckCustomizationSpecResponse struct {
 10063  }
 10064  
 10065  type CheckForUpdates CheckForUpdatesRequestType
 10066  
 10067  func init() {
 10068  	t["CheckForUpdates"] = reflect.TypeOf((*CheckForUpdates)(nil)).Elem()
 10069  }
 10070  
 10071  // The parameters of `PropertyCollector.CheckForUpdates`.
 10072  type CheckForUpdatesRequestType struct {
 10073  	This ManagedObjectReference `xml:"_this" json:"-"`
 10074  	// The data version currently known to the client. The value
 10075  	// must be either
 10076  	//   - the special initial version (an empty string)
 10077  	//   - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates` by the same `PropertyCollector` on the same session.
 10078  	//   - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx` by the same `PropertyCollector` on the same
 10079  	//     session.
 10080  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 10081  }
 10082  
 10083  func init() {
 10084  	t["CheckForUpdatesRequestType"] = reflect.TypeOf((*CheckForUpdatesRequestType)(nil)).Elem()
 10085  }
 10086  
 10087  type CheckForUpdatesResponse struct {
 10088  	Returnval *UpdateSet `xml:"returnval,omitempty" json:"returnval,omitempty"`
 10089  }
 10090  
 10091  // The parameters of `HostPatchManager.CheckHostPatch_Task`.
 10092  type CheckHostPatchRequestType struct {
 10093  	This ManagedObjectReference `xml:"_this" json:"-"`
 10094  	// a list of urls pointing to metadata.zip.
 10095  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 10096  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 10097  	BundleUrls []string                                   `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 10098  	Spec       *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 10099  }
 10100  
 10101  func init() {
 10102  	t["CheckHostPatchRequestType"] = reflect.TypeOf((*CheckHostPatchRequestType)(nil)).Elem()
 10103  }
 10104  
 10105  type CheckHostPatch_Task CheckHostPatchRequestType
 10106  
 10107  func init() {
 10108  	t["CheckHostPatch_Task"] = reflect.TypeOf((*CheckHostPatch_Task)(nil)).Elem()
 10109  }
 10110  
 10111  type CheckHostPatch_TaskResponse struct {
 10112  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10113  }
 10114  
 10115  // The parameters of `VirtualMachineProvisioningChecker.CheckInstantClone_Task`.
 10116  type CheckInstantCloneRequestType struct {
 10117  	This ManagedObjectReference `xml:"_this" json:"-"`
 10118  	// The virtual machine we propose to instant clone.
 10119  	//
 10120  	// Refers instance of `VirtualMachine`.
 10121  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10122  	// Specifies how to instant clone the virtual machine.
 10123  	Spec VirtualMachineInstantCloneSpec `xml:"spec" json:"spec"`
 10124  	// The set of tests to run. If this argument is not set, all
 10125  	// tests will be run. See `CheckTestType_enum` for possible values.
 10126  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10127  }
 10128  
 10129  func init() {
 10130  	t["CheckInstantCloneRequestType"] = reflect.TypeOf((*CheckInstantCloneRequestType)(nil)).Elem()
 10131  }
 10132  
 10133  type CheckInstantClone_Task CheckInstantCloneRequestType
 10134  
 10135  func init() {
 10136  	t["CheckInstantClone_Task"] = reflect.TypeOf((*CheckInstantClone_Task)(nil)).Elem()
 10137  }
 10138  
 10139  type CheckInstantClone_TaskResponse struct {
 10140  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10141  }
 10142  
 10143  type CheckLicenseFeature CheckLicenseFeatureRequestType
 10144  
 10145  func init() {
 10146  	t["CheckLicenseFeature"] = reflect.TypeOf((*CheckLicenseFeature)(nil)).Elem()
 10147  }
 10148  
 10149  // The parameters of `LicenseManager.CheckLicenseFeature`.
 10150  type CheckLicenseFeatureRequestType struct {
 10151  	This ManagedObjectReference `xml:"_this" json:"-"`
 10152  	// Host to act on if LicenseManager is not on a host.
 10153  	//
 10154  	// Refers instance of `HostSystem`.
 10155  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10156  	// Name of the feature to enable.
 10157  	FeatureKey string `xml:"featureKey" json:"featureKey"`
 10158  }
 10159  
 10160  func init() {
 10161  	t["CheckLicenseFeatureRequestType"] = reflect.TypeOf((*CheckLicenseFeatureRequestType)(nil)).Elem()
 10162  }
 10163  
 10164  type CheckLicenseFeatureResponse struct {
 10165  	Returnval bool `xml:"returnval" json:"returnval"`
 10166  }
 10167  
 10168  // The parameters of `VirtualMachineProvisioningChecker.CheckMigrate_Task`.
 10169  type CheckMigrateRequestType struct {
 10170  	This ManagedObjectReference `xml:"_this" json:"-"`
 10171  	// The virtual machine we propose to migrate.
 10172  	//
 10173  	// Refers instance of `VirtualMachine`.
 10174  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10175  	// The target host on which the virtual machines will run. The host
 10176  	// parameter may be left unset if the compute resource associated with
 10177  	// the target pool represents a stand-alone host or a DRS-enabled
 10178  	// cluster. In the former case the stand-alone host is used as the
 10179  	// target host. In the latter case, each connected host in the cluster
 10180  	// that is not in maintenance mode is tested as a target host.
 10181  	// If the virtual machine is a template then either this
 10182  	// parameter or the pool parameter must be set.
 10183  	//
 10184  	// Refers instance of `HostSystem`.
 10185  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10186  	// The target resource pool for the virtual machines. If the
 10187  	// pool parameter is left unset, the target pool for each particular
 10188  	// virtual machine's migration will be that virtual machine's current
 10189  	// pool. If the virtual machine is a template then either this
 10190  	// parameter or the host parameter must be set.
 10191  	// The pool parameter must be set for testing the feasibility of
 10192  	// migration to a different datacenter or different vCenter service.
 10193  	//
 10194  	// Refers instance of `ResourcePool`.
 10195  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 10196  	// The power state that the virtual machines must have. If
 10197  	// this argument is not set, each virtual machine is evaluated
 10198  	// according to its current power state.
 10199  	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
 10200  	// The set of tests to run. If this argument is not set, all
 10201  	// tests will be run. See `CheckTestType_enum` for possible values.
 10202  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10203  }
 10204  
 10205  func init() {
 10206  	t["CheckMigrateRequestType"] = reflect.TypeOf((*CheckMigrateRequestType)(nil)).Elem()
 10207  }
 10208  
 10209  type CheckMigrate_Task CheckMigrateRequestType
 10210  
 10211  func init() {
 10212  	t["CheckMigrate_Task"] = reflect.TypeOf((*CheckMigrate_Task)(nil)).Elem()
 10213  }
 10214  
 10215  type CheckMigrate_TaskResponse struct {
 10216  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10217  }
 10218  
 10219  // The parameters of `VirtualMachineCompatibilityChecker.CheckPowerOn_Task`.
 10220  type CheckPowerOnRequestType struct {
 10221  	This ManagedObjectReference `xml:"_this" json:"-"`
 10222  	// The virtual machine to power on.
 10223  	//
 10224  	// Refers instance of `VirtualMachine`.
 10225  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10226  	// The host on which we want to power on the virtual machine.
 10227  	// The host parameter may be left unset if the compute
 10228  	// resource associated with the pool represents a stand-alone host
 10229  	// or a DRS-enabled cluster. In the former case the stand-alone host
 10230  	// is used. In the latter case, each connected host in the cluster
 10231  	// that is not in maintenance mode is tested. Either this parameter
 10232  	// or the pool parameter must be set.
 10233  	//
 10234  	// Refers instance of `HostSystem`.
 10235  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10236  	// The resource pool we would like the virtual machine to run
 10237  	// in. If the pool parameter is left unset, we use the host's
 10238  	// root resource pool.
 10239  	//
 10240  	// Refers instance of `ResourcePool`.
 10241  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 10242  	// The set of tests to run. If this argument is not set,
 10243  	// all tests will be run. See `CheckTestType_enum` for possible values.
 10244  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10245  }
 10246  
 10247  func init() {
 10248  	t["CheckPowerOnRequestType"] = reflect.TypeOf((*CheckPowerOnRequestType)(nil)).Elem()
 10249  }
 10250  
 10251  type CheckPowerOn_Task CheckPowerOnRequestType
 10252  
 10253  func init() {
 10254  	t["CheckPowerOn_Task"] = reflect.TypeOf((*CheckPowerOn_Task)(nil)).Elem()
 10255  }
 10256  
 10257  type CheckPowerOn_TaskResponse struct {
 10258  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10259  }
 10260  
 10261  // The parameters of `Profile.CheckProfileCompliance_Task`.
 10262  type CheckProfileComplianceRequestType struct {
 10263  	This ManagedObjectReference `xml:"_this" json:"-"`
 10264  	// If specified, the compliance check is performed on this entity.
 10265  	// If the entity is not specified, the vCenter Server runs a compliance check on all the
 10266  	// entities associated with the profile. The entity does not have to be associated with the
 10267  	// profile.
 10268  	//
 10269  	// Refers instances of `ManagedEntity`.
 10270  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 10271  }
 10272  
 10273  func init() {
 10274  	t["CheckProfileComplianceRequestType"] = reflect.TypeOf((*CheckProfileComplianceRequestType)(nil)).Elem()
 10275  }
 10276  
 10277  type CheckProfileCompliance_Task CheckProfileComplianceRequestType
 10278  
 10279  func init() {
 10280  	t["CheckProfileCompliance_Task"] = reflect.TypeOf((*CheckProfileCompliance_Task)(nil)).Elem()
 10281  }
 10282  
 10283  type CheckProfileCompliance_TaskResponse struct {
 10284  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10285  }
 10286  
 10287  // The parameters of `VirtualMachineProvisioningChecker.CheckRelocate_Task`.
 10288  type CheckRelocateRequestType struct {
 10289  	This ManagedObjectReference `xml:"_this" json:"-"`
 10290  	// The virtual machine we propose to relocate.
 10291  	//
 10292  	// Refers instance of `VirtualMachine`.
 10293  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10294  	// The specification of where to relocate the virtual machine.
 10295  	// In cases where DRS would automatically select a host, all potential
 10296  	// hosts are tested against.
 10297  	// The host parameter in the spec may be left unset for checking
 10298  	// feasibility of relocation to a different datacenter or different
 10299  	// vCenter service, if the compute resource associated with the
 10300  	// target pool represents a stand-alone host, the host is tested
 10301  	// against, otherwise each connected host in the cluster that is
 10302  	// not in maintenance mode represented by the target pool is tested
 10303  	// as a target host.
 10304  	Spec VirtualMachineRelocateSpec `xml:"spec" json:"spec"`
 10305  	// The set of tests to run. If this argument is not set, all
 10306  	// tests will be run. See `CheckTestType_enum` for possible values.
 10307  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10308  }
 10309  
 10310  func init() {
 10311  	t["CheckRelocateRequestType"] = reflect.TypeOf((*CheckRelocateRequestType)(nil)).Elem()
 10312  }
 10313  
 10314  type CheckRelocate_Task CheckRelocateRequestType
 10315  
 10316  func init() {
 10317  	t["CheckRelocate_Task"] = reflect.TypeOf((*CheckRelocate_Task)(nil)).Elem()
 10318  }
 10319  
 10320  type CheckRelocate_TaskResponse struct {
 10321  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10322  }
 10323  
 10324  // The result of a call to any of the methods in either
 10325  // `VirtualMachineCompatibilityChecker` or `VirtualMachineProvisioningChecker`.
 10326  type CheckResult struct {
 10327  	DynamicData
 10328  
 10329  	// The virtual machine involved in the testing.
 10330  	//
 10331  	// Refers instance of `VirtualMachine`.
 10332  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 10333  	// The host involved in the testing.
 10334  	//
 10335  	// Refers instance of `HostSystem`.
 10336  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10337  	// A list of faults representing problems which may
 10338  	// require attention, but which are not fatal.
 10339  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 10340  	// A list of faults representing problems which are fatal
 10341  	// to the operation.
 10342  	//
 10343  	// For `VirtualMachineProvisioningChecker` an error means that the
 10344  	// given provisioning operation would fail.
 10345  	// For `VirtualMachineCompatibilityChecker` an error means that either
 10346  	// a power-on of this virtual machine would fail, or that the
 10347  	// virtual machine would not run correctly once powered-on.
 10348  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 10349  }
 10350  
 10351  func init() {
 10352  	t["CheckResult"] = reflect.TypeOf((*CheckResult)(nil)).Elem()
 10353  }
 10354  
 10355  // The parameters of `VirtualMachineCompatibilityChecker.CheckVmConfig_Task`.
 10356  type CheckVmConfigRequestType struct {
 10357  	This ManagedObjectReference `xml:"_this" json:"-"`
 10358  	// The specification of the virtual machine to create.
 10359  	Spec VirtualMachineConfigSpec `xml:"spec" json:"spec"`
 10360  	// The existing virtual machine to apply the spec to.
 10361  	// If this is not provided, the spec is assumed to be for the creation
 10362  	// of a new virtual machine.
 10363  	//
 10364  	// Refers instance of `VirtualMachine`.
 10365  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 10366  	// The host we would like the virtual machine
 10367  	// to execute on. The host parameter may be left unset if the compute
 10368  	// resource associated with the pool represents a stand-alone host
 10369  	// or a DRS-enabled cluster. In the former case the stand-alone host
 10370  	// is used. In the latter case, each connected host in the cluster
 10371  	// that is not in maintenance mode is tested. If the virtual machine
 10372  	// is a template, then either this parameter or the pool parameter
 10373  	// must be set.
 10374  	//
 10375  	// Refers instance of `HostSystem`.
 10376  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10377  	// The resource pool we would like the virtual machine
 10378  	// to reside in. If the pool parameter is left unset, then we use the
 10379  	// host's root resource pool.
 10380  	//
 10381  	// Refers instance of `ResourcePool`.
 10382  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 10383  	// The set of tests to run. If this argument is not set, all
 10384  	// tests will be run. See `CheckTestType_enum` for possible values.
 10385  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10386  }
 10387  
 10388  func init() {
 10389  	t["CheckVmConfigRequestType"] = reflect.TypeOf((*CheckVmConfigRequestType)(nil)).Elem()
 10390  }
 10391  
 10392  type CheckVmConfig_Task CheckVmConfigRequestType
 10393  
 10394  func init() {
 10395  	t["CheckVmConfig_Task"] = reflect.TypeOf((*CheckVmConfig_Task)(nil)).Elem()
 10396  }
 10397  
 10398  type CheckVmConfig_TaskResponse struct {
 10399  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10400  }
 10401  
 10402  // The ChoiceOption data object type defines a set of
 10403  // supported string values, a localizable description for each value,
 10404  // and the default value.
 10405  type ChoiceOption struct {
 10406  	OptionType
 10407  
 10408  	// The set of possible selections and descriptions.
 10409  	ChoiceInfo []BaseElementDescription `xml:"choiceInfo,typeattr" json:"choiceInfo"`
 10410  	// The index in ChoiceOption.value that serves as the default value.
 10411  	DefaultIndex int32 `xml:"defaultIndex,omitempty" json:"defaultIndex,omitempty"`
 10412  }
 10413  
 10414  func init() {
 10415  	t["ChoiceOption"] = reflect.TypeOf((*ChoiceOption)(nil)).Elem()
 10416  }
 10417  
 10418  type ClearComplianceStatus ClearComplianceStatusRequestType
 10419  
 10420  func init() {
 10421  	t["ClearComplianceStatus"] = reflect.TypeOf((*ClearComplianceStatus)(nil)).Elem()
 10422  }
 10423  
 10424  // The parameters of `ProfileComplianceManager.ClearComplianceStatus`.
 10425  type ClearComplianceStatusRequestType struct {
 10426  	This ManagedObjectReference `xml:"_this" json:"-"`
 10427  	// If specified, clear the ComplianceResult related to the Profile.
 10428  	//
 10429  	// Refers instances of `Profile`.
 10430  	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 10431  	// If specified, clear the ComplianceResult related to the entity.
 10432  	// If profile and entity are not specified, all the ComplianceResults will be cleared.
 10433  	//
 10434  	// Refers instances of `ManagedEntity`.
 10435  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 10436  }
 10437  
 10438  func init() {
 10439  	t["ClearComplianceStatusRequestType"] = reflect.TypeOf((*ClearComplianceStatusRequestType)(nil)).Elem()
 10440  }
 10441  
 10442  type ClearComplianceStatusResponse struct {
 10443  }
 10444  
 10445  type ClearNFSUser ClearNFSUserRequestType
 10446  
 10447  func init() {
 10448  	t["ClearNFSUser"] = reflect.TypeOf((*ClearNFSUser)(nil)).Elem()
 10449  }
 10450  
 10451  type ClearNFSUserRequestType struct {
 10452  	This ManagedObjectReference `xml:"_this" json:"-"`
 10453  }
 10454  
 10455  func init() {
 10456  	t["ClearNFSUserRequestType"] = reflect.TypeOf((*ClearNFSUserRequestType)(nil)).Elem()
 10457  }
 10458  
 10459  type ClearNFSUserResponse struct {
 10460  }
 10461  
 10462  type ClearSystemEventLog ClearSystemEventLogRequestType
 10463  
 10464  func init() {
 10465  	t["ClearSystemEventLog"] = reflect.TypeOf((*ClearSystemEventLog)(nil)).Elem()
 10466  }
 10467  
 10468  type ClearSystemEventLogRequestType struct {
 10469  	This ManagedObjectReference `xml:"_this" json:"-"`
 10470  }
 10471  
 10472  func init() {
 10473  	t["ClearSystemEventLogRequestType"] = reflect.TypeOf((*ClearSystemEventLogRequestType)(nil)).Elem()
 10474  }
 10475  
 10476  type ClearSystemEventLogResponse struct {
 10477  }
 10478  
 10479  type ClearTriggeredAlarms ClearTriggeredAlarmsRequestType
 10480  
 10481  func init() {
 10482  	t["ClearTriggeredAlarms"] = reflect.TypeOf((*ClearTriggeredAlarms)(nil)).Elem()
 10483  }
 10484  
 10485  // The parameters of `AlarmManager.ClearTriggeredAlarms`.
 10486  type ClearTriggeredAlarmsRequestType struct {
 10487  	This   ManagedObjectReference `xml:"_this" json:"-"`
 10488  	Filter AlarmFilterSpec        `xml:"filter" json:"filter"`
 10489  }
 10490  
 10491  func init() {
 10492  	t["ClearTriggeredAlarmsRequestType"] = reflect.TypeOf((*ClearTriggeredAlarmsRequestType)(nil)).Elem()
 10493  }
 10494  
 10495  type ClearTriggeredAlarmsResponse struct {
 10496  }
 10497  
 10498  type ClearVStorageObjectControlFlags ClearVStorageObjectControlFlagsRequestType
 10499  
 10500  func init() {
 10501  	t["ClearVStorageObjectControlFlags"] = reflect.TypeOf((*ClearVStorageObjectControlFlags)(nil)).Elem()
 10502  }
 10503  
 10504  // The parameters of `VcenterVStorageObjectManager.ClearVStorageObjectControlFlags`.
 10505  type ClearVStorageObjectControlFlagsRequestType struct {
 10506  	This ManagedObjectReference `xml:"_this" json:"-"`
 10507  	// The ID of the virtual storage object.
 10508  	Id ID `xml:"id" json:"id"`
 10509  	// The datastore where the source virtual storage
 10510  	// object is located.
 10511  	//
 10512  	// Required privileges: Datastore.FileManagement
 10513  	//
 10514  	// Refers instance of `Datastore`.
 10515  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 10516  	// control flags enum array to be cleared on the
 10517  	// VStorageObject. All control flags not included
 10518  	// in the array remain intact.
 10519  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 10520  }
 10521  
 10522  func init() {
 10523  	t["ClearVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*ClearVStorageObjectControlFlagsRequestType)(nil)).Elem()
 10524  }
 10525  
 10526  type ClearVStorageObjectControlFlagsResponse struct {
 10527  }
 10528  
 10529  // Fault indicating that the clock skew in the system exceeds the limit.
 10530  type ClockSkew struct {
 10531  	HostConfigFault
 10532  }
 10533  
 10534  func init() {
 10535  	t["ClockSkew"] = reflect.TypeOf((*ClockSkew)(nil)).Elem()
 10536  }
 10537  
 10538  type ClockSkewFault ClockSkew
 10539  
 10540  func init() {
 10541  	t["ClockSkewFault"] = reflect.TypeOf((*ClockSkewFault)(nil)).Elem()
 10542  }
 10543  
 10544  // An attempt is being made to clone a virtual machine from a snapshot
 10545  // point, and this is not supported.
 10546  //
 10547  // See also `VirtualMachineCloneSpec.snapshot`, `VirtualMachineCapability.snapshotConfigSupported`, `HostCapability.cloneFromSnapshotSupported`.
 10548  type CloneFromSnapshotNotSupported struct {
 10549  	MigrationFault
 10550  }
 10551  
 10552  func init() {
 10553  	t["CloneFromSnapshotNotSupported"] = reflect.TypeOf((*CloneFromSnapshotNotSupported)(nil)).Elem()
 10554  }
 10555  
 10556  type CloneFromSnapshotNotSupportedFault CloneFromSnapshotNotSupported
 10557  
 10558  func init() {
 10559  	t["CloneFromSnapshotNotSupportedFault"] = reflect.TypeOf((*CloneFromSnapshotNotSupportedFault)(nil)).Elem()
 10560  }
 10561  
 10562  type CloneSession CloneSessionRequestType
 10563  
 10564  func init() {
 10565  	t["CloneSession"] = reflect.TypeOf((*CloneSession)(nil)).Elem()
 10566  }
 10567  
 10568  // The parameters of `SessionManager.CloneSession`.
 10569  type CloneSessionRequestType struct {
 10570  	This ManagedObjectReference `xml:"_this" json:"-"`
 10571  	// ticket string acquired via `SessionManager.AcquireCloneTicket`.
 10572  	CloneTicket string `xml:"cloneTicket" json:"cloneTicket"`
 10573  }
 10574  
 10575  func init() {
 10576  	t["CloneSessionRequestType"] = reflect.TypeOf((*CloneSessionRequestType)(nil)).Elem()
 10577  }
 10578  
 10579  type CloneSessionResponse struct {
 10580  	Returnval UserSession `xml:"returnval" json:"returnval"`
 10581  }
 10582  
 10583  // The parameters of `VirtualApp.CloneVApp_Task`.
 10584  type CloneVAppRequestType struct {
 10585  	This ManagedObjectReference `xml:"_this" json:"-"`
 10586  	// The name of the new vApp.
 10587  	Name string `xml:"name" json:"name"`
 10588  	// The parent entity of the new vApp. Must be of type
 10589  	// `ResourcePool` or `VirtualApp`.
 10590  	//
 10591  	// Refers instance of `ResourcePool`.
 10592  	Target ManagedObjectReference `xml:"target" json:"target"`
 10593  	// Specifies how to clone the vApp.
 10594  	Spec VAppCloneSpec `xml:"spec" json:"spec"`
 10595  }
 10596  
 10597  func init() {
 10598  	t["CloneVAppRequestType"] = reflect.TypeOf((*CloneVAppRequestType)(nil)).Elem()
 10599  }
 10600  
 10601  type CloneVApp_Task CloneVAppRequestType
 10602  
 10603  func init() {
 10604  	t["CloneVApp_Task"] = reflect.TypeOf((*CloneVApp_Task)(nil)).Elem()
 10605  }
 10606  
 10607  type CloneVApp_TaskResponse struct {
 10608  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10609  }
 10610  
 10611  // The parameters of `VirtualMachine.CloneVM_Task`.
 10612  type CloneVMRequestType struct {
 10613  	This ManagedObjectReference `xml:"_this" json:"-"`
 10614  	// The location of the new virtual machine.
 10615  	//
 10616  	// Required privileges: VirtualMachine.Inventory.CreateFromExisting
 10617  	//
 10618  	// Refers instance of `Folder`.
 10619  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
 10620  	// The name of the new virtual machine.
 10621  	Name string `xml:"name" json:"name"`
 10622  	// Specifies how to clone the virtual machine. The folder
 10623  	// specified in the spec takes precedence over the folder parameter.
 10624  	Spec VirtualMachineCloneSpec `xml:"spec" json:"spec"`
 10625  }
 10626  
 10627  func init() {
 10628  	t["CloneVMRequestType"] = reflect.TypeOf((*CloneVMRequestType)(nil)).Elem()
 10629  }
 10630  
 10631  type CloneVM_Task CloneVMRequestType
 10632  
 10633  func init() {
 10634  	t["CloneVM_Task"] = reflect.TypeOf((*CloneVM_Task)(nil)).Elem()
 10635  }
 10636  
 10637  type CloneVM_TaskResponse struct {
 10638  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10639  }
 10640  
 10641  // The parameters of `VcenterVStorageObjectManager.CloneVStorageObject_Task`.
 10642  type CloneVStorageObjectRequestType struct {
 10643  	This ManagedObjectReference `xml:"_this" json:"-"`
 10644  	// The ID of the virtual storage object.
 10645  	Id ID `xml:"id" json:"id"`
 10646  	// The datastore where the source virtual storage object
 10647  	// is located.
 10648  	//
 10649  	// Refers instance of `Datastore`.
 10650  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 10651  	// The specification for cloning the virtual storage
 10652  	// object.
 10653  	Spec VslmCloneSpec `xml:"spec" json:"spec"`
 10654  }
 10655  
 10656  func init() {
 10657  	t["CloneVStorageObjectRequestType"] = reflect.TypeOf((*CloneVStorageObjectRequestType)(nil)).Elem()
 10658  }
 10659  
 10660  type CloneVStorageObject_Task CloneVStorageObjectRequestType
 10661  
 10662  func init() {
 10663  	t["CloneVStorageObject_Task"] = reflect.TypeOf((*CloneVStorageObject_Task)(nil)).Elem()
 10664  }
 10665  
 10666  type CloneVStorageObject_TaskResponse struct {
 10667  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10668  }
 10669  
 10670  type CloseInventoryViewFolder CloseInventoryViewFolderRequestType
 10671  
 10672  func init() {
 10673  	t["CloseInventoryViewFolder"] = reflect.TypeOf((*CloseInventoryViewFolder)(nil)).Elem()
 10674  }
 10675  
 10676  // The parameters of `InventoryView.CloseInventoryViewFolder`.
 10677  type CloseInventoryViewFolderRequestType struct {
 10678  	This ManagedObjectReference `xml:"_this" json:"-"`
 10679  	// An array of managed object references. Each array entry is a
 10680  	// reference to an entity to collapse.
 10681  	//
 10682  	// Required privileges: System.View
 10683  	//
 10684  	// Refers instances of `ManagedEntity`.
 10685  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
 10686  }
 10687  
 10688  func init() {
 10689  	t["CloseInventoryViewFolderRequestType"] = reflect.TypeOf((*CloseInventoryViewFolderRequestType)(nil)).Elem()
 10690  }
 10691  
 10692  type CloseInventoryViewFolderResponse struct {
 10693  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 10694  }
 10695  
 10696  // Base class for all action recommendations in VirtualCenter.
 10697  type ClusterAction struct {
 10698  	DynamicData
 10699  
 10700  	// Type of the action.
 10701  	//
 10702  	// This is encoded to differentiate between
 10703  	// different types of actions aimed at achieving different goals.
 10704  	Type string `xml:"type" json:"type"`
 10705  	// The target object on which this action will be applied.
 10706  	//
 10707  	// For
 10708  	// instance, a migration action will have a virtual machine as its
 10709  	// target object, while a host power action will have a host as its
 10710  	// target action.
 10711  	Target *ManagedObjectReference `xml:"target,omitempty" json:"target,omitempty"`
 10712  }
 10713  
 10714  func init() {
 10715  	t["ClusterAction"] = reflect.TypeOf((*ClusterAction)(nil)).Elem()
 10716  }
 10717  
 10718  // Base class for all action history.
 10719  type ClusterActionHistory struct {
 10720  	DynamicData
 10721  
 10722  	// The action that was executed recently.
 10723  	Action BaseClusterAction `xml:"action,typeattr" json:"action"`
 10724  	// The time when the action was executed.
 10725  	Time time.Time `xml:"time" json:"time"`
 10726  }
 10727  
 10728  func init() {
 10729  	t["ClusterActionHistory"] = reflect.TypeOf((*ClusterActionHistory)(nil)).Elem()
 10730  }
 10731  
 10732  // The `ClusterAffinityRuleSpec` data object defines a set
 10733  // of virtual machines.
 10734  //
 10735  // DRS will attempt to schedule the virtual machines
 10736  // to run on the same host.
 10737  type ClusterAffinityRuleSpec struct {
 10738  	ClusterRuleInfo
 10739  
 10740  	// List of virtual machine references.
 10741  	//
 10742  	// Refers instances of `VirtualMachine`.
 10743  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 10744  }
 10745  
 10746  func init() {
 10747  	t["ClusterAffinityRuleSpec"] = reflect.TypeOf((*ClusterAffinityRuleSpec)(nil)).Elem()
 10748  }
 10749  
 10750  // The `ClusterAntiAffinityRuleSpec` data object defines
 10751  // a set of virtual machines.
 10752  //
 10753  // DRS will attempt to schedule the virtual
 10754  // machines to run on different hosts.
 10755  type ClusterAntiAffinityRuleSpec struct {
 10756  	ClusterRuleInfo
 10757  
 10758  	// List of virtual machine references.
 10759  	//
 10760  	// Refers instances of `VirtualMachine`.
 10761  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 10762  }
 10763  
 10764  func init() {
 10765  	t["ClusterAntiAffinityRuleSpec"] = reflect.TypeOf((*ClusterAntiAffinityRuleSpec)(nil)).Elem()
 10766  }
 10767  
 10768  // This data class reports virtual machine powerOn information.
 10769  type ClusterAttemptedVmInfo struct {
 10770  	DynamicData
 10771  
 10772  	// The virtual machine being powered on.
 10773  	//
 10774  	// Refers instance of `VirtualMachine`.
 10775  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10776  	// The ID of the task, which monitors powering on.
 10777  	//
 10778  	// Refers instance of `Task`.
 10779  	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
 10780  }
 10781  
 10782  func init() {
 10783  	t["ClusterAttemptedVmInfo"] = reflect.TypeOf((*ClusterAttemptedVmInfo)(nil)).Elem()
 10784  }
 10785  
 10786  // Describes an action for the initial placement of a virtual machine in a
 10787  // cluster.
 10788  //
 10789  // This action is used by the cross cluster placement API when a
 10790  // virtual machine needs to be placed across a set of given clusters. See
 10791  // `Folder.PlaceVmsXCluster`. This action encapsulates details
 10792  // about the chosen cluster (via the resource pool inside that cluster), the
 10793  // chosen host and the chosen datastores for the disks of the virtual machine.
 10794  type ClusterClusterInitialPlacementAction struct {
 10795  	ClusterAction
 10796  
 10797  	// The host where the virtual machine should be initially placed.
 10798  	//
 10799  	// This field
 10800  	// is optional because the primary use case of
 10801  	// `Folder.PlaceVmsXCluster` is to select the best cluster for
 10802  	// placing VMs. This `ClusterClusterInitialPlacementAction.targetHost`
 10803  	// denotes the best host within the best cluster and it is only returned
 10804  	// if the client asks for it, which is determined by
 10805  	// `PlaceVmsXClusterSpec.hostRecommRequired`. If
 10806  	// `PlaceVmsXClusterSpec.hostRecommRequired` is set to true, then
 10807  	// the targetHost is returned with a valid value and if it is either set to
 10808  	// false or left unset, then targetHost is also left unset. When this field
 10809  	// is unset, then it means that the client did not ask for the target host
 10810  	// within the recommended cluster. It does not mean that there is no
 10811  	// recommended host for placing this VM in the recommended cluster.
 10812  	//
 10813  	// Refers instance of `HostSystem`.
 10814  	TargetHost *ManagedObjectReference `xml:"targetHost,omitempty" json:"targetHost,omitempty"`
 10815  	// The chosen resource pool for placing the virtual machine.
 10816  	//
 10817  	// This is non-
 10818  	// optional because recommending the best cluster (by recommending the
 10819  	// resource pool in the best cluster) is the primary use case for the
 10820  	// `ClusterClusterInitialPlacementAction`.
 10821  	//
 10822  	// Refers instance of `ResourcePool`.
 10823  	Pool ManagedObjectReference `xml:"pool" json:"pool"`
 10824  	// The config spec of the virtual machine to be placed.
 10825  	//
 10826  	// The `Folder.PlaceVmsXCluster` method takes
 10827  	// input of `VirtualMachineConfigSpec` from client and populates the backing
 10828  	// for each virtual disk and the VM home path in it unless the input
 10829  	// ConfigSpec already provides them. The existing settings in the input
 10830  	// ConfigSpec are preserved and not overridden in the returned ConfigSpec
 10831  	// in this action as well as the resulting
 10832  	// `ClusterRecommendation`. This field is set based on whether
 10833  	// the client needs `Folder.PlaceVmsXCluster` to recommend a
 10834  	// backing datastore for the disks of the candidate VMs or not, which is
 10835  	// specified via `PlaceVmsXClusterSpec.datastoreRecommRequired`.
 10836  	// If `PlaceVmsXClusterSpec.datastoreRecommRequired` is set to
 10837  	// true, then this
 10838  	// `ClusterClusterInitialPlacementAction.configSpec` is also set
 10839  	// with the backing of each disk populated. If
 10840  	// `PlaceVmsXClusterSpec.datastoreRecommRequired` is either set to
 10841  	// false or left unset, then this field is also left unset. When this field
 10842  	// is left unset, then it means that the client did not ask to populate the
 10843  	// backing datastore for the disks of the candidate VMs.
 10844  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 10845  }
 10846  
 10847  func init() {
 10848  	t["ClusterClusterInitialPlacementAction"] = reflect.TypeOf((*ClusterClusterInitialPlacementAction)(nil)).Elem()
 10849  	minAPIVersionForType["ClusterClusterInitialPlacementAction"] = "8.0.0.1"
 10850  }
 10851  
 10852  // This event records that a compliance check was triggered
 10853  // on the cluster.
 10854  type ClusterComplianceCheckedEvent struct {
 10855  	ClusterEvent
 10856  
 10857  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 10858  }
 10859  
 10860  func init() {
 10861  	t["ClusterComplianceCheckedEvent"] = reflect.TypeOf((*ClusterComplianceCheckedEvent)(nil)).Elem()
 10862  }
 10863  
 10864  // ClusterConfigResult is the result returned for the `ClusterComputeResource.ConfigureHCI_Task`
 10865  // method.
 10866  type ClusterComputeResourceClusterConfigResult struct {
 10867  	DynamicData
 10868  
 10869  	// List of failed hosts.
 10870  	FailedHosts []FolderFailedHostResult `xml:"failedHosts,omitempty" json:"failedHosts,omitempty"`
 10871  	// List of successfully configured hosts.
 10872  	//
 10873  	// Refers instances of `HostSystem`.
 10874  	ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty" json:"configuredHosts,omitempty"`
 10875  }
 10876  
 10877  func init() {
 10878  	t["ClusterComputeResourceClusterConfigResult"] = reflect.TypeOf((*ClusterComputeResourceClusterConfigResult)(nil)).Elem()
 10879  }
 10880  
 10881  // The encryption mode policy for a cluster.
 10882  type ClusterComputeResourceCryptoModePolicy struct {
 10883  	DynamicData
 10884  
 10885  	// The host key identifier.
 10886  	//
 10887  	// When set, all hosts in the cluster will use this key when enabling
 10888  	// the crypto safe mode. Only one of `ClusterComputeResourceCryptoModePolicy.keyId` and
 10889  	// `ClusterComputeResourceCryptoModePolicy.providerId` may be set.
 10890  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 10891  	// The host key provider identifier.
 10892  	//
 10893  	// When set, all hosts in the cluster will use a key from the specified
 10894  	// key provider when enabling the crypto safe mode. Only one of
 10895  	// `ClusterComputeResourceCryptoModePolicy.keyId` and `ClusterComputeResourceCryptoModePolicy.providerId` may be set.
 10896  	ProviderId *KeyProviderId `xml:"providerId,omitempty" json:"providerId,omitempty"`
 10897  }
 10898  
 10899  func init() {
 10900  	t["ClusterComputeResourceCryptoModePolicy"] = reflect.TypeOf((*ClusterComputeResourceCryptoModePolicy)(nil)).Elem()
 10901  	minAPIVersionForType["ClusterComputeResourceCryptoModePolicy"] = "8.0.3.0"
 10902  }
 10903  
 10904  // Describes the validations applicable to the network settings.
 10905  //
 10906  // These
 10907  // are based off the information recorded in
 10908  // `dvsSetting`.
 10909  type ClusterComputeResourceDVSConfigurationValidation struct {
 10910  	ClusterComputeResourceValidationResultBase
 10911  
 10912  	// Check if the DVS is alive.
 10913  	IsDvsValid bool `xml:"isDvsValid" json:"isDvsValid"`
 10914  	// Check if the portgroups are valid.
 10915  	IsDvpgValid bool `xml:"isDvpgValid" json:"isDvpgValid"`
 10916  }
 10917  
 10918  func init() {
 10919  	t["ClusterComputeResourceDVSConfigurationValidation"] = reflect.TypeOf((*ClusterComputeResourceDVSConfigurationValidation)(nil)).Elem()
 10920  }
 10921  
 10922  // Contains reference to the DVS, list of physical nics attached to it,
 10923  // and list of dvportgroups created on it while initially configuring a
 10924  // cluster by calling the `ClusterComputeResource.ConfigureHCI_Task` method.
 10925  type ClusterComputeResourceDVSSetting struct {
 10926  	DynamicData
 10927  
 10928  	// Managed object reference to the DVS.
 10929  	//
 10930  	// Refers instance of `DistributedVirtualSwitch`.
 10931  	DvSwitch ManagedObjectReference `xml:"dvSwitch" json:"dvSwitch"`
 10932  	// List of physical nics attached to the DVS.
 10933  	PnicDevices []string `xml:"pnicDevices,omitempty" json:"pnicDevices,omitempty"`
 10934  	// Describes dvportgroups on the DVS and services residing on each one.
 10935  	DvPortgroupSetting []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"dvPortgroupSetting,omitempty" json:"dvPortgroupSetting,omitempty"`
 10936  }
 10937  
 10938  func init() {
 10939  	t["ClusterComputeResourceDVSSetting"] = reflect.TypeOf((*ClusterComputeResourceDVSSetting)(nil)).Elem()
 10940  }
 10941  
 10942  type ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct {
 10943  	DynamicData
 10944  
 10945  	// Managed object reference to the dvportgroup.
 10946  	//
 10947  	// Refers instance of `DistributedVirtualPortgroup`.
 10948  	DvPortgroup ManagedObjectReference `xml:"dvPortgroup" json:"dvPortgroup"`
 10949  	// Service to be configured on the virtual nics attached to this
 10950  	// dvportgroup.
 10951  	//
 10952  	// See `HostVirtualNicManagerNicType_enum` for
 10953  	// supported values.
 10954  	Service string `xml:"service" json:"service"`
 10955  }
 10956  
 10957  func init() {
 10958  	t["ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"] = reflect.TypeOf((*ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping)(nil)).Elem()
 10959  }
 10960  
 10961  // Describes DVS related information to be configured by calling
 10962  // `ClusterComputeResource.ConfigureHCI_Task` method.
 10963  //
 10964  // Consists of name of the DVS, the physical adapters to be attached to it
 10965  // and the list of dvportgroups to be created on this DVS.
 10966  type ClusterComputeResourceDvsProfile struct {
 10967  	DynamicData
 10968  
 10969  	// Name of the new `DistributedVirtualSwitch`.
 10970  	DvsName string `xml:"dvsName,omitempty" json:"dvsName,omitempty"`
 10971  	// Managed object reference to an existing `DistributedVirtualSwitch`.
 10972  	//
 10973  	// Refers instance of `DistributedVirtualSwitch`.
 10974  	DvSwitch *ManagedObjectReference `xml:"dvSwitch,omitempty" json:"dvSwitch,omitempty"`
 10975  	// List of physical Nics to be attached to the DVS.
 10976  	PnicDevices        []string                                                          `xml:"pnicDevices,omitempty" json:"pnicDevices,omitempty"`
 10977  	DvPortgroupMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"dvPortgroupMapping,omitempty" json:"dvPortgroupMapping,omitempty"`
 10978  }
 10979  
 10980  func init() {
 10981  	t["ClusterComputeResourceDvsProfile"] = reflect.TypeOf((*ClusterComputeResourceDvsProfile)(nil)).Elem()
 10982  }
 10983  
 10984  type ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct {
 10985  	DynamicData
 10986  
 10987  	// Specification for a new `DistributedVirtualPortgroup`.
 10988  	DvPortgroupSpec *DVPortgroupConfigSpec `xml:"dvPortgroupSpec,omitempty" json:"dvPortgroupSpec,omitempty"`
 10989  	// Managed object reference to an existing `DistributedVirtualPortgroup`.
 10990  	//
 10991  	// Refers instance of `DistributedVirtualPortgroup`.
 10992  	DvPortgroup *ManagedObjectReference `xml:"dvPortgroup,omitempty" json:"dvPortgroup,omitempty"`
 10993  	// Service to be configured on the virtual nics attached to this
 10994  	// dvportgroup.
 10995  	//
 10996  	// See `HostVirtualNicManagerNicType_enum` for
 10997  	// supported values.
 10998  	Service string `xml:"service" json:"service"`
 10999  }
 11000  
 11001  func init() {
 11002  	t["ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"] = reflect.TypeOf((*ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping)(nil)).Elem()
 11003  }
 11004  
 11005  // This data object captures a subset of initial configuration of the cluster,
 11006  // which was configured by calling the `ClusterComputeResource.ConfigureHCI_Task` method.
 11007  type ClusterComputeResourceHCIConfigInfo struct {
 11008  	DynamicData
 11009  
 11010  	// Configuration pertinent to state of the HCI workflow.
 11011  	//
 11012  	// Valid
 11013  	// values are enumerated by the `HCIWorkflowState`
 11014  	// type.
 11015  	WorkflowState string `xml:"workflowState" json:"workflowState"`
 11016  	// Contains DVS related information captured while configuring
 11017  	// the cluster.
 11018  	DvsSetting []ClusterComputeResourceDVSSetting `xml:"dvsSetting,omitempty" json:"dvsSetting,omitempty"`
 11019  	// Contains a list of hosts that are currently configured using
 11020  	// `ClusterComputeResource.ConfigureHCI_Task` and `ClusterComputeResource.ExtendHCI_Task`
 11021  	// method.
 11022  	//
 11023  	// A failed host will not be part of this list.
 11024  	//
 11025  	// Refers instances of `HostSystem`.
 11026  	ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty" json:"configuredHosts,omitempty"`
 11027  	// Configuration of host services and host settings.
 11028  	HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty" json:"hostConfigProfile,omitempty"`
 11029  }
 11030  
 11031  func init() {
 11032  	t["ClusterComputeResourceHCIConfigInfo"] = reflect.TypeOf((*ClusterComputeResourceHCIConfigInfo)(nil)).Elem()
 11033  }
 11034  
 11035  // Specification to configure the cluster.
 11036  type ClusterComputeResourceHCIConfigSpec struct {
 11037  	DynamicData
 11038  
 11039  	// Information related to network configuration.
 11040  	//
 11041  	// For each DvsProfile
 11042  	// object, specify either `ClusterComputeResourceDvsProfile.dvsName` or
 11043  	// `ClusterComputeResourceDvsProfile.dvSwitch`. Across all DvsProfile objects, specify
 11044  	// exactly one
 11045  	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroup` or
 11046  	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroupSpec` per
 11047  	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.service`.
 11048  	DvsProf []ClusterComputeResourceDvsProfile `xml:"dvsProf,omitempty" json:"dvsProf,omitempty"`
 11049  	// Configuration of host services and host settings.
 11050  	HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty" json:"hostConfigProfile,omitempty"`
 11051  	// vSan configuration specification.
 11052  	//
 11053  	// This is vim.vsan.ReconfigSpec object
 11054  	// represented via the VIM object.
 11055  	VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty" json:"vSanConfigSpec,omitempty"`
 11056  	// Describes cluster and EVC configuration.
 11057  	VcProf *ClusterComputeResourceVCProfile `xml:"vcProf,omitempty" json:"vcProf,omitempty"`
 11058  }
 11059  
 11060  func init() {
 11061  	t["ClusterComputeResourceHCIConfigSpec"] = reflect.TypeOf((*ClusterComputeResourceHCIConfigSpec)(nil)).Elem()
 11062  }
 11063  
 11064  // Host configuration input to configure hosts in a cluster.
 11065  type ClusterComputeResourceHostConfigurationInput struct {
 11066  	DynamicData
 11067  
 11068  	// Refers instance of `HostSystem`.
 11069  	Host        ManagedObjectReference                 `xml:"host" json:"host"`
 11070  	HostVmkNics []ClusterComputeResourceHostVmkNicInfo `xml:"hostVmkNics,omitempty" json:"hostVmkNics,omitempty"`
 11071  	// To apply configuration on the host, the host is expected to be in
 11072  	// maintenance mode.
 11073  	//
 11074  	// This constraint can be relaxed by setting this
 11075  	// flag to true.
 11076  	AllowedInNonMaintenanceMode *bool `xml:"allowedInNonMaintenanceMode" json:"allowedInNonMaintenanceMode,omitempty"`
 11077  }
 11078  
 11079  func init() {
 11080  	t["ClusterComputeResourceHostConfigurationInput"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationInput)(nil)).Elem()
 11081  }
 11082  
 11083  // HostConfigurationProfile describes the configuration of services
 11084  // and settings which gets applied on every host in the HCI cluster.
 11085  type ClusterComputeResourceHostConfigurationProfile struct {
 11086  	DynamicData
 11087  
 11088  	// Date and time settings
 11089  	DateTimeConfig *HostDateTimeConfig `xml:"dateTimeConfig,omitempty" json:"dateTimeConfig,omitempty"`
 11090  	// Desired lockdown mode
 11091  	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty"`
 11092  }
 11093  
 11094  func init() {
 11095  	t["ClusterComputeResourceHostConfigurationProfile"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationProfile)(nil)).Elem()
 11096  }
 11097  
 11098  // Describes the validations applicable to the settings on the host.
 11099  type ClusterComputeResourceHostConfigurationValidation struct {
 11100  	ClusterComputeResourceValidationResultBase
 11101  
 11102  	// Host being validated.
 11103  	//
 11104  	// Refers instance of `HostSystem`.
 11105  	Host ManagedObjectReference `xml:"host" json:"host"`
 11106  	// Check if the host is attached to the DVS on right adapters.
 11107  	IsDvsSettingValid *bool `xml:"isDvsSettingValid" json:"isDvsSettingValid,omitempty"`
 11108  	// Check if the adapters for services are present and on the right
 11109  	// portgroups.
 11110  	IsVmknicSettingValid *bool `xml:"isVmknicSettingValid" json:"isVmknicSettingValid,omitempty"`
 11111  	// Check if NTP is configured per specification.
 11112  	IsNtpSettingValid *bool `xml:"isNtpSettingValid" json:"isNtpSettingValid,omitempty"`
 11113  	// Check if lockdown mode is set per specification
 11114  	IsLockdownModeValid *bool `xml:"isLockdownModeValid" json:"isLockdownModeValid,omitempty"`
 11115  }
 11116  
 11117  func init() {
 11118  	t["ClusterComputeResourceHostConfigurationValidation"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationValidation)(nil)).Elem()
 11119  }
 11120  
 11121  // This data object describes what evacuation actions should be made for a given host.
 11122  type ClusterComputeResourceHostEvacuationInfo struct {
 11123  	DynamicData
 11124  
 11125  	// Candidate host to be put into maintenance mode.
 11126  	//
 11127  	// Refers instance of `HostSystem`.
 11128  	Host ManagedObjectReference `xml:"host" json:"host"`
 11129  	// Specifies the list of required actions.
 11130  	//
 11131  	// Depending on the specified option values passed, additional
 11132  	// actions such as ones related to evacuation of specific objects,
 11133  	// additional memory reservation or allowing/disallowing certain groups
 11134  	// of operations may be taken when entering the desired flavor of
 11135  	// maintenance mode. The list of supported options and values may vary
 11136  	// based on the version of the ESXi host and Virtual Center.
 11137  	//
 11138  	// If unset, a default list of actions will be assumed based on the
 11139  	// selected flavor of maintenance mode as specified by the
 11140  	// `ClusterComputeResourceMaintenanceInfo.partialMMId` field. See `HostPartialMaintenanceModeId_enum`
 11141  	// for further information about individual flavors.
 11142  	Action []BaseOptionValue `xml:"action,omitempty,typeattr" json:"action,omitempty"`
 11143  }
 11144  
 11145  func init() {
 11146  	t["ClusterComputeResourceHostEvacuationInfo"] = reflect.TypeOf((*ClusterComputeResourceHostEvacuationInfo)(nil)).Elem()
 11147  	minAPIVersionForType["ClusterComputeResourceHostEvacuationInfo"] = "8.0.3.0"
 11148  }
 11149  
 11150  // This data object describes how a vmknic on a host must be configured.
 11151  type ClusterComputeResourceHostVmkNicInfo struct {
 11152  	DynamicData
 11153  
 11154  	// NIC specification
 11155  	NicSpec HostVirtualNicSpec `xml:"nicSpec" json:"nicSpec"`
 11156  	// Service type for this adapter.
 11157  	//
 11158  	// See
 11159  	// `HostVirtualNicManagerNicType_enum` for supported values.
 11160  	Service string `xml:"service" json:"service"`
 11161  }
 11162  
 11163  func init() {
 11164  	t["ClusterComputeResourceHostVmkNicInfo"] = reflect.TypeOf((*ClusterComputeResourceHostVmkNicInfo)(nil)).Elem()
 11165  }
 11166  
 11167  // This data object describes how a given array of hosts will be put into maintenance mode.
 11168  type ClusterComputeResourceMaintenanceInfo struct {
 11169  	DynamicData
 11170  
 11171  	// Indicates the flavor of maintenance mode requested.
 11172  	//
 11173  	// If set, specifies the desired flavor of partial
 11174  	// maintenance mode. Otherwise, full maintenance mode is assumed.
 11175  	// See `HostPartialMaintenanceModeId_enum` for supported values.
 11176  	PartialMMId string `xml:"partialMMId,omitempty" json:"partialMMId,omitempty"`
 11177  	// Evaucation information for each host
 11178  	HostEvacInfo []ClusterComputeResourceHostEvacuationInfo `xml:"hostEvacInfo,omitempty" json:"hostEvacInfo,omitempty"`
 11179  }
 11180  
 11181  func init() {
 11182  	t["ClusterComputeResourceMaintenanceInfo"] = reflect.TypeOf((*ClusterComputeResourceMaintenanceInfo)(nil)).Elem()
 11183  	minAPIVersionForType["ClusterComputeResourceMaintenanceInfo"] = "8.0.3.0"
 11184  }
 11185  
 11186  // The `ClusterComputeResourceSummary` data object
 11187  // encapsulates runtime properties of a `ClusterComputeResource`.
 11188  type ClusterComputeResourceSummary struct {
 11189  	ComputeResourceSummary
 11190  
 11191  	// Deprecated as of vSphere API 4.0, use
 11192  	// `ClusterFailoverLevelAdmissionControlInfo.currentFailoverLevel`.
 11193  	//
 11194  	// Current failover level.
 11195  	//
 11196  	// This is the number of physical host failures that can
 11197  	// be tolerated without impacting the ability to satisfy the minimums for all
 11198  	// running virtual machines. This represents the current value, as opposed to
 11199  	// desired value configured by the user.
 11200  	CurrentFailoverLevel int32 `xml:"currentFailoverLevel" json:"currentFailoverLevel"`
 11201  	// Information about the current amount of resources available for a vSphere HA
 11202  	// cluster.
 11203  	//
 11204  	// The actual type of admissionControlInfo will depend on what kind of
 11205  	// `ClusterDasAdmissionControlPolicy` was used to configure the cluster.
 11206  	AdmissionControlInfo BaseClusterDasAdmissionControlInfo `xml:"admissionControlInfo,omitempty,typeattr" json:"admissionControlInfo,omitempty"`
 11207  	// Total number of migrations with VMotion that have been done internal to this
 11208  	// cluster.
 11209  	NumVmotions int32 `xml:"numVmotions" json:"numVmotions"`
 11210  	// The target balance, in terms of standard deviation, for a DRS cluster.
 11211  	//
 11212  	// Units are thousandths. For example, 12 represents 0.012.
 11213  	TargetBalance int32 `xml:"targetBalance,omitempty" json:"targetBalance,omitempty"`
 11214  	// The current balance, in terms of standard deviation, for a DRS cluster.
 11215  	//
 11216  	// Units are thousandths. For example, 12 represents 0.012.
 11217  	CurrentBalance int32 `xml:"currentBalance,omitempty" json:"currentBalance,omitempty"`
 11218  	// The DRS score of this cluster, in percentage.
 11219  	DrsScore int32 `xml:"drsScore,omitempty" json:"drsScore,omitempty"`
 11220  	// The number of VMs in this cluster corresponding to each DRS score
 11221  	// bucket.
 11222  	//
 11223  	// The buckets are defined as follows:
 11224  	//   - 0% - 20%
 11225  	//   - 21% - 40%
 11226  	//   - 41% - 60%
 11227  	//   - 61% - 80%
 11228  	//   - 81% - 100%
 11229  	NumVmsPerDrsScoreBucket []int32 `xml:"numVmsPerDrsScoreBucket,omitempty" json:"numVmsPerDrsScoreBucket,omitempty"`
 11230  	// The current usage summary for a DRS cluster.
 11231  	UsageSummary *ClusterUsageSummary `xml:"usageSummary,omitempty" json:"usageSummary,omitempty"`
 11232  	// The Enhanced VMotion Compatibility mode that is currently in effect
 11233  	// for all hosts in this cluster; unset if no EVC mode is active.
 11234  	//
 11235  	// See also `Capability.supportedEVCMode`.
 11236  	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty"`
 11237  	// The Enhanced VMotion Compatibility Graphics mode that is currently in
 11238  	// effect for all hosts in this cluster; unset if no EVC mode is active.
 11239  	//
 11240  	// See also `Capability.supportedEVCGraphicsMode`.
 11241  	CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty" json:"currentEVCGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 11242  	// Data pertaining to DAS.
 11243  	DasData BaseClusterDasData `xml:"dasData,omitempty,typeattr" json:"dasData,omitempty"`
 11244  	// Configuration pertinent to state of the cluster maintenance mode.
 11245  	//
 11246  	// Valid values are enumerated by the `ClusterMaintenanceModeStatus`
 11247  	// type.
 11248  	ClusterMaintenanceModeStatus string `xml:"clusterMaintenanceModeStatus,omitempty" json:"clusterMaintenanceModeStatus,omitempty" vim:"7.0.0.2"`
 11249  	// The health status of the vSphere Cluster Services in the cluster.
 11250  	//
 11251  	// Supported values are enumerated by the `VcsHealthStatus`
 11252  	// type.
 11253  	VcsHealthStatus string `xml:"vcsHealthStatus,omitempty" json:"vcsHealthStatus,omitempty" vim:"7.0.1.1"`
 11254  	// An array of hosts and number of resource slots on the host for
 11255  	// vSphere Cluster Services in the cluster.
 11256  	//
 11257  	// The number of resource slots on the host includes both following types:
 11258  	// 1\. Number of vCS VMs running on the host (resource reserved and occupied).
 11259  	// 2\. Number of reserved and unoccupied slots (reserved for new vCS VMs).
 11260  	VcsSlots []ClusterComputeResourceVcsSlots `xml:"vcsSlots,omitempty" json:"vcsSlots,omitempty" vim:"7.0.1.1"`
 11261  }
 11262  
 11263  func init() {
 11264  	t["ClusterComputeResourceSummary"] = reflect.TypeOf((*ClusterComputeResourceSummary)(nil)).Elem()
 11265  }
 11266  
 11267  // Describes cluster configuration for various vCenter services.
 11268  type ClusterComputeResourceVCProfile struct {
 11269  	DynamicData
 11270  
 11271  	// Cluster configurarion.
 11272  	ClusterSpec *ClusterConfigSpecEx `xml:"clusterSpec,omitempty" json:"clusterSpec,omitempty"`
 11273  	// EVC mode key.
 11274  	EvcModeKey string `xml:"evcModeKey,omitempty" json:"evcModeKey,omitempty"`
 11275  	// EVC Graphics mode key
 11276  	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 11277  }
 11278  
 11279  func init() {
 11280  	t["ClusterComputeResourceVCProfile"] = reflect.TypeOf((*ClusterComputeResourceVCProfile)(nil)).Elem()
 11281  }
 11282  
 11283  // Describes the validation results.
 11284  type ClusterComputeResourceValidationResultBase struct {
 11285  	DynamicData
 11286  
 11287  	// Describes the messages relevant to the validation result
 11288  	Info []LocalizableMessage `xml:"info,omitempty" json:"info,omitempty"`
 11289  }
 11290  
 11291  func init() {
 11292  	t["ClusterComputeResourceValidationResultBase"] = reflect.TypeOf((*ClusterComputeResourceValidationResultBase)(nil)).Elem()
 11293  }
 11294  
 11295  type ClusterComputeResourceVcsSlots struct {
 11296  	DynamicData
 11297  
 11298  	// Identifier of the system for which the slots are applicable.
 11299  	SystemId string `xml:"systemId,omitempty" json:"systemId,omitempty" vim:"7.0.3.0"`
 11300  	// The host that has vSphere Cluster Services slots.
 11301  	//
 11302  	// Refers instance of `HostSystem`.
 11303  	Host ManagedObjectReference `xml:"host" json:"host"`
 11304  	// Datastores on the host which are recommended for vCLS VM deployment.
 11305  	//
 11306  	// Refers instances of `Datastore`.
 11307  	Datastore []ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty" vim:"7.0.3.0"`
 11308  	// The number of total vSphere Cluster Services slots on the host.
 11309  	TotalSlots int32 `xml:"totalSlots" json:"totalSlots"`
 11310  }
 11311  
 11312  func init() {
 11313  	t["ClusterComputeResourceVcsSlots"] = reflect.TypeOf((*ClusterComputeResourceVcsSlots)(nil)).Elem()
 11314  	minAPIVersionForType["ClusterComputeResourceVcsSlots"] = "7.0.1.1"
 11315  }
 11316  
 11317  // Deprecated as of VI API 2.5, use `ClusterConfigInfoEx`.
 11318  //
 11319  // A complete cluster configuration.
 11320  type ClusterConfigInfo struct {
 11321  	DynamicData
 11322  
 11323  	// Cluster-wide configuration of the vSphere HA service.
 11324  	DasConfig ClusterDasConfigInfo `xml:"dasConfig" json:"dasConfig"`
 11325  	// List of virtual machine configurations for the vSphere HA
 11326  	// service.
 11327  	//
 11328  	// Each entry applies to one virtual machine.
 11329  	//
 11330  	// If a virtual machine is not specified in this array, the service uses
 11331  	// the default settings for that virtual machine.
 11332  	DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty" json:"dasVmConfig,omitempty"`
 11333  	// Cluster-wide configuration of the VMware DRS service.
 11334  	DrsConfig ClusterDrsConfigInfo `xml:"drsConfig" json:"drsConfig"`
 11335  	// List of virtual machine configurations for the VMware DRS
 11336  	// service.
 11337  	//
 11338  	// Each entry applies to one virtual machine.
 11339  	//
 11340  	// If a virtual machine is not specified in this array, the service uses
 11341  	// the default settings for that virtual machine.
 11342  	DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty" json:"drsVmConfig,omitempty"`
 11343  	// Cluster-wide rules.
 11344  	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 11345  }
 11346  
 11347  func init() {
 11348  	t["ClusterConfigInfo"] = reflect.TypeOf((*ClusterConfigInfo)(nil)).Elem()
 11349  }
 11350  
 11351  // The `ClusterConfigInfoEx` data object describes a complete cluster
 11352  // configuration.
 11353  //
 11354  // For information about configuring a cluster, see
 11355  // `ClusterConfigSpecEx`.
 11356  type ClusterConfigInfoEx struct {
 11357  	ComputeResourceConfigInfo
 11358  
 11359  	// Configuration for vCLS system VMs deployment.
 11360  	SystemVMsConfig *ClusterSystemVMsConfigInfo `xml:"systemVMsConfig,omitempty" json:"systemVMsConfig,omitempty" vim:"7.0.3.0"`
 11361  	// Cluster-wide configuration of the vSphere HA service.
 11362  	DasConfig ClusterDasConfigInfo `xml:"dasConfig" json:"dasConfig"`
 11363  	// List of virtual machine configurations for the vSphere HA
 11364  	// service.
 11365  	//
 11366  	// Each entry applies to one virtual machine.
 11367  	//
 11368  	// If a virtual machine is not specified in this array, the service uses
 11369  	// the default settings for that virtual machine.
 11370  	DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty" json:"dasVmConfig,omitempty"`
 11371  	// Cluster-wide configuration of the VMware DRS service.
 11372  	DrsConfig ClusterDrsConfigInfo `xml:"drsConfig" json:"drsConfig"`
 11373  	// List of virtual machine configurations for the VMware DRS
 11374  	// service.
 11375  	//
 11376  	// Each entry applies to one virtual machine.
 11377  	//
 11378  	// If a virtual machine is not specified in this array, the service uses
 11379  	// the default settings for that virtual machine.
 11380  	DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty" json:"drsVmConfig,omitempty"`
 11381  	// Cluster-wide rules.
 11382  	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 11383  	// Cluster-wide configuration of VM orchestration.
 11384  	Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty" json:"orchestration,omitempty"`
 11385  	// List of virtual machine configurations that apply during cluster wide
 11386  	// VM orchestration.
 11387  	//
 11388  	// Each entry applies to one virtual machine.
 11389  	//
 11390  	// If a virtual machine is not specified in this array, the service uses
 11391  	// the default settings for that virtual machine.
 11392  	VmOrchestration []ClusterVmOrchestrationInfo `xml:"vmOrchestration,omitempty" json:"vmOrchestration,omitempty"`
 11393  	// Cluster-wide configuration of the VMware DPM service.
 11394  	DpmConfigInfo *ClusterDpmConfigInfo `xml:"dpmConfigInfo,omitempty" json:"dpmConfigInfo,omitempty"`
 11395  	// List of host configurations for the VMware DPM
 11396  	// service.
 11397  	//
 11398  	// Each entry applies to one host.
 11399  	//
 11400  	// If a host is not specified in this array, the service uses
 11401  	// the cluster default settings for that host.
 11402  	DpmHostConfig []ClusterDpmHostConfigInfo `xml:"dpmHostConfig,omitempty" json:"dpmHostConfig,omitempty"`
 11403  	// Cluster-wide configuration of the VMware VSAN service.
 11404  	VsanConfigInfo *VsanClusterConfigInfo `xml:"vsanConfigInfo,omitempty" json:"vsanConfigInfo,omitempty"`
 11405  	// List of host configurations for the VMware VSAN service.
 11406  	//
 11407  	// Each entry applies to one host.
 11408  	//
 11409  	// If a host is not specified in this array, the service uses
 11410  	// the cluster default settings for that host.
 11411  	VsanHostConfig []VsanHostConfigInfo `xml:"vsanHostConfig,omitempty" json:"vsanHostConfig,omitempty"`
 11412  	// Cluster-wide groups.
 11413  	Group []BaseClusterGroupInfo `xml:"group,omitempty,typeattr" json:"group,omitempty"`
 11414  	// Cluster-wide configuration of the VMware InfraUpdateHA service.
 11415  	InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty" json:"infraUpdateHaConfig,omitempty"`
 11416  	// Cluster-wide configuration of the ProactiveDRS service.
 11417  	ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty" json:"proactiveDrsConfig,omitempty"`
 11418  	// Cluster-wide configuration of the encryption mode.
 11419  	CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty" json:"cryptoConfig,omitempty"`
 11420  	// vSAN first-class settings that will be configured together with
 11421  	// vSAN enablement.
 11422  	VsanCoreConfig *VsanClusterCoreConfig `xml:"vsanCoreConfig,omitempty" json:"vsanCoreConfig,omitempty" vim:"9.0.0.0"`
 11423  }
 11424  
 11425  func init() {
 11426  	t["ClusterConfigInfoEx"] = reflect.TypeOf((*ClusterConfigInfoEx)(nil)).Elem()
 11427  }
 11428  
 11429  // Deprecated as of VI API 2.5, use `ClusterConfigSpecEx`.
 11430  //
 11431  // A complete cluster configuration.
 11432  //
 11433  // All fields are defined as
 11434  // optional. In case of a reconfiguration, unset fields are
 11435  // unchanged.
 11436  type ClusterConfigSpec struct {
 11437  	DynamicData
 11438  
 11439  	// Changes to the configuration of vSphere HA.
 11440  	DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty" json:"dasConfig,omitempty"`
 11441  	// Changes to the per-virtual-machine vSphere HA settings.
 11442  	DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty" json:"dasVmConfigSpec,omitempty"`
 11443  	// Changes to the configuration of the VMware DRS service.
 11444  	DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty" json:"drsConfig,omitempty"`
 11445  	// Changes to the per-virtual-machine DRS settings.
 11446  	DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty" json:"drsVmConfigSpec,omitempty"`
 11447  	// Changes to the set of rules.
 11448  	RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty" json:"rulesSpec,omitempty"`
 11449  }
 11450  
 11451  func init() {
 11452  	t["ClusterConfigSpec"] = reflect.TypeOf((*ClusterConfigSpec)(nil)).Elem()
 11453  }
 11454  
 11455  // The `ClusterConfigSpecEx` data object provides a set of update
 11456  // specifications for complete cluster configuration.
 11457  //
 11458  // You can configure a cluster when you create a new cluster
 11459  // (the `Folder.CreateClusterEx` method) or when you
 11460  // reconfigure an existing cluster
 11461  // (the `ComputeResource.ReconfigureComputeResource_Task` method).
 11462  //
 11463  // All fields are optional. If you set the <code>modify</code>
 11464  // parameter to <code>true</code> when you call
 11465  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 11466  // on the existing property value in the cluster configuration on the Server.
 11467  // If you set the <code>modify</code> parameter to <code>false</code> when you
 11468  // reconfigure a cluster, the cluster configuration is reverted to the default
 11469  // values, then the new configuration values are applied.
 11470  //
 11471  // Use the properties defined for this object to configure
 11472  // the following services:
 11473  //
 11474  //   - HA (High Availability) -
 11475  //     provides failover protection for virtual machines
 11476  //     running in a cluster of ESX Server hosts.
 11477  //     The virtual machines are located in a `Datastore`, which
 11478  //     provides shared storage for the cluster.
 11479  //     When a failure occurs that affects a protected virtual machine,
 11480  //     HA will restart the virtual machine on another host.
 11481  //     When HA detects a host failure, either the host has failed or it may be
 11482  //     isolated from the network. The HA agent on an isolated host will power off
 11483  //     or shutdown the virtual machines running on that host so that they
 11484  //     can be restarted elsewhere.
 11485  //     See `ClusterDasVmSettingsIsolationResponse_enum` for information
 11486  //     about how a host handles network isolation.
 11487  //
 11488  //     When it chooses a failover host, HA selects a host that is compatible
 11489  //     with the virtual machine and that can support resource allocation for
 11490  //     that virtual machine so that service level guarantees remain intact.
 11491  //     HA does not consider hosts that are in maintenance mode, standby mode,
 11492  //     or which are disconnected from the vCenter Server. When a host powers
 11493  //     on or becomes available again, HA is reenabled on that host,
 11494  //     so it becomes available for failover again.
 11495  //     VMware recommends that you configure hosts and virtual machines
 11496  //     so that all virtual machines can run on all hosts in the cluster.
 11497  //     This will maximize the chances of restarting a VM after a failure.
 11498  //
 11499  //     HA also restarts a virtual machine after a guest operating system failure.
 11500  //     In this case, the virtual machine health monitoring service detects
 11501  //     the guest failure, and HA restarts the virtual machine on the same host.
 11502  //     The service monitors heartbeats from the VmTools service and optionally
 11503  //     heartbeats that are generated by a third-party application monitor.
 11504  //     See `ClusterVmToolsMonitoringSettings` and
 11505  //     `ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`.
 11506  //
 11507  //     To enable HA for a cluster, set the
 11508  //     `ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled`
 11509  //     property to <code>true</code> and the
 11510  //     `ClusterDasConfigInfo*.*ClusterDasConfigInfo.hostMonitoring`
 11511  //     property to `enabled`.
 11512  //     (The vSphere API uses the substring "das" in object, property,
 11513  //     and method names for HA.<sup>1</sup>)
 11514  //
 11515  //   - DRS (Distributed Resource Scheduling) - provides automatic initial
 11516  //     virtual machine placement on any of the hosts in the cluster. DRS
 11517  //     also makes automatic resource relocation and optimization decisions
 11518  //     as hosts or virtual machines are added or removed from the cluster.
 11519  //     You can also configure DRS for manual control, so that it only makes
 11520  //     recommendations that you can review and carry out.
 11521  //
 11522  //     To enable DRS for a cluster, set the
 11523  //     `ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.enabled`
 11524  //     property to <code>true</code>.
 11525  //
 11526  //   - DPM (Distributed Power Management) - supports optimized power
 11527  //     consumption on the cluster. When virtual machines in a DRS
 11528  //     cluster require fewer resources, DPM consolidates workloads
 11529  //     onto fewer servers while maintaining quality of service guarantees
 11530  //     and powers off the rest to reduce power consumption.
 11531  //     When more resources are required, DPM brings the powered-down hosts online.
 11532  //
 11533  //     To enable DPM for a cluster, set the
 11534  //     `ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.enabled`
 11535  //     property to <code>true</code>.
 11536  //
 11537  //   - VSAN - aggregrates hosts' local disks to present a single
 11538  //     shared datastore to the cluster.
 11539  //
 11540  //     To enable VSAN for a cluster, set the
 11541  //     `VsanClusterConfigInfo.enabled` property to
 11542  //     <code>true</code> for `ClusterConfigSpecEx.vsanConfig`.
 11543  //
 11544  //   - InfraUpdateHA (Infrastructure update HA) - supports automatic
 11545  //     migration of virtual machines to hosts with low risk of a
 11546  //     catastrophic failure. Similar to DRS, you can also configure
 11547  //     InfraUpdateHA for manual control to only makes recommendations that
 11548  //     you can review and carry out. The health state of the hosts are
 11549  //     propagated to HA to enable restarting of virtual machines in healthy
 11550  //     hosts as possible.
 11551  //
 11552  //     To enable InfraUpdateHA for a cluster, set the
 11553  //     `ClusterInfraUpdateHaConfigInfo*.*ClusterInfraUpdateHaConfigInfo.enabled` property to
 11554  //     <code>true</code>.
 11555  //
 11556  //   - ProactiveDRS (Proactive Distributed Resources Scheduling) - supports
 11557  //     virtual machine load balancing decisions that take predicted
 11558  //     resource demand information into account.
 11559  //
 11560  //     To enable ProactiveDRS for a cluster, set the
 11561  //     `ClusterProactiveDrsConfigInfo*.*ClusterProactiveDrsConfigInfo.enabled` property to
 11562  //     <code>true</code>.
 11563  //
 11564  // The HA, DRS, and DPM services are integrated with the FT (Fault Tolerance)
 11565  // and EVC (Enhanced vMotion Compatibility) services.
 11566  // Use the `VirtualMachine.CreateSecondaryVM_Task` method to establish
 11567  // fault tolerance for a virtual machine. Use the vSphere Client to configure EVC.
 11568  // The HA, DRS, DPM, FT, and EVC services interact under
 11569  // the following circumstances.
 11570  //
 11571  //   - To determine initial placement of a virtual machine, DRS
 11572  //     checks to see if the HA admission control policy on a
 11573  //     potential host supports the addition of the powered on
 11574  //     virtual machine. With the default setting, DRS will not
 11575  //     power on more than four FT virtual machines per host.
 11576  //     You can use the configuration editor in the vSphere Client
 11577  //     to set the HA advanced option <code>das.maxFtVmsPerHost</code>
 11578  //     to the desired number or to zero to disable.
 11579  //
 11580  //   - When a host fails, HA determines placement within
 11581  //     the cluster when it restarts the virtual machines.
 11582  //     If there is insufficient capacity, and DPM has put one or more
 11583  //     compatible hosts into standby, HA relies on DPM to bring more
 11584  //     capacity online.
 11585  //
 11586  //   - To use FT in a cluster, the cluster must be HA-enabled.
 11587  //
 11588  //   - You can disable HA in a cluster while there are FT virtual
 11589  //     machines registered on hosts in the cluster.
 11590  //     While HA is disabled, powered on FT virtual machines will continue
 11591  //     to run, but HA will not restart any virtual machines after a failure.
 11592  //     When HA is disabled, you cannot use the following FT operations:
 11593  //
 11594  //   - Turn on FT (`VirtualMachine.CreateSecondaryVM_Task`)
 11595  //
 11596  //   - Enable FT (`VirtualMachine.EnableSecondaryVM_Task`)
 11597  //
 11598  //   - Power on an FT virtual machine
 11599  //     (`VirtualMachine.PowerOnVM_Task`)
 11600  //
 11601  //   - Test failover and test secondary restart
 11602  //     (`VirtualMachine.TerminateFaultTolerantVM_Task`)
 11603  //
 11604  //   - In a cluster using DRS and HA with admission control turned on
 11605  //     (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.admissionControlEnabled`),
 11606  //     the vCenter Server might not migrate virtual machines from hosts
 11607  //     entering maintenance mode. This is because resources are reserved
 11608  //     to maintain the failover level. You must use vMotion to manually
 11609  //     migrate the virtual machines off the hosts.
 11610  //
 11611  //     When admission control is disabled, failover resource constraints
 11612  //     are not passed on to DRS and DPM. The constraints are not enforced.
 11613  //
 11614  //   - DRS determines virtual machine placement and status
 11615  //     (maintenance mode, standby mode) regardless of the impact
 11616  //     this might have on failover requirements.
 11617  //
 11618  //   - DPM powers off hosts (places them in standby mode)
 11619  //     even if doing so violates failover requirements.
 11620  //     If there is insufficient capacity when a failover
 11621  //     occurs, DPM will attempt to bring more capacity online
 11622  //     in order to correct the situation.
 11623  //
 11624  //   - You must enable EVC in a cluster to enable DRS to manage FT primary
 11625  //     and secondary virtual machine pairs in the cluster.
 11626  //     For information about EVC clusters, see `EVCMode`.
 11627  //
 11628  //     If EVC is disabled, vCenter automatically creates overrides
 11629  //     to disable DRS for FT primary/secondary pairs in the cluster.
 11630  //     vCenter will still use DRS to place a secondary virtual machine
 11631  //     when it powers on.
 11632  //     Attempts to remove the overrides or to enable DRS operations
 11633  //     will fail.
 11634  //
 11635  //   - EVC clusters support load balancing of powered on FT primary
 11636  //     and secondary virtual machines. DRS behavior
 11637  //     is governed by the overrides defined for the primary virtual
 11638  //     machine. The secondary inherits DRS behavior from its primary.
 11639  //     If you do not configure a DRS override for an FT virtual
 11640  //     machine, DRS uses the cluster default
 11641  //     (`ClusterDrsConfigInfo.defaultVmBehavior`).
 11642  //
 11643  // <sup>1</sup>High Availability was previously called Distributed
 11644  // Availability Services.
 11645  type ClusterConfigSpecEx struct {
 11646  	ComputeResourceConfigSpec
 11647  
 11648  	// Configuration for vCLS system VMs deployment.
 11649  	SystemVMsConfig *ClusterSystemVMsConfigSpec `xml:"systemVMsConfig,omitempty" json:"systemVMsConfig,omitempty" vim:"7.0.3.0"`
 11650  	// HA configuration; includes default settings for virtual machines.
 11651  	DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty" json:"dasConfig,omitempty"`
 11652  	// HA configuration for individual virtual machines.
 11653  	//
 11654  	// The entries in this array override the cluster default
 11655  	// settings
 11656  	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`).
 11657  	// You cannot specify an HA override for a secondary FT virtual
 11658  	// machine. The secondary virtual machine will inherit whatever
 11659  	// settings apply to its primary virtual machine. If you
 11660  	// include an entry for a secondary, the reconfigure method
 11661  	// will throw the fault
 11662  	// `CannotChangeHaSettingsForFtSecondary`.
 11663  	DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty" json:"dasVmConfigSpec,omitempty"`
 11664  	// DRS configuration; includes default settings for virtual machines.
 11665  	DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty" json:"drsConfig,omitempty"`
 11666  	// DRS configuration for individual virtual machines.
 11667  	//
 11668  	// The entries in this array override the cluster default
 11669  	// settings
 11670  	// (`ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.defaultVmBehavior`).
 11671  	// You cannot specify a DRS override for a secondary FT virtual
 11672  	// machine. The secondary virtual machine will inherit whatever
 11673  	// setting applies to its primary virtual machine. If you
 11674  	// include an entry for a secondary, the reconfigure method
 11675  	// will throw the fault
 11676  	// `CannotChangeDrsBehaviorForFtSecondary`.
 11677  	DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty" json:"drsVmConfigSpec,omitempty"`
 11678  	// Cluster affinity and anti-affinity rule configuration.
 11679  	RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty" json:"rulesSpec,omitempty"`
 11680  	// Cluster configuration of VM orchestration.
 11681  	Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty" json:"orchestration,omitempty"`
 11682  	// List of specific VM configurations that apply during cluster wide
 11683  	// VM orchestration.
 11684  	//
 11685  	// Each entry applies to one virtual machine, and
 11686  	// overrides the cluster default settings.
 11687  	VmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"vmOrchestrationSpec,omitempty" json:"vmOrchestrationSpec,omitempty"`
 11688  	// DPM configuration; includes default settings for hosts.
 11689  	DpmConfig *ClusterDpmConfigInfo `xml:"dpmConfig,omitempty" json:"dpmConfig,omitempty"`
 11690  	// DPM configuration for individual hosts.
 11691  	//
 11692  	// The entries in this array override the cluster default
 11693  	// settings
 11694  	// (`ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.defaultDpmBehavior`).
 11695  	DpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"dpmHostConfigSpec,omitempty" json:"dpmHostConfigSpec,omitempty"`
 11696  	// VSAN configuration; includes default settings for hosts.
 11697  	//
 11698  	// When it is requested to change, vSAN related sub tasks will be
 11699  	// generated automatically per member hosts, which are identified
 11700  	// by using cluster reconfiguration task id as
 11701  	// `TaskInfo.parentTaskKey`, and should be monitored
 11702  	// and tracked separatedly.
 11703  	VsanConfig *VsanClusterConfigInfo `xml:"vsanConfig,omitempty" json:"vsanConfig,omitempty"`
 11704  	// VSAN configuration for individual hosts.
 11705  	//
 11706  	// The entries in this array override the cluster default settings
 11707  	// as specified in `VsanClusterConfigInfo`.
 11708  	VsanHostConfigSpec []VsanHostConfigInfo `xml:"vsanHostConfigSpec,omitempty" json:"vsanHostConfigSpec,omitempty"`
 11709  	// Cluster-wide group configuration.
 11710  	//
 11711  	// The array contains one or more group specification objects.
 11712  	// A group specification object contains a virtual machine group
 11713  	// (`ClusterVmGroup`) or a host group (`ClusterHostGroup`).
 11714  	// Groups can be related; see `ClusterVmHostRuleInfo`.
 11715  	GroupSpec []ClusterGroupSpec `xml:"groupSpec,omitempty" json:"groupSpec,omitempty"`
 11716  	// InfraUpdateHA configuration.
 11717  	InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty" json:"infraUpdateHaConfig,omitempty"`
 11718  	// ProactiveDrs configuration.
 11719  	ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty" json:"proactiveDrsConfig,omitempty"`
 11720  	// Flag to place the cluster in the HCI workflow during cluster creation.
 11721  	//
 11722  	// This flag is specified only at the time of cluster creation.
 11723  	// A cluster cannot be reconfigured to place it in the HCI workflow.
 11724  	InHciWorkflow *bool `xml:"inHciWorkflow" json:"inHciWorkflow,omitempty"`
 11725  	// Cluster-wide configuration of encryption mode.
 11726  	CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty" json:"cryptoConfig,omitempty"`
 11727  	// vSAN first-class settings that will be configured together with
 11728  	// vSAN enablement.
 11729  	VsanCoreConfigSpec *VsanClusterCoreConfigSpec `xml:"vsanCoreConfigSpec,omitempty" json:"vsanCoreConfigSpec,omitempty" vim:"9.0.0.0"`
 11730  }
 11731  
 11732  func init() {
 11733  	t["ClusterConfigSpecEx"] = reflect.TypeOf((*ClusterConfigSpecEx)(nil)).Elem()
 11734  }
 11735  
 11736  // This event records when a cluster is created.
 11737  type ClusterCreatedEvent struct {
 11738  	ClusterEvent
 11739  
 11740  	// The folder where the cluster is created.
 11741  	Parent FolderEventArgument `xml:"parent" json:"parent"`
 11742  }
 11743  
 11744  func init() {
 11745  	t["ClusterCreatedEvent"] = reflect.TypeOf((*ClusterCreatedEvent)(nil)).Elem()
 11746  }
 11747  
 11748  type ClusterCryptoConfigInfo struct {
 11749  	DynamicData
 11750  
 11751  	// The cluster encryption mode.
 11752  	//
 11753  	// See `ClusterCryptoConfigInfoCryptoMode_enum` for supported values.
 11754  	CryptoMode string `xml:"cryptoMode,omitempty" json:"cryptoMode,omitempty"`
 11755  	// The encryption mode policy for the cluster.
 11756  	//
 11757  	// When unset, host keys will be automatically generated using the current
 11758  	// default key provider.
 11759  	Policy *ClusterComputeResourceCryptoModePolicy `xml:"policy,omitempty" json:"policy,omitempty" vim:"8.0.3.0"`
 11760  }
 11761  
 11762  func init() {
 11763  	t["ClusterCryptoConfigInfo"] = reflect.TypeOf((*ClusterCryptoConfigInfo)(nil)).Elem()
 11764  }
 11765  
 11766  // Deprecated as of vSphere API 5.0, this object is no longer returned by
 11767  // vCenter Server. Availability information is now reported using
 11768  // `HostRuntimeInfo.dasHostState`.
 11769  //
 11770  // The `ClusterDasAamHostInfo` object contains a list of the ESX hosts
 11771  // in an HA cluster and a list that identifies the _primary_ hosts.
 11772  //
 11773  // (AAM is a component of the HA service.)
 11774  // The primary hosts share the joint responsibility of maintaining all cluster
 11775  // state and one will initiate failover actions should a failure occur.
 11776  //
 11777  // When you add an ESX host to a vSphere HA cluster, the host
 11778  // downloads HA agent components from the vCenter Server.
 11779  // The HA agent maintains communication with the vCenter Server.
 11780  //
 11781  // When the host downloads the HA agent, the host configures the agent
 11782  // to communicate with other agents in the cluster. A host that joins
 11783  // the cluster communicates with an existing primary host to complete
 11784  // its configuration (except when you are adding the first host to the cluster).
 11785  //   - The first five hosts added to the cluster are designated
 11786  //     as primary hosts. All subsequent hosts are designated as secondary hosts.
 11787  //   - If a primary host is removed from the cluster,
 11788  //     the vCenter Server promotes another host to primary status.
 11789  //   - There must be at least one functional primary host for vSphere HA
 11790  //     to operate correctly. If there is not an available primary host
 11791  //     (no response), host configuration for HA will fail.
 11792  //     If there is a total cluster failure, HA will begin restarting virtual
 11793  //     machines as soon as one host recovers and its HA agent is up and running.
 11794  //
 11795  // One of the primary hosts assumes the role of the active primary host.
 11796  // The active primary host responsibilities include the following activities:
 11797  //   - Decides where to restart virtual machines.
 11798  //   - Tracks failed restart attempts.
 11799  //   - Determines when it is appropriate to continue attempts to restart
 11800  //     a virtual machine.
 11801  //
 11802  // If the active primary host fails, another primary host replaces it.
 11803  type ClusterDasAamHostInfo struct {
 11804  	ClusterDasHostInfo
 11805  
 11806  	// The state of HA on the hosts.
 11807  	HostDasState []ClusterDasAamNodeState `xml:"hostDasState,omitempty" json:"hostDasState,omitempty"`
 11808  	// The list of primary hosts.
 11809  	PrimaryHosts []string `xml:"primaryHosts,omitempty" json:"primaryHosts,omitempty"`
 11810  }
 11811  
 11812  func init() {
 11813  	t["ClusterDasAamHostInfo"] = reflect.TypeOf((*ClusterDasAamHostInfo)(nil)).Elem()
 11814  }
 11815  
 11816  // Deprecated as of vSphere API 5.0, this object is no longer returned by
 11817  // vCenter Server. See `HostRuntimeInfo.dasHostState` for a
 11818  // description of the objects now used.
 11819  //
 11820  // The `ClusterDasAamNodeState` data object represents the state
 11821  // of the HA service on an ESX host.
 11822  //
 11823  // (AAM is a component of this service.)
 11824  type ClusterDasAamNodeState struct {
 11825  	DynamicData
 11826  
 11827  	// Reference to the host.
 11828  	//
 11829  	// Refers instance of `HostSystem`.
 11830  	Host ManagedObjectReference `xml:"host" json:"host"`
 11831  	// Name of the host
 11832  	// (`HostSystem*.*ManagedEntity.name`).
 11833  	Name string `xml:"name" json:"name"`
 11834  	// Configuration state of the HA agent on the host.
 11835  	//
 11836  	// The property can be one of the following values:
 11837  	//
 11838  	// configuring
 11839  	// error
 11840  	// unconfiguring
 11841  	// running
 11842  	//
 11843  	// <code>configState</code> represents setting or resetting the HA
 11844  	// configuration on the host. If the configuration operation is
 11845  	// successful, the value of <code>configState</code> changes
 11846  	// to <code>running</code>. See `ClusterDasAamNodeStateDasState_enum`.
 11847  	ConfigState string `xml:"configState" json:"configState"`
 11848  	// The runtime state of the HA agent on the node.
 11849  	//
 11850  	// The property can be one of the following values:
 11851  	//
 11852  	// uninitialized
 11853  	// initialized
 11854  	// running
 11855  	// error
 11856  	// agentShutdown
 11857  	// nodeFailed
 11858  	//
 11859  	// See `ClusterDasAamNodeStateDasState_enum`.
 11860  	RuntimeState string `xml:"runtimeState" json:"runtimeState"`
 11861  }
 11862  
 11863  func init() {
 11864  	t["ClusterDasAamNodeState"] = reflect.TypeOf((*ClusterDasAamNodeState)(nil)).Elem()
 11865  }
 11866  
 11867  // Base class for admission control related information of a vSphere HA cluster.
 11868  type ClusterDasAdmissionControlInfo struct {
 11869  	DynamicData
 11870  }
 11871  
 11872  func init() {
 11873  	t["ClusterDasAdmissionControlInfo"] = reflect.TypeOf((*ClusterDasAdmissionControlInfo)(nil)).Elem()
 11874  }
 11875  
 11876  // Base class for specifying how admission control should be done for vSphere HA.
 11877  type ClusterDasAdmissionControlPolicy struct {
 11878  	DynamicData
 11879  
 11880  	// Percentage of resource reduction that a cluster of VMs can tolerate
 11881  	// in case of a failover.
 11882  	ResourceReductionToToleratePercent *int32 `xml:"resourceReductionToToleratePercent" json:"resourceReductionToToleratePercent,omitempty"`
 11883  	// Flag that determines whether strict admission control for persistent
 11884  	// memory is enabled.
 11885  	//
 11886  	// By default, this value is false.
 11887  	// This flag can only be set to true if
 11888  	// `ClusterDasConfigInfo.admissionControlEnabled` is set to true.
 11889  	// When you use persistent memory admission control, the following
 11890  	// operations are prevented, if doing so would violate the
 11891  	// `ClusterDasConfigInfo.admissionControlEnabled`.
 11892  	//   - Creating a virtual machine with persistent memory.
 11893  	//   - Adding a virtual persistent memory device to a virtual machine.
 11894  	//   - Increasing the capacity of a virtual persistent memory device.
 11895  	PMemAdmissionControlEnabled *bool `xml:"pMemAdmissionControlEnabled" json:"pMemAdmissionControlEnabled,omitempty" vim:"7.0.2.0"`
 11896  }
 11897  
 11898  func init() {
 11899  	t["ClusterDasAdmissionControlPolicy"] = reflect.TypeOf((*ClusterDasAdmissionControlPolicy)(nil)).Elem()
 11900  }
 11901  
 11902  // Base class for advanced runtime information related to the high
 11903  // availability service for a cluster.
 11904  type ClusterDasAdvancedRuntimeInfo struct {
 11905  	DynamicData
 11906  
 11907  	// The information pertaining to the HA agents on the hosts
 11908  	DasHostInfo BaseClusterDasHostInfo `xml:"dasHostInfo,omitempty,typeattr" json:"dasHostInfo,omitempty"`
 11909  	// Whether HA VM Component Protection can be enabled for the cluster.
 11910  	VmcpSupported *ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo `xml:"vmcpSupported,omitempty" json:"vmcpSupported,omitempty"`
 11911  	// The map of a datastore to the set of hosts that are using
 11912  	// the datastore for storage heartbeating.
 11913  	HeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"heartbeatDatastoreInfo,omitempty" json:"heartbeatDatastoreInfo,omitempty"`
 11914  }
 11915  
 11916  func init() {
 11917  	t["ClusterDasAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfo)(nil)).Elem()
 11918  }
 11919  
 11920  // Class for capability to support VM Component Protection
 11921  type ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo struct {
 11922  	DynamicData
 11923  
 11924  	// If all hosts in the cluster support the reaction of VM Component Protection
 11925  	// to storage All Paths Down timeout
 11926  	// (@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\_Timeout}
 11927  	StorageAPDSupported bool `xml:"storageAPDSupported" json:"storageAPDSupported"`
 11928  	// If all hosts in the cluster support the reaction of VM Component Protection
 11929  	// to storage Permanent Device Loss
 11930  	// (@link vim.host.MountInfo.InaccessibleReason#PermanentDeviceLoss}
 11931  	StoragePDLSupported bool `xml:"storagePDLSupported" json:"storagePDLSupported"`
 11932  }
 11933  
 11934  func init() {
 11935  	t["ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo)(nil)).Elem()
 11936  }
 11937  
 11938  // The `ClusterDasConfigInfo` data object contains configuration data
 11939  // about the HA service on a cluster.
 11940  //
 11941  // All fields are optional. If you set the <code>modify</code>
 11942  // parameter to <code>true</code> when you call
 11943  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 11944  // on the existing property value in the cluster configuration on the Server.
 11945  // If you set the <code>modify</code> parameter to <code>false</code> when you
 11946  // reconfigure a cluster, the cluster configuration is reverted to the default
 11947  // values, then the new configuration values are applied.
 11948  type ClusterDasConfigInfo struct {
 11949  	DynamicData
 11950  
 11951  	// Flag to indicate whether or not vSphere HA feature is enabled.
 11952  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 11953  	// Level of HA Virtual Machine Health Monitoring Service.
 11954  	//
 11955  	// You can monitor both guest and application heartbeats, guest heartbeats only,
 11956  	// or you can disable the service. See `ClusterDasConfigInfoVmMonitoringState_enum`.
 11957  	// The default value is `vmMonitoringDisabled`.
 11958  	//
 11959  	// The Service level specified for the cluster determines
 11960  	// the possible monitoring settings that you can use for individual virtual machines.
 11961  	// See `ClusterVmToolsMonitoringSettings*.*ClusterVmToolsMonitoringSettings.vmMonitoring`.
 11962  	VmMonitoring string `xml:"vmMonitoring,omitempty" json:"vmMonitoring,omitempty"`
 11963  	// Determines whether HA restarts virtual machines after a host fails.
 11964  	//
 11965  	// The default value is
 11966  	// `ClusterDasConfigInfoServiceState_enum*.*enabled`.
 11967  	// This property is meaningful only when
 11968  	// `ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled` is <code>true</code>.
 11969  	//
 11970  	// When <code>hostMonitoring</code> is
 11971  	// `enabled`, HA restarts virtual machines
 11972  	// after a host fails.
 11973  	//
 11974  	// When <code>hostMonitoring</code> is
 11975  	// `disabled`, HA does not restart
 11976  	// virtual machines after a host fails.
 11977  	// The status of Host Monitoring does not affect other services such
 11978  	// as virtual machine Health Monitoring or Fault Tolerance.
 11979  	// The rest of the cluster operations follow normal processing.
 11980  	// No configuration information is lost and re-enabling the service
 11981  	// is a quick operation.
 11982  	HostMonitoring string `xml:"hostMonitoring,omitempty" json:"hostMonitoring,omitempty"`
 11983  	// This property indicates if vSphere HA VM Component Protection service
 11984  	// is enabled.
 11985  	//
 11986  	// The default value is `disabled`.
 11987  	//
 11988  	// When <code>vmComponentProtecting</code> is set to
 11989  	// `disabled`, reaction to all types of VM
 11990  	// component failures is disabled.
 11991  	//
 11992  	// When <code>vmComponentProtecting</code> is set to
 11993  	// `enabled`, VM Component Protection service
 11994  	// will detect and react to component failures. The actual reaction is determined
 11995  	// by `ClusterVmComponentProtectionSettings` which is referenced by both cluster
 11996  	// level configuration (`ClusterDasConfigInfo.defaultVmSettings`) and per-VM
 11997  	// override `ClusterConfigInfoEx.dasVmConfig`.
 11998  	VmComponentProtecting string `xml:"vmComponentProtecting,omitempty" json:"vmComponentProtecting,omitempty"`
 11999  	// Deprecated as of vSphere API 4.0, use
 12000  	// `ClusterFailoverLevelAdmissionControlPolicy` to set
 12001  	// `ClusterDasConfigInfo.admissionControlPolicy`.
 12002  	//
 12003  	// Configured failover level.
 12004  	//
 12005  	// This is the number of physical host failures
 12006  	// that can be tolerated without impacting the ability to satisfy the
 12007  	// minimums for all running virtual machines. Acceptable values range from one to
 12008  	// four.
 12009  	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty"`
 12010  	// Virtual machine admission control policy for vSphere HA.
 12011  	//
 12012  	// The policies specify resource availability for failover support.
 12013  	//   - Failover host admission policy
 12014  	//     `ClusterFailoverHostAdmissionControlPolicy` -
 12015  	//     specify one or more dedicated failover hosts.
 12016  	//   - Failover level policy
 12017  	//     `ClusterFailoverLevelAdmissionControlPolicy` -
 12018  	//     the limit of host failures for which resources are reserved.
 12019  	//     When you use the failover level policy,
 12020  	//     HA partitions resources into slots. A slot represents the minimum
 12021  	//     CPU and memory resources that are required to support
 12022  	//     any powered on virtual machine in the cluster.
 12023  	//     To retrieve information about partitioned resources, use the
 12024  	//     `ClusterComputeResource.RetrieveDasAdvancedRuntimeInfo`
 12025  	//     method.
 12026  	//   - Resources admission policy
 12027  	//     `ClusterFailoverResourcesAdmissionControlPolicy` -
 12028  	//     CPU and memory resources reserved for failover support.
 12029  	//     When you use the resources policy, you can reserve
 12030  	//     a percentage of the aggregate cluster resource for failover.
 12031  	AdmissionControlPolicy BaseClusterDasAdmissionControlPolicy `xml:"admissionControlPolicy,omitempty,typeattr" json:"admissionControlPolicy,omitempty"`
 12032  	// Flag that determines whether strict admission control is enabled.
 12033  	//
 12034  	// When you use admission control, the following operations are
 12035  	// prevented, if doing so would violate the `ClusterDasConfigInfo.admissionControlPolicy`.
 12036  	//   - Powering on a virtual machine in the cluster.
 12037  	//   - Migrating a virtual machine into the cluster.
 12038  	//   - Increasing the CPU or memory reservation of powered-on
 12039  	//     virtual machines in the cluster.
 12040  	//
 12041  	// With admission control disabled, there is no assurance that
 12042  	// all virtual machines in the HA cluster can be restarted after
 12043  	// a host failure. VMware recommends that you do not disable
 12044  	// admission control, but you might need to do so temporarily,
 12045  	// for the following reasons:
 12046  	//   - If you need to violate the failover constraints when there
 12047  	//     are not enough resources to support them (for example,
 12048  	//     if you are placing hosts in standby mode to test them
 12049  	//     for use with DPM).
 12050  	//   - If an automated process needs to take actions that might
 12051  	//     temporarily violate the failover constraints (for example,
 12052  	//     as part of an upgrade directed by VMware Update Manager).
 12053  	//   - If you need to perform testing or maintenance operations.
 12054  	AdmissionControlEnabled *bool `xml:"admissionControlEnabled" json:"admissionControlEnabled,omitempty"`
 12055  	// Cluster-wide defaults for virtual machine HA settings.
 12056  	//
 12057  	// When a virtual machine has no HA configuration
 12058  	// (`ClusterDasVmConfigSpec`), it uses the values
 12059  	// specified here.
 12060  	DefaultVmSettings *ClusterDasVmSettings `xml:"defaultVmSettings,omitempty" json:"defaultVmSettings,omitempty"`
 12061  	// Advanced settings.
 12062  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12063  	// The list of preferred datastores to use for storage heartbeating.
 12064  	//
 12065  	// Each of the specified datastores should be active and mounted
 12066  	// by more than one host. There is no limit on the number of specified
 12067  	// datastores and no priority among them.
 12068  	// The specified datastores will replace those previously specified and
 12069  	// an empty list will delete all such earlier specified ones.
 12070  	//
 12071  	// vCenter Server chooses the heartbeat datastores for a host from the
 12072  	// set specified by `ClusterDasConfigInfo.hBDatastoreCandidatePolicy`.
 12073  	// The choice is made based on datastore connectivity and storage array
 12074  	// redundancy (in case of VMFS).
 12075  	//
 12076  	// The final set of selected heartbeat datastores is reported via
 12077  	// `ClusterDasAdvancedRuntimeInfo.heartbeatDatastoreInfo`.
 12078  	//
 12079  	// Refers instances of `Datastore`.
 12080  	HeartbeatDatastore []ManagedObjectReference `xml:"heartbeatDatastore,omitempty" json:"heartbeatDatastore,omitempty"`
 12081  	// The policy on what datastores will be used by vCenter Server to choose
 12082  	// heartbeat datastores.
 12083  	//
 12084  	// See `ClusterDasConfigInfoHBDatastoreCandidate_enum` for all options.
 12085  	// The default value is
 12086  	// `allFeasibleDsWithUserPreference`.
 12087  	HBDatastoreCandidatePolicy string `xml:"hBDatastoreCandidatePolicy,omitempty" json:"hBDatastoreCandidatePolicy,omitempty"`
 12088  }
 12089  
 12090  func init() {
 12091  	t["ClusterDasConfigInfo"] = reflect.TypeOf((*ClusterDasConfigInfo)(nil)).Elem()
 12092  }
 12093  
 12094  // Base class for DAS data for high availability service for a cluster.
 12095  type ClusterDasData struct {
 12096  	DynamicData
 12097  }
 12098  
 12099  func init() {
 12100  	t["ClusterDasData"] = reflect.TypeOf((*ClusterDasData)(nil)).Elem()
 12101  }
 12102  
 12103  // This class contains the summary of the data that DAS needs/uses.
 12104  //
 12105  // The actual data is available in `ClusterDasDataDetails` and can be retrieved
 12106  // using the `ClusterComputeResource.RetrieveDasData` method.
 12107  // This class is meant for VMware internal use only.
 12108  type ClusterDasDataSummary struct {
 12109  	ClusterDasData
 12110  
 12111  	// The version corresponding to the hostList
 12112  	HostListVersion int64 `xml:"hostListVersion" json:"hostListVersion"`
 12113  	// The version corresponding to the clusterConfig
 12114  	ClusterConfigVersion int64 `xml:"clusterConfigVersion" json:"clusterConfigVersion"`
 12115  	// The version corresponding to the compatList
 12116  	CompatListVersion int64 `xml:"compatListVersion" json:"compatListVersion"`
 12117  }
 12118  
 12119  func init() {
 12120  	t["ClusterDasDataSummary"] = reflect.TypeOf((*ClusterDasDataSummary)(nil)).Elem()
 12121  }
 12122  
 12123  // Advanced runtime information related to the high availability service
 12124  // for a cluster that has been configured with a failover level admission control
 12125  // policy.
 12126  //
 12127  // See `ClusterFailoverLevelAdmissionControlPolicy`.
 12128  type ClusterDasFailoverLevelAdvancedRuntimeInfo struct {
 12129  	ClusterDasAdvancedRuntimeInfo
 12130  
 12131  	// Slot information for this cluster.
 12132  	SlotInfo ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo `xml:"slotInfo" json:"slotInfo"`
 12133  	// The total number of slots available in the cluster.
 12134  	//
 12135  	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
 12136  	TotalSlots int32 `xml:"totalSlots" json:"totalSlots"`
 12137  	// The number of slots currently being used.
 12138  	//
 12139  	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
 12140  	UsedSlots int32 `xml:"usedSlots" json:"usedSlots"`
 12141  	// The number of slots that are not used by currently powered on virtual machines
 12142  	// and not reserved to satisfy the configured failover level.
 12143  	//
 12144  	// This number gives
 12145  	// an indication of how many additional virtual machines can be powered on in
 12146  	// this cluster without violating the failover level (assuming the new virtual
 12147  	// machine's reservations are satisfied by the current slot size).
 12148  	// This value is computed as follows (where m is the configured failover level):
 12149  	// Remove the m largest hosts (ie. the ones with the most slots) from the list
 12150  	// of "good" hosts (see `ClusterDasFailoverLevelAdvancedRuntimeInfo.totalGoodHosts`). Sum up the number of slots on
 12151  	// the remaining hosts and deduct the number of currently used slots
 12152  	// (see `ClusterDasFailoverLevelAdvancedRuntimeInfo.usedSlots`). If this number is negative, use zero instead.
 12153  	//
 12154  	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
 12155  	UnreservedSlots int32 `xml:"unreservedSlots" json:"unreservedSlots"`
 12156  	// The total number of powered on vms in the cluster.
 12157  	TotalVms int32 `xml:"totalVms" json:"totalVms"`
 12158  	// The total number of hosts in the cluster.
 12159  	TotalHosts int32 `xml:"totalHosts" json:"totalHosts"`
 12160  	// The total number of connected hosts that are not in maintance mode and that
 12161  	// do not have any DAS-related config issues on them.
 12162  	TotalGoodHosts int32                                                 `xml:"totalGoodHosts" json:"totalGoodHosts"`
 12163  	HostSlots      []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"hostSlots,omitempty" json:"hostSlots,omitempty"`
 12164  	// The list of virtual machines whose reservations and memory overhead are not
 12165  	// satisfied by a single slot.
 12166  	VmsRequiringMultipleSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"vmsRequiringMultipleSlots,omitempty" json:"vmsRequiringMultipleSlots,omitempty"`
 12167  }
 12168  
 12169  func init() {
 12170  	t["ClusterDasFailoverLevelAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfo)(nil)).Elem()
 12171  }
 12172  
 12173  type ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
 12174  	DynamicData
 12175  
 12176  	// The reference to the host.
 12177  	//
 12178  	// Refers instance of `HostSystem`.
 12179  	Host ManagedObjectReference `xml:"host" json:"host"`
 12180  	// The number of slots in this host.
 12181  	Slots int32 `xml:"slots" json:"slots"`
 12182  }
 12183  
 12184  func init() {
 12185  	t["ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem()
 12186  }
 12187  
 12188  // A slot represents an amount of memory and cpu resources on a physical host for use
 12189  // by a virtual machine.
 12190  //
 12191  // It is used in computing the resources to be reserved for
 12192  // failover.
 12193  type ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo struct {
 12194  	DynamicData
 12195  
 12196  	// Deprecated as of vSphere API 5.0, the number of vcpus is no longer used
 12197  	// for slot calculations.
 12198  	//
 12199  	// The number of virtual cpus of a slot is defined as the maximum number of
 12200  	// virtual cpus any powered on virtual machine has.
 12201  	NumVcpus int32 `xml:"numVcpus" json:"numVcpus"`
 12202  	// The cpu speed of a slot is defined as the maximum cpu reservation of any
 12203  	// powered on virtual machine in the cluster, or any otherwise defined minimum,
 12204  	// whichever is larger.
 12205  	CpuMHz int32 `xml:"cpuMHz" json:"cpuMHz"`
 12206  	// The memory size of a slot is defined as the maximum memory reservation plus
 12207  	// memory overhead of any powered on virtual machine in the cluster, or any
 12208  	// otherwise defined minimum, whichever is larger.
 12209  	MemoryMB int32 `xml:"memoryMB" json:"memoryMB"`
 12210  }
 12211  
 12212  func init() {
 12213  	t["ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo)(nil)).Elem()
 12214  }
 12215  
 12216  type ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
 12217  	DynamicData
 12218  
 12219  	// The reference to the virtual machine
 12220  	//
 12221  	// Refers instance of `VirtualMachine`.
 12222  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 12223  	// The number of slots required by this virtual machine
 12224  	Slots int32 `xml:"slots" json:"slots"`
 12225  }
 12226  
 12227  func init() {
 12228  	t["ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem()
 12229  }
 12230  
 12231  // The `ClusterDasFdmHostState` data object
 12232  // describes the availability state of each active host in a
 12233  // vSphere HA enabled cluster.
 12234  //
 12235  // In a vSphere HA cluster, the active hosts form a fault domain.
 12236  // A host is inactive if it is in standby or maintenance mode, or
 12237  // it has been disconnected from vCenter Server. A vSphere HA
 12238  // agent, called the Fault Domain Manager (FDM), runs on each host in the
 12239  // fault domain.
 12240  //
 12241  // One FDM serves as the master and the remaining FDMs as its slaves.
 12242  // The master is responsible for monitoring the availability of the hosts
 12243  // and VMs in the cluster, and restarting any VMs that fail due to a
 12244  // host failure or non-user-initiated power offs. The master is also
 12245  // responsible for reporting fault-domain state to vCenter Server.
 12246  //
 12247  // The master FDM is determined through election by the FDMs that are
 12248  // alive at the time. An election occurs in the following circumstances:
 12249  //   - When the vSphere HA feature is enabled for the cluster.
 12250  //   - When the master's host fails.
 12251  //   - When the management network is partitioned. In a network partition
 12252  //     there will be a master for each partition. However, only one master
 12253  //     will be responsible for a given VM. When the partition is
 12254  //     resolved, all but one of the masters will abdicate.
 12255  //   - After a host in a vSphere HA cluster powers back up following a failure
 12256  //     that caused all hosts in the cluster to power off.
 12257  //
 12258  // The slaves are responsible for reporting state updates to the master and
 12259  // restarting VMs as required. All FDMs provide the VM/Application Health
 12260  // Monitoring Service.
 12261  type ClusterDasFdmHostState struct {
 12262  	DynamicData
 12263  
 12264  	// The Availability State of a host based on information
 12265  	// reported by the entity given by the
 12266  	// `ClusterDasFdmHostState.stateReporter` property.
 12267  	//
 12268  	// See
 12269  	// `ClusterDasFdmAvailabilityState_enum` for the set of
 12270  	// states.
 12271  	State string `xml:"state" json:"state"`
 12272  	// The entity reporting the state of the host.
 12273  	//
 12274  	// If the reporter is a host,
 12275  	// the property reports which host, whereas if the reporter is vCenter Server,
 12276  	// the property is unset.
 12277  	//
 12278  	// Refers instance of `HostSystem`.
 12279  	StateReporter *ManagedObjectReference `xml:"stateReporter,omitempty" json:"stateReporter,omitempty"`
 12280  }
 12281  
 12282  func init() {
 12283  	t["ClusterDasFdmHostState"] = reflect.TypeOf((*ClusterDasFdmHostState)(nil)).Elem()
 12284  }
 12285  
 12286  // HA specific advanced information pertaining to the hosts in the cluster.
 12287  type ClusterDasHostInfo struct {
 12288  	DynamicData
 12289  }
 12290  
 12291  func init() {
 12292  	t["ClusterDasHostInfo"] = reflect.TypeOf((*ClusterDasHostInfo)(nil)).Elem()
 12293  }
 12294  
 12295  // A host recommendation for a virtual machine managed by the VMware
 12296  // HA Service.
 12297  type ClusterDasHostRecommendation struct {
 12298  	DynamicData
 12299  
 12300  	// The recommended host.
 12301  	//
 12302  	// Refers instance of `HostSystem`.
 12303  	Host ManagedObjectReference `xml:"host" json:"host"`
 12304  	// Rating as computed by DRS for a DRS-enabled cluster.
 12305  	//
 12306  	// Rating
 12307  	// range from 1 to 5, and the higher the rating, the stronger DRS
 12308  	// suggests this host is picked for the operation.
 12309  	DrsRating int32 `xml:"drsRating,omitempty" json:"drsRating,omitempty"`
 12310  }
 12311  
 12312  func init() {
 12313  	t["ClusterDasHostRecommendation"] = reflect.TypeOf((*ClusterDasHostRecommendation)(nil)).Elem()
 12314  }
 12315  
 12316  // The `ClusterDasVmConfigInfo` data object contains
 12317  // the HA configuration for a single virtual machine.
 12318  //
 12319  // All fields are optional. If you set the <code>modify</code>
 12320  // parameter to <code>true</code> when you call
 12321  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 12322  // on the existing property value in the cluster configuration on the Server.
 12323  // If you set the <code>modify</code> parameter to <code>false</code> when you
 12324  // reconfigure a cluster, the cluster configuration is reverted to the default
 12325  // values, then the new configuration values are applied.
 12326  type ClusterDasVmConfigInfo struct {
 12327  	DynamicData
 12328  
 12329  	// Reference to the virtual machine.
 12330  	//
 12331  	// Refers instance of `VirtualMachine`.
 12332  	Key ManagedObjectReference `xml:"key" json:"key"`
 12333  	// Deprecated as of VI API 2.5, use
 12334  	// `ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.restartPriority`.
 12335  	// If you specify `ClusterDasVmConfigInfo.restartPriority` here and in
 12336  	// `ClusterDasVmSettings`, the value in `ClusterDasVmSettings`
 12337  	// has precedence.
 12338  	//
 12339  	// Restart priority for a virtual machine.
 12340  	//
 12341  	// If there is nothing specified here, then the defaults are picked up from
 12342  	// `ClusterDasConfigInfo.defaultVmSettings`.
 12343  	RestartPriority DasVmPriority `xml:"restartPriority,omitempty" json:"restartPriority,omitempty"`
 12344  	// Deprecated as of VI API 2.5, use
 12345  	// `ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.isolationResponse`.
 12346  	// If you specify both `ClusterDasVmConfigInfo.powerOffOnIsolation` and
 12347  	// `ClusterDasVmSettings.isolationResponse`, the value in
 12348  	// `ClusterDasVmSettings.isolationResponse` has precedence.
 12349  	//
 12350  	// Flag to indicate whether or not the virtual machine should be powered off if a
 12351  	// host determines that it is isolated from the rest of the compute resource.
 12352  	//
 12353  	// If there is nothing specified here, then the defaults are picked up from
 12354  	// `ClusterDasConfigInfo.defaultVmSettings`.
 12355  	PowerOffOnIsolation *bool `xml:"powerOffOnIsolation" json:"powerOffOnIsolation,omitempty"`
 12356  	// HA settings that apply to this virtual machine.
 12357  	//
 12358  	// Values specified in this object override the cluster-wide
 12359  	// defaults for virtual machines (`ClusterDasConfigInfo.defaultVmSettings`).
 12360  	DasSettings *ClusterDasVmSettings `xml:"dasSettings,omitempty" json:"dasSettings,omitempty"`
 12361  }
 12362  
 12363  func init() {
 12364  	t["ClusterDasVmConfigInfo"] = reflect.TypeOf((*ClusterDasVmConfigInfo)(nil)).Elem()
 12365  }
 12366  
 12367  // An incremental update to the per-virtual-machine vSphere HA configuration.
 12368  type ClusterDasVmConfigSpec struct {
 12369  	ArrayUpdateSpec
 12370  
 12371  	Info *ClusterDasVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 12372  }
 12373  
 12374  func init() {
 12375  	t["ClusterDasVmConfigSpec"] = reflect.TypeOf((*ClusterDasVmConfigSpec)(nil)).Elem()
 12376  }
 12377  
 12378  // The `ClusterDasVmSettings` data object contains the HA configuration
 12379  // settings specified for a single virtual machine (identified by
 12380  // `ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.key`)
 12381  // or as cluster-wide defaults
 12382  // `ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`
 12383  //
 12384  // All fields are optional. If you set the <code>modify</code> parameter to
 12385  // <code>true</code> when you call `ComputeResource.ReconfigureComputeResource_Task`,
 12386  // an unset property has no effect on the existing property value in the
 12387  // cluster configuration on the Server. If you set the <code>modify</code>
 12388  // parameter to <code>false</code> when you reconfigure a cluster, the cluster
 12389  // configuration is reverted to the default values, then the new configuration
 12390  // values are applied.
 12391  type ClusterDasVmSettings struct {
 12392  	DynamicData
 12393  
 12394  	// Restart priority for a virtual machine.
 12395  	//
 12396  	// If not specified at either the cluster level or
 12397  	// the virtual machine level, this will default to <code>medium</code>.
 12398  	//
 12399  	// See also `ClusterDasVmSettingsRestartPriority_enum`.
 12400  	RestartPriority string `xml:"restartPriority,omitempty" json:"restartPriority,omitempty"`
 12401  	// This setting is used to specify a maximum time the lower priority VMs
 12402  	// should wait for the higher priority VMs to be ready.
 12403  	//
 12404  	// If the higher
 12405  	// priority Vms are not ready by this time, then the lower priority VMs
 12406  	// are restarted irrespective of the VM ready state. This timeout can be
 12407  	// used to prevent the failover of lower priority VMs to be stuck
 12408  	// infinitely.
 12409  	//
 12410  	// This timeout is not used if ready condition is
 12411  	// `none`
 12412  	//
 12413  	// Timeout specified in seconds. To use cluster setting for a VM override,
 12414  	// set to -1 in per-VM.
 12415  	// setting.
 12416  	RestartPriorityTimeout int32 `xml:"restartPriorityTimeout,omitempty" json:"restartPriorityTimeout,omitempty"`
 12417  	// Indicates whether or not the virtual machine should be powered off if a
 12418  	// host determines that it is isolated from the rest of the compute
 12419  	// resource.
 12420  	//
 12421  	// If not specified at either the cluster level or
 12422  	// the virtual machine level, this will default to <code>powerOff</code>.
 12423  	//
 12424  	// See also `ClusterDasVmSettingsIsolationResponse_enum`.
 12425  	IsolationResponse string `xml:"isolationResponse,omitempty" json:"isolationResponse,omitempty"`
 12426  	// Configuration for the VM Health Monitoring Service.
 12427  	VmToolsMonitoringSettings *ClusterVmToolsMonitoringSettings `xml:"vmToolsMonitoringSettings,omitempty" json:"vmToolsMonitoringSettings,omitempty"`
 12428  	// Configuration for the VM Component Protection Service.
 12429  	VmComponentProtectionSettings *ClusterVmComponentProtectionSettings `xml:"vmComponentProtectionSettings,omitempty" json:"vmComponentProtectionSettings,omitempty"`
 12430  }
 12431  
 12432  func init() {
 12433  	t["ClusterDasVmSettings"] = reflect.TypeOf((*ClusterDasVmSettings)(nil)).Elem()
 12434  }
 12435  
 12436  // An incremental update to a Datastore list.
 12437  type ClusterDatastoreUpdateSpec struct {
 12438  	ArrayUpdateSpec
 12439  
 12440  	// Refers instance of `Datastore`.
 12441  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 12442  }
 12443  
 12444  func init() {
 12445  	t["ClusterDatastoreUpdateSpec"] = reflect.TypeOf((*ClusterDatastoreUpdateSpec)(nil)).Elem()
 12446  	minAPIVersionForType["ClusterDatastoreUpdateSpec"] = "7.0.3.0"
 12447  }
 12448  
 12449  // The `ClusterDependencyRuleInfo` data object indentifies VM-to-VM
 12450  // dependencies.
 12451  //
 12452  // A VM-VM Dependency rule identifies the following groups.
 12453  //   - A virtual machine group - `ClusterDependencyRuleInfo.vmGroup`
 12454  //   - A "depends on" virtual machine group - `ClusterDependencyRuleInfo.dependsOnVmGroup`.
 12455  //
 12456  // The VMs in `ClusterDependencyRuleInfo.vmGroup` depends on the list of VMs specified in `ClusterDependencyRuleInfo.dependsOnVmGroup`.
 12457  //
 12458  // For example, this rule is used during vSphere HA VM recovery
 12459  // orchestration. vSphere HA will not restart the VMs in `ClusterDependencyRuleInfo.vmGroup`
 12460  // until all the VMs in `ClusterDependencyRuleInfo.dependsOnVmGroup` are deemded "ready" (See
 12461  // `ClusterVmReadiness`).
 12462  //
 12463  // All the virtual machines referenced by this rule must be in
 12464  // the same cluster.
 12465  type ClusterDependencyRuleInfo struct {
 12466  	ClusterRuleInfo
 12467  
 12468  	// Virtual group name.
 12469  	//
 12470  	// The virtual group may contain one or more virtual
 12471  	// machines.
 12472  	// `ClusterVmGroup*.*ClusterGroupInfo.name`
 12473  	VmGroup string `xml:"vmGroup" json:"vmGroup"`
 12474  	// Depdendency virtual group name
 12475  	// (`ClusterVmGroup*.*ClusterGroupInfo.name`).
 12476  	//
 12477  	// The virtual group may contain one or more virtual machines.
 12478  	DependsOnVmGroup string `xml:"dependsOnVmGroup" json:"dependsOnVmGroup"`
 12479  }
 12480  
 12481  func init() {
 12482  	t["ClusterDependencyRuleInfo"] = reflect.TypeOf((*ClusterDependencyRuleInfo)(nil)).Elem()
 12483  }
 12484  
 12485  // This event records when a cluster is destroyed.
 12486  type ClusterDestroyedEvent struct {
 12487  	ClusterEvent
 12488  }
 12489  
 12490  func init() {
 12491  	t["ClusterDestroyedEvent"] = reflect.TypeOf((*ClusterDestroyedEvent)(nil)).Elem()
 12492  }
 12493  
 12494  // Configuration of the VMware DPM service.
 12495  //
 12496  // All fields are defined as optional. In case of a reconfiguration,
 12497  // unset fields are not changed.
 12498  type ClusterDpmConfigInfo struct {
 12499  	DynamicData
 12500  
 12501  	// Flag indicating whether or not the service is enabled.
 12502  	//
 12503  	// This
 12504  	// service can not be enabled, unless DRS is enabled as well.
 12505  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12506  	// Specifies the default VMware DPM behavior for
 12507  	// hosts.
 12508  	//
 12509  	// This default behavior can be overridden on a per host
 12510  	// basis using the `ClusterDpmHostConfigInfo` object.
 12511  	DefaultDpmBehavior DpmBehavior `xml:"defaultDpmBehavior,omitempty" json:"defaultDpmBehavior,omitempty"`
 12512  	// DPM generates only those recommendations that are above the
 12513  	// specified rating.
 12514  	//
 12515  	// Ratings vary from 1 to 5. This setting applies
 12516  	// to both manual and automated (@link DpmBehavior) DPM clusters.
 12517  	HostPowerActionRate int32 `xml:"hostPowerActionRate,omitempty" json:"hostPowerActionRate,omitempty"`
 12518  	// Deprecated as of vSphere API 4.1, use
 12519  	// `ClusterDrsConfigInfo.option`.
 12520  	//
 12521  	// Advanced settings.
 12522  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12523  }
 12524  
 12525  func init() {
 12526  	t["ClusterDpmConfigInfo"] = reflect.TypeOf((*ClusterDpmConfigInfo)(nil)).Elem()
 12527  }
 12528  
 12529  // DPM configuration for a single host.
 12530  //
 12531  // This makes
 12532  // it possible to override the default behavior for an individual
 12533  // host.
 12534  type ClusterDpmHostConfigInfo struct {
 12535  	DynamicData
 12536  
 12537  	// Reference to the host.
 12538  	//
 12539  	// Refers instance of `HostSystem`.
 12540  	Key ManagedObjectReference `xml:"key" json:"key"`
 12541  	// Flag to indicate whether or not VirtualCenter is allowed to perform any
 12542  	// power related operations or recommendations for this host.
 12543  	//
 12544  	// If this flag is false, the host is effectively excluded from
 12545  	// DPM service.
 12546  	//
 12547  	// If no individual DPM specification exists for a host,
 12548  	// this property defaults to true.
 12549  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12550  	// Specifies the particular DPM behavior for this host.
 12551  	//
 12552  	// See also `ClusterDpmConfigInfo`.
 12553  	Behavior DpmBehavior `xml:"behavior,omitempty" json:"behavior,omitempty"`
 12554  }
 12555  
 12556  func init() {
 12557  	t["ClusterDpmHostConfigInfo"] = reflect.TypeOf((*ClusterDpmHostConfigInfo)(nil)).Elem()
 12558  }
 12559  
 12560  // The `ClusterDpmHostConfigSpec` data object provides information
 12561  // that the Server uses to update the DPM configuration for a
 12562  // single host (identified by the
 12563  // `ClusterDpmHostConfigInfo.key` property).
 12564  //
 12565  // The host DPM configuration overrides the cluster
 12566  // default DPM setting
 12567  // (`ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmConfig`).
 12568  //
 12569  // The vSphere API defines three update operations
 12570  // (`ArrayUpdateSpec*.*ArrayUpdateSpec.operation`).
 12571  //   - add: Define DPM behavior for a host. If the cluster
 12572  //     configuration already includes a DPM behavior override
 12573  //     for the specified host, this operation
 12574  //     removes the existing override and adds the new one.
 12575  //     The new DPM override will use the cluster default value
 12576  //     if you do not specify the behavior property
 12577  //     (`ClusterDpmConfigInfo.defaultDpmBehavior`).
 12578  //   - edit: Perform an incremental update to an existing
 12579  //     DPM configuration entry for a host.
 12580  //     The reconfigure method changes only the properties
 12581  //     that you set in the data object. The entry must exist
 12582  //     in the
 12583  //     `ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmHostConfigSpec` array.
 12584  //   - remove: Remove the DPM override for the specified
 12585  //     host. To identify the host to delete, use the
 12586  //     `ArrayUpdateSpec.removeKey` property
 12587  //     to specify the `ClusterDpmHostConfigInfo.key`
 12588  //     in the host override.
 12589  //
 12590  // Use the `ComputeResource.ReconfigureComputeResource_Task` method
 12591  // to update the DPM configuration. If you set the modify parameter
 12592  // to true, you can use any of the three operations (add, edit, or remove).
 12593  // If you set the modify parameter to false, you can use only the
 12594  // add operation.
 12595  type ClusterDpmHostConfigSpec struct {
 12596  	ArrayUpdateSpec
 12597  
 12598  	Info *ClusterDpmHostConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 12599  }
 12600  
 12601  func init() {
 12602  	t["ClusterDpmHostConfigSpec"] = reflect.TypeOf((*ClusterDpmHostConfigSpec)(nil)).Elem()
 12603  }
 12604  
 12605  // The `ClusterDrsConfigInfo` data object contains configuration information
 12606  // for the VMware DRS service.
 12607  //
 12608  // All fields are optional. If you set the <code>modify</code>
 12609  // parameter to <code>true</code> when you call
 12610  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 12611  // on the existing property value in the cluster configuration on the Server.
 12612  // If you set the <code>modify</code> parameter to <code>false</code> when you
 12613  // reconfigure a cluster, the cluster configuration is reverted to the default
 12614  // values, then the new configuration values are applied.
 12615  type ClusterDrsConfigInfo struct {
 12616  	DynamicData
 12617  
 12618  	// Deprecated as of vSphere API 7.0.
 12619  	// To disable DRS load balancing, please use the lowest DRS aggressiveness
 12620  	// level, setting `ClusterDrsConfigInfo.vmotionRate` to 5, and/or
 12621  	// setting `ClusterDrsConfigInfo.defaultVmBehavior` to manual.
 12622  	// The former only generates manadatory move recommendations, not load
 12623  	// balancing recommendations. The latter only generates recommendations,
 12624  	// without executing them.
 12625  	// To remove all the child resource pools, please find the root resource
 12626  	// pool `ComputeResource.resourcePool`, and destroy all its
 12627  	// children `ResourcePool.DestroyChildren`.
 12628  	// Vice versa.
 12629  	//
 12630  	// Flag indicating whether or not DRS service is enabled.
 12631  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12632  	// Flag that dictates whether DRS Behavior overrides for individual
 12633  	// virtual machines (`ClusterDrsVmConfigInfo`) are enabled.
 12634  	//
 12635  	// The default
 12636  	// value is <code>true</code>.
 12637  	//
 12638  	// When this flag is <code>true</code>, the
 12639  	// `ClusterConfigSpecEx*.*ClusterConfigSpecEx.drsVmConfigSpec`
 12640  	// values override the `ClusterDrsConfigInfo.defaultVmBehavior`.
 12641  	//
 12642  	// When this flag is <code>false</code>, the
 12643  	// `ClusterDrsConfigInfo.defaultVmBehavior` value applies to all virtual
 12644  	// machines, with the following exception: in a cluster that has EVC disabled,
 12645  	// you cannot override the virtual machine setting
 12646  	// (`ClusterConfigSpecEx.drsVmConfigSpec`)
 12647  	// for Fault Tolerance virtual machines.
 12648  	EnableVmBehaviorOverrides *bool `xml:"enableVmBehaviorOverrides" json:"enableVmBehaviorOverrides,omitempty"`
 12649  	// Specifies the cluster-wide default DRS behavior for virtual machines.
 12650  	//
 12651  	// You can override the default behavior for a virtual machine
 12652  	// by using the `ClusterDrsVmConfigInfo` object.
 12653  	DefaultVmBehavior DrsBehavior `xml:"defaultVmBehavior,omitempty" json:"defaultVmBehavior,omitempty"`
 12654  	// Threshold for generated `ClusterRecommendation`s.
 12655  	//
 12656  	// DRS generates only those recommendations that are above the
 12657  	// specified vmotionRate. Ratings vary from 1 to 5. This setting applies
 12658  	// to manual, partiallyAutomated, and fullyAutomated
 12659  	// DRS clusters. See `DrsBehavior_enum`.
 12660  	VmotionRate int32 `xml:"vmotionRate,omitempty" json:"vmotionRate,omitempty"`
 12661  	// Specifies the scaling behavior of the shares of all resource pools
 12662  	// in the cluster.
 12663  	//
 12664  	// See `ResourceConfigSpecScaleSharesBehavior_enum`
 12665  	// for possible values. If any scaling behavior other than
 12666  	// `disabled` is specified,
 12667  	// the system will scale the CPU and memory shares allocated to each
 12668  	// resource pool with the total shares of all powered on virtual machines
 12669  	// under each respective pool. The system will also use the
 12670  	// `SharesInfo` set on each resource pool as a multiplier for the
 12671  	// scale. Setting the
 12672  	// `ClusterDrsConfigInfo.scaleDescendantsShares` on the cluster
 12673  	// is equivalent to setting the
 12674  	// `ResourceConfigSpec.scaleDescendantsShares` on the root
 12675  	// resource pool.
 12676  	ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty" json:"scaleDescendantsShares,omitempty"`
 12677  	// Advanced settings.
 12678  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12679  }
 12680  
 12681  func init() {
 12682  	t["ClusterDrsConfigInfo"] = reflect.TypeOf((*ClusterDrsConfigInfo)(nil)).Elem()
 12683  }
 12684  
 12685  // The faults generated by DRS when it tries to make recommendations
 12686  // for rule enforcement, power management, etc., and indexed in a tree
 12687  // structure with reason for recommendations and VM to migrate (optional)
 12688  // as the index keys.
 12689  type ClusterDrsFaults struct {
 12690  	DynamicData
 12691  
 12692  	// A reason code explaining why this set of recommendations were attempted
 12693  	// by DRS when it generated the faults.
 12694  	Reason string `xml:"reason" json:"reason"`
 12695  	// The faults grouped by VMs that DRS was trying to migrate.
 12696  	FaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"faultsByVm,typeattr" json:"faultsByVm"`
 12697  }
 12698  
 12699  func init() {
 12700  	t["ClusterDrsFaults"] = reflect.TypeOf((*ClusterDrsFaults)(nil)).Elem()
 12701  }
 12702  
 12703  // The faults generated by storage DRS when it tries to move a virtual disk.
 12704  type ClusterDrsFaultsFaultsByVirtualDisk struct {
 12705  	ClusterDrsFaultsFaultsByVm
 12706  
 12707  	// The virtual disk that storage DRS was trying to migrate when it
 12708  	// generated the faults.
 12709  	//
 12710  	// If this property is NULL, the fault is not
 12711  	// associated with a particular virtual disk.
 12712  	Disk *VirtualDiskId `xml:"disk,omitempty" json:"disk,omitempty"`
 12713  }
 12714  
 12715  func init() {
 12716  	t["ClusterDrsFaultsFaultsByVirtualDisk"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVirtualDisk)(nil)).Elem()
 12717  }
 12718  
 12719  // FaultsByVm is the faults generated by DRS when it tries to
 12720  // move a VM.
 12721  type ClusterDrsFaultsFaultsByVm struct {
 12722  	DynamicData
 12723  
 12724  	// The VM that DRS was trying to migrate when it generated the faults.
 12725  	//
 12726  	// If this property is NULL, the fault is not associated with a particular VM.
 12727  	//
 12728  	// Refers instance of `VirtualMachine`.
 12729  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 12730  	// The faults generated by DRS when it was trying to move the given VM.
 12731  	Fault []LocalizedMethodFault `xml:"fault" json:"fault"`
 12732  }
 12733  
 12734  func init() {
 12735  	t["ClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVm)(nil)).Elem()
 12736  }
 12737  
 12738  // Describes a single virtual machine migration.
 12739  type ClusterDrsMigration struct {
 12740  	DynamicData
 12741  
 12742  	// A unique key that identifies this recommendation.
 12743  	//
 12744  	// This
 12745  	// is used as an argument to
 12746  	// ComputeResource.applyRecommendation.
 12747  	Key string `xml:"key" json:"key"`
 12748  	// The time this recommendation was computed.
 12749  	Time time.Time `xml:"time" json:"time"`
 12750  	// The virtual machine selected for migration.
 12751  	//
 12752  	// Refers instance of `VirtualMachine`.
 12753  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 12754  	// Current CPU load for the virtual machine, in MHz.
 12755  	//
 12756  	// This property is only populated for recommendations.
 12757  	CpuLoad int32 `xml:"cpuLoad,omitempty" json:"cpuLoad,omitempty"`
 12758  	// Current memory load for the virtual machine, in bytes.
 12759  	//
 12760  	// This field is only populated for recommendations.
 12761  	MemoryLoad int64 `xml:"memoryLoad,omitempty" json:"memoryLoad,omitempty"`
 12762  	// Source host.
 12763  	//
 12764  	// Refers instance of `HostSystem`.
 12765  	Source ManagedObjectReference `xml:"source" json:"source"`
 12766  	// Current CPU load on the source host, in MHz.
 12767  	SourceCpuLoad int32 `xml:"sourceCpuLoad,omitempty" json:"sourceCpuLoad,omitempty"`
 12768  	// Current memory usage on the source host, in bytes.
 12769  	SourceMemoryLoad int64 `xml:"sourceMemoryLoad,omitempty" json:"sourceMemoryLoad,omitempty"`
 12770  	// Destination host.
 12771  	//
 12772  	// Refers instance of `HostSystem`.
 12773  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 12774  	// Current CPU load on the destination host, in MHz.
 12775  	DestinationCpuLoad int32 `xml:"destinationCpuLoad,omitempty" json:"destinationCpuLoad,omitempty"`
 12776  	// Current memory usage on the destination host, in bytes.
 12777  	DestinationMemoryLoad int64 `xml:"destinationMemoryLoad,omitempty" json:"destinationMemoryLoad,omitempty"`
 12778  }
 12779  
 12780  func init() {
 12781  	t["ClusterDrsMigration"] = reflect.TypeOf((*ClusterDrsMigration)(nil)).Elem()
 12782  }
 12783  
 12784  // Deprecated as of VI API 2.5 use `ClusterRecommendation`.
 12785  //
 12786  // DrsRecommendation describes a recommendation to migrate
 12787  // one or more virtual machines.
 12788  type ClusterDrsRecommendation struct {
 12789  	DynamicData
 12790  
 12791  	// Key to identify the recommendation when calling applyRecommendation.
 12792  	Key string `xml:"key" json:"key"`
 12793  	// A rating of the recommendation.
 12794  	//
 12795  	// Valid values range from 1 (lowest confidence) to 5 (highest confidence).
 12796  	Rating int32 `xml:"rating" json:"rating"`
 12797  	// A reason code explaining why this set of migrations is being suggested.
 12798  	Reason string `xml:"reason" json:"reason"`
 12799  	// Text that provides more information about the reason code for the suggested
 12800  	// set of migrations.
 12801  	ReasonText string `xml:"reasonText" json:"reasonText"`
 12802  	// Deprecated a more general `recommendation` list should be used. This recommendation type
 12803  	// and the migrationList is kept for backward compatibility.
 12804  	//
 12805  	// List of migrations in this recommendation and all the parent
 12806  	// recommendations on which this recommendation depends.
 12807  	//
 12808  	// All the
 12809  	// migrations in this list can be constructed from `ClusterRecommendation.prerequisite` and `ClusterRecommendation.action`.
 12810  	MigrationList []ClusterDrsMigration `xml:"migrationList" json:"migrationList"`
 12811  }
 12812  
 12813  func init() {
 12814  	t["ClusterDrsRecommendation"] = reflect.TypeOf((*ClusterDrsRecommendation)(nil)).Elem()
 12815  }
 12816  
 12817  // DRS configuration for a single virtual machine.
 12818  //
 12819  // This makes it possible
 12820  // to override the default behavior for an individual virtual machine.
 12821  type ClusterDrsVmConfigInfo struct {
 12822  	DynamicData
 12823  
 12824  	// Reference to the virtual machine.
 12825  	//
 12826  	// Refers instance of `VirtualMachine`.
 12827  	Key ManagedObjectReference `xml:"key" json:"key"`
 12828  	// Flag to indicate whether or not VirtualCenter is allowed to perform any
 12829  	// DRS migration or initial placement recommendations for this virtual
 12830  	// machine.
 12831  	//
 12832  	// If this flag is false, the virtual machine is effectively excluded from
 12833  	// DRS.
 12834  	//
 12835  	// If no individual DRS specification exists for a virtual machine,
 12836  	// this property defaults to true.
 12837  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12838  	// Specifies the particular DRS behavior for this virtual machine.
 12839  	//
 12840  	// See also `ClusterDrsConfigInfo`.
 12841  	Behavior DrsBehavior `xml:"behavior,omitempty" json:"behavior,omitempty"`
 12842  }
 12843  
 12844  func init() {
 12845  	t["ClusterDrsVmConfigInfo"] = reflect.TypeOf((*ClusterDrsVmConfigInfo)(nil)).Elem()
 12846  }
 12847  
 12848  // Updates the per-virtual-machine DRS configuration.
 12849  //
 12850  // To update the DRS configuration of a virtual machine, a copy of this object
 12851  // is included in the `ClusterConfigSpecEx` object passed to the method
 12852  // `ComputeResource.ReconfigureComputeResource_Task`.
 12853  //
 12854  // If _reconfigureEx_ is used to
 12855  // incrementally update the cluster configuration (i.e., the parameter `*modify*` is true),
 12856  // then three operations are provided for updating the DRS configuration for a virtual machine.
 12857  // These operations are listed below (see `ArrayUpdateSpec` for more
 12858  // information on these operations).
 12859  //   - add: add a configuration for the virtual machine, overwritting the existing
 12860  //     configuration if one exists
 12861  //   - edit: incrmentally update the existing configuration; an existing configuration
 12862  //     must exist
 12863  //   - remove: remove the existing configuration; an existing configuration must exist
 12864  //
 12865  // If, instead, this method is used to overwrite the cluster configuration (i.e., the parameter
 12866  // `*modify*` is false) thereby creating a new configuration, only the add operation is allowed.
 12867  // In this case, _add_ creates a DRS configuration for a virtual machine in the new cluster
 12868  // configuration.
 12869  type ClusterDrsVmConfigSpec struct {
 12870  	ArrayUpdateSpec
 12871  
 12872  	Info *ClusterDrsVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 12873  }
 12874  
 12875  func init() {
 12876  	t["ClusterDrsVmConfigSpec"] = reflect.TypeOf((*ClusterDrsVmConfigSpec)(nil)).Elem()
 12877  }
 12878  
 12879  type ClusterEVCManagerCheckResult struct {
 12880  	DynamicData
 12881  
 12882  	// The EVC mode being tested for legal application.
 12883  	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
 12884  	// A problem that would prevent applying the desired EVC mode.
 12885  	Error LocalizedMethodFault `xml:"error" json:"error"`
 12886  	// The set of hosts which would generate the fault described by the
 12887  	// `ClusterEVCManagerCheckResult.error` property when the desired EVC mode is applied.
 12888  	//
 12889  	// Refers instances of `HostSystem`.
 12890  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 12891  }
 12892  
 12893  func init() {
 12894  	t["ClusterEVCManagerCheckResult"] = reflect.TypeOf((*ClusterEVCManagerCheckResult)(nil)).Elem()
 12895  }
 12896  
 12897  type ClusterEVCManagerEVCState struct {
 12898  	DynamicData
 12899  
 12900  	// All supported EVC modes.
 12901  	//
 12902  	// Identical to
 12903  	// `Capability.supportedEVCMode`.
 12904  	SupportedEVCMode []EVCMode `xml:"supportedEVCMode" json:"supportedEVCMode"`
 12905  	// If unset, then EVC is disabled.
 12906  	//
 12907  	// If set, then EVC is enabled, and the
 12908  	// value references an EVC mode described in one of the elements of the
 12909  	// `ClusterEVCManagerEVCState.supportedEVCMode` array property. The EVC mode determines the
 12910  	// set of guaranteed clusterwide CPU features. While EVC is enabled, CPU
 12911  	// compatibility issues will not block any VMotion within the cluster
 12912  	// (unless some VM is specifically configured to do different CPUID
 12913  	// overrides).
 12914  	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty"`
 12915  	// Deprecated as of vSphere API 6.5 use `ClusterEVCManagerEVCState.featureCapability`.
 12916  	//
 12917  	// When EVC is enabled, this array contains the CPU feature bits that are
 12918  	// guaranteed (by EVC) to be the same among all hosts in the cluster.
 12919  	//
 12920  	// This property has the same value as the guaranteedCPUFeatures property
 12921  	// of the configured EVC mode. On any host in the EVC cluster, the CPU
 12922  	// features either naturally match these values because of the CPU
 12923  	// hardware, or else CPU feature override is used to mask out differences
 12924  	// and enforce a match. This array is empty when EVC is disabled.
 12925  	GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty" json:"guaranteedCPUFeatures,omitempty"`
 12926  	// When EVC is enabled, this array contains the feature capabilities that
 12927  	// are guaranteed (by EVC) to be the same among all hosts in the cluster.
 12928  	//
 12929  	// This property has the same value as the featureCapability property
 12930  	// of the configured EVC mode. On any host in the EVC cluster, the feature
 12931  	// capabilities either naturally match these values because of the CPU
 12932  	// hardware, or else feature masks are used to mask out differences and
 12933  	// enforce a match. This array is empty when EVC is disabled.
 12934  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
 12935  	// The masks (modifications to a host's feature capabilities) that limit a
 12936  	// host's capabilities to that of the EVC mode baseline.
 12937  	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty"`
 12938  	// The conditions that must be true of a host's feature capabilities in order
 12939  	// for the host to meet the minimum requirements of the EVC mode baseline.
 12940  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 12941  }
 12942  
 12943  func init() {
 12944  	t["ClusterEVCManagerEVCState"] = reflect.TypeOf((*ClusterEVCManagerEVCState)(nil)).Elem()
 12945  }
 12946  
 12947  type ClusterEnterMaintenanceMode ClusterEnterMaintenanceModeRequestType
 12948  
 12949  func init() {
 12950  	t["ClusterEnterMaintenanceMode"] = reflect.TypeOf((*ClusterEnterMaintenanceMode)(nil)).Elem()
 12951  }
 12952  
 12953  // The parameters of `ClusterComputeResource.ClusterEnterMaintenanceMode`.
 12954  type ClusterEnterMaintenanceModeRequestType struct {
 12955  	This ManagedObjectReference `xml:"_this" json:"-"`
 12956  	// The array of hosts to put into maintenance mode.
 12957  	//
 12958  	// Required privileges: Host.Config.Maintenance
 12959  	//
 12960  	// Refers instances of `HostSystem`.
 12961  	Host []ManagedObjectReference `xml:"host" json:"host"`
 12962  	// An array of `OptionValue`
 12963  	// options for this query. The specified options override the
 12964  	// advanced options in `ClusterDrsConfigInfo`.
 12965  	Option []BaseOptionValue                      `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12966  	Info   *ClusterComputeResourceMaintenanceInfo `xml:"info,omitempty" json:"info,omitempty" vim:"8.0.3.0"`
 12967  }
 12968  
 12969  func init() {
 12970  	t["ClusterEnterMaintenanceModeRequestType"] = reflect.TypeOf((*ClusterEnterMaintenanceModeRequestType)(nil)).Elem()
 12971  }
 12972  
 12973  type ClusterEnterMaintenanceModeResponse struct {
 12974  	Returnval ClusterEnterMaintenanceResult `xml:"returnval" json:"returnval"`
 12975  }
 12976  
 12977  // EnterMaintenanceResult is the base class of the result returned to the
 12978  // `ClusterComputeResource.ClusterEnterMaintenanceMode` method.
 12979  type ClusterEnterMaintenanceResult struct {
 12980  	DynamicData
 12981  
 12982  	// The list of recommendations for hosts that Virtual Center will
 12983  	// be able to evacuate.
 12984  	//
 12985  	// Each recommendation consists of a host
 12986  	// maintenance action `ClusterAction` for a host, along
 12987  	// with zero or more vmotions for evacuation. Application of the
 12988  	// recommendations is not supported currently. The client will have
 12989  	// to put the hosts into maintenance mode by calling the separate
 12990  	// method `HostSystem.EnterMaintenanceMode_Task`.
 12991  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 12992  	// The faults that explain why the Virtual Center cannot evacuate
 12993  	// some hosts.
 12994  	Fault *ClusterDrsFaults `xml:"fault,omitempty" json:"fault,omitempty"`
 12995  }
 12996  
 12997  func init() {
 12998  	t["ClusterEnterMaintenanceResult"] = reflect.TypeOf((*ClusterEnterMaintenanceResult)(nil)).Elem()
 12999  }
 13000  
 13001  // These are cluster events.
 13002  type ClusterEvent struct {
 13003  	Event
 13004  }
 13005  
 13006  func init() {
 13007  	t["ClusterEvent"] = reflect.TypeOf((*ClusterEvent)(nil)).Elem()
 13008  }
 13009  
 13010  // The current admission control related information if the cluster was configured
 13011  // with a FailoverHostAdmissionControlPolicy.
 13012  type ClusterFailoverHostAdmissionControlInfo struct {
 13013  	ClusterDasAdmissionControlInfo
 13014  
 13015  	// Status of the failover hosts in the cluster.
 13016  	HostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"hostStatus,omitempty" json:"hostStatus,omitempty"`
 13017  }
 13018  
 13019  func init() {
 13020  	t["ClusterFailoverHostAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfo)(nil)).Elem()
 13021  }
 13022  
 13023  // Data object containing the status of a failover host.
 13024  type ClusterFailoverHostAdmissionControlInfoHostStatus struct {
 13025  	DynamicData
 13026  
 13027  	// The failover host.
 13028  	//
 13029  	// Refers instance of `HostSystem`.
 13030  	Host ManagedObjectReference `xml:"host" json:"host"`
 13031  	// The status of the failover host.
 13032  	//
 13033  	// The status is green for a connected host with no vSphere HA errors and
 13034  	// no virtual machines running on it.
 13035  	// The status is yellow for a connected host with no vSphere HA errors and
 13036  	// some virtual machines running on it.
 13037  	// The status red for a disconnected or not responding host, a host that
 13038  	// is in maintenance or standby mode or that has a vSphere HA error on it.
 13039  	Status ManagedEntityStatus `xml:"status" json:"status"`
 13040  }
 13041  
 13042  func init() {
 13043  	t["ClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem()
 13044  }
 13045  
 13046  // The `ClusterFailoverHostAdmissionControlPolicy` dedicates
 13047  // one or more hosts for use during failover.
 13048  //
 13049  // When a host fails with this policy in place, vSphere HA attempts
 13050  // to restart its virtual machines on a dedicated failover host.
 13051  // If this is not possible, for example the failover host itself has failed
 13052  // or it has insufficient resources, HA attempts to restart those virtual
 13053  // machines on another host in the cluster.
 13054  //
 13055  // To support the availabilty of a failover host,
 13056  // the vCenter Server will prevent users from powering on virtual machines
 13057  // on that host, or from using vMotion to migrate virtual machines to the host.
 13058  // Also, DRS does not use the failover host for load balancing.
 13059  //
 13060  // To obtain the status of a failover host, use the
 13061  // `ClusterFailoverHostAdmissionControlInfo.hostStatus`
 13062  // property
 13063  // (`ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.admissionControlInfo*.*ClusterFailoverHostAdmissionControlInfo.hostStatus`).
 13064  type ClusterFailoverHostAdmissionControlPolicy struct {
 13065  	ClusterDasAdmissionControlPolicy
 13066  
 13067  	// List of managed object references to failover hosts.
 13068  	//
 13069  	// Refers instances of `HostSystem`.
 13070  	FailoverHosts []ManagedObjectReference `xml:"failoverHosts,omitempty" json:"failoverHosts,omitempty"`
 13071  	// Number of host failures that should be tolerated, still guaranteeing
 13072  	// sufficient resources to restart virtual machines on available hosts.
 13073  	//
 13074  	// If not set, we assume 1.
 13075  	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty"`
 13076  }
 13077  
 13078  func init() {
 13079  	t["ClusterFailoverHostAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlPolicy)(nil)).Elem()
 13080  }
 13081  
 13082  // The current admission control related information if the cluster was
 13083  // configured with a FailoverLevelAdmissionControlPolicy.
 13084  type ClusterFailoverLevelAdmissionControlInfo struct {
 13085  	ClusterDasAdmissionControlInfo
 13086  
 13087  	// Current failover level.
 13088  	//
 13089  	// This is the number of physical host failures that
 13090  	// can be tolerated without impacting the ability to satisfy the minimums for
 13091  	// all running virtual machines. This represents the current value, as
 13092  	// opposed to desired value configured by the user.
 13093  	CurrentFailoverLevel int32 `xml:"currentFailoverLevel" json:"currentFailoverLevel"`
 13094  }
 13095  
 13096  func init() {
 13097  	t["ClusterFailoverLevelAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlInfo)(nil)).Elem()
 13098  }
 13099  
 13100  // The `ClusterFailoverLevelAdmissionControlPolicy`
 13101  // defines the number of host failures that should be tolerated and still
 13102  // guarantee enough unfragmented resources to failover all powered on virtual
 13103  // machines on those failed hosts.
 13104  //
 13105  // When you use the failover level policy, vSphere HA partitions resources
 13106  // into slots. A slot represents the minimum CPU and memory resources
 13107  // that are required to support any powered-on virtual machine in the cluster.
 13108  //
 13109  // With the failover level policy in place, HA uses the following slot
 13110  // calculations to control virtual machine migration within the cluster:
 13111  //
 13112  //  1. Calculate the slot size from CPU and memory reservations.
 13113  //     The CPU value is the largest CPU reservation for all powered-on
 13114  //     virtual machines in the cluster. The memory value is the largest
 13115  //     memory reservation (plus memory overhead).
 13116  //
 13117  //     If your cluster contains any virtual machines that have much larger
 13118  //     reservations than the others, they will distort slot size calculation.
 13119  //     To avoid this, you can specify an upper bound for slot sizes;
 13120  //     use the configuration editor in the vSphere Client to set the
 13121  //     das.slotCpuInMHz and das.slotMemInMB attributes. When you use these
 13122  //     attributes, there is a risk that resource fragmentation will cause
 13123  //     virtual machines with resource requirements larger than the slot size
 13124  //     to be assigned multiple slots. In a cluster that is close to capacity,
 13125  //     there might be enough slots in aggregate for HA to successfully
 13126  //     failover a virtual machine. However, if those slots are located
 13127  //     on multiple hosts, a virtual machine assigned multiple slots cannot
 13128  //     use them because a virtual machine can run on only a single host
 13129  //     at a time.
 13130  //
 13131  //  2. Determine how many slots each host in the cluster can hold.
 13132  //     HA uses the CPU and memory resources in a host's root resource pool
 13133  //     to determine host slot capacity, not the total physical resources
 13134  //     of the host. Resources used for virtualization purposes are not
 13135  //     included. HA uses connected hosts that are not in maintenance mode
 13136  //     and that do not have any HA errors.
 13137  //
 13138  //     The CPU slot resource is the host CPU resource amount divided
 13139  //     by the CPU component of the slot size; the result is rounded down.
 13140  //     HA makes the same calculation for host memory resource amount.
 13141  //     HA compares the results; the lower of the two numbers is the
 13142  //     host slot capacity.
 13143  //
 13144  //  3. Determine the current failover capacity of the cluster. This is the
 13145  //     number of hosts (starting from the largest) that can fail and still
 13146  //     leave enough slots to satisfy all of the powered-on virtual machines.
 13147  //
 13148  //  4. Compare the current failover capacity to the configured
 13149  //     `ClusterFailoverLevelAdmissionControlPolicy.failoverLevel`.
 13150  //     If the current failover capacity is less than the configured
 13151  //     failover level, HA disallows the operation.
 13152  type ClusterFailoverLevelAdmissionControlPolicy struct {
 13153  	ClusterDasAdmissionControlPolicy
 13154  
 13155  	// Number of host failures that should be tolerated, still guaranteeing
 13156  	// sufficient resources to restart virtual machines on available hosts.
 13157  	FailoverLevel int32 `xml:"failoverLevel" json:"failoverLevel"`
 13158  	// A policy for how to compute the slot size.
 13159  	//
 13160  	// If left unset, the slot is
 13161  	// computed using the maximum reservations and memory overhead of any
 13162  	// powered on virtual machine in the cluster.
 13163  	SlotPolicy BaseClusterSlotPolicy `xml:"slotPolicy,omitempty,typeattr" json:"slotPolicy,omitempty"`
 13164  }
 13165  
 13166  func init() {
 13167  	t["ClusterFailoverLevelAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlPolicy)(nil)).Elem()
 13168  }
 13169  
 13170  // The current admission control related information if the cluster was configured
 13171  // with a FailoverResourcesAdmissionControlPolicy.
 13172  type ClusterFailoverResourcesAdmissionControlInfo struct {
 13173  	ClusterDasAdmissionControlInfo
 13174  
 13175  	// The percentage of cpu resources in the cluster available for failover.
 13176  	CurrentCpuFailoverResourcesPercent int32 `xml:"currentCpuFailoverResourcesPercent" json:"currentCpuFailoverResourcesPercent"`
 13177  	// The percentage of memory resources in the cluster available for failover.
 13178  	CurrentMemoryFailoverResourcesPercent int32 `xml:"currentMemoryFailoverResourcesPercent" json:"currentMemoryFailoverResourcesPercent"`
 13179  	// The percentage of persistent memory resources in the cluster available
 13180  	// for failover.
 13181  	CurrentPMemFailoverResourcesPercent int32 `xml:"currentPMemFailoverResourcesPercent,omitempty" json:"currentPMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
 13182  }
 13183  
 13184  func init() {
 13185  	t["ClusterFailoverResourcesAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlInfo)(nil)).Elem()
 13186  }
 13187  
 13188  // The `ClusterFailoverResourcesAdmissionControlPolicy`
 13189  // reserves a specified percentage of aggregate cluster resources for failover.
 13190  //
 13191  // With the resources failover policy in place, vSphere HA uses the following
 13192  // calculations to control virtual machine migration in the cluster.
 13193  //  1. Calculate the total resource requirements for all powered-on
 13194  //     virtual machines in the cluster.
 13195  //  2. Calculate the total host resources available for virtual machines.
 13196  //  3. Calculate the Current CPU failover capacity, memory failover
 13197  //     capacity and optionally, persistent memory failover capacity
 13198  //     for the cluster.
 13199  //  4. Compare the current CPU failover capacity and current memory failover
 13200  //     capacity with the configured resource percentages
 13201  //     (`ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent`
 13202  //     and
 13203  //     `ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent`).
 13204  //     If either current capacity is less than the corresponding configured
 13205  //     capacity, HA does not allow the operation.
 13206  //
 13207  // HA uses the actual reservations of the virtual machines. If a virtual machine
 13208  // does not have reservations, meaning that the reservation is 0, a default
 13209  // of 0MB memory and 256MHz CPU is applied. This is controlled by the same
 13210  // HA advanced options used for the failover level policy
 13211  // (`ClusterFailoverLevelAdmissionControlPolicy`).
 13212  type ClusterFailoverResourcesAdmissionControlPolicy struct {
 13213  	ClusterDasAdmissionControlPolicy
 13214  
 13215  	// Percentage of CPU resources in the cluster to reserve for failover.
 13216  	//
 13217  	// You can specify up to 100% of CPU resources for failover.
 13218  	CpuFailoverResourcesPercent int32 `xml:"cpuFailoverResourcesPercent" json:"cpuFailoverResourcesPercent"`
 13219  	// Percentage of memory resources in the cluster to reserve for failover.
 13220  	//
 13221  	// You can specify up to 100% of memory resources for failover.
 13222  	MemoryFailoverResourcesPercent int32 `xml:"memoryFailoverResourcesPercent" json:"memoryFailoverResourcesPercent"`
 13223  	// Number of host failures that should be tolerated, still guaranteeing
 13224  	// sufficient resources to restart virtual machines on available hosts.
 13225  	//
 13226  	// If not set, we assume 1.
 13227  	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty"`
 13228  	// Flag to enable user input values for
 13229  	// `ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent`
 13230  	// and
 13231  	// `ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent`
 13232  	// By default, this is true and the default calculation is using the
 13233  	// `ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel`
 13234  	// hosts' resources.
 13235  	//
 13236  	// If users want to override the percentage values,
 13237  	// they must disable the auto-compute by setting this field to false.
 13238  	AutoComputePercentages *bool `xml:"autoComputePercentages" json:"autoComputePercentages,omitempty"`
 13239  	// Percentage of persistent memory resources in the cluster to reserve for
 13240  	// the failover.
 13241  	//
 13242  	// You can specify up to 100% of persistent memory resources for failover.
 13243  	PMemFailoverResourcesPercent int32 `xml:"pMemFailoverResourcesPercent,omitempty" json:"pMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
 13244  	// Flag to enable user input values for
 13245  	// `ClusterFailoverResourcesAdmissionControlPolicy.pMemFailoverResourcesPercent`
 13246  	// By default, this is true and the default calculation is done using the
 13247  	// `ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel` hosts' resources.
 13248  	//
 13249  	// If a user wants to override the percentage values, they
 13250  	// must disable the auto-compute by setting this field to false.
 13251  	AutoComputePMemFailoverResourcesPercent *bool `xml:"autoComputePMemFailoverResourcesPercent" json:"autoComputePMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
 13252  }
 13253  
 13254  func init() {
 13255  	t["ClusterFailoverResourcesAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlPolicy)(nil)).Elem()
 13256  }
 13257  
 13258  // This policy allows setting a fixed slot size
 13259  type ClusterFixedSizeSlotPolicy struct {
 13260  	ClusterSlotPolicy
 13261  
 13262  	// The cpu component of the slot size (in MHz)
 13263  	Cpu int32 `xml:"cpu" json:"cpu"`
 13264  	// The memory component of the slot size (in megabytes)
 13265  	Memory int32 `xml:"memory" json:"memory"`
 13266  }
 13267  
 13268  func init() {
 13269  	t["ClusterFixedSizeSlotPolicy"] = reflect.TypeOf((*ClusterFixedSizeSlotPolicy)(nil)).Elem()
 13270  }
 13271  
 13272  // An `ClusterFtVmHostRuleInfo` object provides control of the
 13273  // placement of virtual machines across two host groups. The virtual machines
 13274  // and hosts referenced by an FT VM-Host rule must be in the same cluster.
 13275  //
 13276  // An FT VM-Host rule identifies the following groups.
 13277  //   - A virtual machine group name (`ClusterVmGroup`).
 13278  //   - An array of two host groups (`ClusterHostGroup`).
 13279  //
 13280  // `ClusterFtVmHostRuleInfo` stores only the names of the relevant
 13281  // virtual machine and host groups. The group contents are stored in
 13282  // the virtual machine and host group objects.
 13283  //
 13284  // When employing this rule, take care to ensure that the specified
 13285  // host groups have sufficient resources to support the requirements
 13286  // of all VMs specified.
 13287  type ClusterFtVmHostRuleInfo struct {
 13288  	ClusterRuleInfo
 13289  
 13290  	// Virtual machine group name
 13291  	// (`ClusterVmGroup*.*ClusterGroupInfo.name`).
 13292  	//
 13293  	// The named virtual machine group may have zero or more VMs.
 13294  	// A virtual machine in this group may be a normal virtual machine
 13295  	// or a fault tolerant primary virtual machine; it cannot
 13296  	// be a fault tolerant secondary virtual machine.
 13297  	//
 13298  	// Control of FT secondary virtual machines is implied by the presence
 13299  	// of the primary FT virtual machine.
 13300  	//
 13301  	// A virtual machine in this group should not be referenced in any other
 13302  	// FT VM-Host rule or VM-Host rule `ClusterVmHostRuleInfo`.
 13303  	VmGroupName string `xml:"vmGroupName" json:"vmGroupName"`
 13304  	// Array of two Host Groups (`ClusterHostGroup`).
 13305  	//
 13306  	// The hostGroup array must have two host groups. Each host group in the
 13307  	// hostGroup array will have a set of hosts. For each Fault Tolerance primary
 13308  	// VM that is part of VmGroup, the primary and secondary VMs would be placed
 13309  	// on hosts that are not part of the same host group.
 13310  	//
 13311  	// The members of each host group should be disjoint from the members
 13312  	// of all other host group specified.
 13313  	HostGroupName []string `xml:"hostGroupName,omitempty" json:"hostGroupName,omitempty"`
 13314  }
 13315  
 13316  func init() {
 13317  	t["ClusterFtVmHostRuleInfo"] = reflect.TypeOf((*ClusterFtVmHostRuleInfo)(nil)).Elem()
 13318  	minAPIVersionForType["ClusterFtVmHostRuleInfo"] = "8.0.3.0"
 13319  }
 13320  
 13321  // `ClusterGroupInfo` is the base type for all virtual machine
 13322  // and host groups.
 13323  //
 13324  // All virtual machines and hosts that are part of a group
 13325  // must be part of the same cluster.
 13326  type ClusterGroupInfo struct {
 13327  	DynamicData
 13328  
 13329  	// Unique name of the group.
 13330  	Name string `xml:"name" json:"name"`
 13331  	// Flag to indicate whether the group is created by the user or the system.
 13332  	UserCreated *bool `xml:"userCreated" json:"userCreated,omitempty"`
 13333  	// Unique ID for the group.
 13334  	//
 13335  	// uniqueID is unique within a cluster.
 13336  	// Groups residing in different clusters might share a uniqueID.
 13337  	UniqueID string `xml:"uniqueID,omitempty" json:"uniqueID,omitempty"`
 13338  }
 13339  
 13340  func init() {
 13341  	t["ClusterGroupInfo"] = reflect.TypeOf((*ClusterGroupInfo)(nil)).Elem()
 13342  }
 13343  
 13344  // An incremental update to the cluster-wide groups.
 13345  type ClusterGroupSpec struct {
 13346  	ArrayUpdateSpec
 13347  
 13348  	Info BaseClusterGroupInfo `xml:"info,omitempty,typeattr" json:"info,omitempty"`
 13349  }
 13350  
 13351  func init() {
 13352  	t["ClusterGroupSpec"] = reflect.TypeOf((*ClusterGroupSpec)(nil)).Elem()
 13353  }
 13354  
 13355  // The `ClusterHostGroup` data object identifies hosts for VM-Host rules.
 13356  //
 13357  // VM-Host rules determine placement of virtual machines on hosts in a cluster.
 13358  // The logic specified in a `ClusterVmHostRuleInfo` object
 13359  // determines where virtual machines can be powered-on.
 13360  type ClusterHostGroup struct {
 13361  	ClusterGroupInfo
 13362  
 13363  	// List of hosts that are part of this group.
 13364  	//
 13365  	// A host group can contain zero or more hosts.
 13366  	//
 13367  	// Refers instances of `HostSystem`.
 13368  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 13369  }
 13370  
 13371  func init() {
 13372  	t["ClusterHostGroup"] = reflect.TypeOf((*ClusterHostGroup)(nil)).Elem()
 13373  }
 13374  
 13375  // Describes a HostSystem's quarantine or maintenance mode change action.
 13376  type ClusterHostInfraUpdateHaModeAction struct {
 13377  	ClusterAction
 13378  
 13379  	// Specify the action type.
 13380  	//
 13381  	// Values are of type
 13382  	// `OperationType`.
 13383  	OperationType string `xml:"operationType" json:"operationType"`
 13384  }
 13385  
 13386  func init() {
 13387  	t["ClusterHostInfraUpdateHaModeAction"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeAction)(nil)).Elem()
 13388  }
 13389  
 13390  // Describes a single host power action.
 13391  type ClusterHostPowerAction struct {
 13392  	ClusterAction
 13393  
 13394  	// Specify whether the action is power on or power off
 13395  	OperationType HostPowerOperationType `xml:"operationType" json:"operationType"`
 13396  	// Estimated power consumption of the host.
 13397  	//
 13398  	// In case of power-on,
 13399  	// this is the projected increase in the cluster's power
 13400  	// consumption. In case of power off, this is the projected
 13401  	// decrease in the cluster's power consumption
 13402  	PowerConsumptionWatt int32 `xml:"powerConsumptionWatt,omitempty" json:"powerConsumptionWatt,omitempty"`
 13403  	// CPU capacity of the host in units of MHz.
 13404  	//
 13405  	// In case of power-on
 13406  	// action, this is the projected increase in the cluster's CPU
 13407  	// capacity. In case of power off, this is the projected decrease
 13408  	// in the cluster's CPU capacity.
 13409  	CpuCapacityMHz int32 `xml:"cpuCapacityMHz,omitempty" json:"cpuCapacityMHz,omitempty"`
 13410  	// Memory capacity of the host in units of MM.
 13411  	//
 13412  	// In case of power-on
 13413  	// action, this is the projected increase in the cluster's memory
 13414  	// capacity. In case of power off, this is the projected decrease
 13415  	// in the cluster's memory capacity.
 13416  	MemCapacityMB int32 `xml:"memCapacityMB,omitempty" json:"memCapacityMB,omitempty"`
 13417  }
 13418  
 13419  func init() {
 13420  	t["ClusterHostPowerAction"] = reflect.TypeOf((*ClusterHostPowerAction)(nil)).Elem()
 13421  }
 13422  
 13423  // A DRS recommended host for either powering on, resuming or
 13424  // reverting a virtual machine, or migrating a virtual machine from
 13425  // outside the cluster.
 13426  type ClusterHostRecommendation struct {
 13427  	DynamicData
 13428  
 13429  	// The recommended host.
 13430  	//
 13431  	// Refers instance of `HostSystem`.
 13432  	Host ManagedObjectReference `xml:"host" json:"host"`
 13433  	// Rating for the recommendation.
 13434  	//
 13435  	// Ratings range from 1 to 5, and
 13436  	// the higher the rating, the stronger DRS suggests this host is
 13437  	// picked for the operation.
 13438  	Rating int32 `xml:"rating" json:"rating"`
 13439  }
 13440  
 13441  func init() {
 13442  	t["ClusterHostRecommendation"] = reflect.TypeOf((*ClusterHostRecommendation)(nil)).Elem()
 13443  }
 13444  
 13445  // Configuration of the vSphere InfraUpdateHA service.
 13446  //
 13447  // All fields are defined as optional. In case of a reconfiguration,
 13448  // unset fields are not changed.
 13449  type ClusterInfraUpdateHaConfigInfo struct {
 13450  	DynamicData
 13451  
 13452  	// Flag indicating whether or not the service is enabled.
 13453  	//
 13454  	// InfraUpdateHA
 13455  	// will not be active, unless DRS is enabled as well.
 13456  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 13457  	// Configured behavior.
 13458  	//
 13459  	// Values are of type
 13460  	// `BehaviorType`.
 13461  	Behavior string `xml:"behavior,omitempty" json:"behavior,omitempty"`
 13462  	// Configured remediation for moderately degraded hosts.
 13463  	//
 13464  	// Values are of type
 13465  	// `RemediationType`.
 13466  	// Configuring MaintenanceMode for moderateRemedation and QuarantineMode for
 13467  	// severeRemediation is not supported and will throw InvalidArgument.
 13468  	ModerateRemediation string `xml:"moderateRemediation,omitempty" json:"moderateRemediation,omitempty"`
 13469  	// Configured remediation for severely degraded hosts.
 13470  	//
 13471  	// Values are of type
 13472  	// `RemediationType`.
 13473  	SevereRemediation string `xml:"severeRemediation,omitempty" json:"severeRemediation,omitempty"`
 13474  	// The list of health update providers configured for this cluster.
 13475  	//
 13476  	// Providers are identified by their id.
 13477  	//
 13478  	// When reconfiguring the cluster, a list with a single element {""} will
 13479  	// clear the list of providers.
 13480  	//
 13481  	// If the provider list is empty, InfraUpdateHA will not be active.
 13482  	Providers []string `xml:"providers,omitempty" json:"providers,omitempty"`
 13483  }
 13484  
 13485  func init() {
 13486  	t["ClusterInfraUpdateHaConfigInfo"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfo)(nil)).Elem()
 13487  }
 13488  
 13489  // Describes an initial placement of a single virtual machine
 13490  type ClusterInitialPlacementAction struct {
 13491  	ClusterAction
 13492  
 13493  	// The host where the virtual machine should be initially placed.
 13494  	//
 13495  	// Refers instance of `HostSystem`.
 13496  	TargetHost ManagedObjectReference `xml:"targetHost" json:"targetHost"`
 13497  	// The resource pool to place the virtual machine into in case this
 13498  	// action is for migrating from outside cluster.
 13499  	//
 13500  	// Refers instance of `ResourcePool`.
 13501  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 13502  }
 13503  
 13504  func init() {
 13505  	t["ClusterInitialPlacementAction"] = reflect.TypeOf((*ClusterInitialPlacementAction)(nil)).Elem()
 13506  }
 13507  
 13508  // Information about an IO Filter on a compute resource.
 13509  //
 13510  // On vLCM managed cluster, this contains information
 13511  // about iofilter at solution level. So, iofilter
 13512  // information properties output on a compute resource
 13513  // can differ from the hosts on a vLCM cluster.
 13514  type ClusterIoFilterInfo struct {
 13515  	IoFilterInfo
 13516  
 13517  	// The operation that was performed for the IO Filter.
 13518  	//
 13519  	// The set of possible values are described in
 13520  	// `IoFilterOperation_enum`.
 13521  	// If opType is `uninstall`,
 13522  	// and the uninstallation of the filter was sucessful on all the hosts
 13523  	// in the cluster, the filter will be removed from the cluster's filter
 13524  	// list.
 13525  	OpType string `xml:"opType" json:"opType"`
 13526  	// The URL of the VIB package that the IO Filter is installed from.
 13527  	//
 13528  	// The property is unset if the information is not available.
 13529  	VibUrl string `xml:"vibUrl,omitempty" json:"vibUrl,omitempty"`
 13530  }
 13531  
 13532  func init() {
 13533  	t["ClusterIoFilterInfo"] = reflect.TypeOf((*ClusterIoFilterInfo)(nil)).Elem()
 13534  }
 13535  
 13536  // Describes a single VM migration action.
 13537  type ClusterMigrationAction struct {
 13538  	ClusterAction
 13539  
 13540  	// The details of the migration action
 13541  	DrsMigration *ClusterDrsMigration `xml:"drsMigration,omitempty" json:"drsMigration,omitempty"`
 13542  }
 13543  
 13544  func init() {
 13545  	t["ClusterMigrationAction"] = reflect.TypeOf((*ClusterMigrationAction)(nil)).Elem()
 13546  }
 13547  
 13548  // The Cluster network config spec allows specification of
 13549  // the second network adapter is used for communication between
 13550  // the nodes of a VCHA cluster.
 13551  type ClusterNetworkConfigSpec struct {
 13552  	DynamicData
 13553  
 13554  	// The portgroup that is associated with the VCHA Cluster IP
 13555  	// address for VCHA cluster traffic for the second adapter to be
 13556  	// added to the Active vCenter.
 13557  	//
 13558  	// Refers instance of `Network`.
 13559  	NetworkPortGroup ManagedObjectReference `xml:"networkPortGroup" json:"networkPortGroup"`
 13560  	// VCHA Cluster network configuration of the node.
 13561  	//
 13562  	// All cluster communication (state replication, heartbeat,
 13563  	// cluster messages) happens over this network.
 13564  	// Only a single Gateway IPv4 Address is supported.
 13565  	// IPAddress and NetMask must be specified or an InvalidArgument
 13566  	// exception will be reported.
 13567  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 13568  }
 13569  
 13570  func init() {
 13571  	t["ClusterNetworkConfigSpec"] = reflect.TypeOf((*ClusterNetworkConfigSpec)(nil)).Elem()
 13572  }
 13573  
 13574  // This data class reports one virtual machine powerOn failure.
 13575  type ClusterNotAttemptedVmInfo struct {
 13576  	DynamicData
 13577  
 13578  	// The virtual machine that can not be powered on.
 13579  	//
 13580  	// Refers instance of `VirtualMachine`.
 13581  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 13582  	// The exception returned.
 13583  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 13584  }
 13585  
 13586  func init() {
 13587  	t["ClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ClusterNotAttemptedVmInfo)(nil)).Elem()
 13588  }
 13589  
 13590  // vSphere cluster VM orchestration settings.
 13591  //
 13592  // Used by vSphere HA when restarting failed VMs. For example, if a host
 13593  // fails, vSphere HA identifies the list of VMs to be restarted. The order in
 13594  // which the failed VMs to be restarted is determined by:
 13595  //   - VM restart priority setting (`ClusterDasVmSettings.restartPriority`).
 13596  //     Lower priority VMs are restarted only after higher priority VMs are
 13597  //     restarted and ready (`ClusterVmReadiness`).
 13598  //   - VM dependency rule (`ClusterDependencyRuleInfo`). If a VM
 13599  //     depends on other VMs, then it will be restarted only after all the VMs in
 13600  //     its dependency list are ready. Cyclic dependency is not permitted across
 13601  //     VMs. Also, higher priority VMs cannot depend on lower priority VMs.
 13602  type ClusterOrchestrationInfo struct {
 13603  	DynamicData
 13604  
 13605  	// Cluster-wide defaults for virtual machine readiness
 13606  	DefaultVmReadiness *ClusterVmReadiness `xml:"defaultVmReadiness,omitempty" json:"defaultVmReadiness,omitempty"`
 13607  }
 13608  
 13609  func init() {
 13610  	t["ClusterOrchestrationInfo"] = reflect.TypeOf((*ClusterOrchestrationInfo)(nil)).Elem()
 13611  }
 13612  
 13613  // This event records when a cluster's host capacity cannot satisfy resource
 13614  // configuration constraints.
 13615  type ClusterOvercommittedEvent struct {
 13616  	ClusterEvent
 13617  }
 13618  
 13619  func init() {
 13620  	t["ClusterOvercommittedEvent"] = reflect.TypeOf((*ClusterOvercommittedEvent)(nil)).Elem()
 13621  }
 13622  
 13623  // PowerOnVmResult is the base class of the result returned to the
 13624  // `Datacenter.PowerOnMultiVM_Task` method.
 13625  type ClusterPowerOnVmResult struct {
 13626  	DynamicData
 13627  
 13628  	// The list of virtual machines the Virtual Center has attempted to power on.
 13629  	//
 13630  	// For a virtual machine not managed by DRS, a task ID is also returned.
 13631  	Attempted []ClusterAttemptedVmInfo `xml:"attempted,omitempty" json:"attempted,omitempty"`
 13632  	// The list of virtual machines DRS can not find suitable hosts for powering on.
 13633  	//
 13634  	// There is one fault associated with each virtual machine.
 13635  	NotAttempted []ClusterNotAttemptedVmInfo `xml:"notAttempted,omitempty" json:"notAttempted,omitempty"`
 13636  	// The list of recommendations that need the client to approve manually.
 13637  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 13638  }
 13639  
 13640  func init() {
 13641  	t["ClusterPowerOnVmResult"] = reflect.TypeOf((*ClusterPowerOnVmResult)(nil)).Elem()
 13642  }
 13643  
 13644  // The `ClusterPreemptibleVmPairInfo` data object contains the monitored and the
 13645  // preemptible VM pair in a HA-enabled cluster.
 13646  //
 13647  // Monitored virtual machine is a desired protected virtual machine in
 13648  // HA-enabled cluster when it is powered on. Any failures of this VM will
 13649  // continue to be handled by HA based on the VM's settings in cluster.
 13650  //
 13651  // Preemptible virtual machine is the desired protected virtual machine in HA
 13652  // when it is powered on. The lowest restart priority "disabled"
 13653  // `ClusterDasVmSettingsRestartPriority_enum` will be enforced for the
 13654  // `ClusterPreemptibleVmPairInfo.preemptibleVm`. A virtual machine can be marked as preemptible
 13655  // irrespective of its `powerState` but its
 13656  // extra configuration should identify it as preemptible.
 13657  //
 13658  // In case of failure of `ClusterPreemptibleVmPairInfo.monitoredVm`, the `ClusterPreemptibleVmPairInfo.preemptibleVm` will
 13659  // be terminated. This will free up any resources associated with
 13660  // `ClusterPreemptibleVmPairInfo.preemptibleVm`.
 13661  //
 13662  // In case of insufficient resources for failover of any VM in the cluster, the
 13663  // `ClusterPreemptibleVmPairInfo.preemptibleVm` will be terminated to free up resources.
 13664  //
 13665  // This data object is intended for VMware use and other usage is not
 13666  // supported. This data object will be removed in a future release.
 13667  type ClusterPreemptibleVmPairInfo struct {
 13668  	DynamicData
 13669  
 13670  	// Server-assigned unique ID for pairs.
 13671  	//
 13672  	// When adding a new pair, do not
 13673  	// specify this property. The server will assign the key and any assigned
 13674  	// value will be ignored.
 13675  	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
 13676  	// The virtual machine whose failure will cause the virtual machine specified
 13677  	// by `ClusterPreemptibleVmPairInfo.preemptibleVm` to be terminated.
 13678  	//
 13679  	// Refers instance of `VirtualMachine`.
 13680  	MonitoredVm ManagedObjectReference `xml:"monitoredVm" json:"monitoredVm"`
 13681  	// The preemptible virtual machine associated with the virtual machine
 13682  	// specified as `ClusterPreemptibleVmPairInfo.monitoredVm`.
 13683  	//
 13684  	// Refers instance of `VirtualMachine`.
 13685  	PreemptibleVm ManagedObjectReference `xml:"preemptibleVm" json:"preemptibleVm"`
 13686  }
 13687  
 13688  func init() {
 13689  	t["ClusterPreemptibleVmPairInfo"] = reflect.TypeOf((*ClusterPreemptibleVmPairInfo)(nil)).Elem()
 13690  	minAPIVersionForType["ClusterPreemptibleVmPairInfo"] = "8.0.0.1"
 13691  }
 13692  
 13693  // Provides monitored and preemptible VM pair along with any of the operations
 13694  // (add, edit or remove) to append, modify or remove this pair info from
 13695  // `ClusterPreemptibleVmPairInfo` list.
 13696  //
 13697  // This data object is intended for VMware use and other usage is not supported.
 13698  // This data object will be removed in a future release.
 13699  type ClusterPreemptibleVmPairSpec struct {
 13700  	ArrayUpdateSpec
 13701  
 13702  	Info *ClusterPreemptibleVmPairInfo `xml:"info,omitempty" json:"info,omitempty"`
 13703  }
 13704  
 13705  func init() {
 13706  	t["ClusterPreemptibleVmPairSpec"] = reflect.TypeOf((*ClusterPreemptibleVmPairSpec)(nil)).Elem()
 13707  	minAPIVersionForType["ClusterPreemptibleVmPairSpec"] = "8.0.0.1"
 13708  }
 13709  
 13710  type ClusterProactiveDrsConfigInfo struct {
 13711  	DynamicData
 13712  
 13713  	// Flag indicating whether or not the service is enabled.
 13714  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 13715  }
 13716  
 13717  func init() {
 13718  	t["ClusterProactiveDrsConfigInfo"] = reflect.TypeOf((*ClusterProactiveDrsConfigInfo)(nil)).Elem()
 13719  }
 13720  
 13721  // DataObject completely specifying the configuration of
 13722  // the profile.
 13723  type ClusterProfileCompleteConfigSpec struct {
 13724  	ClusterProfileConfigSpec
 13725  
 13726  	// User defined compliance profile for the cluster.
 13727  	//
 13728  	// If unset, clear the complyProfile.
 13729  	ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty" json:"complyProfile,omitempty"`
 13730  }
 13731  
 13732  func init() {
 13733  	t["ClusterProfileCompleteConfigSpec"] = reflect.TypeOf((*ClusterProfileCompleteConfigSpec)(nil)).Elem()
 13734  }
 13735  
 13736  type ClusterProfileConfigInfo struct {
 13737  	ProfileConfigInfo
 13738  
 13739  	// Compliance profile for the cluster
 13740  	ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty" json:"complyProfile,omitempty"`
 13741  }
 13742  
 13743  func init() {
 13744  	t["ClusterProfileConfigInfo"] = reflect.TypeOf((*ClusterProfileConfigInfo)(nil)).Elem()
 13745  }
 13746  
 13747  // DataObject which allows reconfiguration of a profile
 13748  // based on services that will be available on the cluster.
 13749  type ClusterProfileConfigServiceCreateSpec struct {
 13750  	ClusterProfileConfigSpec
 13751  
 13752  	// Type of the service for which the ClusterProfile is being requested.
 13753  	//
 13754  	// If more than one service is specified, the created ClusterProfile
 13755  	// will cater for all the services.
 13756  	// Possible values are specified by
 13757  	// `ClusterProfileServiceType_enum`.
 13758  	// If unset, clear the compliance expressions on the profile.
 13759  	ServiceType []string `xml:"serviceType,omitempty" json:"serviceType,omitempty"`
 13760  }
 13761  
 13762  func init() {
 13763  	t["ClusterProfileConfigServiceCreateSpec"] = reflect.TypeOf((*ClusterProfileConfigServiceCreateSpec)(nil)).Elem()
 13764  }
 13765  
 13766  // DataObject which is a baseclass for other configuration
 13767  // specifications.
 13768  type ClusterProfileConfigSpec struct {
 13769  	ClusterProfileCreateSpec
 13770  }
 13771  
 13772  func init() {
 13773  	t["ClusterProfileConfigSpec"] = reflect.TypeOf((*ClusterProfileConfigSpec)(nil)).Elem()
 13774  }
 13775  
 13776  // Base class for Cluster CreateSpecs
 13777  type ClusterProfileCreateSpec struct {
 13778  	ProfileCreateSpec
 13779  }
 13780  
 13781  func init() {
 13782  	t["ClusterProfileCreateSpec"] = reflect.TypeOf((*ClusterProfileCreateSpec)(nil)).Elem()
 13783  }
 13784  
 13785  // Recommendation is the base class for any packaged group of
 13786  // actions that are intended to take the system from one
 13787  // state to another one.
 13788  type ClusterRecommendation struct {
 13789  	DynamicData
 13790  
 13791  	// Key to identify the recommendation when calling applyRecommendation.
 13792  	Key string `xml:"key" json:"key"`
 13793  	// Type of the recommendation.
 13794  	//
 13795  	// This differentiates between various
 13796  	// of recommendations aimed at achieving different goals.
 13797  	Type string `xml:"type" json:"type"`
 13798  	// The time this recommendation was computed.
 13799  	Time time.Time `xml:"time" json:"time"`
 13800  	// A rating of the recommendation.
 13801  	//
 13802  	// Valid values range from 1 (lowest confidence) to 5 (highest confidence).
 13803  	Rating int32 `xml:"rating" json:"rating"`
 13804  	// A reason code explaining why this set of migrations is being suggested.
 13805  	Reason string `xml:"reason" json:"reason"`
 13806  	// Text that provides more information about the reason code for the suggested
 13807  	// set of migrations.
 13808  	ReasonText string `xml:"reasonText" json:"reasonText"`
 13809  	// Text that provides warnings about potential adverse implications of
 13810  	// applying this recommendation
 13811  	WarningText string `xml:"warningText,omitempty" json:"warningText,omitempty"`
 13812  	// Warning about potential adverse implications of applying a recommendation
 13813  	WarningDetails *LocalizableMessage `xml:"warningDetails,omitempty" json:"warningDetails,omitempty"`
 13814  	// This recommendation may depend on some other recommendations.
 13815  	//
 13816  	// The prerequisite recommendations are listed by their keys.
 13817  	Prerequisite []string `xml:"prerequisite,omitempty" json:"prerequisite,omitempty"`
 13818  	// List of actions that are executed as part of this recommendation
 13819  	Action []BaseClusterAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
 13820  	// The target object of this recommendation.
 13821  	Target *ManagedObjectReference `xml:"target,omitempty" json:"target,omitempty"`
 13822  }
 13823  
 13824  func init() {
 13825  	t["ClusterRecommendation"] = reflect.TypeOf((*ClusterRecommendation)(nil)).Elem()
 13826  }
 13827  
 13828  // This event records when a cluster is reconfigured.
 13829  type ClusterReconfiguredEvent struct {
 13830  	ClusterEvent
 13831  
 13832  	// The configuration values changed during the reconfiguration.
 13833  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 13834  }
 13835  
 13836  func init() {
 13837  	t["ClusterReconfiguredEvent"] = reflect.TypeOf((*ClusterReconfiguredEvent)(nil)).Elem()
 13838  }
 13839  
 13840  // This class contains cpu, memory and storage usage information at cluster
 13841  // level.
 13842  type ClusterResourceUsageSummary struct {
 13843  	DynamicData
 13844  
 13845  	CpuUsedMHz        int32 `xml:"cpuUsedMHz" json:"cpuUsedMHz"`
 13846  	CpuCapacityMHz    int32 `xml:"cpuCapacityMHz" json:"cpuCapacityMHz"`
 13847  	MemUsedMB         int32 `xml:"memUsedMB" json:"memUsedMB"`
 13848  	MemCapacityMB     int32 `xml:"memCapacityMB" json:"memCapacityMB"`
 13849  	PMemAvailableMB   int64 `xml:"pMemAvailableMB,omitempty" json:"pMemAvailableMB,omitempty"`
 13850  	PMemCapacityMB    int64 `xml:"pMemCapacityMB,omitempty" json:"pMemCapacityMB,omitempty"`
 13851  	StorageUsedMB     int64 `xml:"storageUsedMB" json:"storageUsedMB"`
 13852  	StorageCapacityMB int64 `xml:"storageCapacityMB" json:"storageCapacityMB"`
 13853  }
 13854  
 13855  func init() {
 13856  	t["ClusterResourceUsageSummary"] = reflect.TypeOf((*ClusterResourceUsageSummary)(nil)).Elem()
 13857  }
 13858  
 13859  // The `ClusterRuleInfo` data object is the base type for affinity
 13860  // and anti-affinity rules.
 13861  //
 13862  // The affinity and anti-affinity rules
 13863  // are DRS (Distributed Resource Scheduling) rules that affect the placement
 13864  // of virtual machines in a cluster. Hosts and virtual machines referenced
 13865  // in a DRS rule must be in the same cluster.
 13866  //
 13867  // Note: DRS rules are different than an individual host's CPU affinity rules
 13868  // (`VirtualMachineAffinityInfo`).
 13869  //
 13870  // The Server uses DRS rule objects to describe the current rule configuration
 13871  // (`ClusterConfigInfoEx*.*ClusterConfigInfoEx.rule`).
 13872  // Your client application uses rule objects to configure the affinity and
 13873  // anti-affinity rules
 13874  // (`ClusterConfigSpecEx*.*ClusterConfigSpecEx.rulesSpec`).
 13875  //
 13876  // You can create the following types of rules:
 13877  //   - An affinity rule defines a set of virtual machines that should run
 13878  //     on the same host.
 13879  //     The `ClusterAffinityRuleSpec` object describes a rule that
 13880  //     identifies virtual machines, but does not identify any specific host.
 13881  //   - An anti-affinity rule defines a set of virtual machines that should run
 13882  //     on different hosts.
 13883  //     The `ClusterAntiAffinityRuleSpec` object describes a rule that
 13884  //     identifies virtual machines, but does not identify any specific host.
 13885  //   - A VM-Host rule defines affinity and anti-affinity relationships between
 13886  //     virtual machines and hosts.
 13887  //     The `ClusterVmHostRuleInfo` object describes a rule that identifies
 13888  //     a virtual machine group (`ClusterVmGroup`) and affinity and
 13889  //     anti-affinity host groups (`ClusterHostGroup`).
 13890  //
 13891  // Rule configuration is a dynamic process. When you create or modify a DRS rule,
 13892  // the Server applies the rule to the cluster. If the existing cluster configuration
 13893  // violates the rule, the Server attempts to correct the situation. If that is not
 13894  // possible, the Server generates a fault and produces a log event.
 13895  // DRS rules do not have precedence; all rules are applied equally.
 13896  // DRS does not validate one rule against another. If you create conflicting
 13897  // rules, the older rule takes precedence and DRS disables the newer rule.
 13898  //
 13899  // Improperly used, DRS rules can fragment the cluster and inhibit the proper
 13900  // functioning of DRS, HA, and DPM services. vSphere services never
 13901  // take any actions that would result in the violation of mandatory DRS rules.
 13902  // An operation that violates a mandatory rule would produce the following
 13903  // consequences.
 13904  //   - DRS does not evacuate virtual machines to place a host in maintenance
 13905  //     mode.
 13906  //   - DRS does not place virtual machines for power-on or load balance virtual
 13907  //     machines.
 13908  //   - HA does not perform failovers.
 13909  //   - DPM does not optimize power management by placing hosts into standby
 13910  //     mode.
 13911  //
 13912  // To avoid these situations, exercise caution when creating more than one
 13913  // mandatory rule, or consider using only optional rules. Make sure that
 13914  // the number of hosts with which a virtual machine is related by affinity rule
 13915  // is large enough that losing a host does not prevent the virtual machine
 13916  // from running.
 13917  //
 13918  // For manual and partially automated DRS clusters, the Server produces migration
 13919  // recommendations to satisfy the DRS rules. You are not required to act on the
 13920  // recommendations, but the Server maintains the recommendations until the rules
 13921  // are satisfied.
 13922  type ClusterRuleInfo struct {
 13923  	DynamicData
 13924  
 13925  	// Unique ID for rules.
 13926  	//
 13927  	// When adding a new rule, do not specify this property.
 13928  	// The Server will assign the key.
 13929  	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
 13930  	// Flag to indicate whether or not the rule is currently satisfied.
 13931  	Status ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
 13932  	// Flag to indicate whether or not the rule is enabled.
 13933  	//
 13934  	// Set this property
 13935  	// when you configure the rule. The default value is false (disabled).
 13936  	// If there is a rule conflict, the Server can override the setting to disable
 13937  	// a rule.
 13938  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 13939  	// Name of the rule.
 13940  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 13941  	// Flag to indicate whether compliance with this rule is mandatory or optional.
 13942  	//
 13943  	// The default value is false (optional).
 13944  	//   - A mandatory rule will prevent a virtual machine from being powered on
 13945  	//     or migrated to a host that does not satisfy the rule.
 13946  	//   - An optional rule specifies a preference. DRS takes an optional rule
 13947  	//     into consideration when it places a virtual machine in the cluster.
 13948  	//     DRS will act on an optional rule as long as it does not impact
 13949  	//     the ability of the host to satisfy current CPU or memory requirements
 13950  	//     for virtual machines on the system. (As long as the operation does not
 13951  	//     cause any host to be more than 100% utilized.)
 13952  	Mandatory *bool `xml:"mandatory" json:"mandatory,omitempty"`
 13953  	// Flag to indicate whether the rule is created by the user or the system.
 13954  	UserCreated *bool `xml:"userCreated" json:"userCreated,omitempty"`
 13955  	// Flag to indicate whether or not the placement of Virtual Machines is currently
 13956  	// in compliance with this rule.
 13957  	//
 13958  	// The Server does not currently use this property.
 13959  	InCompliance *bool `xml:"inCompliance" json:"inCompliance,omitempty"`
 13960  	// UUID for the rule.
 13961  	//
 13962  	// When adding a new rule, do not specify this
 13963  	// property. The Server will assign the key.
 13964  	RuleUuid string `xml:"ruleUuid,omitempty" json:"ruleUuid,omitempty"`
 13965  }
 13966  
 13967  func init() {
 13968  	t["ClusterRuleInfo"] = reflect.TypeOf((*ClusterRuleInfo)(nil)).Elem()
 13969  }
 13970  
 13971  // An incremental update to the cluster rules.
 13972  type ClusterRuleSpec struct {
 13973  	ArrayUpdateSpec
 13974  
 13975  	Info BaseClusterRuleInfo `xml:"info,omitempty,typeattr" json:"info,omitempty"`
 13976  }
 13977  
 13978  func init() {
 13979  	t["ClusterRuleSpec"] = reflect.TypeOf((*ClusterRuleSpec)(nil)).Elem()
 13980  }
 13981  
 13982  // The base class `ClusterSlotPolicy` is used for specifying how
 13983  // the slot size is to be computed for the failover level HA admission control
 13984  // policy.
 13985  //
 13986  // By default, vSphere HA defines the slot size using the largest memory
 13987  // and cpu reservations of any powered on virtual machine in the cluster.
 13988  // Subclasses of this class define various policies to modify how the slot size
 13989  // is chosen to prevent outlier virtual machines (i.e. those with much larger
 13990  // reservations than the average) from skewing the slot size. If such a policy is chosen,
 13991  // outlier virtual machines will use multiple slots. Using such a policy introduces
 13992  // a risk that vSphere HA will be unable to failover these virtual machines because
 13993  // of resource fragmentation.
 13994  type ClusterSlotPolicy struct {
 13995  	DynamicData
 13996  }
 13997  
 13998  func init() {
 13999  	t["ClusterSlotPolicy"] = reflect.TypeOf((*ClusterSlotPolicy)(nil)).Elem()
 14000  }
 14001  
 14002  // This event records when a cluster's overall status changed.
 14003  type ClusterStatusChangedEvent struct {
 14004  	ClusterEvent
 14005  
 14006  	// The old (`status`).
 14007  	OldStatus string `xml:"oldStatus" json:"oldStatus"`
 14008  	// The new (`status`).
 14009  	NewStatus string `xml:"newStatus" json:"newStatus"`
 14010  }
 14011  
 14012  func init() {
 14013  	t["ClusterStatusChangedEvent"] = reflect.TypeOf((*ClusterStatusChangedEvent)(nil)).Elem()
 14014  }
 14015  
 14016  // Configuration for System VMs deployment.
 14017  type ClusterSystemVMsConfigInfo struct {
 14018  	DynamicData
 14019  
 14020  	// The only datastores which can be used for System VMs deployment.
 14021  	//
 14022  	// Refers instances of `Datastore`.
 14023  	AllowedDatastores []ManagedObjectReference `xml:"allowedDatastores,omitempty" json:"allowedDatastores,omitempty"`
 14024  	// Datastores which cannot be used for System VMs deployment.
 14025  	//
 14026  	// Refers instances of `Datastore`.
 14027  	NotAllowedDatastores []ManagedObjectReference `xml:"notAllowedDatastores,omitempty" json:"notAllowedDatastores,omitempty"`
 14028  	// Tag categories identifying datastores, which cannot be used for System VMs
 14029  	// deployment.
 14030  	DsTagCategoriesToExclude []string `xml:"dsTagCategoriesToExclude,omitempty" json:"dsTagCategoriesToExclude,omitempty"`
 14031  	// The System VM deployment mode for vSphere clusters.
 14032  	//
 14033  	// Supported values are enumerated by the
 14034  	// `DeploymentMode`
 14035  	// type.
 14036  	// An unset value implies SYSTEM\_MANAGED,
 14037  	// unless the cluster is put in "Retreat Mode".
 14038  	DeploymentMode string `xml:"deploymentMode,omitempty" json:"deploymentMode,omitempty" vim:"8.0.2.0"`
 14039  }
 14040  
 14041  func init() {
 14042  	t["ClusterSystemVMsConfigInfo"] = reflect.TypeOf((*ClusterSystemVMsConfigInfo)(nil)).Elem()
 14043  	minAPIVersionForType["ClusterSystemVMsConfigInfo"] = "7.0.3.0"
 14044  }
 14045  
 14046  // Configuration for System VMs deployment.
 14047  type ClusterSystemVMsConfigSpec struct {
 14048  	DynamicData
 14049  
 14050  	// The only datastores which can be used for System VMs deployment.
 14051  	AllowedDatastores []ClusterDatastoreUpdateSpec `xml:"allowedDatastores,omitempty" json:"allowedDatastores,omitempty"`
 14052  	// Datastores which cannot be used for System VMs deployment.
 14053  	NotAllowedDatastores []ClusterDatastoreUpdateSpec `xml:"notAllowedDatastores,omitempty" json:"notAllowedDatastores,omitempty"`
 14054  	// Tag categories identifying datastores, which cannot be used for System VMs
 14055  	// deployment.
 14056  	DsTagCategoriesToExclude []ClusterTagCategoryUpdateSpec `xml:"dsTagCategoriesToExclude,omitempty" json:"dsTagCategoriesToExclude,omitempty"`
 14057  	// The System VM deployment mode for vSphere clusters.
 14058  	//
 14059  	// Supported values are enumerated by the
 14060  	// `DeploymentMode`
 14061  	// type.
 14062  	// Providing an unset value does not modify deploymentMode.
 14063  	DeploymentMode string `xml:"deploymentMode,omitempty" json:"deploymentMode,omitempty" vim:"8.0.2.0"`
 14064  }
 14065  
 14066  func init() {
 14067  	t["ClusterSystemVMsConfigSpec"] = reflect.TypeOf((*ClusterSystemVMsConfigSpec)(nil)).Elem()
 14068  	minAPIVersionForType["ClusterSystemVMsConfigSpec"] = "7.0.3.0"
 14069  }
 14070  
 14071  // An incremental update to a TagCategory list.
 14072  type ClusterTagCategoryUpdateSpec struct {
 14073  	ArrayUpdateSpec
 14074  
 14075  	Category string `xml:"category,omitempty" json:"category,omitempty"`
 14076  }
 14077  
 14078  func init() {
 14079  	t["ClusterTagCategoryUpdateSpec"] = reflect.TypeOf((*ClusterTagCategoryUpdateSpec)(nil)).Elem()
 14080  	minAPIVersionForType["ClusterTagCategoryUpdateSpec"] = "7.0.3.0"
 14081  }
 14082  
 14083  // This class contains cluster usage summary that is populated
 14084  // by DRS and used by Cloud Placement Engine in VCD.
 14085  type ClusterUsageSummary struct {
 14086  	DynamicData
 14087  
 14088  	// Total CPU capacity of the cluster.
 14089  	TotalCpuCapacityMhz int32 `xml:"totalCpuCapacityMhz" json:"totalCpuCapacityMhz"`
 14090  	// Total memory capacity of the cluster.
 14091  	TotalMemCapacityMB int32 `xml:"totalMemCapacityMB" json:"totalMemCapacityMB"`
 14092  	// Sum of CPU reservation of all the Resource Pools and powered-on VMs in the cluster.
 14093  	CpuReservationMhz int32 `xml:"cpuReservationMhz" json:"cpuReservationMhz"`
 14094  	// Sum of memory reservation of all the Resource Pools and powered-on VMs in the cluster.
 14095  	MemReservationMB int32 `xml:"memReservationMB" json:"memReservationMB"`
 14096  	// Sum of CPU reservation of all the powered-off VMs in the cluster.
 14097  	PoweredOffCpuReservationMhz int32 `xml:"poweredOffCpuReservationMhz,omitempty" json:"poweredOffCpuReservationMhz,omitempty"`
 14098  	// Sum of memory reservation of all the powered-off VMs in the cluster.
 14099  	PoweredOffMemReservationMB int32 `xml:"poweredOffMemReservationMB,omitempty" json:"poweredOffMemReservationMB,omitempty"`
 14100  	// Sum of CPU demand of all the powered-on VMs in the cluster.
 14101  	CpuDemandMhz int32 `xml:"cpuDemandMhz" json:"cpuDemandMhz"`
 14102  	// Sum of memory demand of all the powered-on VMs in the cluster.
 14103  	MemDemandMB int32 `xml:"memDemandMB" json:"memDemandMB"`
 14104  	// Generation number of the usage stats.
 14105  	//
 14106  	// Updated during every DRS load
 14107  	// balancing call.
 14108  	StatsGenNumber int64 `xml:"statsGenNumber" json:"statsGenNumber"`
 14109  	// This is the current CPU entitlement across the cluster
 14110  	CpuEntitledMhz int32 `xml:"cpuEntitledMhz" json:"cpuEntitledMhz"`
 14111  	// This is the current memory entitlement across the cluster
 14112  	MemEntitledMB int32 `xml:"memEntitledMB" json:"memEntitledMB"`
 14113  	// The number of powered off VMs in the cluster
 14114  	PoweredOffVmCount int32 `xml:"poweredOffVmCount" json:"poweredOffVmCount"`
 14115  	// The number of VMs in the cluster
 14116  	TotalVmCount int32 `xml:"totalVmCount" json:"totalVmCount"`
 14117  	// Total Tier 0 memory capacity in a cluster.
 14118  	Tier0MemCapacityMB int32 `xml:"tier0MemCapacityMB,omitempty" json:"tier0MemCapacityMB,omitempty" vim:"9.0.0.0"`
 14119  	// Total amount of Tier 0 memory used to satisfy virtual machine reservation.
 14120  	ReservedTier0MemMB int32 `xml:"reservedTier0MemMB,omitempty" json:"reservedTier0MemMB,omitempty" vim:"9.0.0.0"`
 14121  	// Total amount of Tier 0 memory available to satisfy reservation.
 14122  	//
 14123  	// Available
 14124  	// reservation is calculated after accounting for DRS overheads and current
 14125  	// reservation.
 14126  	UnreservedTier0MemMB int32 `xml:"unreservedTier0MemMB,omitempty" json:"unreservedTier0MemMB,omitempty" vim:"9.0.0.0"`
 14127  }
 14128  
 14129  func init() {
 14130  	t["ClusterUsageSummary"] = reflect.TypeOf((*ClusterUsageSummary)(nil)).Elem()
 14131  }
 14132  
 14133  // vSphere HA Virtual Machine Component Protection Service settings.
 14134  //
 14135  // vSphere HA Virtual Machine Component Protection Service detects
 14136  // and reacts to storage failures that do not necessarily cause a
 14137  // virtual machine to go down, but may impact the health or QoS of
 14138  // the virtual machine.
 14139  //
 14140  // All fields are defined as optional. In case of a reconfiguration, fields left unset
 14141  // are not changed.
 14142  type ClusterVmComponentProtectionSettings struct {
 14143  	DynamicData
 14144  
 14145  	// VM storage protection setting for storage failures categorized as All Paths
 14146  	// Down (APD).
 14147  	//
 14148  	// APD is a condition where a storage has become inaccessible
 14149  	// for unknown reasons. It only indicates loss of connectivity and does not indicate
 14150  	// storage device failure or LUN removal (Permenant Device Loss or PDL). The details
 14151  	// of APD and PDL are described in `HostMountInfoInaccessibleReason_enum`.
 14152  	//
 14153  	// This property is meaningful only when vSphere HA is turned on. Valid values are
 14154  	// specified by `ClusterVmComponentProtectionSettingsStorageVmReaction_enum`. The default value is
 14155  	// `disabled` for cluster setting and
 14156  	// `clusterDefault` for per-VM setting.
 14157  	//
 14158  	// When an APD condition happens and the host begins timing out I/Os
 14159  	// (@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\_Timeout}, VM Component
 14160  	// Protection service will react based on the specific value of this property:
 14161  	//   - `**disabled**`, no reaction, i.e., no
 14162  	//     VM failover and no event reporting for the failures.
 14163  	//   - `**warning**`, service will issue events,
 14164  	//     alarms and/or config issues for component failures.
 14165  	//   - `**restartConservative**`, service will
 14166  	//     terminate the impacted VMs after a preconfigured time interval
 14167  	//     (`ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec`) if they are to be restarted.
 14168  	//   - `**restartAggressive**`, service might
 14169  	//     terminate the impacted VMs after a preconfigured time interval
 14170  	//     (`ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec`). In some cases, a VM is terminated
 14171  	//     even if it may not able to be restarted or lose Fault Tolerance redundancy.
 14172  	//   - `**clusterDefault**`, service will implement
 14173  	//     cluster default.
 14174  	VmStorageProtectionForAPD string `xml:"vmStorageProtectionForAPD,omitempty" json:"vmStorageProtectionForAPD,omitempty"`
 14175  	// This property indicates if APD timeout will be enabled for all the hosts
 14176  	// in the cluster when vSphere HA is configured.
 14177  	//
 14178  	// The details of APD timeout are
 14179  	// described in `HostMountInfoInaccessibleReason_enum`.
 14180  	//
 14181  	// If `ClusterDasConfigInfo.vmComponentProtecting` is `disabled`,
 14182  	// the property will be ignored. Otherwise, for each host in the cluster,
 14183  	// APD timeout will be enabled. Note that no change will be made for a host if it
 14184  	// already had APD timeout enabled.
 14185  	//
 14186  	// This property is meaningful only for cluster setting. It is ignored if specified at VM level.
 14187  	// The default value is false if not specified.
 14188  	//
 14189  	// Note that this property is not persisted by vSphere backend. It does not impact any cluster
 14190  	// reconfiguration or host operation (such as adding a host to a cluster) that might happen later.
 14191  	EnableAPDTimeoutForHosts *bool `xml:"enableAPDTimeoutForHosts" json:"enableAPDTimeoutForHosts,omitempty"`
 14192  	// The time interval after an APD timeout has been declared and before VM Component
 14193  	// Protection service will terminate the VM.
 14194  	//
 14195  	// The value only applies if
 14196  	// `ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD` is set to `restartConservative` or
 14197  	// `restartAggressive`.
 14198  	//
 14199  	// The default value is 180 seconds if not specified. To use cluster setting for a VM override,
 14200  	// set to -1 in per-VM setting.
 14201  	VmTerminateDelayForAPDSec int32 `xml:"vmTerminateDelayForAPDSec,omitempty" json:"vmTerminateDelayForAPDSec,omitempty"`
 14202  	// Action taken by VM Component Protection service for a powered on VM when APD
 14203  	// condition clears after APD timeout.
 14204  	//
 14205  	// This property is meaningful only when vSphere HA is turned on. Valid values are
 14206  	// specified by `ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared_enum`. The default value is
 14207  	// `none` for cluster setting and
 14208  	// `useClusterDefault` for per-VM setting.
 14209  	VmReactionOnAPDCleared string `xml:"vmReactionOnAPDCleared,omitempty" json:"vmReactionOnAPDCleared,omitempty"`
 14210  	// VM storage protection setting for storage failures categorized as Permenant Device
 14211  	// Loss (PDL).
 14212  	//
 14213  	// PDL indicates storage device failure or LUN removal. In case of PDL,
 14214  	// the failed datastore or device is unlikely to recover. The details of PDL are
 14215  	// described in `HostMountInfoInaccessibleReason_enum`.
 14216  	//
 14217  	// This property is meaningful only when vSphere HA is turned on. Valid values are
 14218  	// `disabled`, `warning`,
 14219  	// `restartAggressive` and `clusterDefault`.
 14220  	// The default value is `disabled` for cluster setting and
 14221  	// `clusterDefault` for per-VM setting.
 14222  	//
 14223  	// When set to `restartAggressive`, VM Component Protection service
 14224  	// will immediately terminate the VMs impacted by PDL and will attempt to restart the VMs
 14225  	// with best effort. When set to the other values, the behavior is the same as described for
 14226  	// `ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD`.
 14227  	VmStorageProtectionForPDL string `xml:"vmStorageProtectionForPDL,omitempty" json:"vmStorageProtectionForPDL,omitempty"`
 14228  }
 14229  
 14230  func init() {
 14231  	t["ClusterVmComponentProtectionSettings"] = reflect.TypeOf((*ClusterVmComponentProtectionSettings)(nil)).Elem()
 14232  }
 14233  
 14234  // The `ClusterVmGroup` data object identifies virtual machines
 14235  // for VM-Host rules.
 14236  //
 14237  // VM-Host rules determine placement of virtual machines
 14238  // on hosts in a cluster.
 14239  // The logic specified in a `ClusterVmHostRuleInfo` object
 14240  // determines where virtual machines can be powered-on.
 14241  //
 14242  // If a virtual machine is removed from the cluster, it loses its DRS group
 14243  // affiliation. The Server does not restore any group affiliations if the
 14244  // virtual machine is returned to the cluster.
 14245  type ClusterVmGroup struct {
 14246  	ClusterGroupInfo
 14247  
 14248  	// List of virtual machines that are part of this group.
 14249  	//
 14250  	// A virtual machine group can contain zero or more virtual machines.
 14251  	//
 14252  	// Refers instances of `VirtualMachine`.
 14253  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 14254  }
 14255  
 14256  func init() {
 14257  	t["ClusterVmGroup"] = reflect.TypeOf((*ClusterVmGroup)(nil)).Elem()
 14258  }
 14259  
 14260  // A `ClusterVmHostRuleInfo` object identifies virtual machines
 14261  // and host groups that determine virtual machine placement. The virtual
 14262  // machines and hosts referenced by a VM-Host rule must be in the same cluster.
 14263  //
 14264  // A VM-Host rule identifies the following groups.
 14265  //   - A virtual machine group (`ClusterVmGroup`).
 14266  //   - Two host groups - an affine host group and an anti-affine host group
 14267  //     (`ClusterHostGroup`).
 14268  //     At least one of the groups must contain one or more hosts.
 14269  //
 14270  // `ClusterVmHostRuleInfo` stores only the names of the relevant
 14271  // virtual machine and host groups. The group contents are stored in
 14272  // the virtual machine and host group objects.
 14273  //
 14274  // When you modify a VM-Host rule, only the fields that are specified are set.
 14275  type ClusterVmHostRuleInfo struct {
 14276  	ClusterRuleInfo
 14277  
 14278  	// Virtual group name (`ClusterVmGroup*.*ClusterGroupInfo.name`).
 14279  	//
 14280  	// The virtual group may contain one or more virtual machines.
 14281  	VmGroupName string `xml:"vmGroupName,omitempty" json:"vmGroupName,omitempty"`
 14282  	// Name of the affine host group
 14283  	// (`ClusterHostGroup*.*ClusterGroupInfo.name`).
 14284  	//
 14285  	// The affine host group identifies hosts on which
 14286  	// `ClusterVmHostRuleInfo.vmGroupName` virtual machines can be powered-on.
 14287  	// The value of the `ClusterRuleInfo.mandatory` property
 14288  	// determines how the Server interprets the rule.
 14289  	AffineHostGroupName string `xml:"affineHostGroupName,omitempty" json:"affineHostGroupName,omitempty"`
 14290  	// Name of the anti-affine host group
 14291  	// (`ClusterHostGroup*.*ClusterGroupInfo.name`).
 14292  	//
 14293  	// The anti-affine host group identifies hosts on which
 14294  	// `ClusterVmHostRuleInfo.vmGroupName` virtual machines should not
 14295  	// be powered-on.
 14296  	// The value of the `ClusterRuleInfo.mandatory` property
 14297  	// determines how the Server interprets the rule.
 14298  	AntiAffineHostGroupName string `xml:"antiAffineHostGroupName,omitempty" json:"antiAffineHostGroupName,omitempty"`
 14299  }
 14300  
 14301  func init() {
 14302  	t["ClusterVmHostRuleInfo"] = reflect.TypeOf((*ClusterVmHostRuleInfo)(nil)).Elem()
 14303  }
 14304  
 14305  // The `ClusterVmOrchestrationInfo` data object contains the orchestration
 14306  // configuration for a single virtual machine.
 14307  //
 14308  // This makes it possible to
 14309  // override the defaut behavior for an individual virtual machine.
 14310  type ClusterVmOrchestrationInfo struct {
 14311  	DynamicData
 14312  
 14313  	// Reference to the VM that the ready state is applied to.
 14314  	//
 14315  	// Refers instance of `VirtualMachine`.
 14316  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 14317  	// Readiness policy that apply to this virtual machine.
 14318  	//
 14319  	// Values specified in this object override the cluster-wide
 14320  	// defaults for virtual machines.
 14321  	// `ClusterOrchestrationInfo.defaultVmReadiness`
 14322  	VmReadiness ClusterVmReadiness `xml:"vmReadiness" json:"vmReadiness"`
 14323  }
 14324  
 14325  func init() {
 14326  	t["ClusterVmOrchestrationInfo"] = reflect.TypeOf((*ClusterVmOrchestrationInfo)(nil)).Elem()
 14327  }
 14328  
 14329  // An incremental update to the per-VM orchestration config.
 14330  type ClusterVmOrchestrationSpec struct {
 14331  	ArrayUpdateSpec
 14332  
 14333  	Info *ClusterVmOrchestrationInfo `xml:"info,omitempty" json:"info,omitempty"`
 14334  }
 14335  
 14336  func init() {
 14337  	t["ClusterVmOrchestrationSpec"] = reflect.TypeOf((*ClusterVmOrchestrationSpec)(nil)).Elem()
 14338  }
 14339  
 14340  // VM readiness policy specifies when a VM is deemed ready.
 14341  //
 14342  // This is used in cluster VM orchestration settings. For example, vSphere HA
 14343  // restarts lower priority VMs only after higher priority VMs are ready.
 14344  type ClusterVmReadiness struct {
 14345  	DynamicData
 14346  
 14347  	// Ready condition for a virtual machine.
 14348  	//
 14349  	// See `ClusterVmReadinessReadyCondition_enum`.
 14350  	//
 14351  	// If not specified at either the cluster level or the virtual machine
 14352  	// level, this will default to `none`.
 14353  	ReadyCondition string `xml:"readyCondition,omitempty" json:"readyCondition,omitempty"`
 14354  	// Additional delay in seconds after ready condition is met.
 14355  	//
 14356  	// A VM is
 14357  	// considered ready at this point.
 14358  	//
 14359  	// If not specified in a VM override, cluster default setting is
 14360  	// used. Alternatively, set to -1 in per-VM setting to use cluster default
 14361  	// value.
 14362  	PostReadyDelay int32 `xml:"postReadyDelay,omitempty" json:"postReadyDelay,omitempty"`
 14363  }
 14364  
 14365  func init() {
 14366  	t["ClusterVmReadiness"] = reflect.TypeOf((*ClusterVmReadiness)(nil)).Elem()
 14367  }
 14368  
 14369  // The `ClusterVmToolsMonitoringSettings` data object contains
 14370  // virtual machine monitoring settings that are used by the Virtual Machine Health Monitoring Service.
 14371  //
 14372  // The Service checks the VMware Tools heartbeat of a virtual machine.
 14373  // If heartbeats have not been received within a specified time interval, the Service
 14374  // declares the virtual machine as failed and resets the virtual machine.
 14375  //
 14376  // These settings are applied to individual virtual machines during cluster reconfiguration
 14377  // (`ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.vmToolsMonitoringSettings`). You can also specify them as default values
 14378  // (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`).
 14379  //
 14380  // All fields are optional. In case of a reconfiguration, fields left unset are not changed.
 14381  type ClusterVmToolsMonitoringSettings struct {
 14382  	DynamicData
 14383  
 14384  	// Deprecated as of vSphere API 4.1, use `ClusterVmToolsMonitoringSettings.vmMonitoring`.
 14385  	//
 14386  	// Flag indicating whether or not the Virtual Machine Health Monitoring
 14387  	// service is enabled.
 14388  	//
 14389  	// The Server does not use this property.
 14390  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 14391  	// Indicates the type of virtual machine monitoring.
 14392  	//
 14393  	// Specify a string value corresponding to one of the
 14394  	// following `ClusterDasConfigInfoVmMonitoringState_enum` values:
 14395  	//   - <code>vmMonitoringDisabled</code> (the default value)
 14396  	//   - <code>vmMonitoringOnly</code>
 14397  	//   - <code>vmAndAppMonitoring</code>
 14398  	//
 14399  	// The individual VMware Tools setting for virtual machine monitoring depends on
 14400  	// the HA Virtual Machine Health Monitoring Service level that is
 14401  	// defined for the cluster
 14402  	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`).
 14403  	// The following list indicates the supported VMware Tools <code>vmMonitoring</code> values
 14404  	// according to the cluster configuration.
 14405  	//   - If the cluster configuration specifies <code>vmMonitoringDisabled</code>,
 14406  	//     the Service is disabled and the HA Service ignores the VMware Tools monitoring setting.
 14407  	//   - If the cluster configuration specifies <code>vmMonitoringOnly</code>,
 14408  	//     the Service supports <code>vmMonitoringOnly</code> or <code>vmMonitoringDisabled</code> only.
 14409  	//   - If the cluster configuration specifies <code>vmAndAppMonitoring</code>,
 14410  	//     you can use any of the `ClusterDasConfigInfoVmMonitoringState_enum` values.
 14411  	//
 14412  	// The `ClusterVmToolsMonitoringSettings.clusterSettings` value has no
 14413  	// effect on the constraint imposed by the HA Virtual Machine Health Monitoring Service
 14414  	// level that is defined for the cluster
 14415  	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`).
 14416  	//
 14417  	// Application monitoring events are generated regardless of the
 14418  	// currently configured type of virtual machine monitoring.
 14419  	// You can use these events even if monitoring is being disabled
 14420  	// or set to <code>vmMonitoringOnly</code>.
 14421  	VmMonitoring string `xml:"vmMonitoring,omitempty" json:"vmMonitoring,omitempty"`
 14422  	// Flag indicating whether to use the cluster settings or the per VM settings.
 14423  	//
 14424  	// The default value is true.
 14425  	ClusterSettings *bool `xml:"clusterSettings" json:"clusterSettings,omitempty"`
 14426  	// If no heartbeat has been received for at least the specified number of seconds,
 14427  	// the virtual machine is declared as failed.
 14428  	//
 14429  	// The default value is 30.
 14430  	FailureInterval int32 `xml:"failureInterval,omitempty" json:"failureInterval,omitempty"`
 14431  	// The number of seconds for the virtual machine's heartbeats to stabilize
 14432  	// after the virtual machine has been powered on.
 14433  	//
 14434  	// This time should include
 14435  	// the guest operating system boot-up time. The virtual machine monitoring
 14436  	// will begin only after this period.
 14437  	//
 14438  	// The default value is 120.
 14439  	MinUpTime int32 `xml:"minUpTime,omitempty" json:"minUpTime,omitempty"`
 14440  	// Maximum number of failures and automated resets allowed during the time that
 14441  	// `ClusterVmToolsMonitoringSettings.maxFailureWindow` specifies.
 14442  	//
 14443  	// If `ClusterVmToolsMonitoringSettings.maxFailureWindow` is -1
 14444  	// (no window), this represents the absolute number of failures after which
 14445  	// automated response is stopped.
 14446  	//
 14447  	// If a virtual machine exceeds this threshold, in-depth problem analysis is
 14448  	// usually needed.
 14449  	//
 14450  	// The default value is 3.
 14451  	MaxFailures int32 `xml:"maxFailures,omitempty" json:"maxFailures,omitempty"`
 14452  	// The number of seconds for the window during which up to `ClusterVmToolsMonitoringSettings.maxFailures`
 14453  	// resets can occur before automated responses stop.
 14454  	//
 14455  	// If set to -1, no failure window is specified.
 14456  	//
 14457  	// The default value is -1.
 14458  	MaxFailureWindow int32 `xml:"maxFailureWindow,omitempty" json:"maxFailureWindow,omitempty"`
 14459  }
 14460  
 14461  func init() {
 14462  	t["ClusterVmToolsMonitoringSettings"] = reflect.TypeOf((*ClusterVmToolsMonitoringSettings)(nil)).Elem()
 14463  }
 14464  
 14465  // The distributed virtual switch received a reconfiguration request to
 14466  // activate ipfix monitoring of the switch traffic.
 14467  //
 14468  // However, the address
 14469  // and/or the port of the ipfix collector has not been specified.
 14470  type CollectorAddressUnset struct {
 14471  	DvsFault
 14472  }
 14473  
 14474  func init() {
 14475  	t["CollectorAddressUnset"] = reflect.TypeOf((*CollectorAddressUnset)(nil)).Elem()
 14476  }
 14477  
 14478  type CollectorAddressUnsetFault CollectorAddressUnset
 14479  
 14480  func init() {
 14481  	t["CollectorAddressUnsetFault"] = reflect.TypeOf((*CollectorAddressUnsetFault)(nil)).Elem()
 14482  }
 14483  
 14484  type ComplianceFailure struct {
 14485  	DynamicData
 14486  
 14487  	// String uniquely identifying the failure.
 14488  	FailureType string `xml:"failureType" json:"failureType"`
 14489  	// Message which describes the compliance failures
 14490  	// message.key serves as a key to the localized
 14491  	// message catalog.
 14492  	Message LocalizableMessage `xml:"message" json:"message"`
 14493  	// Name of the Expression which generated the ComplianceFailure
 14494  	ExpressionName string `xml:"expressionName,omitempty" json:"expressionName,omitempty"`
 14495  	// If complianceStatus is non-compliant, failureValues will
 14496  	// contain values of the non-compliant fields on the host and
 14497  	// in the profile.
 14498  	FailureValues []ComplianceFailureComplianceFailureValues `xml:"failureValues,omitempty" json:"failureValues,omitempty"`
 14499  }
 14500  
 14501  func init() {
 14502  	t["ComplianceFailure"] = reflect.TypeOf((*ComplianceFailure)(nil)).Elem()
 14503  }
 14504  
 14505  type ComplianceFailureComplianceFailureValues struct {
 14506  	DynamicData
 14507  
 14508  	// Unique key to a message in the localized message catalog,
 14509  	// identifying the fields being compared.
 14510  	ComparisonIdentifier string `xml:"comparisonIdentifier" json:"comparisonIdentifier"`
 14511  	// Name of the profile instance, in case of non-singleton profiles.
 14512  	ProfileInstance string `xml:"profileInstance,omitempty" json:"profileInstance,omitempty"`
 14513  	// Value of the non-compliant field on the host.
 14514  	HostValue AnyType `xml:"hostValue,omitempty,typeattr" json:"hostValue,omitempty"`
 14515  	// Value of the non-compliant field in the profile.
 14516  	ProfileValue AnyType `xml:"profileValue,omitempty,typeattr" json:"profileValue,omitempty"`
 14517  }
 14518  
 14519  func init() {
 14520  	t["ComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ComplianceFailureComplianceFailureValues)(nil)).Elem()
 14521  }
 14522  
 14523  // This dataObject contains information about location of applyProfile
 14524  // which was responsible for generation of a particular ComplianceExpression.
 14525  type ComplianceLocator struct {
 14526  	DynamicData
 14527  
 14528  	// Exression for which the Locator corresponds to
 14529  	ExpressionName string `xml:"expressionName" json:"expressionName"`
 14530  	// Complete path to the profile/policy which was responsible for the
 14531  	// generation of the ComplianceExpression.
 14532  	//
 14533  	// \[ProfilePath + policyId\] will uniquely identify a Policy.
 14534  	ApplyPath ProfilePropertyPath `xml:"applyPath" json:"applyPath"`
 14535  }
 14536  
 14537  func init() {
 14538  	t["ComplianceLocator"] = reflect.TypeOf((*ComplianceLocator)(nil)).Elem()
 14539  }
 14540  
 14541  // DataObject contains the verifications that need to be done
 14542  // to make sure the entity is in compliance.
 14543  type ComplianceProfile struct {
 14544  	DynamicData
 14545  
 14546  	// List of expressions that make up the ComplianceChecks.
 14547  	Expression []BaseProfileExpression `xml:"expression,typeattr" json:"expression"`
 14548  	// Name of the Expression which is the root of the expression tree.
 14549  	RootExpression string `xml:"rootExpression" json:"rootExpression"`
 14550  }
 14551  
 14552  func init() {
 14553  	t["ComplianceProfile"] = reflect.TypeOf((*ComplianceProfile)(nil)).Elem()
 14554  }
 14555  
 14556  // DataObject representing the result from a ComplianceCheck
 14557  type ComplianceResult struct {
 14558  	DynamicData
 14559  
 14560  	// Profile for which the ComplianceResult applies
 14561  	//
 14562  	// Refers instance of `Profile`.
 14563  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 14564  	// Indicates the compliance status of the entity.
 14565  	//
 14566  	// See @link Status
 14567  	ComplianceStatus string `xml:"complianceStatus" json:"complianceStatus"`
 14568  	// Entity on which the compliance check was carried out.
 14569  	//
 14570  	// Entity can be a Cluster, Host and so on.
 14571  	//
 14572  	// Refers instance of `ManagedEntity`.
 14573  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 14574  	// Time at which compliance check was last run on the entity
 14575  	CheckTime *time.Time `xml:"checkTime" json:"checkTime,omitempty"`
 14576  	// If complianceStatus is non-compliant, failure will
 14577  	// contain additional information about the compliance errors.
 14578  	Failure []ComplianceFailure `xml:"failure,omitempty" json:"failure,omitempty"`
 14579  }
 14580  
 14581  func init() {
 14582  	t["ComplianceResult"] = reflect.TypeOf((*ComplianceResult)(nil)).Elem()
 14583  }
 14584  
 14585  // The parameters of `HostProfileManager.CompositeHostProfile_Task`.
 14586  type CompositeHostProfileRequestType struct {
 14587  	This ManagedObjectReference `xml:"_this" json:"-"`
 14588  	// Refers instance of `Profile`.
 14589  	Source ManagedObjectReference `xml:"source" json:"source"`
 14590  	// Refers instances of `Profile`.
 14591  	Targets                []ManagedObjectReference `xml:"targets,omitempty" json:"targets,omitempty"`
 14592  	ToBeMerged             *HostApplyProfile        `xml:"toBeMerged,omitempty" json:"toBeMerged,omitempty"`
 14593  	ToBeReplacedWith       *HostApplyProfile        `xml:"toBeReplacedWith,omitempty" json:"toBeReplacedWith,omitempty"`
 14594  	ToBeDeleted            *HostApplyProfile        `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
 14595  	EnableStatusToBeCopied *HostApplyProfile        `xml:"enableStatusToBeCopied,omitempty" json:"enableStatusToBeCopied,omitempty"`
 14596  }
 14597  
 14598  func init() {
 14599  	t["CompositeHostProfileRequestType"] = reflect.TypeOf((*CompositeHostProfileRequestType)(nil)).Elem()
 14600  }
 14601  
 14602  type CompositeHostProfile_Task CompositeHostProfileRequestType
 14603  
 14604  func init() {
 14605  	t["CompositeHostProfile_Task"] = reflect.TypeOf((*CompositeHostProfile_Task)(nil)).Elem()
 14606  }
 14607  
 14608  type CompositeHostProfile_TaskResponse struct {
 14609  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 14610  }
 14611  
 14612  // DataObject represents a composite Policy that is created by the user
 14613  // using different PolicyOptions.
 14614  //
 14615  // The options set in the CompositePolicyOption
 14616  // should be derived from the possible options as indicated by the
 14617  // CompositePolicyOptionMetadata.
 14618  type CompositePolicyOption struct {
 14619  	PolicyOption
 14620  
 14621  	// List of policy options that are composed and applicable for
 14622  	// this composite policy option.
 14623  	//
 14624  	// The selected PolicyOptions in a CompositePolicyOption will be used in the
 14625  	// policy. PolicyOptions need not be specified if they are not desired for
 14626  	// the CompositePolicyOption.
 14627  	// Order of PolicyOptions in the PolicyOption array is not significant.
 14628  	// The host profile policy engine will not respect order of PolicyOptions.
 14629  	// It will apply PolicyOptions in a pre-determined order.
 14630  	// Clients of the API must produce PolicyOption in the same order as specified
 14631  	// in the metadata.
 14632  	Option []BasePolicyOption `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 14633  }
 14634  
 14635  func init() {
 14636  	t["CompositePolicyOption"] = reflect.TypeOf((*CompositePolicyOption)(nil)).Elem()
 14637  }
 14638  
 14639  type ComputeDiskPartitionInfo ComputeDiskPartitionInfoRequestType
 14640  
 14641  func init() {
 14642  	t["ComputeDiskPartitionInfo"] = reflect.TypeOf((*ComputeDiskPartitionInfo)(nil)).Elem()
 14643  }
 14644  
 14645  type ComputeDiskPartitionInfoForResize ComputeDiskPartitionInfoForResizeRequestType
 14646  
 14647  func init() {
 14648  	t["ComputeDiskPartitionInfoForResize"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResize)(nil)).Elem()
 14649  }
 14650  
 14651  // The parameters of `HostStorageSystem.ComputeDiskPartitionInfoForResize`.
 14652  type ComputeDiskPartitionInfoForResizeRequestType struct {
 14653  	This ManagedObjectReference `xml:"_this" json:"-"`
 14654  	// The disk partition to resize.
 14655  	Partition HostScsiDiskPartition `xml:"partition" json:"partition"`
 14656  	// Specifies the desired block range for the resized
 14657  	// partition. The start of the block range specified should match
 14658  	// that of the current partition.
 14659  	BlockRange HostDiskPartitionBlockRange `xml:"blockRange" json:"blockRange"`
 14660  	// Specifies the desired partition format to be
 14661  	// computed from the block range.
 14662  	// If partitionFormat is not specified, the existing partitionFormat
 14663  	// on disk is used, if the disk is not blank and mbr otherwise.
 14664  	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty"`
 14665  }
 14666  
 14667  func init() {
 14668  	t["ComputeDiskPartitionInfoForResizeRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResizeRequestType)(nil)).Elem()
 14669  }
 14670  
 14671  type ComputeDiskPartitionInfoForResizeResponse struct {
 14672  	Returnval HostDiskPartitionInfo `xml:"returnval" json:"returnval"`
 14673  }
 14674  
 14675  // The parameters of `HostStorageSystem.ComputeDiskPartitionInfo`.
 14676  type ComputeDiskPartitionInfoRequestType struct {
 14677  	This ManagedObjectReference `xml:"_this" json:"-"`
 14678  	// The name of the device path for the specific disk.
 14679  	DevicePath string `xml:"devicePath" json:"devicePath"`
 14680  	// A data object that describes the disk partition layout.
 14681  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 14682  	// Specifies the desired partition format to be
 14683  	// computed from the block range.
 14684  	// If partitionFormat is not specified, the existing partitionFormat
 14685  	// on disk is used, if the disk is not blank and mbr otherwise.
 14686  	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty"`
 14687  }
 14688  
 14689  func init() {
 14690  	t["ComputeDiskPartitionInfoRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoRequestType)(nil)).Elem()
 14691  }
 14692  
 14693  type ComputeDiskPartitionInfoResponse struct {
 14694  	Returnval HostDiskPartitionInfo `xml:"returnval" json:"returnval"`
 14695  }
 14696  
 14697  // Configuration of the compute resource; applies to both standalone hosts
 14698  // and clusters.
 14699  type ComputeResourceConfigInfo struct {
 14700  	DynamicData
 14701  
 14702  	// Swapfile placement policy for virtual machines within this compute
 14703  	// resource.
 14704  	//
 14705  	// Any policy except for "inherit" is a valid value for this
 14706  	// property; the default is "vmDirectory". This setting will be honored
 14707  	// for each virtual machine within the compute resource for which the
 14708  	// following is true:
 14709  	//   - The virtual machine is executing on a host that has the
 14710  	//     `perVmSwapFiles` capability.
 14711  	//   - The virtual machine configuration's
 14712  	//     `swapPlacement` property is set
 14713  	//     to "inherit".
 14714  	//
 14715  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 14716  	VmSwapPlacement string `xml:"vmSwapPlacement" json:"vmSwapPlacement"`
 14717  	// Flag indicating whether or not the SPBM(Storage Policy Based Management)
 14718  	// feature is enabled on this compute resource
 14719  	SpbmEnabled *bool `xml:"spbmEnabled" json:"spbmEnabled,omitempty"`
 14720  	// Key for Default Hardware Version used on this compute resource
 14721  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14722  	//
 14723  	// This field affects
 14724  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14725  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14726  	// with this field unset.
 14727  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 14728  	// Key for Maximum Hardware Version used on this compute resource
 14729  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14730  	//
 14731  	// This field affects
 14732  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14733  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14734  	// with this field unset.
 14735  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 14736  }
 14737  
 14738  func init() {
 14739  	t["ComputeResourceConfigInfo"] = reflect.TypeOf((*ComputeResourceConfigInfo)(nil)).Elem()
 14740  }
 14741  
 14742  // Changes to apply to the compute resource configuration.
 14743  type ComputeResourceConfigSpec struct {
 14744  	DynamicData
 14745  
 14746  	// New setting for the swapfile placement policy.
 14747  	//
 14748  	// Any change to this
 14749  	// policy will affect virtual machines that subsequently power on or
 14750  	// resume from a suspended state in this compute resource, or that
 14751  	// migrate to a host in this compute resource while powered on; virtual
 14752  	// machines that are currently powered on in this compute resource will
 14753  	// not yet be affected.
 14754  	//
 14755  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 14756  	VmSwapPlacement string `xml:"vmSwapPlacement,omitempty" json:"vmSwapPlacement,omitempty"`
 14757  	// Flag indicating whether or not the SPBM(Storage Policy Based Management)
 14758  	// feature is enabled on this compute resource
 14759  	SpbmEnabled *bool `xml:"spbmEnabled" json:"spbmEnabled,omitempty"`
 14760  	// Key for Default Hardware Version to be used on this compute resource
 14761  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14762  	//
 14763  	// Setting this field affects
 14764  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14765  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14766  	// with this field unset.
 14767  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 14768  	// Desired software spec for the set of physical compute resources.
 14769  	//
 14770  	// This
 14771  	// parameter is supported in vim.Folder#createClusterEx and
 14772  	// vim.Folder#addStandaloneHost operations.
 14773  	// If unset, this field will be initialized with the latest base image
 14774  	// from the image depot on vSphere version 9.0 and later.
 14775  	DesiredSoftwareSpec *DesiredSoftwareSpec `xml:"desiredSoftwareSpec,omitempty" json:"desiredSoftwareSpec,omitempty"`
 14776  	// Key for Maximum Hardware Version to be used on this compute resource
 14777  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14778  	//
 14779  	// Setting this field affects
 14780  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14781  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14782  	// with this field unset.
 14783  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 14784  	// Flag indicating whether or not the vLCM (vSphere Lifecycle Manager)
 14785  	// Config Manager feature is enabled on this compute resource.
 14786  	//
 14787  	// If the
 14788  	// flag is not set, the Config Manager feature will be disabled by
 14789  	// default. This parameter is only supported in `Folder.CreateClusterEx`
 14790  	// operation.
 14791  	EnableConfigManager *bool `xml:"enableConfigManager" json:"enableConfigManager,omitempty" vim:"7.0.3.1"`
 14792  	// Specification for the host seeding operation.
 14793  	HostSeedSpec *ComputeResourceHostSeedSpec `xml:"hostSeedSpec,omitempty" json:"hostSeedSpec,omitempty" vim:"8.0.3.0"`
 14794  	// ID of a software specification from the repository.
 14795  	//
 14796  	// This software specification is created in the repository before
 14797  	// cluster creation operation or add standalone host operation.
 14798  	// This desired state software specification will be applied to the
 14799  	// cluster or the standalone host.
 14800  	// The lifecycle of the created cluster or the added standalone host
 14801  	// will be managed by vLCM.
 14802  	SoftwareSpecId string `xml:"softwareSpecId,omitempty" json:"softwareSpecId,omitempty" vim:"9.0.0.0"`
 14803  	// Enumeration indicating whether and what kind of netwoork boot mode
 14804  	// should be configured for the compute resource.
 14805  	//
 14806  	// Supported values are
 14807  	// enumerated in `ComputeResourceNetworkBootMode_enum`. If the
 14808  	// property is not set not network boot will not be supported by this
 14809  	// compute resource.
 14810  	// This property is only supported in `Folder.CreateClusterEx`
 14811  	// operation.
 14812  	NetworkBootMode string `xml:"networkBootMode,omitempty" json:"networkBootMode,omitempty" vim:"9.0.0.0"`
 14813  }
 14814  
 14815  func init() {
 14816  	t["ComputeResourceConfigSpec"] = reflect.TypeOf((*ComputeResourceConfigSpec)(nil)).Elem()
 14817  }
 14818  
 14819  // The event argument is a ComputeResource object.
 14820  type ComputeResourceEventArgument struct {
 14821  	EntityEventArgument
 14822  
 14823  	// The ComputeResource object.
 14824  	//
 14825  	// Refers instance of `ComputeResource`.
 14826  	ComputeResource ManagedObjectReference `xml:"computeResource" json:"computeResource"`
 14827  }
 14828  
 14829  func init() {
 14830  	t["ComputeResourceEventArgument"] = reflect.TypeOf((*ComputeResourceEventArgument)(nil)).Elem()
 14831  }
 14832  
 14833  // The `ComputeResourceHostSPBMLicenseInfo` data object
 14834  // encapsulates the SPBM(Storage Policy Based Management) license
 14835  // information for a host.
 14836  type ComputeResourceHostSPBMLicenseInfo struct {
 14837  	DynamicData
 14838  
 14839  	// Refers instance of `HostSystem`.
 14840  	Host         ManagedObjectReference                                 `xml:"host" json:"host"`
 14841  	LicenseState ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState `xml:"licenseState" json:"licenseState"`
 14842  }
 14843  
 14844  func init() {
 14845  	t["ComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfo)(nil)).Elem()
 14846  }
 14847  
 14848  type ComputeResourceHostSeedSpec struct {
 14849  	DynamicData
 14850  
 14851  	// Specification for the seed host.
 14852  	SingleHostSpec ComputeResourceHostSeedSpecSingleHostSpec `xml:"singleHostSpec" json:"singleHostSpec"`
 14853  }
 14854  
 14855  func init() {
 14856  	t["ComputeResourceHostSeedSpec"] = reflect.TypeOf((*ComputeResourceHostSeedSpec)(nil)).Elem()
 14857  	minAPIVersionForType["ComputeResourceHostSeedSpec"] = "8.0.3.0"
 14858  }
 14859  
 14860  // This data object contains a specification for a single candidate host
 14861  // for the host seeding operation.
 14862  //
 14863  // If the candidate host is:
 14864  // \- A new host not managed by vCenter Server: A `HostConnectSpec`
 14865  // needs to be provided.
 14866  // \- A host managed by vCenter Server: A `HostSystem`
 14867  // needs to be provided.
 14868  type ComputeResourceHostSeedSpecSingleHostSpec struct {
 14869  	DynamicData
 14870  
 14871  	// Connection Spec for a new host.
 14872  	NewHostCnxSpec *HostConnectSpec `xml:"newHostCnxSpec,omitempty" json:"newHostCnxSpec,omitempty"`
 14873  	// Reference to an existing host.
 14874  	//
 14875  	// Refers instance of `HostSystem`.
 14876  	ExistingHost *ManagedObjectReference `xml:"existingHost,omitempty" json:"existingHost,omitempty"`
 14877  }
 14878  
 14879  func init() {
 14880  	t["ComputeResourceHostSeedSpecSingleHostSpec"] = reflect.TypeOf((*ComputeResourceHostSeedSpecSingleHostSpec)(nil)).Elem()
 14881  }
 14882  
 14883  // This data object type encapsulates a typical set of ComputeResource information
 14884  // that is useful for list views and summary pages.
 14885  type ComputeResourceSummary struct {
 14886  	DynamicData
 14887  
 14888  	// Aggregated CPU resources of all hosts, in MHz.
 14889  	TotalCpu int32 `xml:"totalCpu" json:"totalCpu"`
 14890  	// Aggregated memory resources of all hosts, in bytes.
 14891  	TotalMemory int64 `xml:"totalMemory" json:"totalMemory"`
 14892  	// Number of physical CPU cores.
 14893  	//
 14894  	// Physical CPU cores are the processors contained
 14895  	// by a CPU package.
 14896  	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
 14897  	// Aggregated number of CPU threads.
 14898  	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
 14899  	// Effective CPU resources (in MHz) available to run virtual machines.
 14900  	//
 14901  	// This is the
 14902  	// aggregated effective resource level from all running hosts. Hosts that are in
 14903  	// maintenance mode or are unresponsive are not counted. Resources used by the
 14904  	// VMware Service Console are not included in the aggregate. This value represents
 14905  	// the amount of resources available for the root resource pool for running
 14906  	// virtual machines.
 14907  	EffectiveCpu int32 `xml:"effectiveCpu" json:"effectiveCpu"`
 14908  	// Effective memory resources (in MB) available to run virtual machines.
 14909  	//
 14910  	// This is the aggregated effective resource level from all running hosts. Hosts
 14911  	// that are in maintenance mode or are unresponsive are not counted.
 14912  	// Resources used by the VMware Service Console are not included in the aggregate.
 14913  	// This value represents the amount of resources available for the root
 14914  	// resource pool for running virtual machines.
 14915  	EffectiveMemory int64 `xml:"effectiveMemory" json:"effectiveMemory"`
 14916  	// Total number of hosts.
 14917  	NumHosts int32 `xml:"numHosts" json:"numHosts"`
 14918  	// Total number of effective hosts.
 14919  	NumEffectiveHosts int32 `xml:"numEffectiveHosts" json:"numEffectiveHosts"`
 14920  	// Overall alarm status.
 14921  	//
 14922  	// In releases after vSphere API 5.0, vSphere Servers might not
 14923  	// generate property collector update notifications for this property.
 14924  	// To obtain the latest value of the property, you can use
 14925  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 14926  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 14927  	// an empty string for the version parameter.
 14928  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 14929  	// contain values for this property when some other property on the DataObject changes.
 14930  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 14931  	// version parameter, the value for this property may not be current.
 14932  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 14933  }
 14934  
 14935  func init() {
 14936  	t["ComputeResourceSummary"] = reflect.TypeOf((*ComputeResourceSummary)(nil)).Elem()
 14937  }
 14938  
 14939  // A ConcurrentAccess fault is thrown when an operation
 14940  // fails because another operation has modified the
 14941  // datastructure.
 14942  //
 14943  // For non-transactional operations, such as a recursive
 14944  // delete of a subtree of the inventory, the operation might
 14945  // fail with ConcurrentAccess if another thread has added
 14946  // a new entity to the hierarchy.
 14947  type ConcurrentAccess struct {
 14948  	VimFault
 14949  }
 14950  
 14951  func init() {
 14952  	t["ConcurrentAccess"] = reflect.TypeOf((*ConcurrentAccess)(nil)).Elem()
 14953  }
 14954  
 14955  type ConcurrentAccessFault ConcurrentAccess
 14956  
 14957  func init() {
 14958  	t["ConcurrentAccessFault"] = reflect.TypeOf((*ConcurrentAccessFault)(nil)).Elem()
 14959  }
 14960  
 14961  // The ConfigTarget class contains information about "physical" devices that can
 14962  // be used to back virtual devices.
 14963  type ConfigTarget struct {
 14964  	DynamicData
 14965  
 14966  	// Number of logical CPUs that can be used to run virtual machines.
 14967  	//
 14968  	// If invoked against a cluster, this is the total number of logical CPUs
 14969  	// available in the cluster.
 14970  	NumCpus int32 `xml:"numCpus" json:"numCpus"`
 14971  	// Number of physical CPU cores that are available to run virtual machines.
 14972  	//
 14973  	// If invoked against a cluster, this is the total number of physical CPUs
 14974  	// available in the cluster.
 14975  	NumCpuCores int32 `xml:"numCpuCores" json:"numCpuCores"`
 14976  	// Number of NUMA nodes.
 14977  	//
 14978  	// If invoked against a cluster, this is the total number of NUMA nodes
 14979  	// available in the cluster.
 14980  	NumNumaNodes int32 `xml:"numNumaNodes" json:"numNumaNodes"`
 14981  	// Maximum number of CPUs available on a single host.
 14982  	//
 14983  	// For standalone hosts, this value will be the same as numCpus.
 14984  	MaxCpusPerHost int32 `xml:"maxCpusPerHost,omitempty" json:"maxCpusPerHost,omitempty"`
 14985  	// Presence of System Management Controller, indicates the host is
 14986  	// Apple hardware, and thus capable of running Mac OS guest as VM.
 14987  	SmcPresent *bool `xml:"smcPresent" json:"smcPresent,omitempty"`
 14988  	// List of datastores available for virtual disks and associated storage.
 14989  	Datastore []VirtualMachineDatastoreInfo `xml:"datastore,omitempty" json:"datastore,omitempty"`
 14990  	// List of networks available for virtual network adapters.
 14991  	Network []VirtualMachineNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
 14992  	// List of opaque networks available for virtual network adapters.
 14993  	OpaqueNetwork []OpaqueNetworkTargetInfo `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty"`
 14994  	// List of networks available from DistributedVirtualSwitch for virtual
 14995  	// network adapters.
 14996  	DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
 14997  	// List of distributed virtual switch available for virtual network
 14998  	// adapters.
 14999  	DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 15000  	// List of subnets available for virtual network adapters.
 15001  	SubnetInfo []SubnetInfo `xml:"subnetInfo,omitempty" json:"subnetInfo,omitempty" vim:"9.0.0.0"`
 15002  	// List of CD-ROM devices available for use by virtual CD-ROMs.
 15003  	//
 15004  	// Used for
 15005  	// `VirtualCdromAtapiBackingInfo`.
 15006  	CdRom []VirtualMachineCdromInfo `xml:"cdRom,omitempty" json:"cdRom,omitempty"`
 15007  	// List of serial devices available to support virtualization.
 15008  	//
 15009  	// Used for
 15010  	// `VirtualSerialPortDeviceBackingInfo`.
 15011  	Serial []VirtualMachineSerialInfo `xml:"serial,omitempty" json:"serial,omitempty"`
 15012  	// List of parallel devices available to support virtualization.
 15013  	//
 15014  	// Used for
 15015  	// `VirtualParallelPortDeviceBackingInfo`.
 15016  	Parallel []VirtualMachineParallelInfo `xml:"parallel,omitempty" json:"parallel,omitempty"`
 15017  	// List of sound devices available to support virtualization.
 15018  	//
 15019  	// Used for
 15020  	// `VirtualSoundCardDeviceBackingInfo`.
 15021  	Sound []VirtualMachineSoundInfo `xml:"sound,omitempty" json:"sound,omitempty"`
 15022  	// List of USB devices on the host that are available to support
 15023  	// virtualization.
 15024  	//
 15025  	// Used for
 15026  	// `VirtualUSBUSBBackingInfo`.
 15027  	Usb []VirtualMachineUsbInfo `xml:"usb,omitempty" json:"usb,omitempty"`
 15028  	// List of floppy devices available for use by virtual floppies.
 15029  	//
 15030  	// Used for
 15031  	// `VirtualFloppyDeviceBackingInfo`.
 15032  	Floppy []VirtualMachineFloppyInfo `xml:"floppy,omitempty" json:"floppy,omitempty"`
 15033  	// Legacy switch names when using the LegacyNetworkBacking types.
 15034  	LegacyNetworkInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"legacyNetworkInfo,omitempty" json:"legacyNetworkInfo,omitempty"`
 15035  	// List of generic SCSI devices.
 15036  	ScsiPassthrough []VirtualMachineScsiPassthroughInfo `xml:"scsiPassthrough,omitempty" json:"scsiPassthrough,omitempty"`
 15037  	// List of physical SCSI disks that can be used as targets for raw disk mapping
 15038  	// backings.
 15039  	ScsiDisk []VirtualMachineScsiDiskDeviceInfo `xml:"scsiDisk,omitempty" json:"scsiDisk,omitempty"`
 15040  	// List of physical IDE disks that can be used as targets for raw disk backings.
 15041  	IdeDisk []VirtualMachineIdeDiskDeviceInfo `xml:"ideDisk,omitempty" json:"ideDisk,omitempty"`
 15042  	// Maximum recommended memory size, in MB, for creating a new virtual machine.
 15043  	MaxMemMBOptimalPerf int32 `xml:"maxMemMBOptimalPerf" json:"maxMemMBOptimalPerf"`
 15044  	// Maximum supported memory size, in MB, for creating a new virtual machine.
 15045  	//
 15046  	// Maximum allowed size is smaller of this and limit in
 15047  	// `GuestOsDescriptor.supportedMaxMemMB`. When invoked on the
 15048  	// cluster, maximum size that can be created on at least one host
 15049  	// in the cluster is reported.
 15050  	SupportedMaxMemMB int32 `xml:"supportedMaxMemMB,omitempty" json:"supportedMaxMemMB,omitempty"`
 15051  	// Information about the current available resources on the current resource pool
 15052  	// for a virtual machine.
 15053  	//
 15054  	// This field is only populated from an Environment browser
 15055  	// obtained from a virtual machine.
 15056  	ResourcePool *ResourcePoolRuntimeInfo `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 15057  	// Information whether a virtual machine with this ConfigTarget can auto vmotion.
 15058  	//
 15059  	// This field is only populated from an Environment browser obtained from a
 15060  	// virtual machine.
 15061  	AutoVmotion *bool `xml:"autoVmotion" json:"autoVmotion,omitempty"`
 15062  	// List of generic PCI devices.
 15063  	PciPassthrough []BaseVirtualMachinePciPassthroughInfo `xml:"pciPassthrough,omitempty,typeattr" json:"pciPassthrough,omitempty"`
 15064  	// List of SRIOV devices.
 15065  	Sriov []VirtualMachineSriovInfo `xml:"sriov,omitempty" json:"sriov,omitempty"`
 15066  	// List of vFlash modules.
 15067  	VFlashModule []VirtualMachineVFlashModuleInfo `xml:"vFlashModule,omitempty" json:"vFlashModule,omitempty"`
 15068  	// List of shared GPU passthrough types.
 15069  	SharedGpuPassthroughTypes []VirtualMachinePciSharedGpuPassthroughInfo `xml:"sharedGpuPassthroughTypes,omitempty" json:"sharedGpuPassthroughTypes,omitempty"`
 15070  	// Maximum available persistent memory reservation on a compute resource
 15071  	// in MB.
 15072  	AvailablePersistentMemoryReservationMB int64 `xml:"availablePersistentMemoryReservationMB,omitempty" json:"availablePersistentMemoryReservationMB,omitempty"`
 15073  	// List of Dynamic DirectPath PCI devices.
 15074  	DynamicPassthrough []VirtualMachineDynamicPassthroughInfo `xml:"dynamicPassthrough,omitempty" json:"dynamicPassthrough,omitempty"`
 15075  	// Intel SGX information.
 15076  	SgxTargetInfo *VirtualMachineSgxTargetInfo `xml:"sgxTargetInfo,omitempty" json:"sgxTargetInfo,omitempty"`
 15077  	// List of host clock resources available to support virtual precision
 15078  	// clock device.
 15079  	//
 15080  	// Used for
 15081  	// `VirtualPrecisionClockSystemClockBackingInfo`
 15082  	PrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"precisionClockInfo,omitempty" json:"precisionClockInfo,omitempty"`
 15083  	// Indicates whether the compute resource is capable of running AMD Secure
 15084  	// Encrypted Virtualization (SEV) enabled virtual machines.
 15085  	//
 15086  	// The compute
 15087  	// resource supports SEV when this value is set to true.
 15088  	SevSupported *bool `xml:"sevSupported" json:"sevSupported,omitempty" vim:"7.0.1.0"`
 15089  	// List of vGPU device capabilities.
 15090  	VgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"vgpuDeviceInfo,omitempty" json:"vgpuDeviceInfo,omitempty" vim:"7.0.3.0"`
 15091  	// List of vGPU profile attributes.
 15092  	VgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"vgpuProfileInfo,omitempty" json:"vgpuProfileInfo,omitempty" vim:"7.0.3.0"`
 15093  	// List of PCI Vendor Device Groups.
 15094  	VendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"vendorDeviceGroupInfo,omitempty" json:"vendorDeviceGroupInfo,omitempty" vim:"8.0.0.1"`
 15095  	// Max SMT (Simultaneous multithreading) threads.
 15096  	MaxSimultaneousThreads int32 `xml:"maxSimultaneousThreads,omitempty" json:"maxSimultaneousThreads,omitempty" vim:"8.0.0.1"`
 15097  	// List of Device Virtualization Extensions (DVX) classes.
 15098  	DvxClassInfo []VirtualMachineDvxClassInfo `xml:"dvxClassInfo,omitempty" json:"dvxClassInfo,omitempty" vim:"8.0.0.1"`
 15099  	// Indicates whether the compute resource is capable of running AMD Secure
 15100  	// Encrypted Virtualization Secure Nested Paging (SEV-SNP) enabled virtual
 15101  	// machines.
 15102  	//
 15103  	// The compute resource supports SEV-SNP when this value is set
 15104  	// to true.
 15105  	SevSnpSupported *bool `xml:"sevSnpSupported" json:"sevSnpSupported,omitempty" vim:"9.0.0.0"`
 15106  	// Indicates whether the compute resource is capable of running INTEL Trusted
 15107  	// Domain Extensions (TDX) enabled virtual machines.
 15108  	//
 15109  	// The compute resource
 15110  	// supports TDX when this value is set to true.
 15111  	TdxSupported *bool `xml:"tdxSupported" json:"tdxSupported,omitempty" vim:"9.0.0.0"`
 15112  }
 15113  
 15114  func init() {
 15115  	t["ConfigTarget"] = reflect.TypeOf((*ConfigTarget)(nil)).Elem()
 15116  }
 15117  
 15118  type ConfigureCryptoKey ConfigureCryptoKeyRequestType
 15119  
 15120  func init() {
 15121  	t["ConfigureCryptoKey"] = reflect.TypeOf((*ConfigureCryptoKey)(nil)).Elem()
 15122  }
 15123  
 15124  // The parameters of `HostSystem.ConfigureCryptoKey`.
 15125  type ConfigureCryptoKeyRequestType struct {
 15126  	This ManagedObjectReference `xml:"_this" json:"-"`
 15127  	// The key to be used for coredump encryption. If unset, uses
 15128  	// existing host or cluster key or new key is generated from
 15129  	// the default KMIP server.
 15130  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 15131  }
 15132  
 15133  func init() {
 15134  	t["ConfigureCryptoKeyRequestType"] = reflect.TypeOf((*ConfigureCryptoKeyRequestType)(nil)).Elem()
 15135  }
 15136  
 15137  type ConfigureCryptoKeyResponse struct {
 15138  }
 15139  
 15140  // The parameters of `StorageResourceManager.ConfigureDatastoreIORM_Task`.
 15141  type ConfigureDatastoreIORMRequestType struct {
 15142  	This ManagedObjectReference `xml:"_this" json:"-"`
 15143  	// The datastore to be configured.
 15144  	//
 15145  	// Refers instance of `Datastore`.
 15146  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 15147  	// The configuration spec.
 15148  	Spec StorageIORMConfigSpec `xml:"spec" json:"spec"`
 15149  }
 15150  
 15151  func init() {
 15152  	t["ConfigureDatastoreIORMRequestType"] = reflect.TypeOf((*ConfigureDatastoreIORMRequestType)(nil)).Elem()
 15153  }
 15154  
 15155  type ConfigureDatastoreIORM_Task ConfigureDatastoreIORMRequestType
 15156  
 15157  func init() {
 15158  	t["ConfigureDatastoreIORM_Task"] = reflect.TypeOf((*ConfigureDatastoreIORM_Task)(nil)).Elem()
 15159  }
 15160  
 15161  type ConfigureDatastoreIORM_TaskResponse struct {
 15162  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15163  }
 15164  
 15165  type ConfigureDatastorePrincipal ConfigureDatastorePrincipalRequestType
 15166  
 15167  func init() {
 15168  	t["ConfigureDatastorePrincipal"] = reflect.TypeOf((*ConfigureDatastorePrincipal)(nil)).Elem()
 15169  }
 15170  
 15171  // The parameters of `HostDatastoreSystem.ConfigureDatastorePrincipal`.
 15172  type ConfigureDatastorePrincipalRequestType struct {
 15173  	This ManagedObjectReference `xml:"_this" json:"-"`
 15174  	// Datastore principal user name.
 15175  	UserName string `xml:"userName" json:"userName"`
 15176  	// Optional password for systems that require password for
 15177  	// user impersonation.
 15178  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 15179  }
 15180  
 15181  func init() {
 15182  	t["ConfigureDatastorePrincipalRequestType"] = reflect.TypeOf((*ConfigureDatastorePrincipalRequestType)(nil)).Elem()
 15183  }
 15184  
 15185  type ConfigureDatastorePrincipalResponse struct {
 15186  }
 15187  
 15188  // The parameters of `ClusterEVCManager.ConfigureEvcMode_Task`.
 15189  type ConfigureEvcModeRequestType struct {
 15190  	This ManagedObjectReference `xml:"_this" json:"-"`
 15191  	// A key referencing the desired EVC mode.
 15192  	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
 15193  	// A key referencing the desired EVC Graphics
 15194  	// mode `Capability.supportedEVCGraphicsMode`.
 15195  	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 15196  }
 15197  
 15198  func init() {
 15199  	t["ConfigureEvcModeRequestType"] = reflect.TypeOf((*ConfigureEvcModeRequestType)(nil)).Elem()
 15200  }
 15201  
 15202  type ConfigureEvcMode_Task ConfigureEvcModeRequestType
 15203  
 15204  func init() {
 15205  	t["ConfigureEvcMode_Task"] = reflect.TypeOf((*ConfigureEvcMode_Task)(nil)).Elem()
 15206  }
 15207  
 15208  type ConfigureEvcMode_TaskResponse struct {
 15209  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15210  }
 15211  
 15212  // The parameters of `ClusterComputeResource.ConfigureHCI_Task`.
 15213  type ConfigureHCIRequestType struct {
 15214  	This ManagedObjectReference `xml:"_this" json:"-"`
 15215  	// Specification to configure the cluster,
 15216  	// see `ClusterComputeResourceHCIConfigSpec`
 15217  	// for details. The `DistributedVirtualSwitch` and
 15218  	// `DistributedVirtualPortgroup` objects contained
 15219  	// within the specification must be in the same datacenter as the
 15220  	// cluster. Specify `ClusterComputeResourceHCIConfigSpec.vSanConfigSpec` only when
 15221  	// vSan is enabled on the cluster.
 15222  	ClusterSpec ClusterComputeResourceHCIConfigSpec `xml:"clusterSpec" json:"clusterSpec"`
 15223  	// Inputs to configure each host in the cluster,
 15224  	// see `ClusterComputeResourceHostConfigurationInput`
 15225  	// for details. Hosts in this list should be part of the cluster and
 15226  	// should be in maintenance mode for them to be configured per
 15227  	// specification. If this parameter is not specified, the API
 15228  	// operates on all the hosts in the cluster. Hosts which were not
 15229  	// configured due to not being in maintenance
 15230  	// mode will be returned in `ClusterComputeResourceClusterConfigResult.failedHosts`.
 15231  	HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty" json:"hostInputs,omitempty"`
 15232  }
 15233  
 15234  func init() {
 15235  	t["ConfigureHCIRequestType"] = reflect.TypeOf((*ConfigureHCIRequestType)(nil)).Elem()
 15236  }
 15237  
 15238  type ConfigureHCI_Task ConfigureHCIRequestType
 15239  
 15240  func init() {
 15241  	t["ConfigureHCI_Task"] = reflect.TypeOf((*ConfigureHCI_Task)(nil)).Elem()
 15242  }
 15243  
 15244  type ConfigureHCI_TaskResponse struct {
 15245  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15246  }
 15247  
 15248  // The parameters of `HostCacheConfigurationManager.ConfigureHostCache_Task`.
 15249  type ConfigureHostCacheRequestType struct {
 15250  	This ManagedObjectReference `xml:"_this" json:"-"`
 15251  	// Specification for solid state drive cache configuration.
 15252  	Spec HostCacheConfigurationSpec `xml:"spec" json:"spec"`
 15253  }
 15254  
 15255  func init() {
 15256  	t["ConfigureHostCacheRequestType"] = reflect.TypeOf((*ConfigureHostCacheRequestType)(nil)).Elem()
 15257  }
 15258  
 15259  type ConfigureHostCache_Task ConfigureHostCacheRequestType
 15260  
 15261  func init() {
 15262  	t["ConfigureHostCache_Task"] = reflect.TypeOf((*ConfigureHostCache_Task)(nil)).Elem()
 15263  }
 15264  
 15265  type ConfigureHostCache_TaskResponse struct {
 15266  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15267  }
 15268  
 15269  type ConfigureLicenseSource ConfigureLicenseSourceRequestType
 15270  
 15271  func init() {
 15272  	t["ConfigureLicenseSource"] = reflect.TypeOf((*ConfigureLicenseSource)(nil)).Elem()
 15273  }
 15274  
 15275  // The parameters of `LicenseManager.ConfigureLicenseSource`.
 15276  type ConfigureLicenseSourceRequestType struct {
 15277  	This ManagedObjectReference `xml:"_this" json:"-"`
 15278  	// Host for which the license manager should be reconfigured.
 15279  	//
 15280  	// Refers instance of `HostSystem`.
 15281  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 15282  	// ServedSource or LocalSource.
 15283  	LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr" json:"licenseSource"`
 15284  }
 15285  
 15286  func init() {
 15287  	t["ConfigureLicenseSourceRequestType"] = reflect.TypeOf((*ConfigureLicenseSourceRequestType)(nil)).Elem()
 15288  }
 15289  
 15290  type ConfigureLicenseSourceResponse struct {
 15291  }
 15292  
 15293  type ConfigurePowerPolicy ConfigurePowerPolicyRequestType
 15294  
 15295  func init() {
 15296  	t["ConfigurePowerPolicy"] = reflect.TypeOf((*ConfigurePowerPolicy)(nil)).Elem()
 15297  }
 15298  
 15299  // The parameters of `HostPowerSystem.ConfigurePowerPolicy`.
 15300  type ConfigurePowerPolicyRequestType struct {
 15301  	This ManagedObjectReference `xml:"_this" json:"-"`
 15302  	// A key from one of the policies in
 15303  	// `PowerSystemCapability.availablePolicy`.
 15304  	Key int32 `xml:"key" json:"key"`
 15305  }
 15306  
 15307  func init() {
 15308  	t["ConfigurePowerPolicyRequestType"] = reflect.TypeOf((*ConfigurePowerPolicyRequestType)(nil)).Elem()
 15309  }
 15310  
 15311  type ConfigurePowerPolicyResponse struct {
 15312  }
 15313  
 15314  // The parameters of `StorageResourceManager.ConfigureStorageDrsForPod_Task`.
 15315  type ConfigureStorageDrsForPodRequestType struct {
 15316  	This ManagedObjectReference `xml:"_this" json:"-"`
 15317  	// The storage pod.
 15318  	//
 15319  	// Required privileges: StoragePod.Config
 15320  	//
 15321  	// Refers instance of `StoragePod`.
 15322  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 15323  	// A set of storage Drs configuration changes to apply to the storage pod.
 15324  	// The specification can be a complete set of changes or a partial
 15325  	// set of changes, applied incrementally.
 15326  	Spec StorageDrsConfigSpec `xml:"spec" json:"spec"`
 15327  	// Flag to specify whether the specification ("spec") should
 15328  	// be applied incrementally. If "modify" is false and the
 15329  	// operation succeeds, then the configuration of the storage pod
 15330  	// matches the specification exactly; in this case any unset
 15331  	// portions of the specification will result in unset or
 15332  	// default portions of the configuration.
 15333  	Modify bool `xml:"modify" json:"modify"`
 15334  }
 15335  
 15336  func init() {
 15337  	t["ConfigureStorageDrsForPodRequestType"] = reflect.TypeOf((*ConfigureStorageDrsForPodRequestType)(nil)).Elem()
 15338  }
 15339  
 15340  type ConfigureStorageDrsForPod_Task ConfigureStorageDrsForPodRequestType
 15341  
 15342  func init() {
 15343  	t["ConfigureStorageDrsForPod_Task"] = reflect.TypeOf((*ConfigureStorageDrsForPod_Task)(nil)).Elem()
 15344  }
 15345  
 15346  type ConfigureStorageDrsForPod_TaskResponse struct {
 15347  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15348  }
 15349  
 15350  // The parameters of `HostVFlashManager.ConfigureVFlashResourceEx_Task`.
 15351  type ConfigureVFlashResourceExRequestType struct {
 15352  	This ManagedObjectReference `xml:"_this" json:"-"`
 15353  	// An array of device path names that identify disks.
 15354  	// See `ScsiDisk`.
 15355  	DevicePath []string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
 15356  }
 15357  
 15358  func init() {
 15359  	t["ConfigureVFlashResourceExRequestType"] = reflect.TypeOf((*ConfigureVFlashResourceExRequestType)(nil)).Elem()
 15360  }
 15361  
 15362  type ConfigureVFlashResourceEx_Task ConfigureVFlashResourceExRequestType
 15363  
 15364  func init() {
 15365  	t["ConfigureVFlashResourceEx_Task"] = reflect.TypeOf((*ConfigureVFlashResourceEx_Task)(nil)).Elem()
 15366  }
 15367  
 15368  type ConfigureVFlashResourceEx_TaskResponse struct {
 15369  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15370  }
 15371  
 15372  // Thrown if the configurations of the objects are in conflict.
 15373  type ConflictingConfiguration struct {
 15374  	DvsFault
 15375  
 15376  	// The configurations that are in conflict.
 15377  	ConfigInConflict []ConflictingConfigurationConfig `xml:"configInConflict" json:"configInConflict"`
 15378  }
 15379  
 15380  func init() {
 15381  	t["ConflictingConfiguration"] = reflect.TypeOf((*ConflictingConfiguration)(nil)).Elem()
 15382  }
 15383  
 15384  // This class defines the configuration that is in conflict.
 15385  type ConflictingConfigurationConfig struct {
 15386  	DynamicData
 15387  
 15388  	// The entity on which the configuration is in conflict.
 15389  	//
 15390  	// Refers instance of `ManagedEntity`.
 15391  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 15392  	// The property paths that are in conflict.
 15393  	PropertyPath string `xml:"propertyPath" json:"propertyPath"`
 15394  }
 15395  
 15396  func init() {
 15397  	t["ConflictingConfigurationConfig"] = reflect.TypeOf((*ConflictingConfigurationConfig)(nil)).Elem()
 15398  }
 15399  
 15400  type ConflictingConfigurationFault ConflictingConfiguration
 15401  
 15402  func init() {
 15403  	t["ConflictingConfigurationFault"] = reflect.TypeOf((*ConflictingConfigurationFault)(nil)).Elem()
 15404  }
 15405  
 15406  // ConflictingDatastoreFound is thrown when the conflicting datastores
 15407  // with the same url but backed by different disks are found in the host
 15408  // and the target datacenter.
 15409  type ConflictingDatastoreFound struct {
 15410  	RuntimeFault
 15411  
 15412  	// The name of the datastore.
 15413  	Name string `xml:"name" json:"name"`
 15414  	// The unique locator for the datastore.
 15415  	Url string `xml:"url" json:"url"`
 15416  }
 15417  
 15418  func init() {
 15419  	t["ConflictingDatastoreFound"] = reflect.TypeOf((*ConflictingDatastoreFound)(nil)).Elem()
 15420  }
 15421  
 15422  type ConflictingDatastoreFoundFault ConflictingDatastoreFound
 15423  
 15424  func init() {
 15425  	t["ConflictingDatastoreFoundFault"] = reflect.TypeOf((*ConflictingDatastoreFoundFault)(nil)).Elem()
 15426  }
 15427  
 15428  type ConnectNvmeController ConnectNvmeControllerRequestType
 15429  
 15430  func init() {
 15431  	t["ConnectNvmeController"] = reflect.TypeOf((*ConnectNvmeController)(nil)).Elem()
 15432  }
 15433  
 15434  // The parameters of `HostStorageSystem.ConnectNvmeControllerEx_Task`.
 15435  type ConnectNvmeControllerExRequestType struct {
 15436  	This ManagedObjectReference `xml:"_this" json:"-"`
 15437  	// A list of data objects, each specifying the parameters
 15438  	// necessary to connect to an NVMe controller.
 15439  	ConnectSpec []HostNvmeConnectSpec `xml:"connectSpec,omitempty" json:"connectSpec,omitempty"`
 15440  }
 15441  
 15442  func init() {
 15443  	t["ConnectNvmeControllerExRequestType"] = reflect.TypeOf((*ConnectNvmeControllerExRequestType)(nil)).Elem()
 15444  	minAPIVersionForType["ConnectNvmeControllerExRequestType"] = "7.0.3.0"
 15445  }
 15446  
 15447  type ConnectNvmeControllerEx_Task ConnectNvmeControllerExRequestType
 15448  
 15449  func init() {
 15450  	t["ConnectNvmeControllerEx_Task"] = reflect.TypeOf((*ConnectNvmeControllerEx_Task)(nil)).Elem()
 15451  }
 15452  
 15453  type ConnectNvmeControllerEx_TaskResponse struct {
 15454  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15455  }
 15456  
 15457  // The parameters of `HostStorageSystem.ConnectNvmeController`.
 15458  type ConnectNvmeControllerRequestType struct {
 15459  	This ManagedObjectReference `xml:"_this" json:"-"`
 15460  	// A data object that specifies the parameters
 15461  	// necessary to connect to the controller.
 15462  	ConnectSpec HostNvmeConnectSpec `xml:"connectSpec" json:"connectSpec"`
 15463  }
 15464  
 15465  func init() {
 15466  	t["ConnectNvmeControllerRequestType"] = reflect.TypeOf((*ConnectNvmeControllerRequestType)(nil)).Elem()
 15467  }
 15468  
 15469  type ConnectNvmeControllerResponse struct {
 15470  }
 15471  
 15472  type ConnectedIso struct {
 15473  	OvfExport
 15474  
 15475  	// The CD-ROM drive that caused the event.
 15476  	Cdrom VirtualCdrom `xml:"cdrom" json:"cdrom"`
 15477  	// The filename of the ISO
 15478  	Filename string `xml:"filename" json:"filename"`
 15479  }
 15480  
 15481  func init() {
 15482  	t["ConnectedIso"] = reflect.TypeOf((*ConnectedIso)(nil)).Elem()
 15483  }
 15484  
 15485  type ConnectedIsoFault ConnectedIso
 15486  
 15487  func init() {
 15488  	t["ConnectedIsoFault"] = reflect.TypeOf((*ConnectedIsoFault)(nil)).Elem()
 15489  }
 15490  
 15491  type ConsolidateVMDisksRequestType struct {
 15492  	This ManagedObjectReference `xml:"_this" json:"-"`
 15493  }
 15494  
 15495  func init() {
 15496  	t["ConsolidateVMDisksRequestType"] = reflect.TypeOf((*ConsolidateVMDisksRequestType)(nil)).Elem()
 15497  }
 15498  
 15499  type ConsolidateVMDisks_Task ConsolidateVMDisksRequestType
 15500  
 15501  func init() {
 15502  	t["ConsolidateVMDisks_Task"] = reflect.TypeOf((*ConsolidateVMDisks_Task)(nil)).Elem()
 15503  }
 15504  
 15505  type ConsolidateVMDisks_TaskResponse struct {
 15506  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15507  }
 15508  
 15509  type ContinueRetrievePropertiesEx ContinueRetrievePropertiesExRequestType
 15510  
 15511  func init() {
 15512  	t["ContinueRetrievePropertiesEx"] = reflect.TypeOf((*ContinueRetrievePropertiesEx)(nil)).Elem()
 15513  }
 15514  
 15515  // The parameters of `PropertyCollector.ContinueRetrievePropertiesEx`.
 15516  type ContinueRetrievePropertiesExRequestType struct {
 15517  	This ManagedObjectReference `xml:"_this" json:"-"`
 15518  	// the token returned in the previous `RetrieveResult` returned on the same session by the
 15519  	// same `PropertyCollector`.
 15520  	Token string `xml:"token" json:"token"`
 15521  }
 15522  
 15523  func init() {
 15524  	t["ContinueRetrievePropertiesExRequestType"] = reflect.TypeOf((*ContinueRetrievePropertiesExRequestType)(nil)).Elem()
 15525  }
 15526  
 15527  type ContinueRetrievePropertiesExResponse struct {
 15528  	Returnval RetrieveResult `xml:"returnval" json:"returnval"`
 15529  }
 15530  
 15531  type ConvertNamespacePathToUuidPath ConvertNamespacePathToUuidPathRequestType
 15532  
 15533  func init() {
 15534  	t["ConvertNamespacePathToUuidPath"] = reflect.TypeOf((*ConvertNamespacePathToUuidPath)(nil)).Elem()
 15535  }
 15536  
 15537  // The parameters of `DatastoreNamespaceManager.ConvertNamespacePathToUuidPath`.
 15538  type ConvertNamespacePathToUuidPathRequestType struct {
 15539  	This ManagedObjectReference `xml:"_this" json:"-"`
 15540  	// The datacenter of the namespace path. Needs to be set
 15541  	// when making the call to VC; ignored when the call is
 15542  	// made to ESX.
 15543  	//
 15544  	// Refers instance of `Datacenter`.
 15545  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 15546  	// Namesapce URL of the form
 15547  	// > \[ds://\]/vmfs/volumes/\[_datastore-uuid_\]/\[_directory-name_\]/...
 15548  	// >
 15549  	NamespaceUrl string `xml:"namespaceUrl" json:"namespaceUrl"`
 15550  }
 15551  
 15552  func init() {
 15553  	t["ConvertNamespacePathToUuidPathRequestType"] = reflect.TypeOf((*ConvertNamespacePathToUuidPathRequestType)(nil)).Elem()
 15554  }
 15555  
 15556  type ConvertNamespacePathToUuidPathResponse struct {
 15557  	Returnval string `xml:"returnval" json:"returnval"`
 15558  }
 15559  
 15560  // The parameters of `FileManager.CopyDatastoreFile_Task`.
 15561  type CopyDatastoreFileRequestType struct {
 15562  	This ManagedObjectReference `xml:"_this" json:"-"`
 15563  	// The name of the source, either a URL or a
 15564  	// datastore path referring to the file or folder to be copied.
 15565  	SourceName string `xml:"sourceName" json:"sourceName"`
 15566  	// If <code>sourceName</code> is a datastore path, the
 15567  	// datacenter for that datastore path.
 15568  	// Not needed when invoked directly on ESX.
 15569  	// If not specified on a call to VirtualCenter,
 15570  	// <code>sourceName</code> must be a URL.
 15571  	//
 15572  	// Required privileges: System.View
 15573  	//
 15574  	// Refers instance of `Datacenter`.
 15575  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 15576  	// The name of the destination, either a
 15577  	// URL or a datastore path referring to the destination file
 15578  	// or folder.
 15579  	DestinationName string `xml:"destinationName" json:"destinationName"`
 15580  	// If <code>destinationName</code> is a datastore
 15581  	// path, the datacenter for that datastore path.
 15582  	// Not needed when invoked directly on ESX.
 15583  	// If not specified on a call to VirtualCenter, it is assumed that
 15584  	// the destination path belongs to the source datacenter.
 15585  	//
 15586  	// Required privileges: System.View
 15587  	//
 15588  	// Refers instance of `Datacenter`.
 15589  	DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty" json:"destinationDatacenter,omitempty"`
 15590  	// If true, overwrite any identically named file
 15591  	// at the destination. If not specified, it is assumed to be false.
 15592  	Force *bool `xml:"force" json:"force,omitempty"`
 15593  }
 15594  
 15595  func init() {
 15596  	t["CopyDatastoreFileRequestType"] = reflect.TypeOf((*CopyDatastoreFileRequestType)(nil)).Elem()
 15597  }
 15598  
 15599  type CopyDatastoreFile_Task CopyDatastoreFileRequestType
 15600  
 15601  func init() {
 15602  	t["CopyDatastoreFile_Task"] = reflect.TypeOf((*CopyDatastoreFile_Task)(nil)).Elem()
 15603  }
 15604  
 15605  type CopyDatastoreFile_TaskResponse struct {
 15606  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15607  }
 15608  
 15609  // The parameters of `VirtualDiskManager.CopyVirtualDisk_Task`.
 15610  type CopyVirtualDiskRequestType struct {
 15611  	This ManagedObjectReference `xml:"_this" json:"-"`
 15612  	// The name of the source, either a datastore path
 15613  	// or a URL referring to the virtual disk to be copied.
 15614  	SourceName string `xml:"sourceName" json:"sourceName"`
 15615  	// If <code>sourceName</code> is a datastore path, the
 15616  	// datacenter for that datastore path.
 15617  	// Not needed when invoked directly on ESX.
 15618  	// If not specified on a call to VirtualCenter,
 15619  	// <code>sourceName</code> must be a URL.
 15620  	//
 15621  	// Refers instance of `Datacenter`.
 15622  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 15623  	// The name of the destination, either a datastore path
 15624  	// or a URL referring to the virtual disk to be created.
 15625  	DestName string `xml:"destName" json:"destName"`
 15626  	// If <code>destName</code> is a datastore
 15627  	// path, the datacenter for that datastore path.
 15628  	// Not needed when invoked directly on ESX.
 15629  	// If not specified on a call to VirtualCenter, it is assumed that
 15630  	// the destination path belongs to the source datacenter.
 15631  	//
 15632  	// Refers instance of `Datacenter`.
 15633  	DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 15634  	// The specification of the virtual disk to be created.
 15635  	// If not specified, a preallocated format and busLogic adapter type is assumed.
 15636  	DestSpec BaseVirtualDiskSpec `xml:"destSpec,omitempty,typeattr" json:"destSpec,omitempty"`
 15637  	// The force flag is currently ignored. The FileAlreadyExists fault is thrown if
 15638  	// the destination file already exists.
 15639  	Force *bool `xml:"force" json:"force,omitempty"`
 15640  }
 15641  
 15642  func init() {
 15643  	t["CopyVirtualDiskRequestType"] = reflect.TypeOf((*CopyVirtualDiskRequestType)(nil)).Elem()
 15644  }
 15645  
 15646  type CopyVirtualDisk_Task CopyVirtualDiskRequestType
 15647  
 15648  func init() {
 15649  	t["CopyVirtualDisk_Task"] = reflect.TypeOf((*CopyVirtualDisk_Task)(nil)).Elem()
 15650  }
 15651  
 15652  type CopyVirtualDisk_TaskResponse struct {
 15653  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15654  }
 15655  
 15656  // Deprecated as of VI API 2.5, use `CpuIncompatible` and its other subclasses,
 15657  // not this one.
 15658  //
 15659  // Compatibility between the virtual machine's host and its CPU
 15660  // feature requirements cannot be determined, because not enough information
 15661  // is available about the CPU features of the host.
 15662  type CpuCompatibilityUnknown struct {
 15663  	CpuIncompatible
 15664  }
 15665  
 15666  func init() {
 15667  	t["CpuCompatibilityUnknown"] = reflect.TypeOf((*CpuCompatibilityUnknown)(nil)).Elem()
 15668  }
 15669  
 15670  type CpuCompatibilityUnknownFault CpuCompatibilityUnknown
 15671  
 15672  func init() {
 15673  	t["CpuCompatibilityUnknownFault"] = reflect.TypeOf((*CpuCompatibilityUnknownFault)(nil)).Elem()
 15674  }
 15675  
 15676  // Thrown when virtual CPUs cannot be hot-added or hot-removed from
 15677  // the virtual machine.
 15678  type CpuHotPlugNotSupported struct {
 15679  	VmConfigFault
 15680  }
 15681  
 15682  func init() {
 15683  	t["CpuHotPlugNotSupported"] = reflect.TypeOf((*CpuHotPlugNotSupported)(nil)).Elem()
 15684  }
 15685  
 15686  type CpuHotPlugNotSupportedFault CpuHotPlugNotSupported
 15687  
 15688  func init() {
 15689  	t["CpuHotPlugNotSupportedFault"] = reflect.TypeOf((*CpuHotPlugNotSupportedFault)(nil)).Elem()
 15690  }
 15691  
 15692  // Deprecated as of vSphere API 6.5 use
 15693  // `FeatureRequirementsNotMet`.
 15694  //
 15695  // The host is not compatible with the CPU feature requirements of the
 15696  // virtual machine, for a particular CPUID register.
 15697  //
 15698  // A subclass of this fault
 15699  // may be used to express the incompatibilities in a more easily
 15700  // understandable format.
 15701  type CpuIncompatible struct {
 15702  	VirtualHardwareCompatibilityIssue
 15703  
 15704  	// The CpuIdInfo level where a problem was detected.
 15705  	//
 15706  	// Other levels may
 15707  	// also have problems.
 15708  	Level int32 `xml:"level" json:"level"`
 15709  	// The CpuIdInfo register where a problem was detected.
 15710  	//
 15711  	// Other registers
 15712  	// may also have problems. Possible register names are eax, ebx, ecx, or edx.
 15713  	RegisterName string `xml:"registerName" json:"registerName"`
 15714  	// The contents of the register on the target host, in CpuIdInfo register
 15715  	// format.
 15716  	//
 15717  	// The '-' character indicates an unknown value.
 15718  	RegisterBits string `xml:"registerBits,omitempty" json:"registerBits,omitempty"`
 15719  	// The desired values for the register's bits.
 15720  	//
 15721  	// The 'x' character indicates
 15722  	// don't-care.
 15723  	DesiredBits string `xml:"desiredBits,omitempty" json:"desiredBits,omitempty"`
 15724  	// The host that is not compatible with the requirements.
 15725  	//
 15726  	// Refers instance of `HostSystem`.
 15727  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 15728  }
 15729  
 15730  func init() {
 15731  	t["CpuIncompatible"] = reflect.TypeOf((*CpuIncompatible)(nil)).Elem()
 15732  }
 15733  
 15734  // Deprecated as of vSphere API 6.5 use
 15735  // `FeatureRequirementsNotMet`.
 15736  //
 15737  // Convenience subclass for calling out some named features among the
 15738  // incompatibilities found in CPUID level 1 register ecx.
 15739  type CpuIncompatible1ECX struct {
 15740  	CpuIncompatible
 15741  
 15742  	// Flag to indicate bit 0 is incompatible.
 15743  	Sse3 bool `xml:"sse3" json:"sse3"`
 15744  	// Flag to indicate bit 1 is incompatible.
 15745  	Pclmulqdq *bool `xml:"pclmulqdq" json:"pclmulqdq,omitempty"`
 15746  	// Flag to indicate bit 9 is incompatible.
 15747  	Ssse3 bool `xml:"ssse3" json:"ssse3"`
 15748  	// Flag to indicate bit 19 is incompatible.
 15749  	Sse41 bool `xml:"sse41" json:"sse41"`
 15750  	// Flag to indicate bit 20 is incompatible.
 15751  	Sse42 bool `xml:"sse42" json:"sse42"`
 15752  	// Flag to indicate bit 25 is incompatible.
 15753  	Aes *bool `xml:"aes" json:"aes,omitempty"`
 15754  	// Flag to indicate that bits other than 0/1/9/19/20/25 are incompatible.
 15755  	//
 15756  	// I.e. the detected incompatibilities cannot be completely described by
 15757  	// the sse3, pclmulqdq, ssse3, sse41, sse42, and/or aes flags.
 15758  	Other bool `xml:"other" json:"other"`
 15759  	// Flag to indicate that the sse3, pclmulqdq, ssse3, sse41, sse42, and aes
 15760  	// flags are all false, and the "other" flag is true.
 15761  	//
 15762  	// Purely a convenience
 15763  	// property for the client processing this fault.
 15764  	OtherOnly bool `xml:"otherOnly" json:"otherOnly"`
 15765  }
 15766  
 15767  func init() {
 15768  	t["CpuIncompatible1ECX"] = reflect.TypeOf((*CpuIncompatible1ECX)(nil)).Elem()
 15769  }
 15770  
 15771  type CpuIncompatible1ECXFault CpuIncompatible1ECX
 15772  
 15773  func init() {
 15774  	t["CpuIncompatible1ECXFault"] = reflect.TypeOf((*CpuIncompatible1ECXFault)(nil)).Elem()
 15775  }
 15776  
 15777  // Deprecated as of vSphere API 6.5 use
 15778  // `FeatureRequirementsNotMet`.
 15779  //
 15780  // Convenience subclass for calling out some named features among the
 15781  // incompatibilities found in CPUID level 0x80000001 register edx.
 15782  type CpuIncompatible81EDX struct {
 15783  	CpuIncompatible
 15784  
 15785  	// Flag to indicate bit 20 is incompatible.
 15786  	Nx bool `xml:"nx" json:"nx"`
 15787  	// Flag to indicate bit 25 is incompatible.
 15788  	Ffxsr bool `xml:"ffxsr" json:"ffxsr"`
 15789  	// Flag to indicate bit 27 is incompatible.
 15790  	Rdtscp bool `xml:"rdtscp" json:"rdtscp"`
 15791  	// Flag to indicate bit 29 is incompatible.
 15792  	Lm bool `xml:"lm" json:"lm"`
 15793  	// Flag to indicate that bits other than 20/25/27/29 are incompatible.
 15794  	//
 15795  	// I.e. the detected incompatibilities cannot be completely described by
 15796  	// the nx, ffxsr, rdtscp, and/or lm flags.
 15797  	Other bool `xml:"other" json:"other"`
 15798  	// Flag to indicate that the nx, ffxsr, rdtscp, and lm flags are all false,
 15799  	// and the "other" flag is true.
 15800  	//
 15801  	// Purely a convenience property for the
 15802  	// client processing this fault.
 15803  	OtherOnly bool `xml:"otherOnly" json:"otherOnly"`
 15804  }
 15805  
 15806  func init() {
 15807  	t["CpuIncompatible81EDX"] = reflect.TypeOf((*CpuIncompatible81EDX)(nil)).Elem()
 15808  }
 15809  
 15810  type CpuIncompatible81EDXFault CpuIncompatible81EDX
 15811  
 15812  func init() {
 15813  	t["CpuIncompatible81EDXFault"] = reflect.TypeOf((*CpuIncompatible81EDXFault)(nil)).Elem()
 15814  }
 15815  
 15816  type CpuIncompatibleFault BaseCpuIncompatible
 15817  
 15818  func init() {
 15819  	t["CpuIncompatibleFault"] = reflect.TypeOf((*CpuIncompatibleFault)(nil)).Elem()
 15820  }
 15821  
 15822  type CreateAlarm CreateAlarmRequestType
 15823  
 15824  func init() {
 15825  	t["CreateAlarm"] = reflect.TypeOf((*CreateAlarm)(nil)).Elem()
 15826  }
 15827  
 15828  // The parameters of `AlarmManager.CreateAlarm`.
 15829  type CreateAlarmRequestType struct {
 15830  	This ManagedObjectReference `xml:"_this" json:"-"`
 15831  	// The entity with which the alarm is associated.
 15832  	//
 15833  	// Required privileges: Alarm.Create
 15834  	//
 15835  	// Refers instance of `ManagedEntity`.
 15836  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 15837  	// The specification for the new alarm.
 15838  	Spec BaseAlarmSpec `xml:"spec,typeattr" json:"spec"`
 15839  }
 15840  
 15841  func init() {
 15842  	t["CreateAlarmRequestType"] = reflect.TypeOf((*CreateAlarmRequestType)(nil)).Elem()
 15843  }
 15844  
 15845  type CreateAlarmResponse struct {
 15846  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15847  }
 15848  
 15849  // The parameters of `ResourcePool.CreateChildVM_Task`.
 15850  type CreateChildVMRequestType struct {
 15851  	This ManagedObjectReference `xml:"_this" json:"-"`
 15852  	// The configuration of the virtual machine hardware.
 15853  	Config VirtualMachineConfigSpec `xml:"config" json:"config"`
 15854  	// The target host on which the virtual machine will run. This must
 15855  	// specify a host that is a member of the ComputeResource indirectly
 15856  	// specified by the pool. For a stand-alone host or a cluster with DRS,
 15857  	// host can be omitted, and the system selects a default.
 15858  	//
 15859  	// Refers instance of `HostSystem`.
 15860  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 15861  }
 15862  
 15863  func init() {
 15864  	t["CreateChildVMRequestType"] = reflect.TypeOf((*CreateChildVMRequestType)(nil)).Elem()
 15865  }
 15866  
 15867  type CreateChildVM_Task CreateChildVMRequestType
 15868  
 15869  func init() {
 15870  	t["CreateChildVM_Task"] = reflect.TypeOf((*CreateChildVM_Task)(nil)).Elem()
 15871  }
 15872  
 15873  type CreateChildVM_TaskResponse struct {
 15874  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15875  }
 15876  
 15877  type CreateCluster CreateClusterRequestType
 15878  
 15879  func init() {
 15880  	t["CreateCluster"] = reflect.TypeOf((*CreateCluster)(nil)).Elem()
 15881  }
 15882  
 15883  type CreateClusterEx CreateClusterExRequestType
 15884  
 15885  func init() {
 15886  	t["CreateClusterEx"] = reflect.TypeOf((*CreateClusterEx)(nil)).Elem()
 15887  }
 15888  
 15889  // The parameters of `Folder.CreateClusterEx`.
 15890  type CreateClusterExRequestType struct {
 15891  	This ManagedObjectReference `xml:"_this" json:"-"`
 15892  	// Name for the new cluster.
 15893  	Name string `xml:"name" json:"name"`
 15894  	// Specification for the cluster.
 15895  	Spec ClusterConfigSpecEx `xml:"spec" json:"spec"`
 15896  }
 15897  
 15898  func init() {
 15899  	t["CreateClusterExRequestType"] = reflect.TypeOf((*CreateClusterExRequestType)(nil)).Elem()
 15900  }
 15901  
 15902  type CreateClusterExResponse struct {
 15903  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15904  }
 15905  
 15906  // The parameters of `Folder.CreateCluster`.
 15907  type CreateClusterRequestType struct {
 15908  	This ManagedObjectReference `xml:"_this" json:"-"`
 15909  	// Name for the new cluster.
 15910  	Name string `xml:"name" json:"name"`
 15911  	// Specification for the cluster.
 15912  	Spec ClusterConfigSpec `xml:"spec" json:"spec"`
 15913  }
 15914  
 15915  func init() {
 15916  	t["CreateClusterRequestType"] = reflect.TypeOf((*CreateClusterRequestType)(nil)).Elem()
 15917  }
 15918  
 15919  type CreateClusterResponse struct {
 15920  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15921  }
 15922  
 15923  type CreateCollectorForEvents CreateCollectorForEventsRequestType
 15924  
 15925  func init() {
 15926  	t["CreateCollectorForEvents"] = reflect.TypeOf((*CreateCollectorForEvents)(nil)).Elem()
 15927  }
 15928  
 15929  // The parameters of `EventManager.CreateCollectorForEvents`.
 15930  type CreateCollectorForEventsRequestType struct {
 15931  	This ManagedObjectReference `xml:"_this" json:"-"`
 15932  	// The event query filter.
 15933  	Filter EventFilterSpec `xml:"filter" json:"filter"`
 15934  }
 15935  
 15936  func init() {
 15937  	t["CreateCollectorForEventsRequestType"] = reflect.TypeOf((*CreateCollectorForEventsRequestType)(nil)).Elem()
 15938  }
 15939  
 15940  type CreateCollectorForEventsResponse struct {
 15941  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15942  }
 15943  
 15944  type CreateCollectorForTasks CreateCollectorForTasksRequestType
 15945  
 15946  func init() {
 15947  	t["CreateCollectorForTasks"] = reflect.TypeOf((*CreateCollectorForTasks)(nil)).Elem()
 15948  }
 15949  
 15950  // The parameters of `TaskManager.CreateCollectorForTasks`.
 15951  type CreateCollectorForTasksRequestType struct {
 15952  	This ManagedObjectReference `xml:"_this" json:"-"`
 15953  	// The specification for the task query filter.
 15954  	Filter TaskFilterSpec `xml:"filter" json:"filter"`
 15955  }
 15956  
 15957  func init() {
 15958  	t["CreateCollectorForTasksRequestType"] = reflect.TypeOf((*CreateCollectorForTasksRequestType)(nil)).Elem()
 15959  }
 15960  
 15961  type CreateCollectorForTasksResponse struct {
 15962  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15963  }
 15964  
 15965  type CreateCollectorWithInfoFilterForTasks CreateCollectorWithInfoFilterForTasksRequestType
 15966  
 15967  func init() {
 15968  	t["CreateCollectorWithInfoFilterForTasks"] = reflect.TypeOf((*CreateCollectorWithInfoFilterForTasks)(nil)).Elem()
 15969  }
 15970  
 15971  // The parameters of `TaskManager.CreateCollectorWithInfoFilterForTasks`.
 15972  type CreateCollectorWithInfoFilterForTasksRequestType struct {
 15973  	This ManagedObjectReference `xml:"_this" json:"-"`
 15974  	// The specification for the task query filter.
 15975  	Filter TaskFilterSpec `xml:"filter" json:"filter"`
 15976  	// The specification for the task info filter.
 15977  	InfoFilter *TaskInfoFilterSpec `xml:"infoFilter,omitempty" json:"infoFilter,omitempty"`
 15978  }
 15979  
 15980  func init() {
 15981  	t["CreateCollectorWithInfoFilterForTasksRequestType"] = reflect.TypeOf((*CreateCollectorWithInfoFilterForTasksRequestType)(nil)).Elem()
 15982  	minAPIVersionForType["CreateCollectorWithInfoFilterForTasksRequestType"] = "8.0.3.0"
 15983  }
 15984  
 15985  type CreateCollectorWithInfoFilterForTasksResponse struct {
 15986  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15987  }
 15988  
 15989  type CreateContainerView CreateContainerViewRequestType
 15990  
 15991  func init() {
 15992  	t["CreateContainerView"] = reflect.TypeOf((*CreateContainerView)(nil)).Elem()
 15993  }
 15994  
 15995  // The parameters of `ViewManager.CreateContainerView`.
 15996  type CreateContainerViewRequestType struct {
 15997  	This ManagedObjectReference `xml:"_this" json:"-"`
 15998  	// A reference to an instance of a `Folder`,
 15999  	// `Datacenter`, `ComputeResource`,
 16000  	// `ResourcePool`, or `HostSystem` object.
 16001  	//
 16002  	// Required privileges: System.View
 16003  	//
 16004  	// Refers instance of `ManagedEntity`.
 16005  	Container ManagedObjectReference `xml:"container" json:"container"`
 16006  	// An optional list of managed entity types. The server
 16007  	// associates only objects of the specified type(s) with the view.
 16008  	// If you specify an empty array, the server uses all types.
 16009  	Type []string `xml:"type,omitempty" json:"type,omitempty"`
 16010  	// Whether to include only the immediate children of the
 16011  	// container instance, or to include additional objects by
 16012  	// following paths beyond the immediate children.
 16013  	//
 16014  	// When recursive is false, the list of objects contains
 16015  	// only immediate children.
 16016  	// When recursive is true, the server populates the list
 16017  	// by following references beyond the immediate children
 16018  	// (using a child's references, and then references in the
 16019  	// resulting objects, and so on).
 16020  	//
 16021  	// Depending on the container type, the server will use the following
 16022  	// properties of the container instance to obtain objects for the
 16023  	// view's object list:
 16024  	//   - `Folder` object - `Folder.childEntity`
 16025  	//     property.
 16026  	//     If recursive is false, the container list includes the reference
 16027  	//     to the child entity in the folder instance.
 16028  	//     If recursive is true, the server will follow the child
 16029  	//     folder path(s) to collect additional childEntity references.
 16030  	//   - `ResourcePool` object - `ResourcePool.vm`
 16031  	//     and `ResourcePool.resourcePool` properties.
 16032  	//     If recursive is false, the object list will contain references
 16033  	//     to the virtual machines associated with this resource pool,
 16034  	//     and references to virtual machines associated with the
 16035  	//     immediate child resource pools. If recursive is true,
 16036  	//     the server will follow all child resource pool paths
 16037  	//     extending from the immediate children (and their children,
 16038  	//     and so on) to collect additional references to virtual machines.
 16039  	//   - `ComputeResource` object - `ComputeResource.host`
 16040  	//     and `ComputeResource.resourcePool` properties.
 16041  	//     If recursive is false, the object list will contain references
 16042  	//     to the host systems associated with this compute resource,
 16043  	//     references to virtual machines associated with the
 16044  	//     host systems, and references to virtual machines associated
 16045  	//     with the immediate child resource pools.
 16046  	//     If recursive is true, the server will follow the child
 16047  	//     resource pool paths (and their child resource pool paths,
 16048  	//     and so on) to collect additional references to virtual machines.
 16049  	//   - `Datacenter` object - `Datacenter.vmFolder`,
 16050  	//     `Datacenter.hostFolder`,
 16051  	//     `Datacenter.datastoreFolder`, and
 16052  	//     `Datacenter.networkFolder` properties.
 16053  	//     If recursive is set to false, the server uses the
 16054  	//     immediate child folders for the virtual machines,
 16055  	//     hosts, datastores, and networks associated with this
 16056  	//     datacenter. If recursive is set to true, the server
 16057  	//     will follow the folder paths to collect references
 16058  	//     to additional objects.
 16059  	//   - `HostSystem` object - `HostSystem.vm`
 16060  	//     property.
 16061  	//     The view object list contains references to the virtual machines
 16062  	//     associated with this host system. The value of recursive does not
 16063  	//     affect this behavior.
 16064  	Recursive bool `xml:"recursive" json:"recursive"`
 16065  }
 16066  
 16067  func init() {
 16068  	t["CreateContainerViewRequestType"] = reflect.TypeOf((*CreateContainerViewRequestType)(nil)).Elem()
 16069  }
 16070  
 16071  type CreateContainerViewResponse struct {
 16072  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16073  }
 16074  
 16075  type CreateCustomizationSpec CreateCustomizationSpecRequestType
 16076  
 16077  func init() {
 16078  	t["CreateCustomizationSpec"] = reflect.TypeOf((*CreateCustomizationSpec)(nil)).Elem()
 16079  }
 16080  
 16081  // The parameters of `CustomizationSpecManager.CreateCustomizationSpec`.
 16082  type CreateCustomizationSpecRequestType struct {
 16083  	This ManagedObjectReference `xml:"_this" json:"-"`
 16084  	Item CustomizationSpecItem  `xml:"item" json:"item"`
 16085  }
 16086  
 16087  func init() {
 16088  	t["CreateCustomizationSpecRequestType"] = reflect.TypeOf((*CreateCustomizationSpecRequestType)(nil)).Elem()
 16089  }
 16090  
 16091  type CreateCustomizationSpecResponse struct {
 16092  }
 16093  
 16094  // The parameters of `DistributedVirtualSwitch.CreateDVPortgroup_Task`.
 16095  type CreateDVPortgroupRequestType struct {
 16096  	This ManagedObjectReference `xml:"_this" json:"-"`
 16097  	// The specification for the portgroup.
 16098  	Spec DVPortgroupConfigSpec `xml:"spec" json:"spec"`
 16099  }
 16100  
 16101  func init() {
 16102  	t["CreateDVPortgroupRequestType"] = reflect.TypeOf((*CreateDVPortgroupRequestType)(nil)).Elem()
 16103  }
 16104  
 16105  type CreateDVPortgroup_Task CreateDVPortgroupRequestType
 16106  
 16107  func init() {
 16108  	t["CreateDVPortgroup_Task"] = reflect.TypeOf((*CreateDVPortgroup_Task)(nil)).Elem()
 16109  }
 16110  
 16111  type CreateDVPortgroup_TaskResponse struct {
 16112  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16113  }
 16114  
 16115  // The parameters of `Folder.CreateDVS_Task`.
 16116  type CreateDVSRequestType struct {
 16117  	This ManagedObjectReference `xml:"_this" json:"-"`
 16118  	// The `DVSCreateSpec`
 16119  	// to create the distributed virtual switch.
 16120  	Spec DVSCreateSpec `xml:"spec" json:"spec"`
 16121  }
 16122  
 16123  func init() {
 16124  	t["CreateDVSRequestType"] = reflect.TypeOf((*CreateDVSRequestType)(nil)).Elem()
 16125  }
 16126  
 16127  type CreateDVS_Task CreateDVSRequestType
 16128  
 16129  func init() {
 16130  	t["CreateDVS_Task"] = reflect.TypeOf((*CreateDVS_Task)(nil)).Elem()
 16131  }
 16132  
 16133  type CreateDVS_TaskResponse struct {
 16134  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16135  }
 16136  
 16137  type CreateDatacenter CreateDatacenterRequestType
 16138  
 16139  func init() {
 16140  	t["CreateDatacenter"] = reflect.TypeOf((*CreateDatacenter)(nil)).Elem()
 16141  }
 16142  
 16143  // The parameters of `Folder.CreateDatacenter`.
 16144  type CreateDatacenterRequestType struct {
 16145  	This ManagedObjectReference `xml:"_this" json:"-"`
 16146  	// Name for the new datacenter. An entity name
 16147  	// must be a non-empty string of less than 80 characters.
 16148  	// The slash (/), backslash (\\) and percent (%) will be escaped
 16149  	// using the URL syntax. For example, %2F.
 16150  	Name string `xml:"name" json:"name"`
 16151  }
 16152  
 16153  func init() {
 16154  	t["CreateDatacenterRequestType"] = reflect.TypeOf((*CreateDatacenterRequestType)(nil)).Elem()
 16155  }
 16156  
 16157  type CreateDatacenterResponse struct {
 16158  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16159  }
 16160  
 16161  type CreateDefaultProfile CreateDefaultProfileRequestType
 16162  
 16163  func init() {
 16164  	t["CreateDefaultProfile"] = reflect.TypeOf((*CreateDefaultProfile)(nil)).Elem()
 16165  }
 16166  
 16167  // The parameters of `HostProfileManager.CreateDefaultProfile`.
 16168  type CreateDefaultProfileRequestType struct {
 16169  	This ManagedObjectReference `xml:"_this" json:"-"`
 16170  	// Type of profile to create. The profile types
 16171  	// are system-defined
 16172  	// (`ApplyProfile*.*ApplyProfile.profileTypeName`).
 16173  	ProfileType string `xml:"profileType" json:"profileType"`
 16174  	// If specified, the method returns a profile object
 16175  	// containing data for the named profile. The type name does not have
 16176  	// to be system-defined. A user-defined profile can include various
 16177  	// dynamically-defined profiles.
 16178  	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty"`
 16179  	// Base profile used during the operation.
 16180  	//
 16181  	// Refers instance of `Profile`.
 16182  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 16183  }
 16184  
 16185  func init() {
 16186  	t["CreateDefaultProfileRequestType"] = reflect.TypeOf((*CreateDefaultProfileRequestType)(nil)).Elem()
 16187  }
 16188  
 16189  type CreateDefaultProfileResponse struct {
 16190  	Returnval BaseApplyProfile `xml:"returnval,typeattr" json:"returnval"`
 16191  }
 16192  
 16193  type CreateDescriptor CreateDescriptorRequestType
 16194  
 16195  func init() {
 16196  	t["CreateDescriptor"] = reflect.TypeOf((*CreateDescriptor)(nil)).Elem()
 16197  }
 16198  
 16199  // The parameters of `OvfManager.CreateDescriptor`.
 16200  type CreateDescriptorRequestType struct {
 16201  	This ManagedObjectReference `xml:"_this" json:"-"`
 16202  	// The entity to export. Supported types are `VirtualMachine`
 16203  	// and `VirtualApp`.
 16204  	//
 16205  	// Required privileges: VApp.Export
 16206  	//
 16207  	// Refers instance of `ManagedEntity`.
 16208  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 16209  	// Parameters to the method, bundled in an instance of
 16210  	// CreateDescriptorParams.
 16211  	Cdp OvfCreateDescriptorParams `xml:"cdp" json:"cdp"`
 16212  }
 16213  
 16214  func init() {
 16215  	t["CreateDescriptorRequestType"] = reflect.TypeOf((*CreateDescriptorRequestType)(nil)).Elem()
 16216  }
 16217  
 16218  type CreateDescriptorResponse struct {
 16219  	Returnval OvfCreateDescriptorResult `xml:"returnval" json:"returnval"`
 16220  }
 16221  
 16222  type CreateDiagnosticPartition CreateDiagnosticPartitionRequestType
 16223  
 16224  func init() {
 16225  	t["CreateDiagnosticPartition"] = reflect.TypeOf((*CreateDiagnosticPartition)(nil)).Elem()
 16226  }
 16227  
 16228  // The parameters of `HostDiagnosticSystem.CreateDiagnosticPartition`.
 16229  type CreateDiagnosticPartitionRequestType struct {
 16230  	This ManagedObjectReference            `xml:"_this" json:"-"`
 16231  	Spec HostDiagnosticPartitionCreateSpec `xml:"spec" json:"spec"`
 16232  }
 16233  
 16234  func init() {
 16235  	t["CreateDiagnosticPartitionRequestType"] = reflect.TypeOf((*CreateDiagnosticPartitionRequestType)(nil)).Elem()
 16236  }
 16237  
 16238  type CreateDiagnosticPartitionResponse struct {
 16239  }
 16240  
 16241  type CreateDirectory CreateDirectoryRequestType
 16242  
 16243  func init() {
 16244  	t["CreateDirectory"] = reflect.TypeOf((*CreateDirectory)(nil)).Elem()
 16245  }
 16246  
 16247  // The parameters of `DatastoreNamespaceManager.CreateDirectory`.
 16248  type CreateDirectoryRequestType struct {
 16249  	This ManagedObjectReference `xml:"_this" json:"-"`
 16250  	// datastore on which to create a top-level directory
 16251  	//
 16252  	// Required privileges: Datastore.Config
 16253  	//
 16254  	// Refers instance of `Datastore`.
 16255  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 16256  	// display name hint for the directory to create
 16257  	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty"`
 16258  	// opaque storage policy to associate with the directory
 16259  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 16260  	// directory size in MB on vvol/vsan backed object storage.
 16261  	// default directory size will be used for vsan backed
 16262  	// object storage if not set.
 16263  	Size int64 `xml:"size,omitempty" json:"size,omitempty" vim:"7.0.2.0"`
 16264  }
 16265  
 16266  func init() {
 16267  	t["CreateDirectoryRequestType"] = reflect.TypeOf((*CreateDirectoryRequestType)(nil)).Elem()
 16268  }
 16269  
 16270  type CreateDirectoryResponse struct {
 16271  	Returnval string `xml:"returnval" json:"returnval"`
 16272  }
 16273  
 16274  // The parameters of `VcenterVStorageObjectManager.CreateDiskFromSnapshot_Task`.
 16275  type CreateDiskFromSnapshotRequestType struct {
 16276  	This ManagedObjectReference `xml:"_this" json:"-"`
 16277  	// The ID of the virtual storage object.
 16278  	Id ID `xml:"id" json:"id"`
 16279  	// The datastore where the source virtual storage object
 16280  	// is located.
 16281  	//
 16282  	// Refers instance of `Datastore`.
 16283  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 16284  	// The ID of the snapshot of the virtual storage object.
 16285  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 16286  	// A user friendly name to be associated with the new disk.
 16287  	Name string `xml:"name" json:"name"`
 16288  	// SPBM Profile requirement on the new virtual storage object.
 16289  	// If not specified datastore default policy would be
 16290  	// assigned.
 16291  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 16292  	// Crypto information of the new disk.
 16293  	// If unset and if profile contains an encryption iofilter and
 16294  	// if snapshto is unencrypted, then cyrpto will be of
 16295  	// type CryptoSpecEncrypt, and filled with keyId that is
 16296  	// automatically generated and keyProviderId that is the
 16297  	// default kms cluster.
 16298  	// If unset and if profile is a default policy and if snapshot
 16299  	// is unenrypted, then crypto is treated as CryptoSpecNoOp.
 16300  	// If unset and if profile contains an encryption iofilter and
 16301  	// if snapshot is encrypted, then cyrpto is treated as
 16302  	// CryptoSpecNoOp.
 16303  	// If unset and if profile is a default policy and if
 16304  	// snapshot is encrypted, then cyrpto is treated as
 16305  	// CryptoSpecDecrypt.
 16306  	// To recrypt the disk during creating disk, crypto has to be
 16307  	// present.
 16308  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 16309  	// Relative location in the specified datastore where disk needs
 16310  	// to be created. If not specified disk gets created at the
 16311  	// defualt VStorageObject location on the specified datastore.
 16312  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 16313  }
 16314  
 16315  func init() {
 16316  	t["CreateDiskFromSnapshotRequestType"] = reflect.TypeOf((*CreateDiskFromSnapshotRequestType)(nil)).Elem()
 16317  }
 16318  
 16319  type CreateDiskFromSnapshot_Task CreateDiskFromSnapshotRequestType
 16320  
 16321  func init() {
 16322  	t["CreateDiskFromSnapshot_Task"] = reflect.TypeOf((*CreateDiskFromSnapshot_Task)(nil)).Elem()
 16323  }
 16324  
 16325  type CreateDiskFromSnapshot_TaskResponse struct {
 16326  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16327  }
 16328  
 16329  // The parameters of `VcenterVStorageObjectManager.CreateDisk_Task`.
 16330  type CreateDiskRequestType struct {
 16331  	This ManagedObjectReference `xml:"_this" json:"-"`
 16332  	// The specification of the virtual storage object
 16333  	// to be created.
 16334  	Spec VslmCreateSpec `xml:"spec" json:"spec"`
 16335  }
 16336  
 16337  func init() {
 16338  	t["CreateDiskRequestType"] = reflect.TypeOf((*CreateDiskRequestType)(nil)).Elem()
 16339  }
 16340  
 16341  type CreateDisk_Task CreateDiskRequestType
 16342  
 16343  func init() {
 16344  	t["CreateDisk_Task"] = reflect.TypeOf((*CreateDisk_Task)(nil)).Elem()
 16345  }
 16346  
 16347  type CreateDisk_TaskResponse struct {
 16348  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16349  }
 16350  
 16351  type CreateFilter CreateFilterRequestType
 16352  
 16353  func init() {
 16354  	t["CreateFilter"] = reflect.TypeOf((*CreateFilter)(nil)).Elem()
 16355  }
 16356  
 16357  // The parameters of `PropertyCollector.CreateFilter`.
 16358  type CreateFilterRequestType struct {
 16359  	This ManagedObjectReference `xml:"_this" json:"-"`
 16360  	// The specifications for the filter.
 16361  	Spec PropertyFilterSpec `xml:"spec" json:"spec"`
 16362  	// Flag to specify whether a change to a nested property should report
 16363  	// only the nested change or the entire specified property value. If the
 16364  	// value is true, a change should report only the nested property. If
 16365  	// the value is false, a change should report the enclosing property
 16366  	// named in the filter.
 16367  	PartialUpdates bool `xml:"partialUpdates" json:"partialUpdates"`
 16368  }
 16369  
 16370  func init() {
 16371  	t["CreateFilterRequestType"] = reflect.TypeOf((*CreateFilterRequestType)(nil)).Elem()
 16372  }
 16373  
 16374  type CreateFilterResponse struct {
 16375  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16376  }
 16377  
 16378  type CreateFolder CreateFolderRequestType
 16379  
 16380  func init() {
 16381  	t["CreateFolder"] = reflect.TypeOf((*CreateFolder)(nil)).Elem()
 16382  }
 16383  
 16384  // The parameters of `Folder.CreateFolder`.
 16385  type CreateFolderRequestType struct {
 16386  	This ManagedObjectReference `xml:"_this" json:"-"`
 16387  	// The name to be given the new folder. An entity name
 16388  	// must be a non-empty string of less than 80 characters.
 16389  	// The slash (/), backslash (\\) and percent (%) will be escaped
 16390  	// using the URL syntax. For example, %2F. Any percent (%)
 16391  	// character used in this parameter must be escaped, unless
 16392  	// it is used to start an escape sequence. Clients may also
 16393  	// escape any other characters in this parameter.
 16394  	Name string `xml:"name" json:"name"`
 16395  }
 16396  
 16397  func init() {
 16398  	t["CreateFolderRequestType"] = reflect.TypeOf((*CreateFolderRequestType)(nil)).Elem()
 16399  }
 16400  
 16401  type CreateFolderResponse struct {
 16402  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16403  }
 16404  
 16405  type CreateGroup CreateGroupRequestType
 16406  
 16407  func init() {
 16408  	t["CreateGroup"] = reflect.TypeOf((*CreateGroup)(nil)).Elem()
 16409  }
 16410  
 16411  // The parameters of `HostLocalAccountManager.CreateGroup`.
 16412  type CreateGroupRequestType struct {
 16413  	This ManagedObjectReference `xml:"_this" json:"-"`
 16414  	// Specification of group being created.
 16415  	Group BaseHostAccountSpec `xml:"group,typeattr" json:"group"`
 16416  }
 16417  
 16418  func init() {
 16419  	t["CreateGroupRequestType"] = reflect.TypeOf((*CreateGroupRequestType)(nil)).Elem()
 16420  }
 16421  
 16422  type CreateGroupResponse struct {
 16423  }
 16424  
 16425  type CreateImportSpec CreateImportSpecRequestType
 16426  
 16427  func init() {
 16428  	t["CreateImportSpec"] = reflect.TypeOf((*CreateImportSpec)(nil)).Elem()
 16429  }
 16430  
 16431  // The parameters of `OvfManager.CreateImportSpec`.
 16432  type CreateImportSpecRequestType struct {
 16433  	This ManagedObjectReference `xml:"_this" json:"-"`
 16434  	// The OVF descriptor of the entity.
 16435  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 16436  	// The resource pool to import the entity to. May be a
 16437  	// vApp.
 16438  	//
 16439  	// Required privileges: VApp.Import
 16440  	//
 16441  	// Refers instance of `ResourcePool`.
 16442  	ResourcePool ManagedObjectReference `xml:"resourcePool" json:"resourcePool"`
 16443  	// The datastore on which to create the inventory objects
 16444  	// of the entity, for example "storage1". The privilege
 16445  	// Datastore.AllocateSpace is required on the datastore.
 16446  	//
 16447  	// Required privileges: Datastore.AllocateSpace
 16448  	//
 16449  	// Refers instance of `Datastore`.
 16450  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 16451  	// Additional parameters to the method, bundled in an instance of
 16452  	// CreateImportSpecParams.
 16453  	Cisp BaseOvfCreateImportSpecParams `xml:"cisp,typeattr" json:"cisp"`
 16454  }
 16455  
 16456  func init() {
 16457  	t["CreateImportSpecRequestType"] = reflect.TypeOf((*CreateImportSpecRequestType)(nil)).Elem()
 16458  }
 16459  
 16460  type CreateImportSpecResponse struct {
 16461  	Returnval OvfCreateImportSpecResult `xml:"returnval" json:"returnval"`
 16462  }
 16463  
 16464  type CreateInventoryView CreateInventoryViewRequestType
 16465  
 16466  func init() {
 16467  	t["CreateInventoryView"] = reflect.TypeOf((*CreateInventoryView)(nil)).Elem()
 16468  }
 16469  
 16470  type CreateInventoryViewRequestType struct {
 16471  	This ManagedObjectReference `xml:"_this" json:"-"`
 16472  }
 16473  
 16474  func init() {
 16475  	t["CreateInventoryViewRequestType"] = reflect.TypeOf((*CreateInventoryViewRequestType)(nil)).Elem()
 16476  }
 16477  
 16478  type CreateInventoryViewResponse struct {
 16479  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16480  }
 16481  
 16482  type CreateIpPool CreateIpPoolRequestType
 16483  
 16484  func init() {
 16485  	t["CreateIpPool"] = reflect.TypeOf((*CreateIpPool)(nil)).Elem()
 16486  }
 16487  
 16488  // The parameters of `IpPoolManager.CreateIpPool`.
 16489  type CreateIpPoolRequestType struct {
 16490  	This ManagedObjectReference `xml:"_this" json:"-"`
 16491  	// The datacenter on which to create the pool.
 16492  	//
 16493  	// Required privileges: Datacenter.IpPoolConfig
 16494  	//
 16495  	// Refers instance of `Datacenter`.
 16496  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 16497  	// The IP pool to create on the server
 16498  	Pool IpPool `xml:"pool" json:"pool"`
 16499  }
 16500  
 16501  func init() {
 16502  	t["CreateIpPoolRequestType"] = reflect.TypeOf((*CreateIpPoolRequestType)(nil)).Elem()
 16503  }
 16504  
 16505  type CreateIpPoolResponse struct {
 16506  	Returnval int32 `xml:"returnval" json:"returnval"`
 16507  }
 16508  
 16509  type CreateListView CreateListViewRequestType
 16510  
 16511  func init() {
 16512  	t["CreateListView"] = reflect.TypeOf((*CreateListView)(nil)).Elem()
 16513  }
 16514  
 16515  type CreateListViewFromView CreateListViewFromViewRequestType
 16516  
 16517  func init() {
 16518  	t["CreateListViewFromView"] = reflect.TypeOf((*CreateListViewFromView)(nil)).Elem()
 16519  }
 16520  
 16521  // The parameters of `ViewManager.CreateListViewFromView`.
 16522  type CreateListViewFromViewRequestType struct {
 16523  	This ManagedObjectReference `xml:"_this" json:"-"`
 16524  	// The view that will provide the object list for the
 16525  	// new ListView object.
 16526  	//
 16527  	// Refers instance of `View`.
 16528  	View ManagedObjectReference `xml:"view" json:"view"`
 16529  }
 16530  
 16531  func init() {
 16532  	t["CreateListViewFromViewRequestType"] = reflect.TypeOf((*CreateListViewFromViewRequestType)(nil)).Elem()
 16533  }
 16534  
 16535  type CreateListViewFromViewResponse struct {
 16536  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16537  }
 16538  
 16539  // The parameters of `ViewManager.CreateListView`.
 16540  type CreateListViewRequestType struct {
 16541  	This ManagedObjectReference `xml:"_this" json:"-"`
 16542  	// The initial list of objects in the view.
 16543  	//
 16544  	// Required privileges: System.View
 16545  	Obj []ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
 16546  }
 16547  
 16548  func init() {
 16549  	t["CreateListViewRequestType"] = reflect.TypeOf((*CreateListViewRequestType)(nil)).Elem()
 16550  }
 16551  
 16552  type CreateListViewResponse struct {
 16553  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16554  }
 16555  
 16556  type CreateLocalDatastore CreateLocalDatastoreRequestType
 16557  
 16558  func init() {
 16559  	t["CreateLocalDatastore"] = reflect.TypeOf((*CreateLocalDatastore)(nil)).Elem()
 16560  }
 16561  
 16562  // The parameters of `HostDatastoreSystem.CreateLocalDatastore`.
 16563  type CreateLocalDatastoreRequestType struct {
 16564  	This ManagedObjectReference `xml:"_this" json:"-"`
 16565  	// The name of a datastore to create on the local host.
 16566  	Name string `xml:"name" json:"name"`
 16567  	// The file path for a directory in which the virtual machine data
 16568  	// will be stored.
 16569  	Path string `xml:"path" json:"path"`
 16570  }
 16571  
 16572  func init() {
 16573  	t["CreateLocalDatastoreRequestType"] = reflect.TypeOf((*CreateLocalDatastoreRequestType)(nil)).Elem()
 16574  }
 16575  
 16576  type CreateLocalDatastoreResponse struct {
 16577  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16578  }
 16579  
 16580  type CreateNasDatastore CreateNasDatastoreRequestType
 16581  
 16582  func init() {
 16583  	t["CreateNasDatastore"] = reflect.TypeOf((*CreateNasDatastore)(nil)).Elem()
 16584  }
 16585  
 16586  // The parameters of `HostDatastoreSystem.CreateNasDatastore`.
 16587  type CreateNasDatastoreRequestType struct {
 16588  	This ManagedObjectReference `xml:"_this" json:"-"`
 16589  	// The specification for creating a network-attached storage volume.
 16590  	Spec HostNasVolumeSpec `xml:"spec" json:"spec"`
 16591  }
 16592  
 16593  func init() {
 16594  	t["CreateNasDatastoreRequestType"] = reflect.TypeOf((*CreateNasDatastoreRequestType)(nil)).Elem()
 16595  }
 16596  
 16597  type CreateNasDatastoreResponse struct {
 16598  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16599  }
 16600  
 16601  // The parameters of `HostNvdimmSystem.CreateNvdimmNamespace_Task`.
 16602  type CreateNvdimmNamespaceRequestType struct {
 16603  	This ManagedObjectReference `xml:"_this" json:"-"`
 16604  	// Parameters to create the required namespace.
 16605  	CreateSpec NvdimmNamespaceCreateSpec `xml:"createSpec" json:"createSpec"`
 16606  }
 16607  
 16608  func init() {
 16609  	t["CreateNvdimmNamespaceRequestType"] = reflect.TypeOf((*CreateNvdimmNamespaceRequestType)(nil)).Elem()
 16610  }
 16611  
 16612  type CreateNvdimmNamespace_Task CreateNvdimmNamespaceRequestType
 16613  
 16614  func init() {
 16615  	t["CreateNvdimmNamespace_Task"] = reflect.TypeOf((*CreateNvdimmNamespace_Task)(nil)).Elem()
 16616  }
 16617  
 16618  type CreateNvdimmNamespace_TaskResponse struct {
 16619  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16620  }
 16621  
 16622  // The parameters of `HostNvdimmSystem.CreateNvdimmPMemNamespace_Task`.
 16623  type CreateNvdimmPMemNamespaceRequestType struct {
 16624  	This ManagedObjectReference `xml:"_this" json:"-"`
 16625  	// Parameters to create the required namespace.
 16626  	CreateSpec NvdimmPMemNamespaceCreateSpec `xml:"createSpec" json:"createSpec"`
 16627  }
 16628  
 16629  func init() {
 16630  	t["CreateNvdimmPMemNamespaceRequestType"] = reflect.TypeOf((*CreateNvdimmPMemNamespaceRequestType)(nil)).Elem()
 16631  }
 16632  
 16633  type CreateNvdimmPMemNamespace_Task CreateNvdimmPMemNamespaceRequestType
 16634  
 16635  func init() {
 16636  	t["CreateNvdimmPMemNamespace_Task"] = reflect.TypeOf((*CreateNvdimmPMemNamespace_Task)(nil)).Elem()
 16637  }
 16638  
 16639  type CreateNvdimmPMemNamespace_TaskResponse struct {
 16640  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16641  }
 16642  
 16643  type CreateNvmeOverRdmaAdapter CreateNvmeOverRdmaAdapterRequestType
 16644  
 16645  func init() {
 16646  	t["CreateNvmeOverRdmaAdapter"] = reflect.TypeOf((*CreateNvmeOverRdmaAdapter)(nil)).Elem()
 16647  }
 16648  
 16649  // The parameters of `HostStorageSystem.CreateNvmeOverRdmaAdapter`.
 16650  type CreateNvmeOverRdmaAdapterRequestType struct {
 16651  	This ManagedObjectReference `xml:"_this" json:"-"`
 16652  	// The device name of the RDMA device
 16653  	// to be used to create the software adapter.
 16654  	// Can be obtained from `HostRdmaDevice.device`.
 16655  	RdmaDeviceName string `xml:"rdmaDeviceName" json:"rdmaDeviceName"`
 16656  }
 16657  
 16658  func init() {
 16659  	t["CreateNvmeOverRdmaAdapterRequestType"] = reflect.TypeOf((*CreateNvmeOverRdmaAdapterRequestType)(nil)).Elem()
 16660  }
 16661  
 16662  type CreateNvmeOverRdmaAdapterResponse struct {
 16663  }
 16664  
 16665  type CreateObjectScheduledTask CreateObjectScheduledTaskRequestType
 16666  
 16667  func init() {
 16668  	t["CreateObjectScheduledTask"] = reflect.TypeOf((*CreateObjectScheduledTask)(nil)).Elem()
 16669  }
 16670  
 16671  // The parameters of `ScheduledTaskManager.CreateObjectScheduledTask`.
 16672  type CreateObjectScheduledTaskRequestType struct {
 16673  	This ManagedObjectReference `xml:"_this" json:"-"`
 16674  	// The managed object for which the
 16675  	// scheduled task triggers an action. You can
 16676  	// schedule tasks on any managed object.
 16677  	//
 16678  	// Required privileges: ScheduledTask.Create
 16679  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 16680  	// The specification for the new scheduled task.
 16681  	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
 16682  }
 16683  
 16684  func init() {
 16685  	t["CreateObjectScheduledTaskRequestType"] = reflect.TypeOf((*CreateObjectScheduledTaskRequestType)(nil)).Elem()
 16686  }
 16687  
 16688  type CreateObjectScheduledTaskResponse struct {
 16689  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16690  }
 16691  
 16692  type CreatePerfInterval CreatePerfIntervalRequestType
 16693  
 16694  func init() {
 16695  	t["CreatePerfInterval"] = reflect.TypeOf((*CreatePerfInterval)(nil)).Elem()
 16696  }
 16697  
 16698  // The parameters of `PerformanceManager.CreatePerfInterval`.
 16699  type CreatePerfIntervalRequestType struct {
 16700  	This ManagedObjectReference `xml:"_this" json:"-"`
 16701  	// A custom interval, specified as the number of seconds to hold data in the
 16702  	// database, a user-specified unique name, and a sampling period (in
 16703  	// seconds).
 16704  	IntervalId PerfInterval `xml:"intervalId" json:"intervalId"`
 16705  }
 16706  
 16707  func init() {
 16708  	t["CreatePerfIntervalRequestType"] = reflect.TypeOf((*CreatePerfIntervalRequestType)(nil)).Elem()
 16709  }
 16710  
 16711  type CreatePerfIntervalResponse struct {
 16712  }
 16713  
 16714  type CreateProfile CreateProfileRequestType
 16715  
 16716  func init() {
 16717  	t["CreateProfile"] = reflect.TypeOf((*CreateProfile)(nil)).Elem()
 16718  }
 16719  
 16720  // The parameters of `ProfileManager.CreateProfile`.
 16721  type CreateProfileRequestType struct {
 16722  	This ManagedObjectReference `xml:"_this" json:"-"`
 16723  	// Specification for the profile being created.
 16724  	// Usually a derived class CreateSpec can be used to create the Profile.
 16725  	CreateSpec BaseProfileCreateSpec `xml:"createSpec,typeattr" json:"createSpec"`
 16726  }
 16727  
 16728  func init() {
 16729  	t["CreateProfileRequestType"] = reflect.TypeOf((*CreateProfileRequestType)(nil)).Elem()
 16730  }
 16731  
 16732  type CreateProfileResponse struct {
 16733  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16734  }
 16735  
 16736  type CreatePropertyCollector CreatePropertyCollectorRequestType
 16737  
 16738  func init() {
 16739  	t["CreatePropertyCollector"] = reflect.TypeOf((*CreatePropertyCollector)(nil)).Elem()
 16740  }
 16741  
 16742  type CreatePropertyCollectorRequestType struct {
 16743  	This ManagedObjectReference `xml:"_this" json:"-"`
 16744  }
 16745  
 16746  func init() {
 16747  	t["CreatePropertyCollectorRequestType"] = reflect.TypeOf((*CreatePropertyCollectorRequestType)(nil)).Elem()
 16748  }
 16749  
 16750  type CreatePropertyCollectorResponse struct {
 16751  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16752  }
 16753  
 16754  type CreateRegistryKeyInGuest CreateRegistryKeyInGuestRequestType
 16755  
 16756  func init() {
 16757  	t["CreateRegistryKeyInGuest"] = reflect.TypeOf((*CreateRegistryKeyInGuest)(nil)).Elem()
 16758  }
 16759  
 16760  // The parameters of `GuestWindowsRegistryManager.CreateRegistryKeyInGuest`.
 16761  type CreateRegistryKeyInGuestRequestType struct {
 16762  	This ManagedObjectReference `xml:"_this" json:"-"`
 16763  	// Virtual machine to perform the operation on.
 16764  	//
 16765  	// Required privileges: VirtualMachine.GuestOperations.Modify
 16766  	//
 16767  	// Refers instance of `VirtualMachine`.
 16768  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 16769  	// The guest authentication data.
 16770  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 16771  	// The path to the registry key to be created.
 16772  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 16773  	// If true, the key is created in memory and is not
 16774  	// preserved across system reboot. Otherwise, it shall
 16775  	// persist in the file system.
 16776  	IsVolatile bool `xml:"isVolatile" json:"isVolatile"`
 16777  	// User defined class type for this key. May be omitted.
 16778  	ClassType string `xml:"classType,omitempty" json:"classType,omitempty"`
 16779  }
 16780  
 16781  func init() {
 16782  	t["CreateRegistryKeyInGuestRequestType"] = reflect.TypeOf((*CreateRegistryKeyInGuestRequestType)(nil)).Elem()
 16783  }
 16784  
 16785  type CreateRegistryKeyInGuestResponse struct {
 16786  }
 16787  
 16788  type CreateResourcePool CreateResourcePoolRequestType
 16789  
 16790  func init() {
 16791  	t["CreateResourcePool"] = reflect.TypeOf((*CreateResourcePool)(nil)).Elem()
 16792  }
 16793  
 16794  // The parameters of `ResourcePool.CreateResourcePool`.
 16795  type CreateResourcePoolRequestType struct {
 16796  	This ManagedObjectReference `xml:"_this" json:"-"`
 16797  	// The name of the ResourcePool. Any % (percent) character
 16798  	// used in this parameter must be escaped, unless it is used
 16799  	// to start an escape sequence. Clients may also escape any
 16800  	// other characters in this parameter.
 16801  	Name string `xml:"name" json:"name"`
 16802  	// The spec for the ResourcePool.
 16803  	// All values in ResourceAllocationInfo must be specified and
 16804  	// are not optional.
 16805  	Spec ResourceConfigSpec `xml:"spec" json:"spec"`
 16806  }
 16807  
 16808  func init() {
 16809  	t["CreateResourcePoolRequestType"] = reflect.TypeOf((*CreateResourcePoolRequestType)(nil)).Elem()
 16810  }
 16811  
 16812  type CreateResourcePoolResponse struct {
 16813  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16814  }
 16815  
 16816  type CreateScheduledTask CreateScheduledTaskRequestType
 16817  
 16818  func init() {
 16819  	t["CreateScheduledTask"] = reflect.TypeOf((*CreateScheduledTask)(nil)).Elem()
 16820  }
 16821  
 16822  // The parameters of `ScheduledTaskManager.CreateScheduledTask`.
 16823  type CreateScheduledTaskRequestType struct {
 16824  	This ManagedObjectReference `xml:"_this" json:"-"`
 16825  	// The managed entity (or entities) for which the
 16826  	// scheduled task triggers an action. You can
 16827  	// schedule tasks on any managed entity. If the
 16828  	// scheduled task is associated with a leaf node in
 16829  	// the inventory tree, it applies only to a single
 16830  	// entity (virtual machine or host). If the
 16831  	// task is associated with a folder, a datacenter, a
 16832  	// compute resource, or a resource pool, it applies to
 16833  	// the virtual machine or host descendants of the entity.
 16834  	//
 16835  	// Required privileges: ScheduledTask.Create
 16836  	//
 16837  	// Refers instance of `ManagedEntity`.
 16838  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 16839  	// The specification for the new scheduled task.
 16840  	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
 16841  }
 16842  
 16843  func init() {
 16844  	t["CreateScheduledTaskRequestType"] = reflect.TypeOf((*CreateScheduledTaskRequestType)(nil)).Elem()
 16845  }
 16846  
 16847  type CreateScheduledTaskResponse struct {
 16848  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16849  }
 16850  
 16851  type CreateScreenshotRequestType struct {
 16852  	This ManagedObjectReference `xml:"_this" json:"-"`
 16853  }
 16854  
 16855  func init() {
 16856  	t["CreateScreenshotRequestType"] = reflect.TypeOf((*CreateScreenshotRequestType)(nil)).Elem()
 16857  }
 16858  
 16859  type CreateScreenshot_Task CreateScreenshotRequestType
 16860  
 16861  func init() {
 16862  	t["CreateScreenshot_Task"] = reflect.TypeOf((*CreateScreenshot_Task)(nil)).Elem()
 16863  }
 16864  
 16865  type CreateScreenshot_TaskResponse struct {
 16866  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16867  }
 16868  
 16869  // The parameters of `VirtualMachine.CreateSecondaryVMEx_Task`.
 16870  type CreateSecondaryVMExRequestType struct {
 16871  	This ManagedObjectReference `xml:"_this" json:"-"`
 16872  	// The host where the secondary virtual machine is to be
 16873  	// created and powered on. If no host is specified, a compatible host will be
 16874  	// selected by the system. If a host cannot be found for the secondary or the specified
 16875  	// host is not suitable, the secondary will not be created and a fault will be returned.
 16876  	//
 16877  	// Refers instance of `HostSystem`.
 16878  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 16879  	// This parameter `FaultToleranceVMConfigSpec` can
 16880  	// be used to specify the storage location of the fault tolerance
 16881  	// tie-breaker file, secondary configuration file and secondary
 16882  	// disks.
 16883  	//
 16884  	// If the virtual machine is on a vSAN datastore, then the
 16885  	// Fault Tolerance secondary virtual machine and the tie-breaker
 16886  	// file also have to be placed on that same vSAN datastore.
 16887  	// Conversely, if a primary VM is not using vSAN datastore,
 16888  	// then its Fault Tolerance secondary virtual machine can
 16889  	// not be placed on a vSAN datastore. Fault Tolerance is not
 16890  	// supported for VMs that are using both vSAN and non-vSAN
 16891  	// datastores for its configuration and disks.
 16892  	//
 16893  	// If the virtual machine is using persistent memory for any of
 16894  	// its disks, then its corresponding secondary disk placement
 16895  	// entry should not be specified in the
 16896  	// `FaultToleranceVMConfigSpec`. The system will
 16897  	// automatically place the corresponding secondary disk on
 16898  	// persistent memory.
 16899  	Spec *FaultToleranceConfigSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 16900  }
 16901  
 16902  func init() {
 16903  	t["CreateSecondaryVMExRequestType"] = reflect.TypeOf((*CreateSecondaryVMExRequestType)(nil)).Elem()
 16904  }
 16905  
 16906  type CreateSecondaryVMEx_Task CreateSecondaryVMExRequestType
 16907  
 16908  func init() {
 16909  	t["CreateSecondaryVMEx_Task"] = reflect.TypeOf((*CreateSecondaryVMEx_Task)(nil)).Elem()
 16910  }
 16911  
 16912  type CreateSecondaryVMEx_TaskResponse struct {
 16913  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16914  }
 16915  
 16916  // The parameters of `VirtualMachine.CreateSecondaryVM_Task`.
 16917  type CreateSecondaryVMRequestType struct {
 16918  	This ManagedObjectReference `xml:"_this" json:"-"`
 16919  	// The host where the secondary virtual machine is to be
 16920  	// created and powered on. If no host is specified, a compatible host will be
 16921  	// selected by the system. If a host cannot be found for the secondary or the specified
 16922  	// host is not suitable, the secondary will not be created and a fault will be returned.
 16923  	//
 16924  	// Refers instance of `HostSystem`.
 16925  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 16926  }
 16927  
 16928  func init() {
 16929  	t["CreateSecondaryVMRequestType"] = reflect.TypeOf((*CreateSecondaryVMRequestType)(nil)).Elem()
 16930  }
 16931  
 16932  type CreateSecondaryVM_Task CreateSecondaryVMRequestType
 16933  
 16934  func init() {
 16935  	t["CreateSecondaryVM_Task"] = reflect.TypeOf((*CreateSecondaryVM_Task)(nil)).Elem()
 16936  }
 16937  
 16938  type CreateSecondaryVM_TaskResponse struct {
 16939  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16940  }
 16941  
 16942  // The parameters of `VirtualMachine.CreateSnapshotEx_Task`.
 16943  type CreateSnapshotExRequestType struct {
 16944  	This ManagedObjectReference `xml:"_this" json:"-"`
 16945  	// The name for this snapshot. The name need not be unique for
 16946  	// this virtual machine.
 16947  	Name string `xml:"name" json:"name"`
 16948  	// A description for this snapshot. If omitted, a default
 16949  	// description may be provided.
 16950  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 16951  	// If TRUE, a dump of the internal state of the virtual machine
 16952  	// (basically a memory dump) is included in the snapshot. Memory snapshots
 16953  	// consume time and resources, and thus take longer to create.
 16954  	// When set to FALSE, the power state of the snapshot is set to powered off.
 16955  	//
 16956  	// `capabilities`
 16957  	// indicates whether or not this virtual machine supports this operation.
 16958  	// For a virtual machine in suspended state we always include memory
 16959  	// unless `VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported` is
 16960  	// true.
 16961  	Memory bool `xml:"memory" json:"memory"`
 16962  	// Spec for granular control over quiesce details.
 16963  	// If quiesceSpec is set and the virtual machine is powered on when the
 16964  	// snapshot is taken, VMware Tools is used to quiesce the file
 16965  	// system in the virtual machine. This assures that a disk snapshot
 16966  	// represents a consistent state of the guest file systems. If the virtual
 16967  	// machine is powered off or VMware Tools are not available, the quiesce
 16968  	// spec is ignored. If the spec type is `VirtualMachineGuestQuiesceSpec`, the
 16969  	// default quiescing process will be applied. If the spec type is
 16970  	// `VirtualMachineWindowsQuiesceSpec` and Guest OS is Windows, the parameters
 16971  	// will control the VSS process.
 16972  	QuiesceSpec BaseVirtualMachineGuestQuiesceSpec `xml:"quiesceSpec,omitempty,typeattr" json:"quiesceSpec,omitempty"`
 16973  }
 16974  
 16975  func init() {
 16976  	t["CreateSnapshotExRequestType"] = reflect.TypeOf((*CreateSnapshotExRequestType)(nil)).Elem()
 16977  }
 16978  
 16979  type CreateSnapshotEx_Task CreateSnapshotExRequestType
 16980  
 16981  func init() {
 16982  	t["CreateSnapshotEx_Task"] = reflect.TypeOf((*CreateSnapshotEx_Task)(nil)).Elem()
 16983  }
 16984  
 16985  type CreateSnapshotEx_TaskResponse struct {
 16986  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16987  }
 16988  
 16989  // The parameters of `VirtualMachine.CreateSnapshot_Task`.
 16990  type CreateSnapshotRequestType struct {
 16991  	This ManagedObjectReference `xml:"_this" json:"-"`
 16992  	// The name for this snapshot. The name need not be unique for
 16993  	// this virtual machine.
 16994  	Name string `xml:"name" json:"name"`
 16995  	// A description for this snapshot. If omitted, a default
 16996  	// description may be provided.
 16997  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 16998  	// If TRUE, a dump of the internal state of the virtual machine
 16999  	// (basically a memory dump) is included in the snapshot. Memory snapshots
 17000  	// consume time and resources, and thus take longer to create. When set to FALSE,
 17001  	// the power state of the snapshot is set to powered off.
 17002  	//
 17003  	// `capabilities`
 17004  	// indicates whether or not this virtual machine supports this operation.
 17005  	// For a virtual machine in suspended state we always include memory
 17006  	// unless `VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported` is
 17007  	// true.
 17008  	Memory bool `xml:"memory" json:"memory"`
 17009  	// If TRUE and the virtual machine is powered on when the
 17010  	// snapshot is taken, VMware Tools is used to quiesce the file
 17011  	// system in the virtual machine. This assures that a disk snapshot
 17012  	// represents a consistent state of the guest file systems. If the virtual machine
 17013  	// is powered off or VMware Tools are not available, the quiesce flag is ignored.
 17014  	Quiesce bool `xml:"quiesce" json:"quiesce"`
 17015  }
 17016  
 17017  func init() {
 17018  	t["CreateSnapshotRequestType"] = reflect.TypeOf((*CreateSnapshotRequestType)(nil)).Elem()
 17019  }
 17020  
 17021  type CreateSnapshot_Task CreateSnapshotRequestType
 17022  
 17023  func init() {
 17024  	t["CreateSnapshot_Task"] = reflect.TypeOf((*CreateSnapshot_Task)(nil)).Elem()
 17025  }
 17026  
 17027  type CreateSnapshot_TaskResponse struct {
 17028  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17029  }
 17030  
 17031  type CreateSoftwareAdapter CreateSoftwareAdapterRequestType
 17032  
 17033  func init() {
 17034  	t["CreateSoftwareAdapter"] = reflect.TypeOf((*CreateSoftwareAdapter)(nil)).Elem()
 17035  }
 17036  
 17037  // The parameters of `HostStorageSystem.CreateSoftwareAdapter`.
 17038  type CreateSoftwareAdapterRequestType struct {
 17039  	This ManagedObjectReference `xml:"_this" json:"-"`
 17040  	// A data object that specifices the parameters necessary
 17041  	// to create a software host bus adapter of a specific type.
 17042  	Spec BaseHostHbaCreateSpec `xml:"spec,typeattr" json:"spec"`
 17043  }
 17044  
 17045  func init() {
 17046  	t["CreateSoftwareAdapterRequestType"] = reflect.TypeOf((*CreateSoftwareAdapterRequestType)(nil)).Elem()
 17047  	minAPIVersionForType["CreateSoftwareAdapterRequestType"] = "7.0.3.0"
 17048  }
 17049  
 17050  type CreateSoftwareAdapterResponse struct {
 17051  }
 17052  
 17053  type CreateStoragePod CreateStoragePodRequestType
 17054  
 17055  func init() {
 17056  	t["CreateStoragePod"] = reflect.TypeOf((*CreateStoragePod)(nil)).Elem()
 17057  }
 17058  
 17059  // The parameters of `Folder.CreateStoragePod`.
 17060  type CreateStoragePodRequestType struct {
 17061  	This ManagedObjectReference `xml:"_this" json:"-"`
 17062  	// Name for the new storage pod.
 17063  	Name string `xml:"name" json:"name"`
 17064  }
 17065  
 17066  func init() {
 17067  	t["CreateStoragePodRequestType"] = reflect.TypeOf((*CreateStoragePodRequestType)(nil)).Elem()
 17068  }
 17069  
 17070  type CreateStoragePodResponse struct {
 17071  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17072  }
 17073  
 17074  type CreateTask CreateTaskRequestType
 17075  
 17076  func init() {
 17077  	t["CreateTask"] = reflect.TypeOf((*CreateTask)(nil)).Elem()
 17078  }
 17079  
 17080  // This data object type specifies the type of task to be created
 17081  // when this action is triggered.
 17082  type CreateTaskAction struct {
 17083  	Action
 17084  
 17085  	// Extension registered task type identifier
 17086  	// for type of task being created.
 17087  	TaskTypeId string `xml:"taskTypeId" json:"taskTypeId"`
 17088  	// Whether the task should be cancelable.
 17089  	Cancelable bool `xml:"cancelable" json:"cancelable"`
 17090  }
 17091  
 17092  func init() {
 17093  	t["CreateTaskAction"] = reflect.TypeOf((*CreateTaskAction)(nil)).Elem()
 17094  }
 17095  
 17096  // The parameters of `TaskManager.CreateTask`.
 17097  type CreateTaskRequestType struct {
 17098  	This ManagedObjectReference `xml:"_this" json:"-"`
 17099  	// ManagedObject with which Task will be associated
 17100  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 17101  	// Extension registered task type identifier
 17102  	// for type of task being created
 17103  	TaskTypeId string `xml:"taskTypeId" json:"taskTypeId"`
 17104  	// The name of the user on whose behalf the
 17105  	// Extension is creating the task
 17106  	InitiatedBy string `xml:"initiatedBy,omitempty" json:"initiatedBy,omitempty"`
 17107  	// True if the task should be cancelable,
 17108  	// false otherwise
 17109  	Cancelable bool `xml:"cancelable" json:"cancelable"`
 17110  	// Key of the task that is the parent of this task
 17111  	ParentTaskKey string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty"`
 17112  	// Activation Id is a client-provided token to link an
 17113  	// API call with a task. When provided, the activationId is added to the
 17114  	// `TaskInfo`
 17115  	ActivationId string `xml:"activationId,omitempty" json:"activationId,omitempty"`
 17116  }
 17117  
 17118  func init() {
 17119  	t["CreateTaskRequestType"] = reflect.TypeOf((*CreateTaskRequestType)(nil)).Elem()
 17120  }
 17121  
 17122  type CreateTaskResponse struct {
 17123  	Returnval TaskInfo `xml:"returnval" json:"returnval"`
 17124  }
 17125  
 17126  type CreateTemporaryDirectoryInGuest CreateTemporaryDirectoryInGuestRequestType
 17127  
 17128  func init() {
 17129  	t["CreateTemporaryDirectoryInGuest"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuest)(nil)).Elem()
 17130  }
 17131  
 17132  // The parameters of `GuestFileManager.CreateTemporaryDirectoryInGuest`.
 17133  type CreateTemporaryDirectoryInGuestRequestType struct {
 17134  	This ManagedObjectReference `xml:"_this" json:"-"`
 17135  	// Virtual Machine to perform the operation on.
 17136  	//
 17137  	// Required privileges: VirtualMachine.GuestOperations.Modify
 17138  	//
 17139  	// Refers instance of `VirtualMachine`.
 17140  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 17141  	// The guest authentication data. See
 17142  	// `GuestAuthentication`.
 17143  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 17144  	// The prefix to be given to the new temporary directory.
 17145  	Prefix string `xml:"prefix" json:"prefix"`
 17146  	// The suffix to be given to the new temporary directory.
 17147  	Suffix string `xml:"suffix" json:"suffix"`
 17148  	// The complete path to the directory in which to create the
 17149  	// new directory. If unset or an empty string, a guest-specific location
 17150  	// will be used.
 17151  	DirectoryPath string `xml:"directoryPath,omitempty" json:"directoryPath,omitempty"`
 17152  }
 17153  
 17154  func init() {
 17155  	t["CreateTemporaryDirectoryInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuestRequestType)(nil)).Elem()
 17156  }
 17157  
 17158  type CreateTemporaryDirectoryInGuestResponse struct {
 17159  	Returnval string `xml:"returnval" json:"returnval"`
 17160  }
 17161  
 17162  type CreateTemporaryFileInGuest CreateTemporaryFileInGuestRequestType
 17163  
 17164  func init() {
 17165  	t["CreateTemporaryFileInGuest"] = reflect.TypeOf((*CreateTemporaryFileInGuest)(nil)).Elem()
 17166  }
 17167  
 17168  // The parameters of `GuestFileManager.CreateTemporaryFileInGuest`.
 17169  type CreateTemporaryFileInGuestRequestType struct {
 17170  	This ManagedObjectReference `xml:"_this" json:"-"`
 17171  	// Virtual Machine to perform the operation on.
 17172  	//
 17173  	// Required privileges: VirtualMachine.GuestOperations.Modify
 17174  	//
 17175  	// Refers instance of `VirtualMachine`.
 17176  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 17177  	// The guest authentication data. See
 17178  	// `GuestAuthentication`.
 17179  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 17180  	// The prefix to be given to the new temporary file.
 17181  	Prefix string `xml:"prefix" json:"prefix"`
 17182  	// The suffix to be given to the new temporary file.
 17183  	Suffix string `xml:"suffix" json:"suffix"`
 17184  	// The complete path to the directory in which to
 17185  	// create the file.
 17186  	// If unset, or an empty string, a guest-specific location will be used.
 17187  	DirectoryPath string `xml:"directoryPath,omitempty" json:"directoryPath,omitempty"`
 17188  }
 17189  
 17190  func init() {
 17191  	t["CreateTemporaryFileInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryFileInGuestRequestType)(nil)).Elem()
 17192  }
 17193  
 17194  type CreateTemporaryFileInGuestResponse struct {
 17195  	Returnval string `xml:"returnval" json:"returnval"`
 17196  }
 17197  
 17198  type CreateUser CreateUserRequestType
 17199  
 17200  func init() {
 17201  	t["CreateUser"] = reflect.TypeOf((*CreateUser)(nil)).Elem()
 17202  }
 17203  
 17204  // The parameters of `HostLocalAccountManager.CreateUser`.
 17205  type CreateUserRequestType struct {
 17206  	This ManagedObjectReference `xml:"_this" json:"-"`
 17207  	// Specification of user being created.
 17208  	User BaseHostAccountSpec `xml:"user,typeattr" json:"user"`
 17209  }
 17210  
 17211  func init() {
 17212  	t["CreateUserRequestType"] = reflect.TypeOf((*CreateUserRequestType)(nil)).Elem()
 17213  }
 17214  
 17215  type CreateUserResponse struct {
 17216  }
 17217  
 17218  type CreateVApp CreateVAppRequestType
 17219  
 17220  func init() {
 17221  	t["CreateVApp"] = reflect.TypeOf((*CreateVApp)(nil)).Elem()
 17222  }
 17223  
 17224  // The parameters of `ResourcePool.CreateVApp`.
 17225  type CreateVAppRequestType struct {
 17226  	This ManagedObjectReference `xml:"_this" json:"-"`
 17227  	// The name of the vApp container in the inventory
 17228  	Name string `xml:"name" json:"name"`
 17229  	// The resource configuration for the vApp container (same as for a
 17230  	// regular resource pool).
 17231  	ResSpec ResourceConfigSpec `xml:"resSpec" json:"resSpec"`
 17232  	// The specification of the vApp specific meta-data.
 17233  	ConfigSpec VAppConfigSpec `xml:"configSpec" json:"configSpec"`
 17234  	// The parent folder for the vApp. This must be null if this is
 17235  	// a child vApp.
 17236  	//
 17237  	// Refers instance of `Folder`.
 17238  	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
 17239  }
 17240  
 17241  func init() {
 17242  	t["CreateVAppRequestType"] = reflect.TypeOf((*CreateVAppRequestType)(nil)).Elem()
 17243  }
 17244  
 17245  type CreateVAppResponse struct {
 17246  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17247  }
 17248  
 17249  // The parameters of `Folder.CreateVM_Task`.
 17250  type CreateVMRequestType struct {
 17251  	This ManagedObjectReference `xml:"_this" json:"-"`
 17252  	// The configuration of the virtual machine hardware.
 17253  	Config VirtualMachineConfigSpec `xml:"config" json:"config"`
 17254  	// The resource pool to which the virtual machine will be attached.
 17255  	//
 17256  	// Required privileges: Resource.AssignVMToPool
 17257  	//
 17258  	// Refers instance of `ResourcePool`.
 17259  	Pool ManagedObjectReference `xml:"pool" json:"pool"`
 17260  	// The target host on which the virtual machine will run. This must
 17261  	// specify a host that is a member of the ComputeResource indirectly
 17262  	// specified by the pool. For a stand-alone host or a cluster with DRS,
 17263  	// host can be omitted, and the system selects a default.
 17264  	//
 17265  	// Refers instance of `HostSystem`.
 17266  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 17267  }
 17268  
 17269  func init() {
 17270  	t["CreateVMRequestType"] = reflect.TypeOf((*CreateVMRequestType)(nil)).Elem()
 17271  }
 17272  
 17273  type CreateVM_Task CreateVMRequestType
 17274  
 17275  func init() {
 17276  	t["CreateVM_Task"] = reflect.TypeOf((*CreateVM_Task)(nil)).Elem()
 17277  }
 17278  
 17279  type CreateVM_TaskResponse struct {
 17280  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17281  }
 17282  
 17283  // The parameters of `VirtualDiskManager.CreateVirtualDisk_Task`.
 17284  type CreateVirtualDiskRequestType struct {
 17285  	This ManagedObjectReference `xml:"_this" json:"-"`
 17286  	// The name of the disk, either a datastore path or a
 17287  	// URL referring to the virtual disk to be created.
 17288  	Name string `xml:"name" json:"name"`
 17289  	// If <code>name</code> is a datastore path, the datacenter for
 17290  	// that datastore path. Not needed when invoked directly on ESX.
 17291  	// If not specified on a call to VirtualCenter,
 17292  	// <code>name</code> must be a URL.
 17293  	//
 17294  	// Refers instance of `Datacenter`.
 17295  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 17296  	// The specification of the virtual disk to be created.
 17297  	Spec BaseVirtualDiskSpec `xml:"spec,typeattr" json:"spec"`
 17298  }
 17299  
 17300  func init() {
 17301  	t["CreateVirtualDiskRequestType"] = reflect.TypeOf((*CreateVirtualDiskRequestType)(nil)).Elem()
 17302  }
 17303  
 17304  type CreateVirtualDisk_Task CreateVirtualDiskRequestType
 17305  
 17306  func init() {
 17307  	t["CreateVirtualDisk_Task"] = reflect.TypeOf((*CreateVirtualDisk_Task)(nil)).Elem()
 17308  }
 17309  
 17310  type CreateVirtualDisk_TaskResponse struct {
 17311  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17312  }
 17313  
 17314  type CreateVmfsDatastore CreateVmfsDatastoreRequestType
 17315  
 17316  func init() {
 17317  	t["CreateVmfsDatastore"] = reflect.TypeOf((*CreateVmfsDatastore)(nil)).Elem()
 17318  }
 17319  
 17320  // The parameters of `HostDatastoreSystem.CreateVmfsDatastore`.
 17321  type CreateVmfsDatastoreRequestType struct {
 17322  	This ManagedObjectReference `xml:"_this" json:"-"`
 17323  	// The specification for creating a datastore backed by a VMFS.
 17324  	Spec VmfsDatastoreCreateSpec `xml:"spec" json:"spec"`
 17325  }
 17326  
 17327  func init() {
 17328  	t["CreateVmfsDatastoreRequestType"] = reflect.TypeOf((*CreateVmfsDatastoreRequestType)(nil)).Elem()
 17329  }
 17330  
 17331  type CreateVmfsDatastoreResponse struct {
 17332  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17333  }
 17334  
 17335  type CreateVvolDatastore CreateVvolDatastoreRequestType
 17336  
 17337  func init() {
 17338  	t["CreateVvolDatastore"] = reflect.TypeOf((*CreateVvolDatastore)(nil)).Elem()
 17339  }
 17340  
 17341  // The parameters of `HostDatastoreSystem.CreateVvolDatastore`.
 17342  type CreateVvolDatastoreRequestType struct {
 17343  	This ManagedObjectReference `xml:"_this" json:"-"`
 17344  	// Specification for creating a Virtual-Volume based datastore.
 17345  	Spec HostDatastoreSystemVvolDatastoreSpec `xml:"spec" json:"spec"`
 17346  }
 17347  
 17348  func init() {
 17349  	t["CreateVvolDatastoreRequestType"] = reflect.TypeOf((*CreateVvolDatastoreRequestType)(nil)).Elem()
 17350  }
 17351  
 17352  type CreateVvolDatastoreResponse struct {
 17353  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17354  }
 17355  
 17356  // Data Object representing a cryptographic key.
 17357  type CryptoKeyId struct {
 17358  	DynamicData
 17359  
 17360  	// Unique key ID.
 17361  	//
 17362  	// When creating a key may be replaced with the ID generated by the KMS
 17363  	// server.
 17364  	// An empty string must be used when encrypting with a Trusted Key Provider,
 17365  	// because the key is generated at the time of encryption.
 17366  	KeyId string `xml:"keyId" json:"keyId"`
 17367  	// The provider holding the key data.
 17368  	//
 17369  	// May be ignored if the key is known to be stored in another provider.
 17370  	ProviderId *KeyProviderId `xml:"providerId,omitempty" json:"providerId,omitempty"`
 17371  }
 17372  
 17373  func init() {
 17374  	t["CryptoKeyId"] = reflect.TypeOf((*CryptoKeyId)(nil)).Elem()
 17375  }
 17376  
 17377  // Data Object representing a plain text cryptographic key.
 17378  type CryptoKeyPlain struct {
 17379  	DynamicData
 17380  
 17381  	KeyId     CryptoKeyId `xml:"keyId" json:"keyId"`
 17382  	Algorithm string      `xml:"algorithm" json:"algorithm"`
 17383  	KeyData   string      `xml:"keyData" json:"keyData"`
 17384  }
 17385  
 17386  func init() {
 17387  	t["CryptoKeyPlain"] = reflect.TypeOf((*CryptoKeyPlain)(nil)).Elem()
 17388  }
 17389  
 17390  // CryptoKeyResult.java --
 17391  // Data Object representing a cryptographic key operation result.
 17392  type CryptoKeyResult struct {
 17393  	DynamicData
 17394  
 17395  	KeyId   CryptoKeyId `xml:"keyId" json:"keyId"`
 17396  	Success bool        `xml:"success" json:"success"`
 17397  	Reason  string      `xml:"reason,omitempty" json:"reason,omitempty"`
 17398  	// Fault which includes details about the error.
 17399  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty" vim:"7.0.1.0"`
 17400  }
 17401  
 17402  func init() {
 17403  	t["CryptoKeyResult"] = reflect.TypeOf((*CryptoKeyResult)(nil)).Elem()
 17404  }
 17405  
 17406  type CryptoManagerHostDisable CryptoManagerHostDisableRequestType
 17407  
 17408  func init() {
 17409  	t["CryptoManagerHostDisable"] = reflect.TypeOf((*CryptoManagerHostDisable)(nil)).Elem()
 17410  }
 17411  
 17412  type CryptoManagerHostDisableRequestType struct {
 17413  	This ManagedObjectReference `xml:"_this" json:"-"`
 17414  }
 17415  
 17416  func init() {
 17417  	t["CryptoManagerHostDisableRequestType"] = reflect.TypeOf((*CryptoManagerHostDisableRequestType)(nil)).Elem()
 17418  }
 17419  
 17420  type CryptoManagerHostDisableResponse struct {
 17421  }
 17422  
 17423  type CryptoManagerHostEnable CryptoManagerHostEnableRequestType
 17424  
 17425  func init() {
 17426  	t["CryptoManagerHostEnable"] = reflect.TypeOf((*CryptoManagerHostEnable)(nil)).Elem()
 17427  }
 17428  
 17429  // The parameters of `CryptoManagerHost.CryptoManagerHostEnable`.
 17430  type CryptoManagerHostEnableRequestType struct {
 17431  	This ManagedObjectReference `xml:"_this" json:"-"`
 17432  	// The key to be used for core dump encryption
 17433  	InitialKey CryptoKeyPlain `xml:"initialKey" json:"initialKey"`
 17434  }
 17435  
 17436  func init() {
 17437  	t["CryptoManagerHostEnableRequestType"] = reflect.TypeOf((*CryptoManagerHostEnableRequestType)(nil)).Elem()
 17438  }
 17439  
 17440  type CryptoManagerHostEnableResponse struct {
 17441  }
 17442  
 17443  // Status of a Crypto key on host.
 17444  type CryptoManagerHostKeyStatus struct {
 17445  	DynamicData
 17446  
 17447  	// Crypto key Id.
 17448  	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
 17449  	// Whether the key is present in key cache for crypto operation.
 17450  	Present bool `xml:"present" json:"present"`
 17451  	// Key management type.
 17452  	//
 17453  	// See `CryptoManagerHostKeyManagementType_enum` for valid values.
 17454  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 17455  	// Whether the provider of the key has been granted access.
 17456  	AccessGranted *bool `xml:"accessGranted" json:"accessGranted,omitempty" vim:"8.0.3.0"`
 17457  }
 17458  
 17459  func init() {
 17460  	t["CryptoManagerHostKeyStatus"] = reflect.TypeOf((*CryptoManagerHostKeyStatus)(nil)).Elem()
 17461  	minAPIVersionForType["CryptoManagerHostKeyStatus"] = "8.0.1.0"
 17462  }
 17463  
 17464  type CryptoManagerHostPrepare CryptoManagerHostPrepareRequestType
 17465  
 17466  func init() {
 17467  	t["CryptoManagerHostPrepare"] = reflect.TypeOf((*CryptoManagerHostPrepare)(nil)).Elem()
 17468  }
 17469  
 17470  type CryptoManagerHostPrepareRequestType struct {
 17471  	This ManagedObjectReference `xml:"_this" json:"-"`
 17472  }
 17473  
 17474  func init() {
 17475  	t["CryptoManagerHostPrepareRequestType"] = reflect.TypeOf((*CryptoManagerHostPrepareRequestType)(nil)).Elem()
 17476  }
 17477  
 17478  type CryptoManagerHostPrepareResponse struct {
 17479  }
 17480  
 17481  type CryptoManagerKmipCertSignRequest struct {
 17482  	DynamicData
 17483  
 17484  	// Common name for the certificate sign request.
 17485  	//
 17486  	// This is fully qualified domain name that you wish to secure.
 17487  	CommonName string `xml:"commonName,omitempty" json:"commonName,omitempty"`
 17488  	// Organization name for the certificate sign request.
 17489  	//
 17490  	// Usually the legal name of a company or entity and
 17491  	// should include any suffixes such as Ltd., Inc., or Corp.
 17492  	Organization string `xml:"organization,omitempty" json:"organization,omitempty"`
 17493  	// Organizational unit name for the certificate sign request.
 17494  	//
 17495  	// Internal organization department/division name.
 17496  	OrganizationUnit string `xml:"organizationUnit,omitempty" json:"organizationUnit,omitempty"`
 17497  	// Locality name for the certificate sign request.
 17498  	//
 17499  	// Town, city, village, etc.
 17500  	Locality string `xml:"locality,omitempty" json:"locality,omitempty"`
 17501  	// State name for the certificate sign request.
 17502  	//
 17503  	// Province, region, county or state.
 17504  	State string `xml:"state,omitempty" json:"state,omitempty"`
 17505  	// Country Name for the certificate sign request.
 17506  	//
 17507  	// The two-letter ISO code for the country where your
 17508  	// organization is located.
 17509  	Country string `xml:"country,omitempty" json:"country,omitempty"`
 17510  	// Email address for the certificate sign request.
 17511  	//
 17512  	// The organization contact, usually of the certificate
 17513  	// administrator or IT department.
 17514  	Email string `xml:"email,omitempty" json:"email,omitempty"`
 17515  }
 17516  
 17517  func init() {
 17518  	t["CryptoManagerKmipCertSignRequest"] = reflect.TypeOf((*CryptoManagerKmipCertSignRequest)(nil)).Elem()
 17519  	minAPIVersionForType["CryptoManagerKmipCertSignRequest"] = "8.0.1.0"
 17520  }
 17521  
 17522  // Basic information of a certificate.
 17523  type CryptoManagerKmipCertificateInfo struct {
 17524  	DynamicData
 17525  
 17526  	// Subject identifies whom the certificate is issued to.
 17527  	Subject string `xml:"subject" json:"subject"`
 17528  	// Issuer identifies the party that issued this certificate.
 17529  	Issuer string `xml:"issuer" json:"issuer"`
 17530  	// The unique serial number of the certificate given by issuer.
 17531  	SerialNumber string `xml:"serialNumber" json:"serialNumber"`
 17532  	// The beginning time of the period of validity.
 17533  	NotBefore time.Time `xml:"notBefore" json:"notBefore"`
 17534  	// The ending time of the period of validity.
 17535  	NotAfter time.Time `xml:"notAfter" json:"notAfter"`
 17536  	// The SSL SHA1 fingerprint of the certificate.
 17537  	Fingerprint string `xml:"fingerprint" json:"fingerprint"`
 17538  	// The timestamp when the state of the certificate is checked.
 17539  	CheckTime time.Time `xml:"checkTime" json:"checkTime"`
 17540  	// Total seconds since this certificate has entered valid state.
 17541  	//
 17542  	// It is the time difference between "now" and "notBefore".
 17543  	// If it is negative value, that means the certificate will become
 17544  	// valid in a future time.
 17545  	SecondsSinceValid int32 `xml:"secondsSinceValid,omitempty" json:"secondsSinceValid,omitempty"`
 17546  	// Total seconds before this certificate expires.
 17547  	//
 17548  	// It is the time difference between "notAfter" and "now".
 17549  	// If it is negative value, that means the certificate has already
 17550  	// expired.
 17551  	SecondsBeforeExpire int32 `xml:"secondsBeforeExpire,omitempty" json:"secondsBeforeExpire,omitempty"`
 17552  }
 17553  
 17554  func init() {
 17555  	t["CryptoManagerKmipCertificateInfo"] = reflect.TypeOf((*CryptoManagerKmipCertificateInfo)(nil)).Elem()
 17556  }
 17557  
 17558  // Status of a KMIP cluster.
 17559  type CryptoManagerKmipClusterStatus struct {
 17560  	DynamicData
 17561  
 17562  	// The ID of the KMIP cluster.
 17563  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 17564  	// KMS cluster overall status.
 17565  	OverallStatus ManagedEntityStatus `xml:"overallStatus,omitempty" json:"overallStatus,omitempty"`
 17566  	// Key provider management type.
 17567  	//
 17568  	// See `KmipClusterInfoKmsManagementType_enum` for valid values.
 17569  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 17570  	// Status of the KMIP servers in this cluster.
 17571  	Servers []CryptoManagerKmipServerStatus `xml:"servers" json:"servers"`
 17572  	// The basic information about the client's certificate.
 17573  	ClientCertInfo *CryptoManagerKmipCertificateInfo `xml:"clientCertInfo,omitempty" json:"clientCertInfo,omitempty"`
 17574  }
 17575  
 17576  func init() {
 17577  	t["CryptoManagerKmipClusterStatus"] = reflect.TypeOf((*CryptoManagerKmipClusterStatus)(nil)).Elem()
 17578  }
 17579  
 17580  // Status of a Crypto key
 17581  type CryptoManagerKmipCryptoKeyStatus struct {
 17582  	DynamicData
 17583  
 17584  	// Crypto key Id
 17585  	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
 17586  	// If the key is available for crypto operation
 17587  	KeyAvailable *bool `xml:"keyAvailable" json:"keyAvailable,omitempty"`
 17588  	// The reason for key not available, valid when keyAvailable is false.
 17589  	//
 17590  	// `CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason_enum` lists the set of supported values.
 17591  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 17592  	// The key info of the wrapped key.
 17593  	//
 17594  	// If key is not a wrapped, then it will unset.
 17595  	KeyInfo BaseCryptoManagerKmipCryptoKeyStatusKeyInfo `xml:"keyInfo,omitempty,typeattr" json:"keyInfo,omitempty" vim:"9.0.0.0"`
 17596  	// The list of VMs which use that key
 17597  	//
 17598  	// Refers instances of `VirtualMachine`.
 17599  	EncryptedVMs []ManagedObjectReference `xml:"encryptedVMs,omitempty" json:"encryptedVMs,omitempty"`
 17600  	// The lists of hosts which use that key as host key
 17601  	//
 17602  	// Refers instances of `HostSystem`.
 17603  	AffectedHosts []ManagedObjectReference `xml:"affectedHosts,omitempty" json:"affectedHosts,omitempty"`
 17604  	// The identifier list for the 3rd party who are using the key
 17605  	ReferencedByTags []string `xml:"referencedByTags,omitempty" json:"referencedByTags,omitempty"`
 17606  }
 17607  
 17608  func init() {
 17609  	t["CryptoManagerKmipCryptoKeyStatus"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatus)(nil)).Elem()
 17610  }
 17611  
 17612  // Base class of key information.
 17613  type CryptoManagerKmipCryptoKeyStatusKeyInfo struct {
 17614  	DynamicData
 17615  
 17616  	// Wrapping Key ID
 17617  	KeyId string `xml:"keyId" json:"keyId"`
 17618  }
 17619  
 17620  func init() {
 17621  	t["CryptoManagerKmipCryptoKeyStatusKeyInfo"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatusKeyInfo)(nil)).Elem()
 17622  	minAPIVersionForType["CryptoManagerKmipCryptoKeyStatusKeyInfo"] = "9.0.0.0"
 17623  }
 17624  
 17625  // Wrapping key ID key information.
 17626  type CryptoManagerKmipCryptoKeyStatusWrappingKeyIdKeyInfo struct {
 17627  	CryptoManagerKmipCryptoKeyStatusKeyInfo
 17628  
 17629  	// Wrapping Key manually configured time.
 17630  	ConfiguredTime *time.Time `xml:"configuredTime" json:"configuredTime,omitempty"`
 17631  }
 17632  
 17633  func init() {
 17634  	t["CryptoManagerKmipCryptoKeyStatusWrappingKeyIdKeyInfo"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatusWrappingKeyIdKeyInfo)(nil)).Elem()
 17635  	minAPIVersionForType["CryptoManagerKmipCryptoKeyStatusWrappingKeyIdKeyInfo"] = "9.0.0.0"
 17636  }
 17637  
 17638  // Wrapping rotation interval key information.
 17639  type CryptoManagerKmipCryptoKeyStatusWrappingRotationIntervalKeyInfo struct {
 17640  	CryptoManagerKmipCryptoKeyStatusKeyInfo
 17641  
 17642  	// Wrapping Key create time.
 17643  	//
 17644  	// Will be unset when the creation time is unknown.
 17645  	CreateTime *time.Time `xml:"createTime" json:"createTime,omitempty"`
 17646  	// Wrapping Key rotate out time.
 17647  	//
 17648  	// Will be unset when the wrapping key has not rotated, or the
 17649  	// rotation time is unknown.
 17650  	RotateTime *time.Time `xml:"rotateTime" json:"rotateTime,omitempty"`
 17651  }
 17652  
 17653  func init() {
 17654  	t["CryptoManagerKmipCryptoKeyStatusWrappingRotationIntervalKeyInfo"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatusWrappingRotationIntervalKeyInfo)(nil)).Elem()
 17655  	minAPIVersionForType["CryptoManagerKmipCryptoKeyStatusWrappingRotationIntervalKeyInfo"] = "9.0.0.0"
 17656  }
 17657  
 17658  // Crypto key custom attribute spec
 17659  type CryptoManagerKmipCustomAttributeSpec struct {
 17660  	DynamicData
 17661  
 17662  	// Crypto key custom attributes
 17663  	Attributes []KeyValue `xml:"attributes,omitempty" json:"attributes,omitempty"`
 17664  }
 17665  
 17666  func init() {
 17667  	t["CryptoManagerKmipCustomAttributeSpec"] = reflect.TypeOf((*CryptoManagerKmipCustomAttributeSpec)(nil)).Elem()
 17668  	minAPIVersionForType["CryptoManagerKmipCustomAttributeSpec"] = "8.0.1.0"
 17669  }
 17670  
 17671  // Specification for key generation.
 17672  type CryptoManagerKmipGenerateKeySpec struct {
 17673  	DynamicData
 17674  
 17675  	// Request key type.
 17676  	//
 17677  	// If it unset then will use the `KmipClusterInfo.defaultKeyType`
 17678  	// of the key provider.
 17679  	// See `KmipClusterInfoKeyType_enum` for supported values.
 17680  	KeyType string `xml:"keyType,omitempty" json:"keyType,omitempty"`
 17681  }
 17682  
 17683  func init() {
 17684  	t["CryptoManagerKmipGenerateKeySpec"] = reflect.TypeOf((*CryptoManagerKmipGenerateKeySpec)(nil)).Elem()
 17685  	minAPIVersionForType["CryptoManagerKmipGenerateKeySpec"] = "9.0.0.0"
 17686  }
 17687  
 17688  // Information about the KMIP server certificate.
 17689  type CryptoManagerKmipServerCertInfo struct {
 17690  	DynamicData
 17691  
 17692  	// The server certificate.
 17693  	Certificate string `xml:"certificate" json:"certificate"`
 17694  	// The basic information about server's certificate.
 17695  	CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty" json:"certInfo,omitempty"`
 17696  	// Whether this KMS server is trusted by local Kmip client.
 17697  	ClientTrustServer *bool `xml:"clientTrustServer" json:"clientTrustServer,omitempty"`
 17698  }
 17699  
 17700  func init() {
 17701  	t["CryptoManagerKmipServerCertInfo"] = reflect.TypeOf((*CryptoManagerKmipServerCertInfo)(nil)).Elem()
 17702  }
 17703  
 17704  // Status of a KMIP server.
 17705  type CryptoManagerKmipServerStatus struct {
 17706  	DynamicData
 17707  
 17708  	// Name of the KMIP server.
 17709  	Name string `xml:"name" json:"name"`
 17710  	// KMIP server status.
 17711  	Status ManagedEntityStatus `xml:"status" json:"status"`
 17712  	// KMIP server connection status description.
 17713  	ConnectionStatus string `xml:"connectionStatus" json:"connectionStatus"`
 17714  	// The basic information about the KMIP server's certificate.
 17715  	CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty" json:"certInfo,omitempty"`
 17716  	// Whether this KMS server is trusted by local Kmip client.
 17717  	ClientTrustServer *bool `xml:"clientTrustServer" json:"clientTrustServer,omitempty"`
 17718  	// Whether this KMS server trusts the local Kmip client.
 17719  	ServerTrustClient *bool `xml:"serverTrustClient" json:"serverTrustClient,omitempty"`
 17720  }
 17721  
 17722  func init() {
 17723  	t["CryptoManagerKmipServerStatus"] = reflect.TypeOf((*CryptoManagerKmipServerStatus)(nil)).Elem()
 17724  }
 17725  
 17726  // This data object type encapsulates virtual machine or disk encryption
 17727  // settings.
 17728  type CryptoSpec struct {
 17729  	DynamicData
 17730  }
 17731  
 17732  func init() {
 17733  	t["CryptoSpec"] = reflect.TypeOf((*CryptoSpec)(nil)).Elem()
 17734  }
 17735  
 17736  // This data object type encapsulates virtual machine or disk encryption
 17737  // settings for decryption operation.
 17738  type CryptoSpecDecrypt struct {
 17739  	CryptoSpec
 17740  }
 17741  
 17742  func init() {
 17743  	t["CryptoSpecDecrypt"] = reflect.TypeOf((*CryptoSpecDecrypt)(nil)).Elem()
 17744  }
 17745  
 17746  // This data object type encapsulates virtual machine or disk cryptographic
 17747  // settings for deep reencryption operation.
 17748  type CryptoSpecDeepRecrypt struct {
 17749  	CryptoSpec
 17750  
 17751  	NewKeyId CryptoKeyId `xml:"newKeyId" json:"newKeyId"`
 17752  }
 17753  
 17754  func init() {
 17755  	t["CryptoSpecDeepRecrypt"] = reflect.TypeOf((*CryptoSpecDeepRecrypt)(nil)).Elem()
 17756  }
 17757  
 17758  // This data object type encapsulates virtual machine or disk cryptohraphic
 17759  // settings for encryption operation.
 17760  type CryptoSpecEncrypt struct {
 17761  	CryptoSpec
 17762  
 17763  	CryptoKeyId CryptoKeyId `xml:"cryptoKeyId" json:"cryptoKeyId"`
 17764  }
 17765  
 17766  func init() {
 17767  	t["CryptoSpecEncrypt"] = reflect.TypeOf((*CryptoSpecEncrypt)(nil)).Elem()
 17768  }
 17769  
 17770  // This data object type indicates that the encryption settings of the
 17771  // virtual machine or disk should not be modified by the operation.
 17772  type CryptoSpecNoOp struct {
 17773  	CryptoSpec
 17774  }
 17775  
 17776  func init() {
 17777  	t["CryptoSpecNoOp"] = reflect.TypeOf((*CryptoSpecNoOp)(nil)).Elem()
 17778  }
 17779  
 17780  // This data object type indicates that the operation requires keys to be sent
 17781  // but the encryption settings of the virtual machine or disk
 17782  // should not be modified by the operation.
 17783  type CryptoSpecRegister struct {
 17784  	CryptoSpecNoOp
 17785  
 17786  	// The key the VM/disk is already encrypted with.
 17787  	CryptoKeyId CryptoKeyId `xml:"cryptoKeyId" json:"cryptoKeyId"`
 17788  }
 17789  
 17790  func init() {
 17791  	t["CryptoSpecRegister"] = reflect.TypeOf((*CryptoSpecRegister)(nil)).Elem()
 17792  }
 17793  
 17794  // This data object type encapsulates virtual machine or disk cryptographic
 17795  // settings for shallow reencryption operation.
 17796  type CryptoSpecShallowRecrypt struct {
 17797  	CryptoSpec
 17798  
 17799  	NewKeyId CryptoKeyId `xml:"newKeyId" json:"newKeyId"`
 17800  }
 17801  
 17802  func init() {
 17803  	t["CryptoSpecShallowRecrypt"] = reflect.TypeOf((*CryptoSpecShallowRecrypt)(nil)).Elem()
 17804  }
 17805  
 17806  type CryptoUnlockRequestType struct {
 17807  	This ManagedObjectReference `xml:"_this" json:"-"`
 17808  }
 17809  
 17810  func init() {
 17811  	t["CryptoUnlockRequestType"] = reflect.TypeOf((*CryptoUnlockRequestType)(nil)).Elem()
 17812  }
 17813  
 17814  type CryptoUnlock_Task CryptoUnlockRequestType
 17815  
 17816  func init() {
 17817  	t["CryptoUnlock_Task"] = reflect.TypeOf((*CryptoUnlock_Task)(nil)).Elem()
 17818  }
 17819  
 17820  type CryptoUnlock_TaskResponse struct {
 17821  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17822  }
 17823  
 17824  type CurrentTime CurrentTimeRequestType
 17825  
 17826  func init() {
 17827  	t["CurrentTime"] = reflect.TypeOf((*CurrentTime)(nil)).Elem()
 17828  }
 17829  
 17830  type CurrentTimeRequestType struct {
 17831  	This ManagedObjectReference `xml:"_this" json:"-"`
 17832  }
 17833  
 17834  func init() {
 17835  	t["CurrentTimeRequestType"] = reflect.TypeOf((*CurrentTimeRequestType)(nil)).Elem()
 17836  }
 17837  
 17838  type CurrentTimeResponse struct {
 17839  	Returnval time.Time `xml:"returnval" json:"returnval"`
 17840  }
 17841  
 17842  // Describes a custom field.
 17843  type CustomFieldDef struct {
 17844  	DynamicData
 17845  
 17846  	// A unique ID used to reference this custom field in assignments.
 17847  	//
 17848  	// This
 17849  	// ID is unique for the lifetime of the field (even across
 17850  	// rename operations).
 17851  	Key int32 `xml:"key" json:"key"`
 17852  	// Name of the field.
 17853  	Name string `xml:"name" json:"name"`
 17854  	// Type of the field.
 17855  	Type string `xml:"type" json:"type"`
 17856  	// Type of object for which the field is valid.
 17857  	//
 17858  	// If not specified,
 17859  	// the field is valid for all managed objects.
 17860  	ManagedObjectType string `xml:"managedObjectType,omitempty" json:"managedObjectType,omitempty"`
 17861  	// The set of privileges to apply on this field definition
 17862  	FieldDefPrivileges *PrivilegePolicyDef `xml:"fieldDefPrivileges,omitempty" json:"fieldDefPrivileges,omitempty"`
 17863  	// The set of privileges to apply on instances of this field
 17864  	FieldInstancePrivileges *PrivilegePolicyDef `xml:"fieldInstancePrivileges,omitempty" json:"fieldInstancePrivileges,omitempty"`
 17865  }
 17866  
 17867  func init() {
 17868  	t["CustomFieldDef"] = reflect.TypeOf((*CustomFieldDef)(nil)).Elem()
 17869  }
 17870  
 17871  // This event records the addition of a custom field definition.
 17872  type CustomFieldDefAddedEvent struct {
 17873  	CustomFieldDefEvent
 17874  }
 17875  
 17876  func init() {
 17877  	t["CustomFieldDefAddedEvent"] = reflect.TypeOf((*CustomFieldDefAddedEvent)(nil)).Elem()
 17878  }
 17879  
 17880  // This event records a custom field definition event.
 17881  type CustomFieldDefEvent struct {
 17882  	CustomFieldEvent
 17883  
 17884  	// The unique identifier of the custom field definition.
 17885  	FieldKey int32 `xml:"fieldKey" json:"fieldKey"`
 17886  	// The name of the custom field.
 17887  	Name string `xml:"name" json:"name"`
 17888  }
 17889  
 17890  func init() {
 17891  	t["CustomFieldDefEvent"] = reflect.TypeOf((*CustomFieldDefEvent)(nil)).Elem()
 17892  }
 17893  
 17894  // This event records the removal of a custom field definition.
 17895  type CustomFieldDefRemovedEvent struct {
 17896  	CustomFieldDefEvent
 17897  }
 17898  
 17899  func init() {
 17900  	t["CustomFieldDefRemovedEvent"] = reflect.TypeOf((*CustomFieldDefRemovedEvent)(nil)).Elem()
 17901  }
 17902  
 17903  // This event records the renaming of a custom field definition.
 17904  type CustomFieldDefRenamedEvent struct {
 17905  	CustomFieldDefEvent
 17906  
 17907  	NewName string `xml:"newName" json:"newName"`
 17908  }
 17909  
 17910  func init() {
 17911  	t["CustomFieldDefRenamedEvent"] = reflect.TypeOf((*CustomFieldDefRenamedEvent)(nil)).Elem()
 17912  }
 17913  
 17914  // These are custom field events.
 17915  type CustomFieldEvent struct {
 17916  	Event
 17917  }
 17918  
 17919  func init() {
 17920  	t["CustomFieldEvent"] = reflect.TypeOf((*CustomFieldEvent)(nil)).Elem()
 17921  }
 17922  
 17923  // Subtype for string values (currently the only supported type).
 17924  type CustomFieldStringValue struct {
 17925  	CustomFieldValue
 17926  
 17927  	// Value assigned to the custom field.
 17928  	Value string `xml:"value" json:"value"`
 17929  }
 17930  
 17931  func init() {
 17932  	t["CustomFieldStringValue"] = reflect.TypeOf((*CustomFieldStringValue)(nil)).Elem()
 17933  }
 17934  
 17935  // Base type for storing values.
 17936  type CustomFieldValue struct {
 17937  	DynamicData
 17938  
 17939  	// The ID of the field to which this value belongs.
 17940  	Key int32 `xml:"key" json:"key"`
 17941  }
 17942  
 17943  func init() {
 17944  	t["CustomFieldValue"] = reflect.TypeOf((*CustomFieldValue)(nil)).Elem()
 17945  }
 17946  
 17947  // This event records a change to a custom field value for a particular entity.
 17948  type CustomFieldValueChangedEvent struct {
 17949  	CustomFieldEvent
 17950  
 17951  	// The entity on which the field value was changed.
 17952  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
 17953  	// The custom field whose value was changed for the entity.
 17954  	FieldKey int32 `xml:"fieldKey" json:"fieldKey"`
 17955  	// The name of the custom field at the time the value was changed.
 17956  	Name string `xml:"name" json:"name"`
 17957  	// The new value that was set.
 17958  	Value string `xml:"value" json:"value"`
 17959  	// The previous service state.
 17960  	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty"`
 17961  }
 17962  
 17963  func init() {
 17964  	t["CustomFieldValueChangedEvent"] = reflect.TypeOf((*CustomFieldValueChangedEvent)(nil)).Elem()
 17965  }
 17966  
 17967  // Data object type to associate a virtual network adapter with its IP settings.
 17968  type CustomizationAdapterMapping struct {
 17969  	DynamicData
 17970  
 17971  	// The MAC address of a network adapter being customized.
 17972  	//
 17973  	// The client cannot change
 17974  	// this value because the guest operating system has no control over the MAC
 17975  	// address of a virtual network adapter.
 17976  	//
 17977  	// This property is optional. If it is not included, the customization process maps
 17978  	// the settings from the list of AdapterMappings.IPSettings in the
 17979  	// Specification.nicSettingMap to the virtual machine's network adapters, in PCI
 17980  	// slot order. The first virtual network adapter on the PCI bus is assigned
 17981  	// nicSettingMap\[0\].IPSettings, the second adapter is assigned
 17982  	// nicSettingMap\[1\].IPSettings, and so on.
 17983  	//
 17984  	// In vSphere 7.0 series, the MAC addresses must be specified in the
 17985  	// ascending order of pciSlotNumber, otherwise a MAC address mismatch error
 17986  	// will be reported. For further details, see the
 17987  	// https://knowledge.broadcom.com/external/article?articleNumber=312120
 17988  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 17989  	// The IP settings for the associated virtual network adapter.
 17990  	Adapter CustomizationIPSettings `xml:"adapter" json:"adapter"`
 17991  }
 17992  
 17993  func init() {
 17994  	t["CustomizationAdapterMapping"] = reflect.TypeOf((*CustomizationAdapterMapping)(nil)).Elem()
 17995  }
 17996  
 17997  // Use automatic address configuration to generate linklocal ipv6 addresses
 17998  type CustomizationAutoIpV6Generator struct {
 17999  	CustomizationIpV6Generator
 18000  }
 18001  
 18002  func init() {
 18003  	t["CustomizationAutoIpV6Generator"] = reflect.TypeOf((*CustomizationAutoIpV6Generator)(nil)).Elem()
 18004  }
 18005  
 18006  // Guest customization settings to customize a Linux guest operating
 18007  // system with raw cloud-init data.
 18008  type CustomizationCloudinitPrep struct {
 18009  	CustomizationIdentitySettings
 18010  
 18011  	// Metadata includes the network, instance id and hostname that cloud-init
 18012  	// processes to configure the VM.
 18013  	//
 18014  	// It is in json or yaml format.
 18015  	// The max size of the metadata is 524288 bytes.
 18016  	// See detail information about <a href="https://cloudinit.readthedocs.io/en/latest/topics/instancedata.html#"target="_blank">Instance Metadata</a>.
 18017  	Metadata string `xml:"metadata" json:"metadata"`
 18018  	// Userdata is the user custom content that cloud-init processes to
 18019  	// configure the VM.
 18020  	//
 18021  	// The max size of the userdata is 524288 bytes.
 18022  	// See detail information about <a href="https://cloudinit.readthedocs.io/en/latest/topics/format.html"target="_blank">User-Data formats</a>.
 18023  	Userdata string `xml:"userdata,omitempty" json:"userdata,omitempty"`
 18024  }
 18025  
 18026  func init() {
 18027  	t["CustomizationCloudinitPrep"] = reflect.TypeOf((*CustomizationCloudinitPrep)(nil)).Elem()
 18028  	minAPIVersionForType["CustomizationCloudinitPrep"] = "7.0.3.0"
 18029  }
 18030  
 18031  // Use a command-line program configured with the VirtualCenter server.
 18032  type CustomizationCustomIpGenerator struct {
 18033  	CustomizationIpGenerator
 18034  
 18035  	// An optional argument that is passed to the utility for this IP address.
 18036  	//
 18037  	// The
 18038  	// meaning of this field is user-defined, in the script.
 18039  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 18040  }
 18041  
 18042  func init() {
 18043  	t["CustomizationCustomIpGenerator"] = reflect.TypeOf((*CustomizationCustomIpGenerator)(nil)).Elem()
 18044  }
 18045  
 18046  // Use a command-line program configured with the VirtualCenter server.
 18047  type CustomizationCustomIpV6Generator struct {
 18048  	CustomizationIpV6Generator
 18049  
 18050  	// An optional argument that is passed to the utility for this ipv6 address.
 18051  	//
 18052  	// The
 18053  	// meaning of this field is user-defined, in the script.
 18054  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 18055  }
 18056  
 18057  func init() {
 18058  	t["CustomizationCustomIpV6Generator"] = reflect.TypeOf((*CustomizationCustomIpV6Generator)(nil)).Elem()
 18059  }
 18060  
 18061  // Specifies that the VirtualCenter server will launch an external application to
 18062  // generate the (hostname/IP).
 18063  //
 18064  // The command line for this application must be specified
 18065  // in the server configuration file (vpxd.cfg) in the vpxd/name-ip-generator key.
 18066  type CustomizationCustomName struct {
 18067  	CustomizationName
 18068  
 18069  	// An optional argument that is passed to the utility for this IP address.
 18070  	//
 18071  	// The
 18072  	// meaning of this field is user-defined in the script.
 18073  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 18074  }
 18075  
 18076  func init() {
 18077  	t["CustomizationCustomName"] = reflect.TypeOf((*CustomizationCustomName)(nil)).Elem()
 18078  }
 18079  
 18080  // Use a DHCP server to configure the virtual network adapter.
 18081  type CustomizationDhcpIpGenerator struct {
 18082  	CustomizationIpGenerator
 18083  }
 18084  
 18085  func init() {
 18086  	t["CustomizationDhcpIpGenerator"] = reflect.TypeOf((*CustomizationDhcpIpGenerator)(nil)).Elem()
 18087  }
 18088  
 18089  // Use a DHCP server to configure ipv6 address
 18090  type CustomizationDhcpIpV6Generator struct {
 18091  	CustomizationIpV6Generator
 18092  }
 18093  
 18094  func init() {
 18095  	t["CustomizationDhcpIpV6Generator"] = reflect.TypeOf((*CustomizationDhcpIpV6Generator)(nil)).Elem()
 18096  }
 18097  
 18098  // Base for customization events.
 18099  type CustomizationEvent struct {
 18100  	VmEvent
 18101  
 18102  	// The location of the in-guest customization log which will contain
 18103  	// details of the customization operation.
 18104  	LogLocation string `xml:"logLocation,omitempty" json:"logLocation,omitempty"`
 18105  }
 18106  
 18107  func init() {
 18108  	t["CustomizationEvent"] = reflect.TypeOf((*CustomizationEvent)(nil)).Elem()
 18109  }
 18110  
 18111  // The customization sequence in the guest failed.
 18112  type CustomizationFailed struct {
 18113  	CustomizationEvent
 18114  
 18115  	// Reason why the customization failed @see CustomizationFailed.ReasonCode .
 18116  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 18117  }
 18118  
 18119  func init() {
 18120  	t["CustomizationFailed"] = reflect.TypeOf((*CustomizationFailed)(nil)).Elem()
 18121  }
 18122  
 18123  // Base for exceptions that can be thrown from the customizer.
 18124  type CustomizationFault struct {
 18125  	VimFault
 18126  }
 18127  
 18128  func init() {
 18129  	t["CustomizationFault"] = reflect.TypeOf((*CustomizationFault)(nil)).Elem()
 18130  }
 18131  
 18132  type CustomizationFaultFault BaseCustomizationFault
 18133  
 18134  func init() {
 18135  	t["CustomizationFaultFault"] = reflect.TypeOf((*CustomizationFaultFault)(nil)).Elem()
 18136  }
 18137  
 18138  // Use a static IP Address for the virtual network adapter.
 18139  type CustomizationFixedIp struct {
 18140  	CustomizationIpGenerator
 18141  
 18142  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 18143  }
 18144  
 18145  func init() {
 18146  	t["CustomizationFixedIp"] = reflect.TypeOf((*CustomizationFixedIp)(nil)).Elem()
 18147  }
 18148  
 18149  // Use a static ipv6 address for the virtual network adapter
 18150  type CustomizationFixedIpV6 struct {
 18151  	CustomizationIpV6Generator
 18152  
 18153  	IpAddress  string `xml:"ipAddress" json:"ipAddress"`
 18154  	SubnetMask int32  `xml:"subnetMask" json:"subnetMask"`
 18155  }
 18156  
 18157  func init() {
 18158  	t["CustomizationFixedIpV6"] = reflect.TypeOf((*CustomizationFixedIpV6)(nil)).Elem()
 18159  }
 18160  
 18161  // A fixed name.
 18162  type CustomizationFixedName struct {
 18163  	CustomizationName
 18164  
 18165  	// The virtual machine name specified by the client.
 18166  	Name string `xml:"name" json:"name"`
 18167  }
 18168  
 18169  func init() {
 18170  	t["CustomizationFixedName"] = reflect.TypeOf((*CustomizationFixedName)(nil)).Elem()
 18171  }
 18172  
 18173  // A collection of global IP settings for a virtual network adapter.
 18174  //
 18175  // In Linux, DNS
 18176  // server settings are global. The settings can either be statically set or supplied
 18177  // by a DHCP server.
 18178  type CustomizationGlobalIPSettings struct {
 18179  	DynamicData
 18180  
 18181  	// List of name resolution suffixes for the virtual network adapter.
 18182  	//
 18183  	// This list
 18184  	// applies to both Windows and Linux guest customization. For Linux, this setting
 18185  	// is global, whereas in Windows, this setting is listed on a per-adapter basis,
 18186  	// even though the setting is global in Windows.
 18187  	DnsSuffixList []string `xml:"dnsSuffixList,omitempty" json:"dnsSuffixList,omitempty"`
 18188  	// List of DNS servers, for a virtual network adapter with a static IP address.
 18189  	//
 18190  	// If
 18191  	// this list is empty, then the guest operating system is expected to use a DHCP
 18192  	// server to get its DNS server settings. These settings configure the virtual
 18193  	// machine to use the specified DNS servers. These DNS server settings are listed
 18194  	// in order of preference.
 18195  	DnsServerList []string `xml:"dnsServerList,omitempty" json:"dnsServerList,omitempty"`
 18196  }
 18197  
 18198  func init() {
 18199  	t["CustomizationGlobalIPSettings"] = reflect.TypeOf((*CustomizationGlobalIPSettings)(nil)).Elem()
 18200  }
 18201  
 18202  // The commands listed in the GuiRunOnce data object type are executed when a user
 18203  // logs on the first time after customization completes.
 18204  //
 18205  // The logon may be driven by
 18206  // the `AutoLogon` setting.
 18207  //
 18208  // The GuiRunOnce data object type maps to the GuiRunOnce key in the
 18209  // `sysprep.xml` answer file. These values are transferred into the
 18210  // `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For
 18211  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18212  type CustomizationGuiRunOnce struct {
 18213  	DynamicData
 18214  
 18215  	// A list of commands to run at first user logon, after guest customization.
 18216  	CommandList []string `xml:"commandList" json:"commandList"`
 18217  }
 18218  
 18219  func init() {
 18220  	t["CustomizationGuiRunOnce"] = reflect.TypeOf((*CustomizationGuiRunOnce)(nil)).Elem()
 18221  }
 18222  
 18223  // The GuiUnattended type maps to the GuiUnattended key in the `sysprep.xml`
 18224  // answer file.
 18225  //
 18226  // These values are plugged directly into the `sysprep.xml` file
 18227  // that VirtualCenter stores on the target virtual disk. For more detailed
 18228  // information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18229  type CustomizationGuiUnattended struct {
 18230  	DynamicData
 18231  
 18232  	// The new administrator password for the machine.
 18233  	//
 18234  	// To specify that the password
 18235  	// should be set to blank (that is, no password), set the password value to NULL.
 18236  	// Because of encryption, "" is NOT a valid value.
 18237  	//
 18238  	// If password is set to blank and `CustomizationGuiUnattended.autoLogon` is set, the
 18239  	// guest customization will fail.
 18240  	//
 18241  	// If the XML file is generated by the VirtualCenter Customization Wizard, then the
 18242  	// password is encrypted. Otherwise, the client should set the plainText attribute
 18243  	// to true, so that the customization process does not attempt to decrypt the
 18244  	// string.
 18245  	Password *CustomizationPassword `xml:"password,omitempty" json:"password,omitempty"`
 18246  	// The time zone index for the virtual machine.
 18247  	//
 18248  	// Numbers correspond to time zones
 18249  	// listed at <a href="https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values"target="_blank">Microsoft Time Zone Index Values</a>.
 18250  	TimeZone int32 `xml:"timeZone" json:"timeZone"`
 18251  	// Flag to determine whether or not the machine automatically logs on as
 18252  	// Administrator.
 18253  	//
 18254  	// See also the password property.
 18255  	//
 18256  	// If the AutoLogon flag is set, `CustomizationGuiUnattended.password` must not be
 18257  	// blank or the guest customization will fail.
 18258  	AutoLogon bool `xml:"autoLogon" json:"autoLogon"`
 18259  	// If the AutoLogon flag is set, then the AutoLogonCount property specifies the
 18260  	// number of times the machine should automatically log on as Administrator.
 18261  	//
 18262  	// Generally it should be 1, but if your setup requires a number of reboots, you
 18263  	// may want to increase it. This number may be determined by the list of commands
 18264  	// executed by the `GuiRunOnce` command.
 18265  	AutoLogonCount int32 `xml:"autoLogonCount" json:"autoLogonCount"`
 18266  }
 18267  
 18268  func init() {
 18269  	t["CustomizationGuiUnattended"] = reflect.TypeOf((*CustomizationGuiUnattended)(nil)).Elem()
 18270  }
 18271  
 18272  // IP settings for a virtual network adapter.
 18273  type CustomizationIPSettings struct {
 18274  	DynamicData
 18275  
 18276  	// Specification to obtain a unique IP address for this virtual network adapter.
 18277  	Ip BaseCustomizationIpGenerator `xml:"ip,typeattr" json:"ip"`
 18278  	// Subnet mask for this virtual network adapter.
 18279  	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
 18280  	// For a virtual network adapter with a static IP address, this data object type
 18281  	// contains a list of gateways, in order of preference.
 18282  	Gateway []string `xml:"gateway,omitempty" json:"gateway,omitempty"`
 18283  	// This contains the IpGenerator, subnet mask and gateway info for all
 18284  	// the ipv6 addresses associated with the virtual network adapter.
 18285  	IpV6Spec *CustomizationIPSettingsIpV6AddressSpec `xml:"ipV6Spec,omitempty" json:"ipV6Spec,omitempty"`
 18286  	// A list of server IP addresses to use for DNS lookup in a Windows guest operating
 18287  	// system.
 18288  	//
 18289  	// In Windows, these settings are adapter-specific, whereas in Linux, they
 18290  	// are global. As a result, the Linux guest customization process ignores this
 18291  	// setting and looks for its DNS servers in the globalIPSettings object.
 18292  	//
 18293  	// Specify these servers in order of preference. If this list is not empty, and if
 18294  	// a DHCP IpGenerator is used, then these settings override the DHCP settings.
 18295  	DnsServerList []string `xml:"dnsServerList,omitempty" json:"dnsServerList,omitempty"`
 18296  	// A DNS domain suffix such as vmware.com.
 18297  	DnsDomain string `xml:"dnsDomain,omitempty" json:"dnsDomain,omitempty"`
 18298  	// The IP address of the primary WINS server.
 18299  	//
 18300  	// This property is ignored for Linux
 18301  	// guest operating systems.
 18302  	PrimaryWINS string `xml:"primaryWINS,omitempty" json:"primaryWINS,omitempty"`
 18303  	// The IP address of the secondary WINS server.
 18304  	//
 18305  	// This property is ignored for Linux
 18306  	// guest operating systems.
 18307  	SecondaryWINS string `xml:"secondaryWINS,omitempty" json:"secondaryWINS,omitempty"`
 18308  	// NetBIOS setting for Windows.
 18309  	NetBIOS CustomizationNetBIOSMode `xml:"netBIOS,omitempty" json:"netBIOS,omitempty"`
 18310  }
 18311  
 18312  func init() {
 18313  	t["CustomizationIPSettings"] = reflect.TypeOf((*CustomizationIPSettings)(nil)).Elem()
 18314  }
 18315  
 18316  // IPv6 settings
 18317  type CustomizationIPSettingsIpV6AddressSpec struct {
 18318  	DynamicData
 18319  
 18320  	// ipv6 address generators
 18321  	Ip []BaseCustomizationIpV6Generator `xml:"ip,typeattr" json:"ip"`
 18322  	// gateways
 18323  	Gateway []string `xml:"gateway,omitempty" json:"gateway,omitempty"`
 18324  }
 18325  
 18326  func init() {
 18327  	t["CustomizationIPSettingsIpV6AddressSpec"] = reflect.TypeOf((*CustomizationIPSettingsIpV6AddressSpec)(nil)).Elem()
 18328  }
 18329  
 18330  // The Identification data object type provides information needed to join a workgroup
 18331  // or domain.
 18332  //
 18333  // The Identification data object type maps to the Identification key in the
 18334  // `sysprep.xml` answer file. These values are transferred into the
 18335  // `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For
 18336  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18337  type CustomizationIdentification struct {
 18338  	DynamicData
 18339  
 18340  	// The workgroup that the virtual machine should join.
 18341  	//
 18342  	// If this value is supplied,
 18343  	// then the domain name and authentication fields must be empty.
 18344  	JoinWorkgroup string `xml:"joinWorkgroup,omitempty" json:"joinWorkgroup,omitempty"`
 18345  	// The domain that the virtual machine should join.
 18346  	//
 18347  	// If this value is supplied, then
 18348  	// domainAdmin and domainAdminPassword must also be supplied, and the workgroup
 18349  	// name must be empty.
 18350  	JoinDomain string `xml:"joinDomain,omitempty" json:"joinDomain,omitempty"`
 18351  	// This is the domain user account used for authentication if the virtual machine
 18352  	// is joining a domain.
 18353  	//
 18354  	// The user does not need to be a domain administrator, but
 18355  	// the account must have the privileges required to add computers to the domain.
 18356  	DomainAdmin string `xml:"domainAdmin,omitempty" json:"domainAdmin,omitempty"`
 18357  	// This is the password for the domain user account used for authentication if the
 18358  	// virtual machine is joining a domain.
 18359  	DomainAdminPassword *CustomizationPassword `xml:"domainAdminPassword,omitempty" json:"domainAdminPassword,omitempty"`
 18360  	// This is the MachineObjectOU which specifies the full LDAP path name of
 18361  	// the OU to which the computer belongs.
 18362  	//
 18363  	// For example, OU=MyOu,DC=MyDom,DC=MyCompany,DC=com
 18364  	// Refer to: https://docs.microsoft.com/en-us/windows-hardware/customize/
 18365  	// desktop/unattend/microsoft-windows-unattendedjoin-
 18366  	// identification-machineobjectou
 18367  	DomainOU string `xml:"domainOU,omitempty" json:"domainOU,omitempty" vim:"8.0.2.0"`
 18368  }
 18369  
 18370  func init() {
 18371  	t["CustomizationIdentification"] = reflect.TypeOf((*CustomizationIdentification)(nil)).Elem()
 18372  }
 18373  
 18374  // Base type for sysprep, sysprepText, or linuxPrep object type.
 18375  type CustomizationIdentitySettings struct {
 18376  	DynamicData
 18377  }
 18378  
 18379  func init() {
 18380  	t["CustomizationIdentitySettings"] = reflect.TypeOf((*CustomizationIdentitySettings)(nil)).Elem()
 18381  }
 18382  
 18383  // Base type for the various IP specification possibilities.
 18384  type CustomizationIpGenerator struct {
 18385  	DynamicData
 18386  }
 18387  
 18388  func init() {
 18389  	t["CustomizationIpGenerator"] = reflect.TypeOf((*CustomizationIpGenerator)(nil)).Elem()
 18390  }
 18391  
 18392  // Base type for the various IpV6 specification possibilities
 18393  type CustomizationIpV6Generator struct {
 18394  	DynamicData
 18395  }
 18396  
 18397  func init() {
 18398  	t["CustomizationIpV6Generator"] = reflect.TypeOf((*CustomizationIpV6Generator)(nil)).Elem()
 18399  }
 18400  
 18401  // The LicenseFilePrintData type maps directly to the LicenseFilePrintData key in the
 18402  // `sysprep.xml` answer file.
 18403  //
 18404  // These values are transferred into the
 18405  // `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For
 18406  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18407  // LicenseFilePrintData provides licensing information for Windows server operating
 18408  // systems.
 18409  type CustomizationLicenseFilePrintData struct {
 18410  	DynamicData
 18411  
 18412  	// Server licensing mode
 18413  	AutoMode CustomizationLicenseDataMode `xml:"autoMode" json:"autoMode"`
 18414  	// This key is valid only if AutoMode = PerServer.
 18415  	//
 18416  	// The integer value indicates the
 18417  	// number of client licenses purchased for the VirtualCenter server being
 18418  	// installed.
 18419  	AutoUsers int32 `xml:"autoUsers,omitempty" json:"autoUsers,omitempty"`
 18420  }
 18421  
 18422  func init() {
 18423  	t["CustomizationLicenseFilePrintData"] = reflect.TypeOf((*CustomizationLicenseFilePrintData)(nil)).Elem()
 18424  }
 18425  
 18426  // Failed to set Linux identity.
 18427  type CustomizationLinuxIdentityFailed struct {
 18428  	CustomizationFailed
 18429  }
 18430  
 18431  func init() {
 18432  	t["CustomizationLinuxIdentityFailed"] = reflect.TypeOf((*CustomizationLinuxIdentityFailed)(nil)).Elem()
 18433  }
 18434  
 18435  // Base object type for optional operations supported by the customization process for
 18436  // Linux.
 18437  type CustomizationLinuxOptions struct {
 18438  	CustomizationOptions
 18439  }
 18440  
 18441  func init() {
 18442  	t["CustomizationLinuxOptions"] = reflect.TypeOf((*CustomizationLinuxOptions)(nil)).Elem()
 18443  }
 18444  
 18445  // This is the Linux counterpart to the Windows Sysprep object.
 18446  //
 18447  // LinuxPrep contains
 18448  // machine-wide settings that identify a Linux machine in the same way that the
 18449  // Sysprep type identifies a Windows machine.
 18450  type CustomizationLinuxPrep struct {
 18451  	CustomizationIdentitySettings
 18452  
 18453  	// The network host name of the (Linux) virtual machine.
 18454  	HostName BaseCustomizationName `xml:"hostName,typeattr" json:"hostName"`
 18455  	// The fully qualified domain name.
 18456  	Domain string `xml:"domain" json:"domain"`
 18457  	// The case-sensitive timezone, such as Europe/Sofia.
 18458  	//
 18459  	// <a href="timezone.html"title="Display list of Valid timeZone values...">
 18460  	// **Valid timeZone values**</a> are based on the tz (timezone)
 18461  	// database used by Linux and other Unix systems.
 18462  	// The values are strings (xsd:string) in the form "Area/Location," in which
 18463  	// Area is a continent or ocean name, and Location is the city, island, or
 18464  	// other regional designation.
 18465  	//
 18466  	// See the <a href="https://knowledge.broadcom.com/external/article?articleNumber=320212"target="_blank">List of supported time zones for different vSphere versions in Linux/Unix systems</a>.
 18467  	TimeZone string `xml:"timeZone,omitempty" json:"timeZone,omitempty"`
 18468  	// Specifies whether the hardware clock is in UTC or local time.
 18469  	//   - True when the hardware clock is in UTC.
 18470  	//   - False when the hardware clock is in local time.
 18471  	HwClockUTC *bool `xml:"hwClockUTC" json:"hwClockUTC,omitempty"`
 18472  	// The script to run before and after GOS customization.
 18473  	ScriptText string `xml:"scriptText,omitempty" json:"scriptText,omitempty"`
 18474  	// The compatible customization method is an identifier of a customization
 18475  	// strategy which is implementable in a group of Linux operating systems.
 18476  	//
 18477  	// This value does not need to be set if your operating system is officially
 18478  	// supported by VMware guest operating system customization. When using a
 18479  	// Linux operating system which hasn't been officially supported and it is
 18480  	// designed to be 100% bug-for-bug compatible with an officially supported
 18481  	// Linux operating system, it can be customized by an existing customization
 18482  	// method.
 18483  	//
 18484  	// Please set the compatible customization method to a supported string value
 18485  	// e.g. "GOSC\_METHOD\_1".
 18486  	// See <a href="https://knowledge.broadcom.com/external/article?articleNumber=313164"target="_blank">Supported compatible customization method list</a>.
 18487  	CompatibleCustomizationMethod string `xml:"compatibleCustomizationMethod,omitempty" json:"compatibleCustomizationMethod,omitempty" vim:"8.0.3.0"`
 18488  }
 18489  
 18490  func init() {
 18491  	t["CustomizationLinuxPrep"] = reflect.TypeOf((*CustomizationLinuxPrep)(nil)).Elem()
 18492  }
 18493  
 18494  // A base object type for a virtual machine name that can be either fixed or
 18495  // auto-generated.
 18496  type CustomizationName struct {
 18497  	DynamicData
 18498  }
 18499  
 18500  func init() {
 18501  	t["CustomizationName"] = reflect.TypeOf((*CustomizationName)(nil)).Elem()
 18502  }
 18503  
 18504  // Network setup failed in the guest during customization.
 18505  type CustomizationNetworkSetupFailed struct {
 18506  	CustomizationFailed
 18507  }
 18508  
 18509  func init() {
 18510  	t["CustomizationNetworkSetupFailed"] = reflect.TypeOf((*CustomizationNetworkSetupFailed)(nil)).Elem()
 18511  }
 18512  
 18513  // Base object type for optional operations supported by the customization process.
 18514  type CustomizationOptions struct {
 18515  	DynamicData
 18516  }
 18517  
 18518  func init() {
 18519  	t["CustomizationOptions"] = reflect.TypeOf((*CustomizationOptions)(nil)).Elem()
 18520  }
 18521  
 18522  // Contains a password string and a flag that specifies whether the string is in plain
 18523  // text or encrypted.
 18524  type CustomizationPassword struct {
 18525  	DynamicData
 18526  
 18527  	// The password string.
 18528  	//
 18529  	// It is encrypted if the associated plainText flag is false.
 18530  	Value string `xml:"value" json:"value"`
 18531  	// Flag to specify whether or not the password is in plain text, rather than
 18532  	// encrypted.
 18533  	PlainText bool `xml:"plainText" json:"plainText"`
 18534  }
 18535  
 18536  func init() {
 18537  	t["CustomizationPassword"] = reflect.TypeOf((*CustomizationPassword)(nil)).Elem()
 18538  }
 18539  
 18540  // A customization operation is already pending on this virtual
 18541  // machine and is awaiting power-up to complete.
 18542  type CustomizationPending struct {
 18543  	CustomizationFault
 18544  }
 18545  
 18546  func init() {
 18547  	t["CustomizationPending"] = reflect.TypeOf((*CustomizationPending)(nil)).Elem()
 18548  }
 18549  
 18550  type CustomizationPendingFault CustomizationPending
 18551  
 18552  func init() {
 18553  	t["CustomizationPendingFault"] = reflect.TypeOf((*CustomizationPendingFault)(nil)).Elem()
 18554  }
 18555  
 18556  // Specifies that a unique name should be generated by concatenating the base string
 18557  // with a number.
 18558  //
 18559  // Virtual machine names are unique across the set of hosts and virtual machines known
 18560  // to the VirtualCenter instance. VirtualCenter tracks the network names of virtual
 18561  // machines as well as hosts. VMware Tools runs in a guest operating system and
 18562  // reports information to VirtualCenter, including the network name of the guest.
 18563  type CustomizationPrefixName struct {
 18564  	CustomizationName
 18565  
 18566  	// Base prefix, to which a unique number is appended.
 18567  	Base string `xml:"base" json:"base"`
 18568  }
 18569  
 18570  func init() {
 18571  	t["CustomizationPrefixName"] = reflect.TypeOf((*CustomizationPrefixName)(nil)).Elem()
 18572  }
 18573  
 18574  // The Specification data object type contains information required to customize a
 18575  // virtual machine when deploying it or migrating it to a new host.
 18576  type CustomizationSpec struct {
 18577  	DynamicData
 18578  
 18579  	// Optional operations (either LinuxOptions or WinOptions).
 18580  	Options BaseCustomizationOptions `xml:"options,omitempty,typeattr" json:"options,omitempty"`
 18581  	// Network identity and settings, similar to Microsoft's Sysprep tool.
 18582  	//
 18583  	// This is a
 18584  	// Sysprep, LinuxPrep, CloudinitPrep, or SysprepText object.
 18585  	Identity BaseCustomizationIdentitySettings `xml:"identity,typeattr" json:"identity"`
 18586  	// Global IP settings constitute the IP settings that are not specific to a
 18587  	// particular virtual network adapter.
 18588  	GlobalIPSettings CustomizationGlobalIPSettings `xml:"globalIPSettings" json:"globalIPSettings"`
 18589  	// IP settings that are specific to a particular virtual network adapter.
 18590  	//
 18591  	// The
 18592  	// AdapterMapping object maps a network adapter's MAC address to its Adapter
 18593  	// settings object. May be empty if there are no network adapters, else should
 18594  	// match number of network adapters in the VM.
 18595  	NicSettingMap []CustomizationAdapterMapping `xml:"nicSettingMap,omitempty" json:"nicSettingMap,omitempty"`
 18596  	// Byte array containing the public key used to encrypt any passwords stored in the
 18597  	// specification.
 18598  	//
 18599  	// Both the client and the server can use this to determine if
 18600  	// stored passwords can be decrypted by the server or if the passwords need to be
 18601  	// re-entered and re-encrypted before the specification can be used.
 18602  	EncryptionKey ByteSlice `xml:"encryptionKey,omitempty" json:"encryptionKey,omitempty"`
 18603  }
 18604  
 18605  func init() {
 18606  	t["CustomizationSpec"] = reflect.TypeOf((*CustomizationSpec)(nil)).Elem()
 18607  }
 18608  
 18609  // Information about a specification.
 18610  type CustomizationSpecInfo struct {
 18611  	DynamicData
 18612  
 18613  	// Unique name of the specification.
 18614  	Name string `xml:"name" json:"name"`
 18615  	// Description of the specification.
 18616  	Description string `xml:"description" json:"description"`
 18617  	// Guest operating system for this specification (Linux or Windows).
 18618  	Type string `xml:"type" json:"type"`
 18619  	// The changeVersion is a unique identifier for a given version
 18620  	// of the configuration.
 18621  	//
 18622  	// Each change to the configuration will
 18623  	// update this value. This is typically implemented as an ever
 18624  	// increasing count or a time-stamp. However, a client should
 18625  	// always treat this as an opaque string.
 18626  	//
 18627  	// If specified when updating a specification, the changes will only be
 18628  	// applied if the current changeVersion matches the specified changeVersion. This
 18629  	// field can be used to guard against updates that has happened
 18630  	// between the configInfo was read and until it is applied.
 18631  	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
 18632  	// Time when the specification was last modified.
 18633  	//
 18634  	// This time is ignored when
 18635  	// the CustomizationSpecItem containing this is used as an input to
 18636  	// CustomizationSpecManager.create.
 18637  	LastUpdateTime *time.Time `xml:"lastUpdateTime" json:"lastUpdateTime,omitempty"`
 18638  }
 18639  
 18640  func init() {
 18641  	t["CustomizationSpecInfo"] = reflect.TypeOf((*CustomizationSpecInfo)(nil)).Elem()
 18642  }
 18643  
 18644  // Specification information and the Specification object.
 18645  type CustomizationSpecItem struct {
 18646  	DynamicData
 18647  
 18648  	// Information about the specification - name, description, and so on.
 18649  	Info CustomizationSpecInfo `xml:"info" json:"info"`
 18650  	// The customization specification.
 18651  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 18652  }
 18653  
 18654  func init() {
 18655  	t["CustomizationSpecItem"] = reflect.TypeOf((*CustomizationSpecItem)(nil)).Elem()
 18656  }
 18657  
 18658  type CustomizationSpecItemToXml CustomizationSpecItemToXmlRequestType
 18659  
 18660  func init() {
 18661  	t["CustomizationSpecItemToXml"] = reflect.TypeOf((*CustomizationSpecItemToXml)(nil)).Elem()
 18662  }
 18663  
 18664  // The parameters of `CustomizationSpecManager.CustomizationSpecItemToXml`.
 18665  type CustomizationSpecItemToXmlRequestType struct {
 18666  	This ManagedObjectReference `xml:"_this" json:"-"`
 18667  	Item CustomizationSpecItem  `xml:"item" json:"item"`
 18668  }
 18669  
 18670  func init() {
 18671  	t["CustomizationSpecItemToXmlRequestType"] = reflect.TypeOf((*CustomizationSpecItemToXmlRequestType)(nil)).Elem()
 18672  }
 18673  
 18674  type CustomizationSpecItemToXmlResponse struct {
 18675  	Returnval string `xml:"returnval" json:"returnval"`
 18676  }
 18677  
 18678  // The customization sequence has started in the VM guest.
 18679  type CustomizationStartedEvent struct {
 18680  	CustomizationEvent
 18681  }
 18682  
 18683  func init() {
 18684  	t["CustomizationStartedEvent"] = reflect.TypeOf((*CustomizationStartedEvent)(nil)).Elem()
 18685  }
 18686  
 18687  // Use stateless autoconfiguration to configure to ipv6 address
 18688  type CustomizationStatelessIpV6Generator struct {
 18689  	CustomizationIpV6Generator
 18690  }
 18691  
 18692  func init() {
 18693  	t["CustomizationStatelessIpV6Generator"] = reflect.TypeOf((*CustomizationStatelessIpV6Generator)(nil)).Elem()
 18694  }
 18695  
 18696  // The customization sequence completed successfully in the guest.
 18697  type CustomizationSucceeded struct {
 18698  	CustomizationEvent
 18699  }
 18700  
 18701  func init() {
 18702  	t["CustomizationSucceeded"] = reflect.TypeOf((*CustomizationSucceeded)(nil)).Elem()
 18703  }
 18704  
 18705  // An object representation of a Windows `sysprep.xml` answer file.
 18706  //
 18707  // The sysprep
 18708  // type encloses all the individual keys listed in a `sysprep.xml` file. For
 18709  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18710  type CustomizationSysprep struct {
 18711  	CustomizationIdentitySettings
 18712  
 18713  	// An object representation of the sysprep GuiUnattended key.
 18714  	GuiUnattended CustomizationGuiUnattended `xml:"guiUnattended" json:"guiUnattended"`
 18715  	// An object representation of the sysprep UserData key.
 18716  	UserData CustomizationUserData `xml:"userData" json:"userData"`
 18717  	// An object representation of the sysprep GuiRunOnce key.
 18718  	GuiRunOnce *CustomizationGuiRunOnce `xml:"guiRunOnce,omitempty" json:"guiRunOnce,omitempty"`
 18719  	// An object representation of the sysprep Identification key.
 18720  	Identification CustomizationIdentification `xml:"identification" json:"identification"`
 18721  	// An object representation of the sysprep LicenseFilePrintData key.
 18722  	//
 18723  	// Required only
 18724  	// for Windows 2000 Server and Windows Server 2003.
 18725  	LicenseFilePrintData *CustomizationLicenseFilePrintData `xml:"licenseFilePrintData,omitempty" json:"licenseFilePrintData,omitempty"`
 18726  }
 18727  
 18728  func init() {
 18729  	t["CustomizationSysprep"] = reflect.TypeOf((*CustomizationSysprep)(nil)).Elem()
 18730  }
 18731  
 18732  // Sysprep failed to run in the guest during customization.
 18733  //
 18734  // This will most like
 18735  // have been caused by the fact that the wrong sysprep was used for the guest,
 18736  // so we include the version information in the event.
 18737  type CustomizationSysprepFailed struct {
 18738  	CustomizationFailed
 18739  
 18740  	// The version string for the sysprep files that were included in the
 18741  	// customization package.
 18742  	SysprepVersion string `xml:"sysprepVersion" json:"sysprepVersion"`
 18743  	// The version string for the system
 18744  	SystemVersion string `xml:"systemVersion" json:"systemVersion"`
 18745  }
 18746  
 18747  func init() {
 18748  	t["CustomizationSysprepFailed"] = reflect.TypeOf((*CustomizationSysprepFailed)(nil)).Elem()
 18749  }
 18750  
 18751  // An alternate way to specify the `sysprep.xml` answer file.
 18752  //
 18753  // This string is
 18754  // written to the `sysprep.xml` answer file on the target virtual disk.
 18755  type CustomizationSysprepText struct {
 18756  	CustomizationIdentitySettings
 18757  
 18758  	// Text for the `sysprep.xml` answer file.
 18759  	//
 18760  	// For additional details, see <a href="https://knowledge.broadcom.com/external/article?articleNumber=336083"target="_blank">Using custom sysprep.xml for vCenter Guest Customization</a> and
 18761  	// <a href="https://knowledge.broadcom.com/external/article?articleNumber=313515"target="_blank">Specifying network settings in custom sysprep.xml</a>.
 18762  	Value string `xml:"value" json:"value"`
 18763  }
 18764  
 18765  func init() {
 18766  	t["CustomizationSysprepText"] = reflect.TypeOf((*CustomizationSysprepText)(nil)).Elem()
 18767  }
 18768  
 18769  // The customization sequence failed unexpectedly in the guest.
 18770  type CustomizationUnknownFailure struct {
 18771  	CustomizationFailed
 18772  }
 18773  
 18774  func init() {
 18775  	t["CustomizationUnknownFailure"] = reflect.TypeOf((*CustomizationUnknownFailure)(nil)).Elem()
 18776  }
 18777  
 18778  // The IP address is left unspecified.
 18779  //
 18780  // The user must be prompted to supply an IP
 18781  // address.
 18782  type CustomizationUnknownIpGenerator struct {
 18783  	CustomizationIpGenerator
 18784  }
 18785  
 18786  func init() {
 18787  	t["CustomizationUnknownIpGenerator"] = reflect.TypeOf((*CustomizationUnknownIpGenerator)(nil)).Elem()
 18788  }
 18789  
 18790  // The ipv6 address is left unspecified.
 18791  //
 18792  // The user must be prompted to supply an ipv6
 18793  // address.
 18794  type CustomizationUnknownIpV6Generator struct {
 18795  	CustomizationIpV6Generator
 18796  }
 18797  
 18798  func init() {
 18799  	t["CustomizationUnknownIpV6Generator"] = reflect.TypeOf((*CustomizationUnknownIpV6Generator)(nil)).Elem()
 18800  }
 18801  
 18802  // Indicates that the name is not specified in advance.
 18803  //
 18804  // The client should prompt the
 18805  // user for the value to complete the specification.
 18806  type CustomizationUnknownName struct {
 18807  	CustomizationName
 18808  }
 18809  
 18810  func init() {
 18811  	t["CustomizationUnknownName"] = reflect.TypeOf((*CustomizationUnknownName)(nil)).Elem()
 18812  }
 18813  
 18814  // Personal data pertaining to the owner of the virtual machine.
 18815  //
 18816  // The UserData data object type maps to the UserData key in the `sysprep.xml`
 18817  // answer file. These values are transferred directly into the `sysprep.xml`
 18818  // file that VirtualCenter stores on the target virtual disk. For more detailed
 18819  // information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18820  type CustomizationUserData struct {
 18821  	DynamicData
 18822  
 18823  	// User's full name.
 18824  	FullName string `xml:"fullName" json:"fullName"`
 18825  	// User's organization.
 18826  	OrgName string `xml:"orgName" json:"orgName"`
 18827  	// The computer name of the (Windows) virtual machine.
 18828  	//
 18829  	// Computer name may contain
 18830  	// letters (A-Z), numbers(0-9) and hyphens (-) but no spaces or periods (.).
 18831  	// The name may not consists entirely of digits.
 18832  	// Computer name is restricted to 15 characters in length. If the computer
 18833  	// name is longer than 15 characters, it will be truncated to 15 characters.
 18834  	ComputerName BaseCustomizationName `xml:"computerName,typeattr" json:"computerName"`
 18835  	// Microsoft Sysprep requires that a valid serial number be included in the answer
 18836  	// file when mini-setup runs.
 18837  	//
 18838  	// This serial number is ignored if the original guest
 18839  	// operating system was installed using a volume-licensed CD.
 18840  	ProductId string `xml:"productId" json:"productId"`
 18841  }
 18842  
 18843  func init() {
 18844  	t["CustomizationUserData"] = reflect.TypeOf((*CustomizationUserData)(nil)).Elem()
 18845  }
 18846  
 18847  // Specifies that VirtualCenter should generate a virtual machine name from a base
 18848  // prefix comprising the virtual machine entity name.
 18849  //
 18850  // A number is appended, if
 18851  // necessary, to make it unique.
 18852  //
 18853  // Virtual machine names are unique across the set of hosts and virtual machines known
 18854  // to the VirtualCenter instance. VMware Tools reports the names of existing virtual
 18855  // machines.
 18856  type CustomizationVirtualMachineName struct {
 18857  	CustomizationName
 18858  }
 18859  
 18860  func init() {
 18861  	t["CustomizationVirtualMachineName"] = reflect.TypeOf((*CustomizationVirtualMachineName)(nil)).Elem()
 18862  }
 18863  
 18864  // Optional operations supported by the customization process for Windows.
 18865  type CustomizationWinOptions struct {
 18866  	CustomizationOptions
 18867  
 18868  	// The customization process should modify the machine's security identifier (SID).
 18869  	//
 18870  	// For Vista OS and greater, SID will always be modified and a value of false will
 18871  	// generate an error.
 18872  	ChangeSID bool `xml:"changeSID" json:"changeSID"`
 18873  	// Deprecated as of VI API 2.5, this value is ignored. Removing user accounts
 18874  	// during customization is no longer supported. To change the
 18875  	// administrator password, set the administrator password to
 18876  	// blank in the master vm. Sysprep will then be able to change the
 18877  	// password to the one specified by the `CustomizationGuiUnattended.password`.
 18878  	//
 18879  	// If deleteAccounts is true, then all user accounts are removed from the system as
 18880  	// part of the customization.
 18881  	//
 18882  	// Mini-setup creates a new Administrator account with a
 18883  	// blank password.
 18884  	DeleteAccounts bool `xml:"deleteAccounts" json:"deleteAccounts"`
 18885  	// A value of type SysprepRebootOption specifying the action that should be
 18886  	// taken after running sysprep.
 18887  	//
 18888  	// Defaults to "reboot".
 18889  	Reboot CustomizationSysprepRebootOption `xml:"reboot,omitempty" json:"reboot,omitempty"`
 18890  }
 18891  
 18892  func init() {
 18893  	t["CustomizationWinOptions"] = reflect.TypeOf((*CustomizationWinOptions)(nil)).Elem()
 18894  }
 18895  
 18896  // The parameters of `VirtualMachineGuestCustomizationManager.CustomizeGuest_Task`.
 18897  type CustomizeGuestRequestType struct {
 18898  	This ManagedObjectReference `xml:"_this" json:"-"`
 18899  	// The Virtual Machine managed object reference.
 18900  	//
 18901  	// Refers instance of `VirtualMachine`.
 18902  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 18903  	// The guest authentication data. See
 18904  	// `GuestAuthentication`.
 18905  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 18906  	// Is a `CustomizationSpec`.
 18907  	// It specifies the virtual machine's configuration.
 18908  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 18909  	// addtional key/value pair list to support
 18910  	// third party customization.
 18911  	ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr" json:"configParams,omitempty"`
 18912  }
 18913  
 18914  func init() {
 18915  	t["CustomizeGuestRequestType"] = reflect.TypeOf((*CustomizeGuestRequestType)(nil)).Elem()
 18916  }
 18917  
 18918  type CustomizeGuest_Task CustomizeGuestRequestType
 18919  
 18920  func init() {
 18921  	t["CustomizeGuest_Task"] = reflect.TypeOf((*CustomizeGuest_Task)(nil)).Elem()
 18922  }
 18923  
 18924  type CustomizeGuest_TaskResponse struct {
 18925  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 18926  }
 18927  
 18928  // The parameters of `VirtualMachine.CustomizeVM_Task`.
 18929  type CustomizeVMRequestType struct {
 18930  	This ManagedObjectReference `xml:"_this" json:"-"`
 18931  	// The customization specification object.
 18932  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 18933  }
 18934  
 18935  func init() {
 18936  	t["CustomizeVMRequestType"] = reflect.TypeOf((*CustomizeVMRequestType)(nil)).Elem()
 18937  }
 18938  
 18939  type CustomizeVM_Task CustomizeVMRequestType
 18940  
 18941  func init() {
 18942  	t["CustomizeVM_Task"] = reflect.TypeOf((*CustomizeVM_Task)(nil)).Elem()
 18943  }
 18944  
 18945  type CustomizeVM_TaskResponse struct {
 18946  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 18947  }
 18948  
 18949  // Management related configuration of a DistributedVirtualPort.
 18950  type DVPortConfigInfo struct {
 18951  	DynamicData
 18952  
 18953  	// The name of the port.
 18954  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 18955  	// Deprecated as of vSphere API 5.5.
 18956  	//
 18957  	// The eligible entities that can connect to the port.
 18958  	//
 18959  	// If unset, there
 18960  	// is no restriction on which entity can connect to the port. If set,
 18961  	// only the entities in the specified list or their child entities are
 18962  	// allowed to connect to the port. If scopes are defined at both port
 18963  	// and portgroup level, they are taken as an "AND" relationship. If such
 18964  	// a relationship doesn't make sense, the reconfigure operation will
 18965  	// raise an exception.
 18966  	//
 18967  	// Refers instances of `ManagedEntity`.
 18968  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 18969  	// A description string of the port.
 18970  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 18971  	// The network configuration of the port.
 18972  	Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr" json:"setting,omitempty"`
 18973  	// The version string of the configuration.
 18974  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 18975  }
 18976  
 18977  func init() {
 18978  	t["DVPortConfigInfo"] = reflect.TypeOf((*DVPortConfigInfo)(nil)).Elem()
 18979  }
 18980  
 18981  // Specification to reconfigure a `DistributedVirtualPort`.
 18982  type DVPortConfigSpec struct {
 18983  	DynamicData
 18984  
 18985  	// The operation to remove or modify the existing ports.
 18986  	//
 18987  	// The valid values
 18988  	// are:
 18989  	//   - `edit`
 18990  	//   - `remove`
 18991  	Operation string `xml:"operation" json:"operation"`
 18992  	// Key of the port to be reconfigured.
 18993  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 18994  	// The name of the port.
 18995  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 18996  	// Deprecated as of vSphere API 5.5.
 18997  	//
 18998  	// The eligible entities that can connect to the port, for detail see
 18999  	// `DVPortConfigInfo.scope`.
 19000  	//
 19001  	// Refers instances of `ManagedEntity`.
 19002  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 19003  	// The description string of the port.
 19004  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19005  	// The network setting of the port.
 19006  	Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr" json:"setting,omitempty"`
 19007  	// The version string of the configuration.
 19008  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 19009  }
 19010  
 19011  func init() {
 19012  	t["DVPortConfigSpec"] = reflect.TypeOf((*DVPortConfigSpec)(nil)).Elem()
 19013  }
 19014  
 19015  // The virtual machine is configured to use a DVPort, which is not
 19016  // supported on the host.
 19017  //
 19018  // This could be because the host
 19019  // does not support VDS at all, or because the host has not
 19020  // joined a VDS.
 19021  type DVPortNotSupported struct {
 19022  	DeviceBackingNotSupported
 19023  }
 19024  
 19025  func init() {
 19026  	t["DVPortNotSupported"] = reflect.TypeOf((*DVPortNotSupported)(nil)).Elem()
 19027  }
 19028  
 19029  type DVPortNotSupportedFault DVPortNotSupported
 19030  
 19031  func init() {
 19032  	t["DVPortNotSupportedFault"] = reflect.TypeOf((*DVPortNotSupportedFault)(nil)).Elem()
 19033  }
 19034  
 19035  // The `DVPortSetting` data object
 19036  // describes the network configuration of a `DistributedVirtualPort`.
 19037  type DVPortSetting struct {
 19038  	DynamicData
 19039  
 19040  	// Indicates whether this port is blocked.
 19041  	//
 19042  	// If a port is blocked,
 19043  	// packet forwarding is stopped.
 19044  	Blocked *BoolPolicy `xml:"blocked,omitempty" json:"blocked,omitempty"`
 19045  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 19046  	// there is no replacement.
 19047  	//
 19048  	// Indicates whether this port is allowed to do VMDirectPath Gen2 network passthrough.
 19049  	//
 19050  	// Direct path capability is defined at host, switch, and device levels.
 19051  	// See the <code>vmDirectPathGen2Supported</code> properties on the
 19052  	// `DVSFeatureCapability`,
 19053  	// `HostCapability`, `PhysicalNic`,
 19054  	// and `VirtualEthernetCardOption` objects.
 19055  	VmDirectPathGen2Allowed *BoolPolicy `xml:"vmDirectPathGen2Allowed,omitempty" json:"vmDirectPathGen2Allowed,omitempty"`
 19056  	// Network shaping policy for controlling throughput of inbound traffic.
 19057  	InShapingPolicy *DVSTrafficShapingPolicy `xml:"inShapingPolicy,omitempty" json:"inShapingPolicy,omitempty"`
 19058  	// Network shaping policy for controlling throughput of outbound traffic.
 19059  	OutShapingPolicy *DVSTrafficShapingPolicy `xml:"outShapingPolicy,omitempty" json:"outShapingPolicy,omitempty"`
 19060  	// Opaque binary blob that stores vendor specific configuration.
 19061  	VendorSpecificConfig *DVSVendorSpecificConfig `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19062  	// Deprecated as of vSphere API 6.0
 19063  	// Use `DVPortgroupConfigInfo.vmVnicNetworkResourcePoolKey` instead
 19064  	// to reference the virtual NIC network resource pool.
 19065  	//
 19066  	// The key of user defined network resource pool to be associated with a port.
 19067  	//
 19068  	// The default value for this property is "-1", indicating that
 19069  	// this port is not associated with any network resource pool.
 19070  	NetworkResourcePoolKey *StringPolicy `xml:"networkResourcePoolKey,omitempty" json:"networkResourcePoolKey,omitempty"`
 19071  	// Configuration for Network Filter Policy.
 19072  	FilterPolicy *DvsFilterPolicy `xml:"filterPolicy,omitempty" json:"filterPolicy,omitempty"`
 19073  }
 19074  
 19075  func init() {
 19076  	t["DVPortSetting"] = reflect.TypeOf((*DVPortSetting)(nil)).Elem()
 19077  }
 19078  
 19079  // The state of a DistributedVirtualPort.
 19080  type DVPortState struct {
 19081  	DynamicData
 19082  
 19083  	// Run time information of the port.
 19084  	//
 19085  	// This property is set only when the port is running.
 19086  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 19087  	// Statistics of the port.
 19088  	Stats DistributedVirtualSwitchPortStatistics `xml:"stats" json:"stats"`
 19089  	// Opaque binary blob that stores vendor-specific runtime state data.
 19090  	VendorSpecificState []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificState,omitempty" json:"vendorSpecificState,omitempty"`
 19091  }
 19092  
 19093  func init() {
 19094  	t["DVPortState"] = reflect.TypeOf((*DVPortState)(nil)).Elem()
 19095  }
 19096  
 19097  // The `DVPortStatus` data object
 19098  // contains runtime information about a `DistributedVirtualPort`.
 19099  type DVPortStatus struct {
 19100  	DynamicData
 19101  
 19102  	// Indicates whether the port is in linkUp status.
 19103  	LinkUp bool `xml:"linkUp" json:"linkUp"`
 19104  	// Indicates whether the port is blocked by switch implementation.
 19105  	Blocked bool `xml:"blocked" json:"blocked"`
 19106  	// VLAN ID of the port.
 19107  	VlanIds []NumericRange `xml:"vlanIds,omitempty" json:"vlanIds,omitempty"`
 19108  	// True if the port VLAN tagging/stripping is disabled.
 19109  	TrunkingMode *bool `xml:"trunkingMode" json:"trunkingMode,omitempty"`
 19110  	// Maximum transmission unit (MTU) of the port.
 19111  	//
 19112  	// You can set the MTU only
 19113  	// at the switch level
 19114  	// (`VMwareDVSConfigSpec`).
 19115  	// If you attempt to change it at the portgroup or port level,
 19116  	// the Server throws an exception.
 19117  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 19118  	// Name of the connected entity.
 19119  	LinkPeer string `xml:"linkPeer,omitempty" json:"linkPeer,omitempty"`
 19120  	// The MAC address that is used at this port.
 19121  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 19122  	// Additional information regarding the current status of the port.
 19123  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
 19124  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 19125  	// supported and there is no replacement.
 19126  	//
 19127  	// Indicates whether VMDirectPath Gen 2 is active on this port.
 19128  	//
 19129  	// If false, the reason(s) for inactivity will be provided in one or
 19130  	// more of `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`,
 19131  	// `DVPortStatus.vmDirectPathGen2InactiveReasonOther`,
 19132  	// and `DVPortStatus.vmDirectPathGen2InactiveReasonExtended`.
 19133  	//
 19134  	// If the host software is not capable of VMDirectPath Gen 2,
 19135  	// this property will be unset. See
 19136  	// `HostCapability*.*HostCapability.vmDirectPathGen2Supported`.
 19137  	VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active" json:"vmDirectPathGen2Active,omitempty"`
 19138  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 19139  	// supported and there is no replacement.
 19140  	//
 19141  	// If `DVPortStatus.vmDirectPathGen2Active` is false, this array will be
 19142  	// populated with reasons for the inactivity that are related to network
 19143  	// state or configuration.
 19144  	//
 19145  	// The reasons are chosen from the
 19146  	// `DVPortStatusVmDirectPathGen2InactiveReasonNetwork_enum`
 19147  	// values.
 19148  	//
 19149  	// Other reasons for inactivity will be provided in
 19150  	// `DVPortStatus.vmDirectPathGen2InactiveReasonOther`. If there is a reason
 19151  	// for inactivity that cannot be described by the available constants,
 19152  	// `DVPortStatus.vmDirectPathGen2InactiveReasonExtended` will be populated
 19153  	// with an additional explanation provided by the platform.
 19154  	//
 19155  	// Note that this list of reasons is not guaranteed to be exhaustive.
 19156  	VmDirectPathGen2InactiveReasonNetwork []string `xml:"vmDirectPathGen2InactiveReasonNetwork,omitempty" json:"vmDirectPathGen2InactiveReasonNetwork,omitempty"`
 19157  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 19158  	// supported and there is no replacement.
 19159  	//
 19160  	// If `DVPortStatus.vmDirectPathGen2Active` is false, this array will be
 19161  	// populated with reasons for the inactivity that are not related to
 19162  	// network state or configuration.
 19163  	//
 19164  	// The reasons are chosen from the
 19165  	// `DVPortStatusVmDirectPathGen2InactiveReasonOther_enum`
 19166  	// values.
 19167  	//
 19168  	// Network-related reasons for inactivity will be provided in
 19169  	// `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`. If there is a reason
 19170  	// for inactivity that cannot be described by the available constants,
 19171  	// `DVPortStatus.vmDirectPathGen2InactiveReasonExtended` will be populated
 19172  	// with an additional explanation provided by the platform.
 19173  	//
 19174  	// Note that this list of reasons is not guaranteed to be exhaustive.
 19175  	//
 19176  	// See also `HostCapability.vmDirectPathGen2Supported`.
 19177  	VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty" json:"vmDirectPathGen2InactiveReasonOther,omitempty"`
 19178  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 19179  	// supported and there is no replacement.
 19180  	//
 19181  	// If `DVPortStatus.vmDirectPathGen2Active` is false, this property may
 19182  	// contain an explanation provided by the platform, beyond the reasons
 19183  	// (if any) listed in `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`
 19184  	// and/or `DVPortStatus.vmDirectPathGen2InactiveReasonOther`.
 19185  	VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty" json:"vmDirectPathGen2InactiveReasonExtended,omitempty"`
 19186  }
 19187  
 19188  func init() {
 19189  	t["DVPortStatus"] = reflect.TypeOf((*DVPortStatus)(nil)).Elem()
 19190  }
 19191  
 19192  // The `DVPortgroupConfigInfo` data object defines
 19193  // the configuration of a `DistributedVirtualPortgroup`.
 19194  type DVPortgroupConfigInfo struct {
 19195  	DynamicData
 19196  
 19197  	// Key of the portgroup.
 19198  	Key string `xml:"key" json:"key"`
 19199  	// Name of the portgroup.
 19200  	Name string `xml:"name" json:"name"`
 19201  	// Number of ports in the portgroup.
 19202  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 19203  	// Distributed virtual switch that the portgroup is defined on.
 19204  	//
 19205  	// This property should always be set unless the user's setting
 19206  	// does not have System.Read privilege on the object referred to
 19207  	// by this property.
 19208  	//
 19209  	// Refers instance of `DistributedVirtualSwitch`.
 19210  	DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 19211  	// Common network setting for all the ports in the portgroup.
 19212  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
 19213  	// Description of the portgroup.
 19214  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19215  	// Type of portgroup.
 19216  	//
 19217  	// See
 19218  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum`
 19219  	// for possible values.
 19220  	Type string `xml:"type" json:"type"`
 19221  	// Backing type of portgroup.
 19222  	//
 19223  	// See
 19224  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
 19225  	// for possible values.
 19226  	// The default value is "standard"
 19227  	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty"`
 19228  	// Portgroup policy.
 19229  	Policy BaseDVPortgroupPolicy `xml:"policy,typeattr" json:"policy"`
 19230  	// If set, a name will be automatically generated based on this format
 19231  	// string for a port when it is created in or moved into the portgroup.
 19232  	//
 19233  	// The format string can contain meta tags that will be resolved
 19234  	// to the corresponding values in generating a name, if applicable for
 19235  	// the port at the time of name generation.
 19236  	//
 19237  	// To insert a meta tag in the format string,
 19238  	// enclose the names defined as meta tag names inside angle brackets.
 19239  	// See `DistributedVirtualPortgroupMetaTagName_enum` for a list of
 19240  	// currently available meta tags. For example,
 19241  	// "redNetwork-&lt;portIndex&gt;" and "&lt;dvsName&gt;-pnic&lt;portIndex&gt;"
 19242  	// result in generated port names like "redNetwork-2" and "switch-pnic3".
 19243  	//
 19244  	// If a meta tag is recognized, but there is no applicable value, the tag
 19245  	// will be expanded to empty string. If an arbitrary name appears inside
 19246  	// a "&lt;&gt;" pair and is not recognized as one of the defined meta tags,
 19247  	// the substring is treated as-is and appear unchanged in the generated name.
 19248  	//
 19249  	// To prevent a meta tag from being expanded, prefix the meta tag with a
 19250  	// '\\' (backslash). For example, the format string "abc\\&lt;portIndex&gt;def"
 19251  	// results in the generated port name "abc&lt;portIndex&gt;def".
 19252  	PortNameFormat string `xml:"portNameFormat,omitempty" json:"portNameFormat,omitempty"`
 19253  	// Deprecated as of vSphere API 5.5.
 19254  	//
 19255  	// Eligible entities that can connect to the portgroup.
 19256  	//
 19257  	// If unset,
 19258  	// there is no restriction on which entity can connect to the portgroup.
 19259  	// If set, only the entities in the specified list or their child
 19260  	// entities are allowed to connect to the portgroup. If scopes are
 19261  	// defined at both port and portgroup level, they are taken as an "AND"
 19262  	// relationship. If such a relationship doesn't make sense, the
 19263  	// reconfigure operation will raise an exception.
 19264  	//
 19265  	// Refers instances of `ManagedEntity`.
 19266  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 19267  	// Opaque binary blob that stores vendor specific configuration.
 19268  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19269  	// Configuration version number.
 19270  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 19271  	// If set to true, this property ignores the limit on the number of ports in the
 19272  	// portgroup.
 19273  	//
 19274  	// When a Virtual Machine/Host tries to connect to the portgroup and there
 19275  	// are no free ports available in the portgroup, new ports will be automatically
 19276  	// added to the portgroup. The flag is currently supported only for static portgroups.
 19277  	//
 19278  	// When this property is set to true, the portgroup becomes a potential candidate for
 19279  	// auto-shrink. Once the portgroup has auto-expanded then its disconnected ports are
 19280  	// likely to be deleted automatically, as a part of auto-shrink step, if there are more
 19281  	// than certain number of free ports. If the portgroup never auto-expanded, then it will
 19282  	// never lose any free ports.
 19283  	AutoExpand *bool `xml:"autoExpand" json:"autoExpand,omitempty"`
 19284  	// The key of virtual NIC network resource pool to be associated with a portgroup.
 19285  	//
 19286  	// The default value for this property is unset, indicating that
 19287  	// this portgroup is not associated with any virtual NIC network resource pool.
 19288  	// To clear the value of this property and revert to unset, set the
 19289  	// `DVPortgroupConfigSpec.vmVnicNetworkResourcePoolKey`
 19290  	// to "-1" in an update operation.
 19291  	VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty" json:"vmVnicNetworkResourcePoolKey,omitempty"`
 19292  	// Indicates whether the portgroup is an uplink portroup.
 19293  	Uplink *bool `xml:"uplink" json:"uplink,omitempty"`
 19294  	// The UUID of transport zone to be associated with a NSX portgroup.
 19295  	TransportZoneUuid string `xml:"transportZoneUuid,omitempty" json:"transportZoneUuid,omitempty"`
 19296  	// The name of transport zone to be associated with a NSX portgroup.
 19297  	TransportZoneName string `xml:"transportZoneName,omitempty" json:"transportZoneName,omitempty"`
 19298  	// The logical switch UUID, which is used by NSX portgroup
 19299  	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty"`
 19300  	// The segment ID of logical switch
 19301  	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty"`
 19302  	// ID of the VPC Subnet when the DVPG is backed by a VPC Subnet
 19303  	SubnetId string `xml:"subnetId,omitempty" json:"subnetId,omitempty" vim:"9.0.0.0"`
 19304  }
 19305  
 19306  func init() {
 19307  	t["DVPortgroupConfigInfo"] = reflect.TypeOf((*DVPortgroupConfigInfo)(nil)).Elem()
 19308  }
 19309  
 19310  // The `DVPortgroupConfigSpec`
 19311  // data object contains configuration data for a
 19312  // `DistributedVirtualPortgroup`.
 19313  //
 19314  // Use the
 19315  // `DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task`
 19316  // method to apply the configuration to the portgroup.
 19317  type DVPortgroupConfigSpec struct {
 19318  	DynamicData
 19319  
 19320  	// Version string of the configuration that this spec is trying to
 19321  	// change.
 19322  	//
 19323  	// This property is required in reconfiguring a portgroup and
 19324  	// should be set to the same value as the
 19325  	// `DVPortgroupConfigInfo.configVersion`.
 19326  	// This property is ignored in creating a portgroup if set.
 19327  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 19328  	// Name of the portgroup.
 19329  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 19330  	// Number of ports in the portgroup.
 19331  	//
 19332  	// Setting this number larger than the
 19333  	// number of existing ports in the portgroup causes new ports to
 19334  	// be added to the portgroup to meet the number. Setting this property
 19335  	// smaller than the number of existing ports deletes the free ports
 19336  	// from the portgroup. If the number cannot be met by deleting free ports,
 19337  	// a fault is raised. If new ports are added to the portgroup, they
 19338  	// are also added to the switch. For portgroups of type ephemeral this
 19339  	// property is ignored.
 19340  	NumPorts int32 `xml:"numPorts,omitempty" json:"numPorts,omitempty"`
 19341  	// Format of the name of the ports when ports are created in the portgroup.
 19342  	//
 19343  	// For details see `DVPortgroupConfigInfo.portNameFormat`.
 19344  	PortNameFormat string `xml:"portNameFormat,omitempty" json:"portNameFormat,omitempty"`
 19345  	// Default network setting for all the ports in the portgroup.
 19346  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
 19347  	// Description of the portgroup.
 19348  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19349  	// Type of portgroup.
 19350  	//
 19351  	// See
 19352  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum`
 19353  	// for possible values.
 19354  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 19355  	// Backing type of portgroup.
 19356  	//
 19357  	// See
 19358  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
 19359  	// for possible values.
 19360  	// The default value is "standard"
 19361  	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty"`
 19362  	// Deprecated as of vSphere API 5.5.
 19363  	//
 19364  	// Eligible entities that can connect to the port.
 19365  	//
 19366  	// See
 19367  	// `DVPortgroupConfigInfo*.*DVPortgroupConfigInfo.scope`.
 19368  	//
 19369  	// Refers instances of `ManagedEntity`.
 19370  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 19371  	// Portgroup policy.
 19372  	Policy BaseDVPortgroupPolicy `xml:"policy,omitempty,typeattr" json:"policy,omitempty"`
 19373  	// Opaque binary blob that stores vendor specific configuration.
 19374  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19375  	// If set to true, this property ignores the limit on the number of ports in the
 19376  	// portgroup.
 19377  	//
 19378  	// When a Virtual Machine/Host tries to connect to the portgroup and there
 19379  	// are no free ports available in the portgroup, new ports will be automatically
 19380  	// added to the portgroup. The flag is currently supported only for static portgroups.
 19381  	//
 19382  	// Setting this property to true makes the portgroup a potential candidate for
 19383  	// auto-shrink. Once the portgroup has auto-expanded then its disconnected ports are
 19384  	// likely to be deleted automatically, as a part of auto-shrink step, if there are more
 19385  	// than certain number of free ports. If the portgroup never auto-expanded, then it will
 19386  	// never lose any free ports.
 19387  	AutoExpand *bool `xml:"autoExpand" json:"autoExpand,omitempty"`
 19388  	// The key of virtual NIC network resource pool to be associated with a portgroup.
 19389  	//
 19390  	// Setting this property to "-1", would mean that this portgroup
 19391  	// is not associated with any virtual NIC network resource pool.
 19392  	VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty" json:"vmVnicNetworkResourcePoolKey,omitempty"`
 19393  	// The UUID of transport zone to be associated with a NSX portgroup.
 19394  	TransportZoneUuid string `xml:"transportZoneUuid,omitempty" json:"transportZoneUuid,omitempty"`
 19395  	// The name of transport zone to be associated with a NSX portgroup.
 19396  	TransportZoneName string `xml:"transportZoneName,omitempty" json:"transportZoneName,omitempty"`
 19397  	// The logical switch UUID, which is used by NSX portgroup
 19398  	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty"`
 19399  	// The segment ID of logical switch
 19400  	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty"`
 19401  	// The subnet ID of logical switch
 19402  	SubnetId string `xml:"subnetId,omitempty" json:"subnetId,omitempty" vim:"9.0.0.0"`
 19403  }
 19404  
 19405  func init() {
 19406  	t["DVPortgroupConfigSpec"] = reflect.TypeOf((*DVPortgroupConfigSpec)(nil)).Elem()
 19407  }
 19408  
 19409  // Two distributed virtual portgroup was created.
 19410  type DVPortgroupCreatedEvent struct {
 19411  	DVPortgroupEvent
 19412  }
 19413  
 19414  func init() {
 19415  	t["DVPortgroupCreatedEvent"] = reflect.TypeOf((*DVPortgroupCreatedEvent)(nil)).Elem()
 19416  }
 19417  
 19418  // Two distributed virtual portgroup was destroyed.
 19419  type DVPortgroupDestroyedEvent struct {
 19420  	DVPortgroupEvent
 19421  }
 19422  
 19423  func init() {
 19424  	t["DVPortgroupDestroyedEvent"] = reflect.TypeOf((*DVPortgroupDestroyedEvent)(nil)).Elem()
 19425  }
 19426  
 19427  // DVPortgroup related events.
 19428  type DVPortgroupEvent struct {
 19429  	Event
 19430  }
 19431  
 19432  func init() {
 19433  	t["DVPortgroupEvent"] = reflect.TypeOf((*DVPortgroupEvent)(nil)).Elem()
 19434  }
 19435  
 19436  // The DistributedVirtualPortgroup policies.
 19437  //
 19438  // This field is not applicable
 19439  // when queried directly against an ESX host.
 19440  type DVPortgroupPolicy struct {
 19441  	DynamicData
 19442  
 19443  	// Allow the `DVPortSetting.blocked` setting
 19444  	// of an individual port to override the setting in
 19445  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19446  	// a portgroup.
 19447  	BlockOverrideAllowed bool `xml:"blockOverrideAllowed" json:"blockOverrideAllowed"`
 19448  	// Allow the `DVPortSetting.inShapingPolicy` or
 19449  	// `DVPortSetting.outShapingPolicy` settings
 19450  	// of an individual port to override the setting in
 19451  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19452  	// a portgroup.
 19453  	ShapingOverrideAllowed bool `xml:"shapingOverrideAllowed" json:"shapingOverrideAllowed"`
 19454  	// Allow the `DVPortSetting.vendorSpecificConfig`
 19455  	// setting of an individual port to override the setting in
 19456  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19457  	// a portgroup.
 19458  	VendorConfigOverrideAllowed bool `xml:"vendorConfigOverrideAllowed" json:"vendorConfigOverrideAllowed"`
 19459  	// Allow a live port to be moved in and out of the portgroup.
 19460  	LivePortMovingAllowed bool `xml:"livePortMovingAllowed" json:"livePortMovingAllowed"`
 19461  	// If true, reset the port network setting back to the portgroup setting
 19462  	// (thus removing the per-port setting) when the port is disconnected from
 19463  	// the connectee.
 19464  	PortConfigResetAtDisconnect bool `xml:"portConfigResetAtDisconnect" json:"portConfigResetAtDisconnect"`
 19465  	// Allow the setting of
 19466  	// `DVPortSetting.networkResourcePoolKey` of an
 19467  	// individual port to override the setting in
 19468  	// `DVPortgroupConfigInfo.defaultPortConfig`
 19469  	// of a portgroup.
 19470  	NetworkResourcePoolOverrideAllowed *bool `xml:"networkResourcePoolOverrideAllowed" json:"networkResourcePoolOverrideAllowed,omitempty"`
 19471  	// Allow the setting of
 19472  	// `DVPortSetting.filterPolicy`,
 19473  	// for an individual port to override the setting in
 19474  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19475  	// a portgroup.
 19476  	TrafficFilterOverrideAllowed *bool `xml:"trafficFilterOverrideAllowed" json:"trafficFilterOverrideAllowed,omitempty"`
 19477  }
 19478  
 19479  func init() {
 19480  	t["DVPortgroupPolicy"] = reflect.TypeOf((*DVPortgroupPolicy)(nil)).Elem()
 19481  }
 19482  
 19483  // Two distributed virtual portgroup was reconfigured.
 19484  type DVPortgroupReconfiguredEvent struct {
 19485  	DVPortgroupEvent
 19486  
 19487  	// The reconfiguration spec.
 19488  	ConfigSpec DVPortgroupConfigSpec `xml:"configSpec" json:"configSpec"`
 19489  	// The configuration values changed during the reconfiguration.
 19490  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 19491  }
 19492  
 19493  func init() {
 19494  	t["DVPortgroupReconfiguredEvent"] = reflect.TypeOf((*DVPortgroupReconfiguredEvent)(nil)).Elem()
 19495  }
 19496  
 19497  // Two distributed virtual portgroup was renamed.
 19498  type DVPortgroupRenamedEvent struct {
 19499  	DVPortgroupEvent
 19500  
 19501  	// The old portgroup name.
 19502  	OldName string `xml:"oldName" json:"oldName"`
 19503  	// The new portgroup name.
 19504  	NewName string `xml:"newName" json:"newName"`
 19505  }
 19506  
 19507  func init() {
 19508  	t["DVPortgroupRenamedEvent"] = reflect.TypeOf((*DVPortgroupRenamedEvent)(nil)).Elem()
 19509  }
 19510  
 19511  // The parameters of `DistributedVirtualPortgroup.DVPortgroupRollback_Task`.
 19512  type DVPortgroupRollbackRequestType struct {
 19513  	This ManagedObjectReference `xml:"_this" json:"-"`
 19514  	// The backup of Distributed Virtual PortGroup entity.
 19515  	EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty" json:"entityBackup,omitempty"`
 19516  }
 19517  
 19518  func init() {
 19519  	t["DVPortgroupRollbackRequestType"] = reflect.TypeOf((*DVPortgroupRollbackRequestType)(nil)).Elem()
 19520  }
 19521  
 19522  type DVPortgroupRollback_Task DVPortgroupRollbackRequestType
 19523  
 19524  func init() {
 19525  	t["DVPortgroupRollback_Task"] = reflect.TypeOf((*DVPortgroupRollback_Task)(nil)).Elem()
 19526  }
 19527  
 19528  type DVPortgroupRollback_TaskResponse struct {
 19529  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 19530  }
 19531  
 19532  // Class to specify selection criteria of list of vNetwork Distributed Portgroups.
 19533  type DVPortgroupSelection struct {
 19534  	SelectionSet
 19535  
 19536  	// vSphere Distributed Switch uuid
 19537  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 19538  	// List of vNetwork Distributed Portgroup keys
 19539  	PortgroupKey []string `xml:"portgroupKey" json:"portgroupKey"`
 19540  }
 19541  
 19542  func init() {
 19543  	t["DVPortgroupSelection"] = reflect.TypeOf((*DVPortgroupSelection)(nil)).Elem()
 19544  }
 19545  
 19546  // The `DVSBackupRestoreCapability` data object
 19547  // describes backup, restore, and rollback capabilities for distributed virtual
 19548  // switches and distributed virtual portgroups.
 19549  //
 19550  // Backup and restore capabilities are indicated for `DistributedVirtualSwitch`.
 19551  // Rollback capability is indicated for `DistributedVirtualSwitch`
 19552  // and `DistributedVirtualPortgroup`.
 19553  type DVSBackupRestoreCapability struct {
 19554  	DynamicData
 19555  
 19556  	// Indicates whether backup, restore, and rollback are supported.
 19557  	BackupRestoreSupported bool `xml:"backupRestoreSupported" json:"backupRestoreSupported"`
 19558  }
 19559  
 19560  func init() {
 19561  	t["DVSBackupRestoreCapability"] = reflect.TypeOf((*DVSBackupRestoreCapability)(nil)).Elem()
 19562  }
 19563  
 19564  // The `DVSCapability` data object
 19565  // describes the distributed virtual switch features and indicates
 19566  // the level of configuration that is allowed.
 19567  type DVSCapability struct {
 19568  	DynamicData
 19569  
 19570  	// Indicates whether this switch allows vCenter users to modify
 19571  	// the switch configuration at the switch level,
 19572  	// except for host member, policy, and scope operations.
 19573  	DvsOperationSupported *bool `xml:"dvsOperationSupported" json:"dvsOperationSupported,omitempty"`
 19574  	// Indicates whether this switch allows vCenter users to modify
 19575  	// the switch configuration at the portgroup level,
 19576  	// except for host member, policy, and scope operations.
 19577  	DvPortGroupOperationSupported *bool `xml:"dvPortGroupOperationSupported" json:"dvPortGroupOperationSupported,omitempty"`
 19578  	// Indicates whether this switch allows vCenter users to modify
 19579  	// the switch configuration at the port level,
 19580  	// except for host member, policy, and scope operations.
 19581  	DvPortOperationSupported *bool `xml:"dvPortOperationSupported" json:"dvPortOperationSupported,omitempty"`
 19582  	// List of host component product information that is compatible
 19583  	// with the current switch implementation.
 19584  	CompatibleHostComponentProductInfo []DistributedVirtualSwitchHostProductSpec `xml:"compatibleHostComponentProductInfo,omitempty" json:"compatibleHostComponentProductInfo,omitempty"`
 19585  	// Indicators for which version-specific distributed virtual switch
 19586  	// features are available on this switch.
 19587  	//
 19588  	// This information is read-only, with the following exception.
 19589  	// For a third-party distributed switch implementation, you can
 19590  	// set the property
 19591  	// `DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported`
 19592  	// during switch creation or when you call the
 19593  	// `DistributedVirtualSwitch.UpdateDvsCapability` method.
 19594  	FeaturesSupported BaseDVSFeatureCapability `xml:"featuresSupported,omitempty,typeattr" json:"featuresSupported,omitempty"`
 19595  }
 19596  
 19597  func init() {
 19598  	t["DVSCapability"] = reflect.TypeOf((*DVSCapability)(nil)).Elem()
 19599  }
 19600  
 19601  // Configuration of a `DistributedVirtualSwitch`.
 19602  type DVSConfigInfo struct {
 19603  	DynamicData
 19604  
 19605  	// Generated UUID of the switch.
 19606  	//
 19607  	// Unique across vCenter Server
 19608  	// inventory and instances.
 19609  	Uuid string `xml:"uuid" json:"uuid"`
 19610  	// Name of the switch.
 19611  	Name string `xml:"name" json:"name"`
 19612  	// Number of standalone ports in the switch.
 19613  	//
 19614  	// Standalone ports are
 19615  	// ports that do not belong to any portgroup.
 19616  	NumStandalonePorts int32 `xml:"numStandalonePorts" json:"numStandalonePorts"`
 19617  	// Current number of ports, not including conflict ports.
 19618  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 19619  	// Maximum number of ports allowed in the switch,
 19620  	// not including conflict ports.
 19621  	MaxPorts int32 `xml:"maxPorts" json:"maxPorts"`
 19622  	// Uplink port policy.
 19623  	UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,typeattr" json:"uplinkPortPolicy"`
 19624  	// List of uplink portgroups.
 19625  	//
 19626  	// When adding host members, the server
 19627  	// uses the `DVSConfigInfo.uplinkPortPolicy` to create a number of
 19628  	// uplink ports for the host. If portgroups are shown here,
 19629  	// those uplink ports will be added to the portgroups, with uplink ports
 19630  	// evenly spread among the portgroups.
 19631  	//
 19632  	// Refers instances of `DistributedVirtualPortgroup`.
 19633  	UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty" json:"uplinkPortgroup,omitempty"`
 19634  	// Default configuration for the ports in the switch, if the port
 19635  	// does not inherit configuration from the parent portgroup or has
 19636  	// its own configuration.
 19637  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,typeattr" json:"defaultPortConfig"`
 19638  	// Hosts that join the switch.
 19639  	Host []DistributedVirtualSwitchHostMember `xml:"host,omitempty" json:"host,omitempty"`
 19640  	// Vendor, product, and version information for the implementation
 19641  	// module of the switch.
 19642  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 19643  	// Intended vendor, product, and version information for the
 19644  	// implementation module of the switch.
 19645  	TargetInfo *DistributedVirtualSwitchProductSpec `xml:"targetInfo,omitempty" json:"targetInfo,omitempty"`
 19646  	// Key of the extension registered by the remote server that
 19647  	// controls the switch.
 19648  	ExtensionKey string `xml:"extensionKey,omitempty" json:"extensionKey,omitempty"`
 19649  	// Opaque binary blob that stores vendor specific configuration.
 19650  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19651  	// Usage policy of the switch.
 19652  	Policy *DVSPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 19653  	// Description string for the switch.
 19654  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19655  	// Version string of the configuration.
 19656  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 19657  	// Human operator contact information.
 19658  	Contact DVSContactInfo `xml:"contact" json:"contact"`
 19659  	// IP address for the switch, specified using IPv4 dot notation.
 19660  	//
 19661  	// The
 19662  	// utility of this address is defined by other switch features.
 19663  	SwitchIpAddress string `xml:"switchIpAddress,omitempty" json:"switchIpAddress,omitempty"`
 19664  	// Create time of the switch.
 19665  	CreateTime time.Time `xml:"createTime" json:"createTime"`
 19666  	// Boolean to indicate if network I/O control is enabled on the
 19667  	// switch.
 19668  	NetworkResourceManagementEnabled *bool `xml:"networkResourceManagementEnabled" json:"networkResourceManagementEnabled,omitempty"`
 19669  	// Default host proxy switch maximum port number
 19670  	DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty" json:"defaultProxySwitchMaxNumPorts,omitempty"`
 19671  	// VDS health check configuration.
 19672  	HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,omitempty,typeattr" json:"healthCheckConfig,omitempty"`
 19673  	// Host infrastructure traffic class resource configuration.
 19674  	InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty" json:"infrastructureTrafficResourceConfig,omitempty"`
 19675  	// Dynamic Host infrastructure traffic class resource configuration.
 19676  	NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty" json:"netResourcePoolTrafficResourceConfig,omitempty"`
 19677  	// Network resource control version of the switch.
 19678  	//
 19679  	// Possible value can be of
 19680  	// `DistributedVirtualSwitchNetworkResourceControlVersion_enum`.
 19681  	NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty" json:"networkResourceControlVersion,omitempty"`
 19682  	// The Virtual NIC network resource pool information for the switch.
 19683  	VmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"vmVnicNetworkResourcePool,omitempty" json:"vmVnicNetworkResourcePool,omitempty"`
 19684  	// The percentage of physical nic link speed
 19685  	// `PhysicalNicLinkInfo.speedMb`
 19686  	// available for infrastructure traffic reservation.
 19687  	//
 19688  	// If this value is 75, then for a 1Gbps physical nic, only
 19689  	// 750Mbps is allowed for all infrastructure traffic reservations.
 19690  	PnicCapacityRatioForReservation int32 `xml:"pnicCapacityRatioForReservation,omitempty" json:"pnicCapacityRatioForReservation,omitempty"`
 19691  }
 19692  
 19693  func init() {
 19694  	t["DVSConfigInfo"] = reflect.TypeOf((*DVSConfigInfo)(nil)).Elem()
 19695  }
 19696  
 19697  // The `DVSConfigSpec`
 19698  // data object contains configuration data for a
 19699  // `DistributedVirtualSwitch`.
 19700  //
 19701  // Use the `DistributedVirtualSwitch.ReconfigureDvs_Task`
 19702  // method to apply the configuration to the
 19703  // switch.
 19704  type DVSConfigSpec struct {
 19705  	DynamicData
 19706  
 19707  	// The version string of the configuration that this spec is trying to
 19708  	// change.
 19709  	//
 19710  	// This property is required in reconfiguring a switch
 19711  	// and should be set to the same value as
 19712  	// `DVSConfigInfo.configVersion`.
 19713  	// This property is ignored during switch creation.
 19714  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 19715  	// The name of the switch.
 19716  	//
 19717  	// Must be unique in the parent folder.
 19718  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 19719  	// The number of standalone ports in the switch.
 19720  	//
 19721  	// Standalone ports are
 19722  	// ports that do not belong to any portgroup. If set to a number larger
 19723  	// than number of existing standalone ports in the switch, new ports get
 19724  	// created to meet the number. If set to a number smaller than the number
 19725  	// of existing standalone ports, free ports (uplink ports excluded) are
 19726  	// deleted to meet the number. If the set number cannot be met by
 19727  	// deleting free standalone ports, a fault is raised.
 19728  	NumStandalonePorts int32 `xml:"numStandalonePorts,omitempty" json:"numStandalonePorts,omitempty"`
 19729  	// Deprecated as of vSphere API 5.0
 19730  	// The default value of this propoerty is maxint and there is no reason
 19731  	// for users to change it to a lower value.
 19732  	//
 19733  	// The maximum number of DistributedVirtualPorts allowed in the switch.
 19734  	//
 19735  	// If specified in a reconfigure operation, this number cannot be smaller
 19736  	// than the number of existing DistributedVirtualPorts.
 19737  	MaxPorts int32 `xml:"maxPorts,omitempty" json:"maxPorts,omitempty"`
 19738  	// The uplink port policy.
 19739  	UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,omitempty,typeattr" json:"uplinkPortPolicy,omitempty"`
 19740  	// The uplink portgroups.
 19741  	//
 19742  	// Refers instances of `DistributedVirtualPortgroup`.
 19743  	UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty" json:"uplinkPortgroup,omitempty"`
 19744  	// The default configuration for ports.
 19745  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
 19746  	// The host member specification.
 19747  	//
 19748  	// A particular host should have only one entry
 19749  	// in this array. Duplicate entries for the same host will raise a fault.
 19750  	// The host version should be compatible with the version of
 19751  	// `DistributedVirtualSwitch`. Use
 19752  	// `DistributedVirtualSwitchManager.QueryDvsCheckCompatibility`
 19753  	// to check for compatibility.
 19754  	Host []DistributedVirtualSwitchHostMemberConfigSpec `xml:"host,omitempty" json:"host,omitempty"`
 19755  	// The key of the extension registered by a remote server that
 19756  	// controls the switch.
 19757  	ExtensionKey string `xml:"extensionKey,omitempty" json:"extensionKey,omitempty"`
 19758  	// Set the description string of the switch.
 19759  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19760  	// The usage policy of the switch.
 19761  	Policy *DVSPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 19762  	// Set the opaque blob that stores vendor specific configuration.
 19763  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19764  	// Set the human operator contact information.
 19765  	Contact *DVSContactInfo `xml:"contact,omitempty" json:"contact,omitempty"`
 19766  	// IP address for the switch, specified using IPv4 dot notation.
 19767  	//
 19768  	// IPv6 address is not supported for this property.
 19769  	// The utility of this address is defined by other switch features.
 19770  	// switchIpAddress would be ignored when IPFIX collector uses IPv6.
 19771  	SwitchIpAddress string `xml:"switchIpAddress,omitempty" json:"switchIpAddress,omitempty"`
 19772  	// The default host proxy switch maximum port number
 19773  	DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty" json:"defaultProxySwitchMaxNumPorts,omitempty"`
 19774  	// The host infrastructure traffic resource allocation specification.
 19775  	//
 19776  	// Only the traffic class resource allocations identified in the list
 19777  	// will be updated. The other traffic class resource allocations that are not
 19778  	// specified will not change.
 19779  	InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty" json:"infrastructureTrafficResourceConfig,omitempty"`
 19780  	// The dynamic host infrastructure traffic resource allocation
 19781  	// specification.
 19782  	NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty" json:"netResourcePoolTrafficResourceConfig,omitempty"`
 19783  	// Indicates the Network Resource Control APIs that are supported on the switch.
 19784  	//
 19785  	// Possible value can be of
 19786  	// `DistributedVirtualSwitchNetworkResourceControlVersion_enum`.
 19787  	NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty" json:"networkResourceControlVersion,omitempty"`
 19788  }
 19789  
 19790  func init() {
 19791  	t["DVSConfigSpec"] = reflect.TypeOf((*DVSConfigSpec)(nil)).Elem()
 19792  }
 19793  
 19794  // Contact information of a human operator.
 19795  type DVSContactInfo struct {
 19796  	DynamicData
 19797  
 19798  	// The name of the person who is responsible for the switch.
 19799  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 19800  	// The contact information for the person.
 19801  	Contact string `xml:"contact,omitempty" json:"contact,omitempty"`
 19802  }
 19803  
 19804  func init() {
 19805  	t["DVSContactInfo"] = reflect.TypeOf((*DVSContactInfo)(nil)).Elem()
 19806  }
 19807  
 19808  // Specification to create a `DistributedVirtualSwitch`.
 19809  type DVSCreateSpec struct {
 19810  	DynamicData
 19811  
 19812  	// Configuration data.
 19813  	ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr" json:"configSpec"`
 19814  	// Product information for this switch implementation.
 19815  	//
 19816  	// If you
 19817  	// do not specify this property, the Server will use the latest
 19818  	// version to create the `DistributedVirtualSwitch`.
 19819  	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 19820  	// Capability of the switch.
 19821  	Capability *DVSCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 19822  }
 19823  
 19824  func init() {
 19825  	t["DVSCreateSpec"] = reflect.TypeOf((*DVSCreateSpec)(nil)).Elem()
 19826  }
 19827  
 19828  // This data object type describes the network adapter failover
 19829  // detection algorithm for a network adapter team.
 19830  type DVSFailureCriteria struct {
 19831  	InheritablePolicy
 19832  
 19833  	// To use link speed as the criteria, _checkSpeed_ must be one of
 19834  	// the following values:
 19835  	//   - `*exact*`: Use exact speed to detect link failure.
 19836  	//     `*speed*` is the configured exact speed in megabits per second.
 19837  	//   - `*minimum*`: Use minimum speed to detect failure.
 19838  	//     `*speed*` is the configured minimum speed in megabits per second.
 19839  	//   - **empty string**: Do not use link speed to detect failure.
 19840  	//     `*speed*` is unused in this case.
 19841  	CheckSpeed *StringPolicy `xml:"checkSpeed,omitempty" json:"checkSpeed,omitempty"`
 19842  	// See also `DVSFailureCriteria.checkSpeed`.
 19843  	Speed *IntPolicy `xml:"speed,omitempty" json:"speed,omitempty"`
 19844  	// The flag to indicate whether or not to use the link duplex reported
 19845  	// by the driver as link selection criteria.
 19846  	//
 19847  	// If `*checkDuplex*` is true, then fullDuplex is the configured
 19848  	// duplex mode. The link is considered bad if the link duplex reported
 19849  	// by driver is not the same as fullDuplex.
 19850  	//
 19851  	// If `*checkDuplex*` is false, then fullDuplex is unused, and
 19852  	// link duplexity is not used as a detection method.
 19853  	CheckDuplex *BoolPolicy `xml:"checkDuplex,omitempty" json:"checkDuplex,omitempty"`
 19854  	// See also `DVSFailureCriteria.checkDuplex`.
 19855  	FullDuplex *BoolPolicy `xml:"fullDuplex,omitempty" json:"fullDuplex,omitempty"`
 19856  	// The flag to indicate whether or not to use link error percentage
 19857  	// to detect failure.
 19858  	//
 19859  	// If `*checkErrorPercent*` is true, then percentage is the configured
 19860  	// error percentage that is tolerated. The link is considered bad
 19861  	// if error rate exceeds percentage.
 19862  	//
 19863  	// If `*checkErrorPercent*` is false, percentage is unused, and
 19864  	// error percentage is not used as a detection method.
 19865  	CheckErrorPercent *BoolPolicy `xml:"checkErrorPercent,omitempty" json:"checkErrorPercent,omitempty"`
 19866  	// See also `DVSFailureCriteria.checkErrorPercent`.
 19867  	Percentage *IntPolicy `xml:"percentage,omitempty" json:"percentage,omitempty"`
 19868  	// The flag to indicate whether or not to enable this property to
 19869  	// enable beacon probing as a method to validate
 19870  	// the link status of a physical network adapter.
 19871  	//
 19872  	// `*checkBeacon*` can be enabled only if the VirtualSwitch has been
 19873  	// configured to use the beacon. Attempting to set `*checkBeacon*`
 19874  	// on a PortGroup or VirtualSwitch that does not have beacon probing
 19875  	// configured for the applicable VirtualSwitch results in an error.
 19876  	CheckBeacon *BoolPolicy `xml:"checkBeacon,omitempty" json:"checkBeacon,omitempty"`
 19877  }
 19878  
 19879  func init() {
 19880  	t["DVSFailureCriteria"] = reflect.TypeOf((*DVSFailureCriteria)(nil)).Elem()
 19881  }
 19882  
 19883  // The `DVSFeatureCapability` data object
 19884  // represents the capabilities supported by a
 19885  // `DistributedVirtualSwitch`.
 19886  //
 19887  // These properties are read-only with
 19888  // the exception of
 19889  // `DVSFeatureCapability.vmDirectPathGen2Supported`.
 19890  type DVSFeatureCapability struct {
 19891  	DynamicData
 19892  
 19893  	// Deprecated as of vSphere API 5.0, use
 19894  	// <code>networkResourceManagementCapability</code>.`DVSNetworkResourceManagementCapability.networkResourceManagementSupported`.
 19895  	//
 19896  	// Indicates whether network I/O control is
 19897  	// supported on the vSphere Distributed Switch.
 19898  	NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported" json:"networkResourceManagementSupported"`
 19899  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 19900  	// there is no replacement.
 19901  	//
 19902  	// Indicates whether VMDirectPath Gen 2 is supported on the
 19903  	// distributed virtual switch.
 19904  	//
 19905  	// See
 19906  	// `HostCapability*.*HostCapability.vmDirectPathGen2Supported`
 19907  	// and `PhysicalNic*.*PhysicalNic.vmDirectPathGen2Supported`.
 19908  	//
 19909  	// For a third-party distributed switch implementation, you can
 19910  	// specify this property during switch creation or when you call the
 19911  	// `DistributedVirtualSwitch.UpdateDvsCapability` method.
 19912  	//
 19913  	// VMDirectPath Gen 2 is supported in
 19914  	// vSphere Distributed Switch Version 4.1 or later.
 19915  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
 19916  	// The available teaming modes for the vSphere Distributed Switch.
 19917  	//
 19918  	// The
 19919  	// value can be one or more of
 19920  	// `DistributedVirtualSwitchNicTeamingPolicyMode_enum`.
 19921  	NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty" json:"nicTeamingPolicy,omitempty"`
 19922  	// Deprecated as of vSphere API 5.0, use
 19923  	// <code>networkResourceManagementCapability</code>.`DVSNetworkResourceManagementCapability.networkResourcePoolHighShareValue`.
 19924  	//
 19925  	// This is the value for `high`
 19926  	// in `DVSNetworkResourcePoolAllocationInfo.shares`.
 19927  	//
 19928  	// This
 19929  	// implicitly defines the legal range of share values to be between 1 and this.
 19930  	// This also defines values for other level types, such as
 19931  	// `normal` being one half of this value and
 19932  	// `low` being one fourth of this value.
 19933  	NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue,omitempty" json:"networkResourcePoolHighShareValue,omitempty"`
 19934  	// Network resource management capabilities supported by a
 19935  	// distributed virtual switch.
 19936  	NetworkResourceManagementCapability *DVSNetworkResourceManagementCapability `xml:"networkResourceManagementCapability,omitempty" json:"networkResourceManagementCapability,omitempty"`
 19937  	// Health check capabilities supported by a `VmwareDistributedVirtualSwitch`.
 19938  	HealthCheckCapability BaseDVSHealthCheckCapability `xml:"healthCheckCapability,omitempty,typeattr" json:"healthCheckCapability,omitempty"`
 19939  	// Host rollback capability.
 19940  	//
 19941  	// If <code>rollbackCapability</code>.`DVSRollbackCapability.rollbackSupported`
 19942  	// is true, network operations that disconnect the the host are rolled back.
 19943  	RollbackCapability *DVSRollbackCapability `xml:"rollbackCapability,omitempty" json:"rollbackCapability,omitempty"`
 19944  	// Backup, restore, and rollback capabilities.
 19945  	//
 19946  	// Backup and restore
 19947  	// are supported only for `VmwareDistributedVirtualSwitch`.
 19948  	// Rollback is supported for `VmwareDistributedVirtualSwitch`
 19949  	// and `DistributedVirtualPortgroup`.
 19950  	// For information about backup and restore, see the
 19951  	// `DistributedVirtualSwitchManager` methods
 19952  	// `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` and
 19953  	// `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
 19954  	// For information about rollback, see the
 19955  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.DVSRollback_Task`
 19956  	// and `DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.DVPortgroupRollback_Task`
 19957  	// methods.
 19958  	BackupRestoreCapability *DVSBackupRestoreCapability `xml:"backupRestoreCapability,omitempty" json:"backupRestoreCapability,omitempty"`
 19959  	// Indicates whether Network Filter feature is
 19960  	// supported in vSphere Distributed Switch.
 19961  	NetworkFilterSupported *bool `xml:"networkFilterSupported" json:"networkFilterSupported,omitempty"`
 19962  	// Indicates whether MAC learning feature is
 19963  	// supported in vSphere Distributed Switch.
 19964  	MacLearningSupported *bool `xml:"macLearningSupported" json:"macLearningSupported,omitempty"`
 19965  }
 19966  
 19967  func init() {
 19968  	t["DVSFeatureCapability"] = reflect.TypeOf((*DVSFeatureCapability)(nil)).Elem()
 19969  }
 19970  
 19971  // Base class for connectee filters.
 19972  //
 19973  // This class serves as a base for different types of connectee filters.
 19974  // It has three sub-classes.
 19975  type DVSFilterSpecConnecteeSpec struct {
 19976  	DynamicData
 19977  }
 19978  
 19979  func init() {
 19980  	t["DVSFilterSpecConnecteeSpec"] = reflect.TypeOf((*DVSFilterSpecConnecteeSpec)(nil)).Elem()
 19981  	minAPIVersionForType["DVSFilterSpecConnecteeSpec"] = "8.0.3.0"
 19982  }
 19983  
 19984  // Sub-class for connectee filters.
 19985  //
 19986  // This is for the connectee type to be pnic.
 19987  // Two filters will apply, which are pnicName and hostName.
 19988  // This connectee whole-name will be made up from two names: pnicName and hostName.
 19989  type DVSFilterSpecPnicConnecteeSpec struct {
 19990  	DVSFilterSpecConnecteeSpec
 19991  
 19992  	// The pnic name to be filtered in the connectee column.
 19993  	//
 19994  	// If set, port's connectee type being a pnic whose whole-name including this string are qualified.
 19995  	PnicNameSpec string `xml:"pnicNameSpec,omitempty" json:"pnicNameSpec,omitempty"`
 19996  }
 19997  
 19998  func init() {
 19999  	t["DVSFilterSpecPnicConnecteeSpec"] = reflect.TypeOf((*DVSFilterSpecPnicConnecteeSpec)(nil)).Elem()
 20000  	minAPIVersionForType["DVSFilterSpecPnicConnecteeSpec"] = "8.0.3.0"
 20001  }
 20002  
 20003  // Sub-class for Vlan filters.
 20004  //
 20005  // This is for the Vlan type to be private Vlan.
 20006  type DVSFilterSpecPvlanSpec struct {
 20007  	DVSFilterSpecVlanSpec
 20008  
 20009  	// The private VLAN ID for ports.
 20010  	//
 20011  	// Possible values:
 20012  	// A value of 0 specifies that you do not want the port associated
 20013  	// with a VLAN.
 20014  	// A value from 1 to 4094 specifies a VLAN ID for the port.
 20015  	// If set, port private vlans matching are qualified.
 20016  	PvlanId int32 `xml:"pvlanId,omitempty" json:"pvlanId,omitempty"`
 20017  }
 20018  
 20019  func init() {
 20020  	t["DVSFilterSpecPvlanSpec"] = reflect.TypeOf((*DVSFilterSpecPvlanSpec)(nil)).Elem()
 20021  	minAPIVersionForType["DVSFilterSpecPvlanSpec"] = "8.0.3.0"
 20022  }
 20023  
 20024  // Sub-class for Vlan filters.
 20025  //
 20026  // This is for the Vlan type to be trunking.
 20027  type DVSFilterSpecTrunkVlanSpec struct {
 20028  	DVSFilterSpecVlanSpec
 20029  
 20030  	// The VlanId range for the trunk port.
 20031  	//
 20032  	// The valid VlanId range is
 20033  	// from 0 to 4094. Overlapping ranges are allowed.
 20034  	// If set, port trunk ranges matching are qualified.
 20035  	Range *NumericRange `xml:"range,omitempty" json:"range,omitempty"`
 20036  }
 20037  
 20038  func init() {
 20039  	t["DVSFilterSpecTrunkVlanSpec"] = reflect.TypeOf((*DVSFilterSpecTrunkVlanSpec)(nil)).Elem()
 20040  	minAPIVersionForType["DVSFilterSpecTrunkVlanSpec"] = "8.0.3.0"
 20041  }
 20042  
 20043  // Sub-class for Vlan filters.
 20044  //
 20045  // This is for the Vlan type to be Vlan.
 20046  type DVSFilterSpecVlanIdSpec struct {
 20047  	DVSFilterSpecVlanSpec
 20048  
 20049  	// The VLAN ID for ports.
 20050  	//
 20051  	// Possible values:
 20052  	// A value of 0 specifies that you do not want the port associated
 20053  	// with a VLAN.
 20054  	// A value from 1 to 4094 specifies a VLAN ID for the port.
 20055  	// If set,port vlans matching are qualified.
 20056  	VlanId int32 `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 20057  }
 20058  
 20059  func init() {
 20060  	t["DVSFilterSpecVlanIdSpec"] = reflect.TypeOf((*DVSFilterSpecVlanIdSpec)(nil)).Elem()
 20061  	minAPIVersionForType["DVSFilterSpecVlanIdSpec"] = "8.0.3.0"
 20062  }
 20063  
 20064  // Base class for VlanSpec filters.
 20065  //
 20066  // This class serves as a base for different types of VlanSpec filters.
 20067  // It has three sub-classes.
 20068  type DVSFilterSpecVlanSpec struct {
 20069  	DynamicData
 20070  }
 20071  
 20072  func init() {
 20073  	t["DVSFilterSpecVlanSpec"] = reflect.TypeOf((*DVSFilterSpecVlanSpec)(nil)).Elem()
 20074  	minAPIVersionForType["DVSFilterSpecVlanSpec"] = "8.0.3.0"
 20075  }
 20076  
 20077  // Sub-class for connectee filters.
 20078  //
 20079  // This is for the connectee type to be vm.
 20080  // Only one filter will apply, whici is vmName.
 20081  type DVSFilterSpecVmConnecteeSpec struct {
 20082  	DVSFilterSpecConnecteeSpec
 20083  
 20084  	// The vm name to be filtered in the connectee column.
 20085  	//
 20086  	// If set, port's connectee type being a vm whose name including this string are qualified.
 20087  	VmNameSpec string `xml:"vmNameSpec,omitempty" json:"vmNameSpec,omitempty"`
 20088  }
 20089  
 20090  func init() {
 20091  	t["DVSFilterSpecVmConnecteeSpec"] = reflect.TypeOf((*DVSFilterSpecVmConnecteeSpec)(nil)).Elem()
 20092  	minAPIVersionForType["DVSFilterSpecVmConnecteeSpec"] = "8.0.3.0"
 20093  }
 20094  
 20095  // Sub-class for connectee filters.
 20096  //
 20097  // This is for the connectee type to be vmknic.
 20098  // Two filters will apply, which are vmknicName and hostName.
 20099  // This connectee whole-name will be made up from two names: vmknicName and hostName.
 20100  type DVSFilterSpecVmknicConnecteeSpec struct {
 20101  	DVSFilterSpecConnecteeSpec
 20102  
 20103  	// The vmknic name to be filtered in the connectee column.
 20104  	//
 20105  	// If set, port's connectee type being a vmknic whose whole-name including this string are qualified.
 20106  	VmknicNameSpec string `xml:"vmknicNameSpec,omitempty" json:"vmknicNameSpec,omitempty"`
 20107  }
 20108  
 20109  func init() {
 20110  	t["DVSFilterSpecVmknicConnecteeSpec"] = reflect.TypeOf((*DVSFilterSpecVmknicConnecteeSpec)(nil)).Elem()
 20111  	minAPIVersionForType["DVSFilterSpecVmknicConnecteeSpec"] = "8.0.3.0"
 20112  }
 20113  
 20114  // Health check capabilities of health check supported by the
 20115  // vSphere Distributed Switch
 20116  type DVSHealthCheckCapability struct {
 20117  	DynamicData
 20118  }
 20119  
 20120  func init() {
 20121  	t["DVSHealthCheckCapability"] = reflect.TypeOf((*DVSHealthCheckCapability)(nil)).Elem()
 20122  }
 20123  
 20124  // The `DVSHealthCheckConfig` data object
 20125  // defines vSphere Distributed Switch health check configuration.
 20126  type DVSHealthCheckConfig struct {
 20127  	DynamicData
 20128  
 20129  	// True if enable health check.
 20130  	Enable *bool `xml:"enable" json:"enable,omitempty"`
 20131  	// Interval of health check, in minutes.
 20132  	Interval int32 `xml:"interval,omitempty" json:"interval,omitempty"`
 20133  }
 20134  
 20135  func init() {
 20136  	t["DVSHealthCheckConfig"] = reflect.TypeOf((*DVSHealthCheckConfig)(nil)).Elem()
 20137  }
 20138  
 20139  // This data object type describes the information about the host local port.
 20140  //
 20141  // A host local port is created to resurrect the management network connection
 20142  // on a VMkernel Virtual NIC.
 20143  type DVSHostLocalPortInfo struct {
 20144  	DynamicData
 20145  
 20146  	// UUID of the vSphere Distributed Switch that management interface is connected to.
 20147  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 20148  	// Portkey of the DVPort that management interface is now connected to.
 20149  	PortKey string `xml:"portKey" json:"portKey"`
 20150  	// The configuration of the new host local port.
 20151  	Setting BaseDVPortSetting `xml:"setting,typeattr" json:"setting"`
 20152  	// The Virtual NIC device connected to this port
 20153  	Vnic string `xml:"vnic" json:"vnic"`
 20154  }
 20155  
 20156  func init() {
 20157  	t["DVSHostLocalPortInfo"] = reflect.TypeOf((*DVSHostLocalPortInfo)(nil)).Elem()
 20158  }
 20159  
 20160  // This data object type describes MAC learning policy of a port.
 20161  type DVSMacLearningPolicy struct {
 20162  	InheritablePolicy
 20163  
 20164  	// The flag to indicate if source MAC address learning is allowed.
 20165  	Enabled bool `xml:"enabled" json:"enabled"`
 20166  	// The flag to allow flooding of unlearned MAC for ingress traffic.
 20167  	AllowUnicastFlooding *bool `xml:"allowUnicastFlooding" json:"allowUnicastFlooding,omitempty"`
 20168  	// The maximum number of MAC addresses that can be learned.
 20169  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 20170  	// The default switching policy after MAC limit is exceeded.
 20171  	//
 20172  	// See `DVSMacLimitPolicyType_enum`
 20173  	// for valid values.
 20174  	LimitPolicy string `xml:"limitPolicy,omitempty" json:"limitPolicy,omitempty"`
 20175  }
 20176  
 20177  func init() {
 20178  	t["DVSMacLearningPolicy"] = reflect.TypeOf((*DVSMacLearningPolicy)(nil)).Elem()
 20179  }
 20180  
 20181  // This data object type describes MAC management policy of a port.
 20182  type DVSMacManagementPolicy struct {
 20183  	InheritablePolicy
 20184  
 20185  	// The flag to indicate whether or not all traffic is seen
 20186  	// on the port.
 20187  	AllowPromiscuous *bool `xml:"allowPromiscuous" json:"allowPromiscuous,omitempty"`
 20188  	// The flag to indicate whether or not the Media Access
 20189  	// Control (MAC) address can be changed.
 20190  	MacChanges *bool `xml:"macChanges" json:"macChanges,omitempty"`
 20191  	// The flag to indicate whether or not the virtual network adapter
 20192  	// should be allowed to send network traffic with a different MAC
 20193  	// address than that of the virtual network adapter.
 20194  	ForgedTransmits *bool `xml:"forgedTransmits" json:"forgedTransmits,omitempty"`
 20195  	// The MAC learning policy.
 20196  	MacLearningPolicy *DVSMacLearningPolicy `xml:"macLearningPolicy,omitempty" json:"macLearningPolicy,omitempty"`
 20197  }
 20198  
 20199  func init() {
 20200  	t["DVSMacManagementPolicy"] = reflect.TypeOf((*DVSMacManagementPolicy)(nil)).Elem()
 20201  }
 20202  
 20203  // Configuration specification for a DistributedVirtualSwitch or
 20204  // DistributedVirtualPortgroup.
 20205  type DVSManagerDvsConfigTarget struct {
 20206  	DynamicData
 20207  
 20208  	// List of any DistributedVirtualPortgroup available for host Virtual NIC connection.
 20209  	DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
 20210  	// List of any DistributedVirtualSwitch available for host Virtual NIC connection.
 20211  	DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 20212  }
 20213  
 20214  func init() {
 20215  	t["DVSManagerDvsConfigTarget"] = reflect.TypeOf((*DVSManagerDvsConfigTarget)(nil)).Elem()
 20216  }
 20217  
 20218  // The parameters of `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`.
 20219  type DVSManagerExportEntityRequestType struct {
 20220  	This ManagedObjectReference `xml:"_this" json:"-"`
 20221  	// The selection criteria for a set of
 20222  	// entities to export the configuration.
 20223  	SelectionSet []BaseSelectionSet `xml:"selectionSet,typeattr" json:"selectionSet"`
 20224  }
 20225  
 20226  func init() {
 20227  	t["DVSManagerExportEntityRequestType"] = reflect.TypeOf((*DVSManagerExportEntityRequestType)(nil)).Elem()
 20228  }
 20229  
 20230  type DVSManagerExportEntity_Task DVSManagerExportEntityRequestType
 20231  
 20232  func init() {
 20233  	t["DVSManagerExportEntity_Task"] = reflect.TypeOf((*DVSManagerExportEntity_Task)(nil)).Elem()
 20234  }
 20235  
 20236  type DVSManagerExportEntity_TaskResponse struct {
 20237  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 20238  }
 20239  
 20240  // The parameters of `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
 20241  type DVSManagerImportEntityRequestType struct {
 20242  	This ManagedObjectReference `xml:"_this" json:"-"`
 20243  	// Configuration of one or more entities to be imported.
 20244  	// The entity backup configuration is returned
 20245  	// by the `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` method.
 20246  	EntityBackup []EntityBackupConfig `xml:"entityBackup" json:"entityBackup"`
 20247  	// Specifies whether to create a new configuration
 20248  	// or restore a previous configuration. See `EntityImportType_enum` for valid values.
 20249  	ImportType string `xml:"importType" json:"importType"`
 20250  }
 20251  
 20252  func init() {
 20253  	t["DVSManagerImportEntityRequestType"] = reflect.TypeOf((*DVSManagerImportEntityRequestType)(nil)).Elem()
 20254  }
 20255  
 20256  type DVSManagerImportEntity_Task DVSManagerImportEntityRequestType
 20257  
 20258  func init() {
 20259  	t["DVSManagerImportEntity_Task"] = reflect.TypeOf((*DVSManagerImportEntity_Task)(nil)).Elem()
 20260  }
 20261  
 20262  type DVSManagerImportEntity_TaskResponse struct {
 20263  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 20264  }
 20265  
 20266  type DVSManagerLookupDvPortGroup DVSManagerLookupDvPortGroupRequestType
 20267  
 20268  func init() {
 20269  	t["DVSManagerLookupDvPortGroup"] = reflect.TypeOf((*DVSManagerLookupDvPortGroup)(nil)).Elem()
 20270  }
 20271  
 20272  // The parameters of `DistributedVirtualSwitchManager.DVSManagerLookupDvPortGroup`.
 20273  type DVSManagerLookupDvPortGroupRequestType struct {
 20274  	This ManagedObjectReference `xml:"_this" json:"-"`
 20275  	// The UUID of the `DistributedVirtualSwitch`.
 20276  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 20277  	// The key that identifies a
 20278  	// `DistributedVirtualPortgroup`.
 20279  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 20280  }
 20281  
 20282  func init() {
 20283  	t["DVSManagerLookupDvPortGroupRequestType"] = reflect.TypeOf((*DVSManagerLookupDvPortGroupRequestType)(nil)).Elem()
 20284  }
 20285  
 20286  type DVSManagerLookupDvPortGroupResponse struct {
 20287  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 20288  }
 20289  
 20290  // This class is used to store valid PhysicalNics for a specific host
 20291  type DVSManagerPhysicalNicsList struct {
 20292  	DynamicData
 20293  
 20294  	// Refers instance of `HostSystem`.
 20295  	Host         ManagedObjectReference `xml:"host" json:"host"`
 20296  	PhysicalNics []PhysicalNic          `xml:"physicalNics,omitempty" json:"physicalNics,omitempty"`
 20297  }
 20298  
 20299  func init() {
 20300  	t["DVSManagerPhysicalNicsList"] = reflect.TypeOf((*DVSManagerPhysicalNicsList)(nil)).Elem()
 20301  	minAPIVersionForType["DVSManagerPhysicalNicsList"] = "8.0.0.1"
 20302  }
 20303  
 20304  // The uplink port policy specifies an array of uniform names
 20305  // for the uplink ports across the hosts.
 20306  //
 20307  // The size of the array indicates
 20308  // the number of uplink ports that will be created for each host in the
 20309  // switch.
 20310  //
 20311  // When the names in this array change, the uplink ports on all the
 20312  // hosts are automatically renamed accordingly. Increasing the number
 20313  // of names in the array automatically creates additional uplink ports
 20314  // bearing the added name on each host. Decreasing the number of name
 20315  // automatically deletes the unused uplink ports on each host. Decreasing
 20316  // beyond the number of unused uplink port raises a fault.
 20317  //
 20318  // This policy overrides the portgroup port naming format
 20319  // (`DVPortgroupConfigSpec*.*DVPortgroupConfigSpec.portNameFormat`),
 20320  // if both are defined and the uplink ports are created in a uplink portgroup.
 20321  type DVSNameArrayUplinkPortPolicy struct {
 20322  	DVSUplinkPortPolicy
 20323  
 20324  	// The uniform name of uplink ports on each host.
 20325  	UplinkPortName []string `xml:"uplinkPortName" json:"uplinkPortName"`
 20326  }
 20327  
 20328  func init() {
 20329  	t["DVSNameArrayUplinkPortPolicy"] = reflect.TypeOf((*DVSNameArrayUplinkPortPolicy)(nil)).Elem()
 20330  }
 20331  
 20332  // Dataobject representing the feature capabilities of network resource management
 20333  // supported by the vSphere Distributed Switch.
 20334  type DVSNetworkResourceManagementCapability struct {
 20335  	DynamicData
 20336  
 20337  	// Indicates whether network I/O control is
 20338  	// supported on the vSphere Distributed Switch.
 20339  	//
 20340  	// Network I/O control
 20341  	// is supported in vSphere Distributed Switch Version 4.1 or later.
 20342  	NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported" json:"networkResourceManagementSupported"`
 20343  	// High share level (`SharesLevel_enum*.*high`)
 20344  	// for `DVSNetworkResourcePoolAllocationInfo*.*DVSNetworkResourcePoolAllocationInfo.shares`.
 20345  	//
 20346  	// The <code>networkResourcePoolHighshareValue</code> property implicitly defines
 20347  	// the legal range of share values to be between 1 and this value.
 20348  	// This property also defines values for other level types, such as
 20349  	// `normal` being one half of this value and
 20350  	// `low` being one fourth of this value.
 20351  	// This feature is supported in vSphere Distributed
 20352  	// Switch Version 4.1 or later.
 20353  	NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue" json:"networkResourcePoolHighShareValue"`
 20354  	// Indicates whether Qos Tag(802.1p priority tag)is supported on the
 20355  	// vSphere Distributed Switch.
 20356  	//
 20357  	// Qos Tag is supported in vSphere
 20358  	// Distributed Switch Version 5.0 or later.
 20359  	QosSupported bool `xml:"qosSupported" json:"qosSupported"`
 20360  	// Indicates whether the switch supports creating user defined resource
 20361  	// pools.
 20362  	//
 20363  	// This feature is supported in vSphere Distributed
 20364  	// Switch Version 5.0 or later.
 20365  	UserDefinedNetworkResourcePoolsSupported bool `xml:"userDefinedNetworkResourcePoolsSupported" json:"userDefinedNetworkResourcePoolsSupported"`
 20366  	// Flag to indicate whether Network Resource Control version 3 is supported.
 20367  	//
 20368  	// The API supported by Network Resouce Control version 3 include:
 20369  	//  1. VM virtual NIC network resource specification
 20370  	//     `VirtualEthernetCardResourceAllocation`
 20371  	//  2. VM virtual NIC network resource pool specification
 20372  	//     `DVSVmVnicNetworkResourcePool`
 20373  	//  3. Host infrastructure traffic network resource specification
 20374  	//     `DvsHostInfrastructureTrafficResource`
 20375  	//
 20376  	// Network Resource Control version 3 is supported for Switch Version 6.0 or later.
 20377  	NetworkResourceControlVersion3Supported *bool `xml:"networkResourceControlVersion3Supported" json:"networkResourceControlVersion3Supported,omitempty"`
 20378  	// Indicates whether user defined infrastructure traffic pool
 20379  	// supported in vSphere Distributed Switch.
 20380  	UserDefinedInfraTrafficPoolSupported *bool `xml:"userDefinedInfraTrafficPoolSupported" json:"userDefinedInfraTrafficPoolSupported,omitempty"`
 20381  }
 20382  
 20383  func init() {
 20384  	t["DVSNetworkResourceManagementCapability"] = reflect.TypeOf((*DVSNetworkResourceManagementCapability)(nil)).Elem()
 20385  }
 20386  
 20387  // Deprecated as of vSphere API 6.0
 20388  // Use `DvsHostInfrastructureTrafficResource`
 20389  // to manage resource allocation for host infrastructure traffic.
 20390  // Use `DVSVmVnicNetworkResourcePool` to manage
 20391  // resource allocation for user defined pools.
 20392  //
 20393  // The `DVSNetworkResourcePool` data object
 20394  // describes the resource configuration and management
 20395  // of network resource pools.
 20396  type DVSNetworkResourcePool struct {
 20397  	DynamicData
 20398  
 20399  	// Key of the network resource pool.
 20400  	Key string `xml:"key" json:"key"`
 20401  	// Name of the network resource pool.
 20402  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 20403  	// Description of the network resource pool.
 20404  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20405  	// Configuration version for the network resource pool.
 20406  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 20407  	// Resource settings of the resource pool.
 20408  	AllocationInfo DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo" json:"allocationInfo"`
 20409  }
 20410  
 20411  func init() {
 20412  	t["DVSNetworkResourcePool"] = reflect.TypeOf((*DVSNetworkResourcePool)(nil)).Elem()
 20413  }
 20414  
 20415  // Resource allocation information for a network resource pool.
 20416  type DVSNetworkResourcePoolAllocationInfo struct {
 20417  	DynamicData
 20418  
 20419  	// Maximum allowed usage for network clients belonging to
 20420  	// this resource pool per host.
 20421  	//
 20422  	// The utilization of network clients belonging to this resource pool
 20423  	// will not exceed the specified limit even if there are available
 20424  	// network resources. If set to -1, then there is no limit on the network
 20425  	// resource usage for clients belonging to this resource pool. Units are
 20426  	// in Mbits/sec. When setting the allocation of a particular resource
 20427  	// pool, if the property is unset, it is treated as no change and the
 20428  	// property is not updated. An unset limit value while reading back the
 20429  	// allocation information of a network resource pool indicates that
 20430  	// there is no limit on the network resource usage for the clients
 20431  	// belonging to this resource group.
 20432  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 20433  	// Share settings associated with the network resource pool to
 20434  	// facilitate proportional sharing of the physical network resources.
 20435  	//
 20436  	// If the property is unset when setting the allocation of a particular
 20437  	// resource pool, it is treated as unset and the property is not updated.
 20438  	// The property is always set when reading back the allocation
 20439  	// information of a network resource pool.
 20440  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 20441  	// 802.1p tag to be used for this resource pool.
 20442  	//
 20443  	// The tag is a priority value
 20444  	// in the range 0..7 for Quality of Service operations on network traffic.
 20445  	PriorityTag int32 `xml:"priorityTag,omitempty" json:"priorityTag,omitempty"`
 20446  }
 20447  
 20448  func init() {
 20449  	t["DVSNetworkResourcePoolAllocationInfo"] = reflect.TypeOf((*DVSNetworkResourcePoolAllocationInfo)(nil)).Elem()
 20450  }
 20451  
 20452  // The `DVSNetworkResourcePoolConfigSpec` data object
 20453  // contains properties to create or update a network resource pool
 20454  // for a distributed virtual switch.
 20455  type DVSNetworkResourcePoolConfigSpec struct {
 20456  	DynamicData
 20457  
 20458  	// Key of the network resource pool.
 20459  	//
 20460  	// The property is ignored for
 20461  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool`
 20462  	// operations.
 20463  	Key string `xml:"key" json:"key"`
 20464  	// Unique identifier for a given version
 20465  	// of the configuration.
 20466  	//
 20467  	// Each change to the configuration will
 20468  	// update this value. This is typically implemented as a
 20469  	// non-decreasing count or a time-stamp. However, a client should
 20470  	// always treat this as an opaque string.
 20471  	//
 20472  	// If you specify the configuration version when you update
 20473  	// the resource configuration, the Server will apply the changes
 20474  	// only if the specified identifier matches the current
 20475  	// `DVSNetworkResourcePool*.*DVSNetworkResourcePool.configVersion`
 20476  	// value. You can use this field to guard against updates
 20477  	// that may have occurred between the time when the client
 20478  	// reads `DVSNetworkResourcePool.configVersion`
 20479  	// and when the configuration is applied.
 20480  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 20481  	// Network resource allocation for the network resource pool.
 20482  	AllocationInfo *DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
 20483  	// User defined name for the resource pool.
 20484  	//
 20485  	// The property is required for
 20486  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool`
 20487  	// operations.
 20488  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 20489  	// User-defined description for the resource pool.
 20490  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20491  }
 20492  
 20493  func init() {
 20494  	t["DVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*DVSNetworkResourcePoolConfigSpec)(nil)).Elem()
 20495  }
 20496  
 20497  // The switch usage policy types
 20498  type DVSPolicy struct {
 20499  	DynamicData
 20500  
 20501  	// Whether downloading a new proxy VirtualSwitch module to the host is
 20502  	// allowed to be automatically executed by the switch.
 20503  	AutoPreInstallAllowed *bool `xml:"autoPreInstallAllowed" json:"autoPreInstallAllowed,omitempty"`
 20504  	// Whether upgrading of the switch is allowed to be automatically
 20505  	// executed by the switch.
 20506  	AutoUpgradeAllowed *bool `xml:"autoUpgradeAllowed" json:"autoUpgradeAllowed,omitempty"`
 20507  	// Whether to allow upgrading a switch when some of the hosts failed to
 20508  	// install the needed module.
 20509  	//
 20510  	// The vCenter Server will reattempt the
 20511  	// pre-install operation of the host module on those failed hosts,
 20512  	// whenever they reconnect to vCenter.
 20513  	PartialUpgradeAllowed *bool `xml:"partialUpgradeAllowed" json:"partialUpgradeAllowed,omitempty"`
 20514  }
 20515  
 20516  func init() {
 20517  	t["DVSPolicy"] = reflect.TypeOf((*DVSPolicy)(nil)).Elem()
 20518  }
 20519  
 20520  // The `DVSRollbackCapability` data object
 20521  // describes the rollback capabilities for a `DistributedVirtualSwitch`.
 20522  type DVSRollbackCapability struct {
 20523  	DynamicData
 20524  
 20525  	// Indicates whether rollback is supported on the distributed switch.
 20526  	RollbackSupported bool `xml:"rollbackSupported" json:"rollbackSupported"`
 20527  }
 20528  
 20529  func init() {
 20530  	t["DVSRollbackCapability"] = reflect.TypeOf((*DVSRollbackCapability)(nil)).Elem()
 20531  }
 20532  
 20533  // The parameters of `DistributedVirtualSwitch.DVSRollback_Task`.
 20534  type DVSRollbackRequestType struct {
 20535  	This ManagedObjectReference `xml:"_this" json:"-"`
 20536  	// Backup of a distributed virtual switch, returned by
 20537  	// the `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`
 20538  	// method.
 20539  	EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty" json:"entityBackup,omitempty"`
 20540  }
 20541  
 20542  func init() {
 20543  	t["DVSRollbackRequestType"] = reflect.TypeOf((*DVSRollbackRequestType)(nil)).Elem()
 20544  }
 20545  
 20546  type DVSRollback_Task DVSRollbackRequestType
 20547  
 20548  func init() {
 20549  	t["DVSRollback_Task"] = reflect.TypeOf((*DVSRollback_Task)(nil)).Elem()
 20550  }
 20551  
 20552  type DVSRollback_TaskResponse struct {
 20553  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 20554  }
 20555  
 20556  // The `DVSRuntimeInfo` data object defines
 20557  // runtime information for a vSphere Distributed Switch.
 20558  type DVSRuntimeInfo struct {
 20559  	DynamicData
 20560  
 20561  	// Runtime information of the hosts that joined the switch.
 20562  	HostMemberRuntime []HostMemberRuntimeInfo `xml:"hostMemberRuntime,omitempty" json:"hostMemberRuntime,omitempty"`
 20563  	// The bandwidth reservation information for the switch.
 20564  	ResourceRuntimeInfo *DvsResourceRuntimeInfo `xml:"resourceRuntimeInfo,omitempty" json:"resourceRuntimeInfo,omitempty"`
 20565  }
 20566  
 20567  func init() {
 20568  	t["DVSRuntimeInfo"] = reflect.TypeOf((*DVSRuntimeInfo)(nil)).Elem()
 20569  }
 20570  
 20571  // This data object type describes security policy governing ports.
 20572  type DVSSecurityPolicy struct {
 20573  	InheritablePolicy
 20574  
 20575  	// The flag to indicate whether or not all traffic is seen
 20576  	// on the port.
 20577  	AllowPromiscuous *BoolPolicy `xml:"allowPromiscuous,omitempty" json:"allowPromiscuous,omitempty"`
 20578  	// The flag to indicate whether or not the Media Access
 20579  	// Control (MAC) address can be changed.
 20580  	MacChanges *BoolPolicy `xml:"macChanges,omitempty" json:"macChanges,omitempty"`
 20581  	// The flag to indicate whether or not the virtual network adapter
 20582  	// should be allowed to send network traffic with a different MAC
 20583  	// address than that of the virtual network adapter.
 20584  	ForgedTransmits *BoolPolicy `xml:"forgedTransmits,omitempty" json:"forgedTransmits,omitempty"`
 20585  }
 20586  
 20587  func init() {
 20588  	t["DVSSecurityPolicy"] = reflect.TypeOf((*DVSSecurityPolicy)(nil)).Elem()
 20589  }
 20590  
 20591  // Class to specify selection criteria of vSphere Distributed Switch.
 20592  type DVSSelection struct {
 20593  	SelectionSet
 20594  
 20595  	// vSphere Distributed Switch uuid
 20596  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 20597  }
 20598  
 20599  func init() {
 20600  	t["DVSSelection"] = reflect.TypeOf((*DVSSelection)(nil)).Elem()
 20601  }
 20602  
 20603  // Summary of the distributed switch configuration.
 20604  type DVSSummary struct {
 20605  	DynamicData
 20606  
 20607  	// The name of the switch.
 20608  	Name string `xml:"name" json:"name"`
 20609  	// The generated UUID of the switch.
 20610  	Uuid string `xml:"uuid" json:"uuid"`
 20611  	// Current number of ports, not including conflict ports.
 20612  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 20613  	// The product information for the implementation of the switch.
 20614  	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 20615  	// The names of the hosts that join the switch.
 20616  	//
 20617  	// Refers instances of `HostSystem`.
 20618  	HostMember []ManagedObjectReference `xml:"hostMember,omitempty" json:"hostMember,omitempty"`
 20619  	// The Virtual Machines with Virtual NICs that connect to the switch.
 20620  	//
 20621  	// In releases after vSphere API 5.0, vSphere Servers might not
 20622  	// generate property collector update notifications for this property.
 20623  	// To obtain the latest value of the property, you can use
 20624  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 20625  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 20626  	// an empty string for the version parameter.
 20627  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 20628  	// contain values for this property when some other property on the DataObject changes.
 20629  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 20630  	// version parameter, the value for this property may not be current.
 20631  	//
 20632  	// Refers instances of `VirtualMachine`.
 20633  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 20634  	// The hosts with Virtual NICs that connect to the switch.
 20635  	//
 20636  	// Refers instances of `HostSystem`.
 20637  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 20638  	// The names of the portgroups that are defined on the switch.
 20639  	PortgroupName []string `xml:"portgroupName,omitempty" json:"portgroupName,omitempty"`
 20640  	// A description string of the switch.
 20641  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20642  	// The human operator contact information.
 20643  	Contact *DVSContactInfo `xml:"contact,omitempty" json:"contact,omitempty"`
 20644  	// The number of hosts in the switch.
 20645  	//
 20646  	// The value of this property
 20647  	// is not affected by the privileges granted to the current user.
 20648  	NumHosts int32 `xml:"numHosts,omitempty" json:"numHosts,omitempty"`
 20649  }
 20650  
 20651  func init() {
 20652  	t["DVSSummary"] = reflect.TypeOf((*DVSSummary)(nil)).Elem()
 20653  }
 20654  
 20655  // This data object type describes traffic shaping policy.
 20656  type DVSTrafficShapingPolicy struct {
 20657  	InheritablePolicy
 20658  
 20659  	// The flag to indicate whether or not traffic shaper is enabled on
 20660  	// the port.
 20661  	Enabled *BoolPolicy `xml:"enabled,omitempty" json:"enabled,omitempty"`
 20662  	// The average bandwidth in bits per second if shaping is enabled on
 20663  	// the port.
 20664  	AverageBandwidth *LongPolicy `xml:"averageBandwidth,omitempty" json:"averageBandwidth,omitempty"`
 20665  	// The peak bandwidth during bursts in bits per second if traffic
 20666  	// shaping is enabled on the port.
 20667  	PeakBandwidth *LongPolicy `xml:"peakBandwidth,omitempty" json:"peakBandwidth,omitempty"`
 20668  	// The maximum burst size allowed in bytes if shaping is enabled on
 20669  	// the port.
 20670  	BurstSize *LongPolicy `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
 20671  }
 20672  
 20673  func init() {
 20674  	t["DVSTrafficShapingPolicy"] = reflect.TypeOf((*DVSTrafficShapingPolicy)(nil)).Elem()
 20675  }
 20676  
 20677  // The base class for uplink port policy.
 20678  type DVSUplinkPortPolicy struct {
 20679  	DynamicData
 20680  }
 20681  
 20682  func init() {
 20683  	t["DVSUplinkPortPolicy"] = reflect.TypeOf((*DVSUplinkPortPolicy)(nil)).Elem()
 20684  }
 20685  
 20686  // This data object type describes vendor specific configuration.
 20687  type DVSVendorSpecificConfig struct {
 20688  	InheritablePolicy
 20689  
 20690  	// An opaque binary blob that stores vendor specific configuration.
 20691  	KeyValue []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"keyValue,omitempty" json:"keyValue,omitempty"`
 20692  }
 20693  
 20694  func init() {
 20695  	t["DVSVendorSpecificConfig"] = reflect.TypeOf((*DVSVendorSpecificConfig)(nil)).Elem()
 20696  }
 20697  
 20698  // DataObject describing the resource configuration and management of
 20699  // virtual NIC network resource pools.
 20700  type DVSVmVnicNetworkResourcePool struct {
 20701  	DynamicData
 20702  
 20703  	// The key of the virtual NIC network resource pool.
 20704  	Key string `xml:"key" json:"key"`
 20705  	// The name of the virtual NIC network resource pool.
 20706  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 20707  	// The description of the virtual NIC network resource pool.
 20708  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20709  	// The config version for the virtual NIC network resource pool.
 20710  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 20711  	// The resource settings of the virtual NIC network resource pool.
 20712  	AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
 20713  }
 20714  
 20715  func init() {
 20716  	t["DVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*DVSVmVnicNetworkResourcePool)(nil)).Elem()
 20717  }
 20718  
 20719  // The `DailyTaskScheduler` data object sets the time for daily
 20720  // task execution.
 20721  //
 20722  // You set the hour and the inherited minute
 20723  // property to complete the schedule. By default, the scheduled task
 20724  // will run once every day at the specified hour and minute.
 20725  //
 20726  // If you set the interval to a value greater than 1, the task will
 20727  // execute at the specified daily interval. (For example, an interval
 20728  // of 2 will cause the task to execute at the specified hour and minute
 20729  // every 2 days.)
 20730  type DailyTaskScheduler struct {
 20731  	HourlyTaskScheduler
 20732  
 20733  	// The hour at which the `RecurrentTaskScheduler` runs the task.
 20734  	//
 20735  	// Use UTC (Coordinated Universal Time) values in the range
 20736  	// 0 to 23, where 0 = 12:00 a.m. (UTC) and 12 = 12:00 p.m. (UTC).
 20737  	//
 20738  	// For vCenter 2.x and prior releases, use the server's local time.
 20739  	// For example, use Eastern Standard Time (EST) or Pacific Daylight Time (PDT),
 20740  	// rather than UTC.
 20741  	Hour int32 `xml:"hour" json:"hour"`
 20742  }
 20743  
 20744  func init() {
 20745  	t["DailyTaskScheduler"] = reflect.TypeOf((*DailyTaskScheduler)(nil)).Elem()
 20746  }
 20747  
 20748  // This event records when admission control checks have been disabled in a HA
 20749  // cluster.
 20750  type DasAdmissionControlDisabledEvent struct {
 20751  	ClusterEvent
 20752  }
 20753  
 20754  func init() {
 20755  	t["DasAdmissionControlDisabledEvent"] = reflect.TypeOf((*DasAdmissionControlDisabledEvent)(nil)).Elem()
 20756  }
 20757  
 20758  // This event records when admission control checks have been enabled in a HA cluster.
 20759  type DasAdmissionControlEnabledEvent struct {
 20760  	ClusterEvent
 20761  }
 20762  
 20763  func init() {
 20764  	t["DasAdmissionControlEnabledEvent"] = reflect.TypeOf((*DasAdmissionControlEnabledEvent)(nil)).Elem()
 20765  }
 20766  
 20767  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 20768  //
 20769  // This event records that VirtualCenter has re-established contact with a
 20770  // primary host in this HA cluster.
 20771  type DasAgentFoundEvent struct {
 20772  	ClusterEvent
 20773  }
 20774  
 20775  func init() {
 20776  	t["DasAgentFoundEvent"] = reflect.TypeOf((*DasAgentFoundEvent)(nil)).Elem()
 20777  }
 20778  
 20779  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 20780  //
 20781  // This event records that VirtualCenter cannot contact any primary host
 20782  // in this HA cluster.
 20783  //
 20784  // HA designates some hosts as primary hosts in the HA
 20785  // cluster. When adding a new host to an existing cluster, HA needs to
 20786  // contact one of the primary hosts to finish the configuration. VirtualCenter
 20787  // has lost contact with all primary nodes in the connected state. Attempts
 20788  // to configure HA on a host in this cluster will fail until a
 20789  // DasAgentFoundEvent is logged or unless this is the first node to be
 20790  // configured. For example, if all the other hosts are disconnected first.
 20791  type DasAgentUnavailableEvent struct {
 20792  	ClusterEvent
 20793  }
 20794  
 20795  func init() {
 20796  	t["DasAgentUnavailableEvent"] = reflect.TypeOf((*DasAgentUnavailableEvent)(nil)).Elem()
 20797  }
 20798  
 20799  // This event records that all hosts have been isolated from the network in a
 20800  // HA cluster.
 20801  type DasClusterIsolatedEvent struct {
 20802  	ClusterEvent
 20803  }
 20804  
 20805  func init() {
 20806  	t["DasClusterIsolatedEvent"] = reflect.TypeOf((*DasClusterIsolatedEvent)(nil)).Elem()
 20807  }
 20808  
 20809  // This fault indicates that some error has occurred during the
 20810  // configuration of the host for HA.
 20811  //
 20812  // This may be subclassed by a more specific fault.
 20813  type DasConfigFault struct {
 20814  	VimFault
 20815  
 20816  	// The reason why the HA configuration failed, if known.
 20817  	//
 20818  	// Values should come from `DasConfigFaultDasConfigFaultReason_enum`.
 20819  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 20820  	// The output (stdout/stderr) from executing the configuration.
 20821  	Output string `xml:"output,omitempty" json:"output,omitempty"`
 20822  	// The list of events containing details why the configuration failed, if known.
 20823  	Event []BaseEvent `xml:"event,omitempty,typeattr" json:"event,omitempty"`
 20824  }
 20825  
 20826  func init() {
 20827  	t["DasConfigFault"] = reflect.TypeOf((*DasConfigFault)(nil)).Elem()
 20828  }
 20829  
 20830  type DasConfigFaultFault DasConfigFault
 20831  
 20832  func init() {
 20833  	t["DasConfigFaultFault"] = reflect.TypeOf((*DasConfigFaultFault)(nil)).Elem()
 20834  }
 20835  
 20836  // This event records when a cluster has been disabled for HA.
 20837  type DasDisabledEvent struct {
 20838  	ClusterEvent
 20839  }
 20840  
 20841  func init() {
 20842  	t["DasDisabledEvent"] = reflect.TypeOf((*DasDisabledEvent)(nil)).Elem()
 20843  }
 20844  
 20845  // This event records when a cluster has been enabled for HA.
 20846  type DasEnabledEvent struct {
 20847  	ClusterEvent
 20848  }
 20849  
 20850  func init() {
 20851  	t["DasEnabledEvent"] = reflect.TypeOf((*DasEnabledEvent)(nil)).Elem()
 20852  }
 20853  
 20854  // Class for the selection of heartbeat datastores
 20855  type DasHeartbeatDatastoreInfo struct {
 20856  	DynamicData
 20857  
 20858  	// Refers instance of `Datastore`.
 20859  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 20860  	// Refers instances of `HostSystem`.
 20861  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 20862  }
 20863  
 20864  func init() {
 20865  	t["DasHeartbeatDatastoreInfo"] = reflect.TypeOf((*DasHeartbeatDatastoreInfo)(nil)).Elem()
 20866  }
 20867  
 20868  // This event records when a host failure has been detected by HA.
 20869  type DasHostFailedEvent struct {
 20870  	ClusterEvent
 20871  
 20872  	// The host that failed.
 20873  	FailedHost HostEventArgument `xml:"failedHost" json:"failedHost"`
 20874  }
 20875  
 20876  func init() {
 20877  	t["DasHostFailedEvent"] = reflect.TypeOf((*DasHostFailedEvent)(nil)).Elem()
 20878  }
 20879  
 20880  // This event records that a host has been isolated from the network in a
 20881  // HA cluster.
 20882  //
 20883  // Since an isolated host cannot be distinguished from a failed
 20884  // host except by the isolated host itself, this event is logged when the
 20885  // isolated host regains network connectivity.
 20886  type DasHostIsolatedEvent struct {
 20887  	ClusterEvent
 20888  
 20889  	// The host that was isolated.
 20890  	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
 20891  }
 20892  
 20893  func init() {
 20894  	t["DasHostIsolatedEvent"] = reflect.TypeOf((*DasHostIsolatedEvent)(nil)).Elem()
 20895  }
 20896  
 20897  // A DatabaseError exception is thrown if an
 20898  // operation failed when accessing the external
 20899  // database.
 20900  //
 20901  // This typically is because
 20902  // the database is (temporarily) unavailable or
 20903  // because of network problems.
 20904  type DatabaseError struct {
 20905  	RuntimeFault
 20906  }
 20907  
 20908  func init() {
 20909  	t["DatabaseError"] = reflect.TypeOf((*DatabaseError)(nil)).Elem()
 20910  }
 20911  
 20912  type DatabaseErrorFault DatabaseError
 20913  
 20914  func init() {
 20915  	t["DatabaseErrorFault"] = reflect.TypeOf((*DatabaseErrorFault)(nil)).Elem()
 20916  }
 20917  
 20918  // DatabaseSizeEstimate contains information about the size
 20919  // required to by the database.
 20920  type DatabaseSizeEstimate struct {
 20921  	DynamicData
 20922  
 20923  	// The estimated size required in MB
 20924  	Size int64 `xml:"size" json:"size"`
 20925  }
 20926  
 20927  func init() {
 20928  	t["DatabaseSizeEstimate"] = reflect.TypeOf((*DatabaseSizeEstimate)(nil)).Elem()
 20929  }
 20930  
 20931  // DatabaseSizeParam contains information about a sample inventory.
 20932  //
 20933  // Using this
 20934  // information, database size requirements for that sample inventory can be computed.
 20935  // Depending on the accuracy of estimate desired, users can choose to specify
 20936  // the number of different types of managed entities. The numHosts and
 20937  // numVirtualMachines are the only two required fields. Rest are all optional
 20938  // fields filled up by Virtual Center based on some heuristics.
 20939  // These parameters need not represent a real inventory. The user can use these
 20940  // parameters to estimate the database size required by a hypothetical
 20941  // VirtualCenter setup.
 20942  type DatabaseSizeParam struct {
 20943  	DynamicData
 20944  
 20945  	// Object to capture inventory description
 20946  	InventoryDesc InventoryDescription `xml:"inventoryDesc" json:"inventoryDesc"`
 20947  	// Object to capture performance statistics
 20948  	// related parameters
 20949  	PerfStatsDesc *PerformanceStatisticsDescription `xml:"perfStatsDesc,omitempty" json:"perfStatsDesc,omitempty"`
 20950  }
 20951  
 20952  func init() {
 20953  	t["DatabaseSizeParam"] = reflect.TypeOf((*DatabaseSizeParam)(nil)).Elem()
 20954  }
 20955  
 20956  // BasicConnectInfo consists of essential information about the host.
 20957  //
 20958  // This
 20959  // is a subset of `HostConnectInfo` and contains the information
 20960  // which is relevant when it comes to dealing with a set of hosts.
 20961  type DatacenterBasicConnectInfo struct {
 20962  	DynamicData
 20963  
 20964  	// Target host.
 20965  	Hostname string `xml:"hostname,omitempty" json:"hostname,omitempty"`
 20966  	// Error encountered while querying the host.
 20967  	//
 20968  	// See
 20969  	// `Datacenter.QueryConnectionInfo` for the list of exceptions which can
 20970  	// be represented here.
 20971  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 20972  	// IP address of the VirtualCenter already managing this host, if any.
 20973  	ServerIp string `xml:"serverIp,omitempty" json:"serverIp,omitempty"`
 20974  	// Specifies the number of VMs on the host.
 20975  	NumVm int32 `xml:"numVm,omitempty" json:"numVm,omitempty"`
 20976  	// Specifies the number of powered-on VMs on the host.
 20977  	NumPoweredOnVm int32 `xml:"numPoweredOnVm,omitempty" json:"numPoweredOnVm,omitempty"`
 20978  	// Information about the software running on the host.
 20979  	HostProductInfo *AboutInfo `xml:"hostProductInfo,omitempty" json:"hostProductInfo,omitempty"`
 20980  	// Hardware vendor identification.
 20981  	HardwareVendor string `xml:"hardwareVendor,omitempty" json:"hardwareVendor,omitempty"`
 20982  	// System model identification.
 20983  	HardwareModel string `xml:"hardwareModel,omitempty" json:"hardwareModel,omitempty"`
 20984  }
 20985  
 20986  func init() {
 20987  	t["DatacenterBasicConnectInfo"] = reflect.TypeOf((*DatacenterBasicConnectInfo)(nil)).Elem()
 20988  }
 20989  
 20990  // Configuration of the datacenter.
 20991  type DatacenterConfigInfo struct {
 20992  	DynamicData
 20993  
 20994  	// Key for Default Hardware Version used on this datacenter
 20995  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 20996  	//
 20997  	// This field affects
 20998  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 20999  	// by `ComputeResource.environmentBrowser` of all its children
 21000  	// with this field unset.
 21001  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 21002  	// Key for Maximum Hardware Version used on this datacenter
 21003  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 21004  	//
 21005  	// This field affects
 21006  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 21007  	// by `ComputeResource.environmentBrowser` of all its children
 21008  	// with this field unset.
 21009  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 21010  }
 21011  
 21012  func init() {
 21013  	t["DatacenterConfigInfo"] = reflect.TypeOf((*DatacenterConfigInfo)(nil)).Elem()
 21014  }
 21015  
 21016  // Changes to apply to the datacenter configuration.
 21017  type DatacenterConfigSpec struct {
 21018  	DynamicData
 21019  
 21020  	// Key for Default Hardware Version to be used on this datacenter
 21021  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 21022  	//
 21023  	// Setting this field affects
 21024  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 21025  	// by `ComputeResource.environmentBrowser` of all its children
 21026  	// with this field unset.
 21027  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 21028  	// Key for Maximum Hardware Version to be used on this datacenter
 21029  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 21030  	//
 21031  	// Setting this field affects
 21032  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 21033  	// by `ComputeResource.environmentBrowser` of all its children
 21034  	// with this field unset.
 21035  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 21036  }
 21037  
 21038  func init() {
 21039  	t["DatacenterConfigSpec"] = reflect.TypeOf((*DatacenterConfigSpec)(nil)).Elem()
 21040  }
 21041  
 21042  type DatacenterCreatedEvent struct {
 21043  	DatacenterEvent
 21044  
 21045  	// The folder where the datacenter is created.
 21046  	Parent FolderEventArgument `xml:"parent" json:"parent"`
 21047  }
 21048  
 21049  func init() {
 21050  	t["DatacenterCreatedEvent"] = reflect.TypeOf((*DatacenterCreatedEvent)(nil)).Elem()
 21051  }
 21052  
 21053  // These are datacenter events.
 21054  type DatacenterEvent struct {
 21055  	Event
 21056  }
 21057  
 21058  func init() {
 21059  	t["DatacenterEvent"] = reflect.TypeOf((*DatacenterEvent)(nil)).Elem()
 21060  }
 21061  
 21062  // The event argument is a Datacenter object.
 21063  type DatacenterEventArgument struct {
 21064  	EntityEventArgument
 21065  
 21066  	// The Datacenter object.
 21067  	//
 21068  	// Refers instance of `Datacenter`.
 21069  	Datacenter ManagedObjectReference `xml:"datacenter" json:"datacenter"`
 21070  }
 21071  
 21072  func init() {
 21073  	t["DatacenterEventArgument"] = reflect.TypeOf((*DatacenterEventArgument)(nil)).Elem()
 21074  }
 21075  
 21076  // The input arguments had entities that did not belong to the same
 21077  // datacenter.
 21078  type DatacenterMismatch struct {
 21079  	MigrationFault
 21080  
 21081  	// The list of invalid arguments.
 21082  	InvalidArgument []DatacenterMismatchArgument `xml:"invalidArgument" json:"invalidArgument"`
 21083  	// The expected datacenter for the arguments.
 21084  	//
 21085  	// Refers instance of `Datacenter`.
 21086  	ExpectedDatacenter ManagedObjectReference `xml:"expectedDatacenter" json:"expectedDatacenter"`
 21087  }
 21088  
 21089  func init() {
 21090  	t["DatacenterMismatch"] = reflect.TypeOf((*DatacenterMismatch)(nil)).Elem()
 21091  }
 21092  
 21093  // An input entity argument that belongs to a mismatched datacenter.
 21094  type DatacenterMismatchArgument struct {
 21095  	DynamicData
 21096  
 21097  	// The invalid input entity.
 21098  	//
 21099  	// Refers instance of `ManagedEntity`.
 21100  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 21101  	// The datacenter for this entity.
 21102  	//
 21103  	// Refers instance of `Datacenter`.
 21104  	InputDatacenter *ManagedObjectReference `xml:"inputDatacenter,omitempty" json:"inputDatacenter,omitempty"`
 21105  }
 21106  
 21107  func init() {
 21108  	t["DatacenterMismatchArgument"] = reflect.TypeOf((*DatacenterMismatchArgument)(nil)).Elem()
 21109  }
 21110  
 21111  type DatacenterMismatchFault DatacenterMismatch
 21112  
 21113  func init() {
 21114  	t["DatacenterMismatchFault"] = reflect.TypeOf((*DatacenterMismatchFault)(nil)).Elem()
 21115  }
 21116  
 21117  type DatacenterRenamedEvent struct {
 21118  	DatacenterEvent
 21119  
 21120  	// The old datacenter name.
 21121  	OldName string `xml:"oldName" json:"oldName"`
 21122  	// The new datacenter name.
 21123  	NewName string `xml:"newName" json:"newName"`
 21124  }
 21125  
 21126  func init() {
 21127  	t["DatacenterRenamedEvent"] = reflect.TypeOf((*DatacenterRenamedEvent)(nil)).Elem()
 21128  }
 21129  
 21130  // Information about the capabilities of this datastore.
 21131  type DatastoreCapability struct {
 21132  	DynamicData
 21133  
 21134  	// Indicates whether or not directories can be created on this datastore.
 21135  	DirectoryHierarchySupported bool `xml:"directoryHierarchySupported" json:"directoryHierarchySupported"`
 21136  	// Indicates whether or not raw disk mappings can be created on this datastore.
 21137  	RawDiskMappingsSupported bool `xml:"rawDiskMappingsSupported" json:"rawDiskMappingsSupported"`
 21138  	// Indicates whether or not the datastore supports thin provisioning on a per file
 21139  	// basis.
 21140  	//
 21141  	// When thin provisioning is used, backing storage is lazily allocated.
 21142  	//
 21143  	// This is supported by VMFS3. VMFS2 always allocates storage eagerly. Thus, this
 21144  	// value is false for VMFS2. Most NAS systems always use thin provisioning.
 21145  	// They do not support configuring this on a per file basis, so for NAS systems
 21146  	// this value is also false.
 21147  	PerFileThinProvisioningSupported bool `xml:"perFileThinProvisioningSupported" json:"perFileThinProvisioningSupported"`
 21148  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 21149  	//
 21150  	// Indicates whether the datastore supports Storage I/O Resource Management.
 21151  	StorageIORMSupported *bool `xml:"storageIORMSupported" json:"storageIORMSupported,omitempty"`
 21152  	// Indicates whether the datastore supports native snapshot feature which is
 21153  	// based on Copy-On-Write.
 21154  	NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported" json:"nativeSnapshotSupported,omitempty"`
 21155  	// Indicates whether the datastore supports traditional top-level
 21156  	// directory creation.
 21157  	//
 21158  	// See also `DatastoreNamespaceManager`.
 21159  	TopLevelDirectoryCreateSupported *bool `xml:"topLevelDirectoryCreateSupported" json:"topLevelDirectoryCreateSupported,omitempty"`
 21160  	// Indicates whether the datastore supports the Flex-SE(SeSparse) feature.
 21161  	SeSparseSupported *bool `xml:"seSparseSupported" json:"seSparseSupported,omitempty"`
 21162  	// Indicates whether the datastore supports the vmfsSparse feature.
 21163  	//
 21164  	// True for VMFS3/VMFS5/NFS/NFS41, False for VMFS6.
 21165  	// If value is undefined, then it should be read as supported.
 21166  	VmfsSparseSupported *bool `xml:"vmfsSparseSupported" json:"vmfsSparseSupported,omitempty"`
 21167  	// Indicates whether the datastore supports the vsanSparse feature.
 21168  	VsanSparseSupported *bool `xml:"vsanSparseSupported" json:"vsanSparseSupported,omitempty"`
 21169  	// Deprecated as of vSphere API 8.0, and there is no replacement for it.
 21170  	//
 21171  	// Indicates whether the datastore supports the upit feature.
 21172  	UpitSupported *bool `xml:"upitSupported" json:"upitSupported,omitempty"`
 21173  	// On certain datastores (e.g.
 21174  	//
 21175  	// 2016 PMEM datastore) VMDK expand is not supported.
 21176  	// This field tells user if VMDK on this datastore can be expanded or not.
 21177  	// If value is undefined, then it should be read as supported.
 21178  	VmdkExpandSupported *bool `xml:"vmdkExpandSupported" json:"vmdkExpandSupported,omitempty"`
 21179  	// Indicates whether the datastore supports clustered VMDK feature.
 21180  	ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported" json:"clusteredVmdkSupported,omitempty"`
 21181  }
 21182  
 21183  func init() {
 21184  	t["DatastoreCapability"] = reflect.TypeOf((*DatastoreCapability)(nil)).Elem()
 21185  }
 21186  
 21187  // This event records when increase in a datastore's capacity is observed.
 21188  //
 21189  // It may happen due to different reasons, like extending or expanding a
 21190  // datastore.
 21191  type DatastoreCapacityIncreasedEvent struct {
 21192  	DatastoreEvent
 21193  
 21194  	// The old datastore capacity.
 21195  	OldCapacity int64 `xml:"oldCapacity" json:"oldCapacity"`
 21196  	// The new datastore capacity.
 21197  	NewCapacity int64 `xml:"newCapacity" json:"newCapacity"`
 21198  }
 21199  
 21200  func init() {
 21201  	t["DatastoreCapacityIncreasedEvent"] = reflect.TypeOf((*DatastoreCapacityIncreasedEvent)(nil)).Elem()
 21202  }
 21203  
 21204  // This event records when a datastore is removed from VirtualCenter.
 21205  type DatastoreDestroyedEvent struct {
 21206  	DatastoreEvent
 21207  }
 21208  
 21209  func init() {
 21210  	t["DatastoreDestroyedEvent"] = reflect.TypeOf((*DatastoreDestroyedEvent)(nil)).Elem()
 21211  }
 21212  
 21213  // This event records when a host is added to VirtualCenter
 21214  // and datastores are discovered.
 21215  type DatastoreDiscoveredEvent struct {
 21216  	HostEvent
 21217  
 21218  	// The associated datastore.
 21219  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 21220  }
 21221  
 21222  func init() {
 21223  	t["DatastoreDiscoveredEvent"] = reflect.TypeOf((*DatastoreDiscoveredEvent)(nil)).Elem()
 21224  }
 21225  
 21226  // This event records when a duplicate datastore name is found.
 21227  //
 21228  // This event is used in VirtualCenter 1.x and is included for
 21229  // backward compatibility.
 21230  type DatastoreDuplicatedEvent struct {
 21231  	DatastoreEvent
 21232  }
 21233  
 21234  func init() {
 21235  	t["DatastoreDuplicatedEvent"] = reflect.TypeOf((*DatastoreDuplicatedEvent)(nil)).Elem()
 21236  }
 21237  
 21238  type DatastoreEnterMaintenanceMode DatastoreEnterMaintenanceModeRequestType
 21239  
 21240  func init() {
 21241  	t["DatastoreEnterMaintenanceMode"] = reflect.TypeOf((*DatastoreEnterMaintenanceMode)(nil)).Elem()
 21242  }
 21243  
 21244  type DatastoreEnterMaintenanceModeRequestType struct {
 21245  	This ManagedObjectReference `xml:"_this" json:"-"`
 21246  }
 21247  
 21248  func init() {
 21249  	t["DatastoreEnterMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreEnterMaintenanceModeRequestType)(nil)).Elem()
 21250  }
 21251  
 21252  type DatastoreEnterMaintenanceModeResponse struct {
 21253  	Returnval StoragePlacementResult `xml:"returnval" json:"returnval"`
 21254  }
 21255  
 21256  // These are datastore events.
 21257  type DatastoreEvent struct {
 21258  	Event
 21259  
 21260  	// The associated datastore.
 21261  	Datastore *DatastoreEventArgument `xml:"datastore,omitempty" json:"datastore,omitempty"`
 21262  }
 21263  
 21264  func init() {
 21265  	t["DatastoreEvent"] = reflect.TypeOf((*DatastoreEvent)(nil)).Elem()
 21266  }
 21267  
 21268  // The event argument is a Datastore object.
 21269  type DatastoreEventArgument struct {
 21270  	EntityEventArgument
 21271  
 21272  	// The Datastore object.
 21273  	//
 21274  	// Refers instance of `Datastore`.
 21275  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21276  }
 21277  
 21278  func init() {
 21279  	t["DatastoreEventArgument"] = reflect.TypeOf((*DatastoreEventArgument)(nil)).Elem()
 21280  }
 21281  
 21282  type DatastoreExitMaintenanceModeRequestType struct {
 21283  	This ManagedObjectReference `xml:"_this" json:"-"`
 21284  }
 21285  
 21286  func init() {
 21287  	t["DatastoreExitMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreExitMaintenanceModeRequestType)(nil)).Elem()
 21288  }
 21289  
 21290  type DatastoreExitMaintenanceMode_Task DatastoreExitMaintenanceModeRequestType
 21291  
 21292  func init() {
 21293  	t["DatastoreExitMaintenanceMode_Task"] = reflect.TypeOf((*DatastoreExitMaintenanceMode_Task)(nil)).Elem()
 21294  }
 21295  
 21296  type DatastoreExitMaintenanceMode_TaskResponse struct {
 21297  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21298  }
 21299  
 21300  // This event records copy of a file or directory.
 21301  type DatastoreFileCopiedEvent struct {
 21302  	DatastoreFileEvent
 21303  
 21304  	// Source datastore.
 21305  	SourceDatastore DatastoreEventArgument `xml:"sourceDatastore" json:"sourceDatastore"`
 21306  	// Datastore path of the source file or directory.
 21307  	SourceFile string `xml:"sourceFile" json:"sourceFile"`
 21308  }
 21309  
 21310  func init() {
 21311  	t["DatastoreFileCopiedEvent"] = reflect.TypeOf((*DatastoreFileCopiedEvent)(nil)).Elem()
 21312  }
 21313  
 21314  // This event records deletion of a file or directory.
 21315  type DatastoreFileDeletedEvent struct {
 21316  	DatastoreFileEvent
 21317  }
 21318  
 21319  func init() {
 21320  	t["DatastoreFileDeletedEvent"] = reflect.TypeOf((*DatastoreFileDeletedEvent)(nil)).Elem()
 21321  }
 21322  
 21323  // Base class for events related to datastore file and directory
 21324  // operations.
 21325  //
 21326  // Property _datastore_ inherited from DatastoreEvent refers
 21327  // to the destination datastore in case there is more than datastore
 21328  // involved in the operation.
 21329  type DatastoreFileEvent struct {
 21330  	DatastoreEvent
 21331  
 21332  	// Datastore path of the target file or directory.
 21333  	TargetFile string `xml:"targetFile" json:"targetFile"`
 21334  	// Identifier of the initiator of the file operation.
 21335  	SourceOfOperation string `xml:"sourceOfOperation,omitempty" json:"sourceOfOperation,omitempty"`
 21336  	// Indicator whether the datastore file operation succeeded.
 21337  	Succeeded *bool `xml:"succeeded" json:"succeeded,omitempty"`
 21338  }
 21339  
 21340  func init() {
 21341  	t["DatastoreFileEvent"] = reflect.TypeOf((*DatastoreFileEvent)(nil)).Elem()
 21342  }
 21343  
 21344  // This event records move of a file or directory.
 21345  type DatastoreFileMovedEvent struct {
 21346  	DatastoreFileEvent
 21347  
 21348  	// Source datastore.
 21349  	SourceDatastore DatastoreEventArgument `xml:"sourceDatastore" json:"sourceDatastore"`
 21350  	// Datastore path of the source file or directory.
 21351  	SourceFile string `xml:"sourceFile" json:"sourceFile"`
 21352  }
 21353  
 21354  func init() {
 21355  	t["DatastoreFileMovedEvent"] = reflect.TypeOf((*DatastoreFileMovedEvent)(nil)).Elem()
 21356  }
 21357  
 21358  // Host-specific datastore information.
 21359  type DatastoreHostMount struct {
 21360  	DynamicData
 21361  
 21362  	// The host associated with this datastore.
 21363  	//
 21364  	// Refers instance of `HostSystem`.
 21365  	Key ManagedObjectReference `xml:"key" json:"key"`
 21366  	// Host-specific information about the mount.
 21367  	MountInfo HostMountInfo `xml:"mountInfo" json:"mountInfo"`
 21368  }
 21369  
 21370  func init() {
 21371  	t["DatastoreHostMount"] = reflect.TypeOf((*DatastoreHostMount)(nil)).Elem()
 21372  }
 21373  
 21374  // This event records that the configuration of storage I/O
 21375  // resource management for a datastore has changed.
 21376  type DatastoreIORMReconfiguredEvent struct {
 21377  	DatastoreEvent
 21378  }
 21379  
 21380  func init() {
 21381  	t["DatastoreIORMReconfiguredEvent"] = reflect.TypeOf((*DatastoreIORMReconfiguredEvent)(nil)).Elem()
 21382  }
 21383  
 21384  // Detailed information about a datastore.
 21385  //
 21386  // This is a base type for derived types
 21387  // that have more specific details about a datastore.
 21388  //
 21389  // See also `HostVmfsVolume`, `HostNasVolume`, `HostLocalFileSystemVolume`.
 21390  type DatastoreInfo struct {
 21391  	DynamicData
 21392  
 21393  	// The name of the datastore.
 21394  	Name string `xml:"name" json:"name"`
 21395  	// The unique locator for the datastore.
 21396  	Url string `xml:"url" json:"url"`
 21397  	// Free space of this datastore, in bytes.
 21398  	//
 21399  	// The server periodically updates this
 21400  	// value. It can be explicitly refreshed with the Refresh operation.
 21401  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 21402  	// The maximum size of a file that can reside on this file system volume.
 21403  	MaxFileSize int64 `xml:"maxFileSize" json:"maxFileSize"`
 21404  	// The maximum capacity of a virtual disk which can be created on this volume.
 21405  	MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty" json:"maxVirtualDiskCapacity,omitempty"`
 21406  	// The maximum size of a snapshot or a swap file that can reside on this file system volume.
 21407  	MaxMemoryFileSize int64 `xml:"maxMemoryFileSize,omitempty" json:"maxMemoryFileSize,omitempty"`
 21408  	// Time when the free-space and capacity values in `DatastoreInfo` and
 21409  	// `DatastoreSummary` were updated.
 21410  	Timestamp *time.Time `xml:"timestamp" json:"timestamp,omitempty"`
 21411  	// The unique container ID of the datastore, if applicable.
 21412  	ContainerId string `xml:"containerId,omitempty" json:"containerId,omitempty"`
 21413  	// vSAN datastore container that this datastore is alias of.
 21414  	//
 21415  	// If this
 21416  	// field is unset then this datastore is not alias of any other vSAN
 21417  	// datastore.
 21418  	// See `DatastoreInfo.containerId`.
 21419  	AliasOf string `xml:"aliasOf,omitempty" json:"aliasOf,omitempty"`
 21420  	// A list of virtual disk format type which can be supported
 21421  	// on that datastore.
 21422  	//
 21423  	// Supported values are `native_512` and
 21424  	// `native_4k`.
 21425  	SupportedVDiskFormats []string `xml:"supportedVDiskFormats,omitempty" json:"supportedVDiskFormats,omitempty" vim:"9.0.0.0"`
 21426  	// The logical sector size of the datastore.
 21427  	//
 21428  	// If not set,
 21429  	// the default is 512 bytes.
 21430  	LogicalSectorSize int32 `xml:"logicalSectorSize,omitempty" json:"logicalSectorSize,omitempty" vim:"9.0.0.0"`
 21431  	// The physical sector size of the datastore.
 21432  	//
 21433  	// If not set,
 21434  	// the default is 512 bytes.
 21435  	PhysicalSectorSize int32 `xml:"physicalSectorSize,omitempty" json:"physicalSectorSize,omitempty" vim:"9.0.0.0"`
 21436  }
 21437  
 21438  func init() {
 21439  	t["DatastoreInfo"] = reflect.TypeOf((*DatastoreInfo)(nil)).Elem()
 21440  }
 21441  
 21442  // Contains a mapping of an old mount path and its corresponding
 21443  // resignatured or remounted datastore
 21444  type DatastoreMountPathDatastorePair struct {
 21445  	DynamicData
 21446  
 21447  	// Old file path where file system volume is mounted, which
 21448  	// should be `path` value in
 21449  	// `HostMountInfo`
 21450  	OldMountPath string `xml:"oldMountPath" json:"oldMountPath"`
 21451  	// The resignatured or remounted datastore corresponding to the oldMountPath
 21452  	//
 21453  	// Refers instance of `Datastore`.
 21454  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21455  }
 21456  
 21457  func init() {
 21458  	t["DatastoreMountPathDatastorePair"] = reflect.TypeOf((*DatastoreMountPathDatastorePair)(nil)).Elem()
 21459  }
 21460  
 21461  type DatastoreNamespaceManagerDirectoryInfo struct {
 21462  	DynamicData
 21463  
 21464  	// Size in MB of underlying object.
 21465  	Capacity int64 `xml:"capacity" json:"capacity"`
 21466  	// Used size in MB in the VMFS volume.
 21467  	Used int64 `xml:"used" json:"used"`
 21468  }
 21469  
 21470  func init() {
 21471  	t["DatastoreNamespaceManagerDirectoryInfo"] = reflect.TypeOf((*DatastoreNamespaceManagerDirectoryInfo)(nil)).Elem()
 21472  	minAPIVersionForType["DatastoreNamespaceManagerDirectoryInfo"] = "8.0.1.0"
 21473  }
 21474  
 21475  // This exception is thrown if a datastore is not
 21476  // writable on the target host.
 21477  type DatastoreNotWritableOnHost struct {
 21478  	InvalidDatastore
 21479  
 21480  	// The target host on which the datastore is not writable.
 21481  	//
 21482  	// Refers instance of `HostSystem`.
 21483  	Host ManagedObjectReference `xml:"host" json:"host"`
 21484  }
 21485  
 21486  func init() {
 21487  	t["DatastoreNotWritableOnHost"] = reflect.TypeOf((*DatastoreNotWritableOnHost)(nil)).Elem()
 21488  }
 21489  
 21490  type DatastoreNotWritableOnHostFault BaseDatastoreNotWritableOnHost
 21491  
 21492  func init() {
 21493  	t["DatastoreNotWritableOnHostFault"] = reflect.TypeOf((*DatastoreNotWritableOnHostFault)(nil)).Elem()
 21494  }
 21495  
 21496  // The DatastoreOption data object describes datastore options
 21497  // for a virtual machine.
 21498  type DatastoreOption struct {
 21499  	DynamicData
 21500  
 21501  	// The type of file system volumes on which this virtual machine cannot have
 21502  	// its disk and configuration files.
 21503  	UnsupportedVolumes []VirtualMachineDatastoreVolumeOption `xml:"unsupportedVolumes,omitempty" json:"unsupportedVolumes,omitempty"`
 21504  }
 21505  
 21506  func init() {
 21507  	t["DatastoreOption"] = reflect.TypeOf((*DatastoreOption)(nil)).Elem()
 21508  }
 21509  
 21510  // This event records that a datastore principal was configured on a host.
 21511  type DatastorePrincipalConfigured struct {
 21512  	HostEvent
 21513  
 21514  	DatastorePrincipal string `xml:"datastorePrincipal" json:"datastorePrincipal"`
 21515  }
 21516  
 21517  func init() {
 21518  	t["DatastorePrincipalConfigured"] = reflect.TypeOf((*DatastorePrincipalConfigured)(nil)).Elem()
 21519  }
 21520  
 21521  // This event records when a datastore is removed from a host
 21522  // but not from VirtualCenter.
 21523  type DatastoreRemovedOnHostEvent struct {
 21524  	HostEvent
 21525  
 21526  	// The associated datastore.
 21527  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 21528  }
 21529  
 21530  func init() {
 21531  	t["DatastoreRemovedOnHostEvent"] = reflect.TypeOf((*DatastoreRemovedOnHostEvent)(nil)).Elem()
 21532  }
 21533  
 21534  // This event records the renaming of a datastore.
 21535  type DatastoreRenamedEvent struct {
 21536  	DatastoreEvent
 21537  
 21538  	// The old datastore name.
 21539  	OldName string `xml:"oldName" json:"oldName"`
 21540  	// The new datastore name.
 21541  	NewName string `xml:"newName" json:"newName"`
 21542  }
 21543  
 21544  func init() {
 21545  	t["DatastoreRenamedEvent"] = reflect.TypeOf((*DatastoreRenamedEvent)(nil)).Elem()
 21546  }
 21547  
 21548  // This event records when a datastore is added to VirtualCenter
 21549  // and is renamed by VirtualCenter because this datastore already
 21550  // exists in VirtualCenter with a different name, or because the
 21551  // name conflicts with another datastore in VirtualCenter.
 21552  type DatastoreRenamedOnHostEvent struct {
 21553  	HostEvent
 21554  
 21555  	// The old datastore name.
 21556  	OldName string `xml:"oldName" json:"oldName"`
 21557  	// The new datastore name.
 21558  	NewName string `xml:"newName" json:"newName"`
 21559  }
 21560  
 21561  func init() {
 21562  	t["DatastoreRenamedOnHostEvent"] = reflect.TypeOf((*DatastoreRenamedOnHostEvent)(nil)).Elem()
 21563  }
 21564  
 21565  // Summary information about the datastore.
 21566  //
 21567  // The status fields and managed object
 21568  // reference is not set when an object of this type is created. These fields and
 21569  // references are typically set later when these objects are associated with a host.
 21570  type DatastoreSummary struct {
 21571  	DynamicData
 21572  
 21573  	// The reference to the managed object.
 21574  	//
 21575  	// Refers instance of `Datastore`.
 21576  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 21577  	// The name of the datastore.
 21578  	Name string `xml:"name" json:"name"`
 21579  	// The unique locator for the datastore.
 21580  	//
 21581  	// This property is guaranteed to be valid
 21582  	// only if `DatastoreSummary.accessible` is true.
 21583  	Url string `xml:"url" json:"url"`
 21584  	// Maximum capacity of this datastore, in bytes.
 21585  	//
 21586  	// This value is updated
 21587  	// periodically by the server. It can be explicitly refreshed with the Refresh
 21588  	// operation. This property is guaranteed to be valid only if `DatastoreSummary.accessible`
 21589  	// is true.
 21590  	Capacity int64 `xml:"capacity" json:"capacity"`
 21591  	// Available space of this datastore, in bytes.
 21592  	//
 21593  	// The server periodically
 21594  	// updates this value. It can be explicitly refreshed with the Refresh operation.
 21595  	// This property is guaranteed to be valid only if `DatastoreSummary.accessible` is true.
 21596  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 21597  	// Total additional storage space, in bytes, potentially used by all
 21598  	// virtual machines on this datastore.
 21599  	//
 21600  	// The server periodically updates this
 21601  	// value.
 21602  	// It can be explicitly refreshed with the `Datastore.RefreshDatastoreStorageInfo` operation.
 21603  	// This property is valid only if `DatastoreSummary.accessible` is true.
 21604  	Uncommitted int64 `xml:"uncommitted,omitempty" json:"uncommitted,omitempty"`
 21605  	// The connectivity status of this datastore.
 21606  	//
 21607  	// If this is set to false, meaning the
 21608  	// datastore is not accessible, this datastore's capacity and freespace properties
 21609  	// cannot be validated. Furthermore, if this property is set to false, some of the
 21610  	// properties in this summary and in `DatastoreInfo` should not be
 21611  	// used. Refer to the documentation for the property of your interest.
 21612  	// For datastores accessed from multiple hosts, vCenter Server reports
 21613  	// `DatastoreSummary.accessible` as an aggregated value of the
 21614  	// properties reported in `HostMountInfo`. For instance,
 21615  	// if a datastore is accessible through a subset of hosts, then the value of
 21616  	// `DatastoreSummary.accessible` will be reported as true by
 21617  	// vCenter Server. And the reason for a daastore being inaccessible from a host
 21618  	// will be reported in `HostMountInfo.inaccessibleReason`
 21619  	Accessible bool `xml:"accessible" json:"accessible"`
 21620  	// More than one host in the datacenter has been configured with access to the
 21621  	// datastore.
 21622  	//
 21623  	// This is only provided by VirtualCenter.
 21624  	MultipleHostAccess *bool `xml:"multipleHostAccess" json:"multipleHostAccess,omitempty"`
 21625  	// Type of file system volume, such as VMFS or NFS.
 21626  	//
 21627  	// See also `HostFileSystemVolume.type`.
 21628  	Type string `xml:"type" json:"type"`
 21629  	// The current maintenance mode state of the datastore.
 21630  	//
 21631  	// The set of
 21632  	// possible values is described in `DatastoreSummaryMaintenanceModeState_enum`.
 21633  	MaintenanceMode string `xml:"maintenanceMode,omitempty" json:"maintenanceMode,omitempty"`
 21634  }
 21635  
 21636  func init() {
 21637  	t["DatastoreSummary"] = reflect.TypeOf((*DatastoreSummary)(nil)).Elem()
 21638  }
 21639  
 21640  // A pair of source and target VVol containers and mapping of VVol
 21641  // IDs from source to target.
 21642  type DatastoreVVolContainerFailoverPair struct {
 21643  	DynamicData
 21644  
 21645  	// Storage container on the source side.
 21646  	SrcContainer string `xml:"srcContainer,omitempty" json:"srcContainer,omitempty"`
 21647  	// Storage container on the target side.
 21648  	TgtContainer string `xml:"tgtContainer" json:"tgtContainer"`
 21649  	// Mapping of VVol IDs from source to target corresponding to the
 21650  	// given set of containers.
 21651  	VvolMapping []KeyValue `xml:"vvolMapping,omitempty" json:"vvolMapping,omitempty"`
 21652  }
 21653  
 21654  func init() {
 21655  	t["DatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*DatastoreVVolContainerFailoverPair)(nil)).Elem()
 21656  }
 21657  
 21658  // The `DateTimeProfile` data object represents host date and time configuration.
 21659  //
 21660  // Use the `ApplyProfile.policy` list for access to configuration data
 21661  // for the date and time profile. Use the `ApplyProfile.property` list
 21662  // for access to subprofiles, if any.
 21663  type DateTimeProfile struct {
 21664  	ApplyProfile
 21665  }
 21666  
 21667  func init() {
 21668  	t["DateTimeProfile"] = reflect.TypeOf((*DateTimeProfile)(nil)).Elem()
 21669  }
 21670  
 21671  type DecodeLicense DecodeLicenseRequestType
 21672  
 21673  func init() {
 21674  	t["DecodeLicense"] = reflect.TypeOf((*DecodeLicense)(nil)).Elem()
 21675  }
 21676  
 21677  // The parameters of `LicenseManager.DecodeLicense`.
 21678  type DecodeLicenseRequestType struct {
 21679  	This ManagedObjectReference `xml:"_this" json:"-"`
 21680  	// A license. E.g. a serial license.
 21681  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 21682  }
 21683  
 21684  func init() {
 21685  	t["DecodeLicenseRequestType"] = reflect.TypeOf((*DecodeLicenseRequestType)(nil)).Elem()
 21686  }
 21687  
 21688  type DecodeLicenseResponse struct {
 21689  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
 21690  }
 21691  
 21692  type DefragmentAllDisks DefragmentAllDisksRequestType
 21693  
 21694  func init() {
 21695  	t["DefragmentAllDisks"] = reflect.TypeOf((*DefragmentAllDisks)(nil)).Elem()
 21696  }
 21697  
 21698  type DefragmentAllDisksRequestType struct {
 21699  	This ManagedObjectReference `xml:"_this" json:"-"`
 21700  }
 21701  
 21702  func init() {
 21703  	t["DefragmentAllDisksRequestType"] = reflect.TypeOf((*DefragmentAllDisksRequestType)(nil)).Elem()
 21704  }
 21705  
 21706  type DefragmentAllDisksResponse struct {
 21707  }
 21708  
 21709  // The parameters of `VirtualDiskManager.DefragmentVirtualDisk_Task`.
 21710  type DefragmentVirtualDiskRequestType struct {
 21711  	This ManagedObjectReference `xml:"_this" json:"-"`
 21712  	// The name of the disk, either a datastore path or a URL
 21713  	// referring to the virtual disk that should be defragmented.
 21714  	Name string `xml:"name" json:"name"`
 21715  	// If <code>name</code> is a datastore path, the datacenter for
 21716  	// that datastore path. Not needed when invoked directly on ESX.
 21717  	// If not specified on a call to VirtualCenter,
 21718  	// <code>name</code> must be a URL.
 21719  	//
 21720  	// Refers instance of `Datacenter`.
 21721  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21722  }
 21723  
 21724  func init() {
 21725  	t["DefragmentVirtualDiskRequestType"] = reflect.TypeOf((*DefragmentVirtualDiskRequestType)(nil)).Elem()
 21726  }
 21727  
 21728  type DefragmentVirtualDisk_Task DefragmentVirtualDiskRequestType
 21729  
 21730  func init() {
 21731  	t["DefragmentVirtualDisk_Task"] = reflect.TypeOf((*DefragmentVirtualDisk_Task)(nil)).Elem()
 21732  }
 21733  
 21734  type DefragmentVirtualDisk_TaskResponse struct {
 21735  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21736  }
 21737  
 21738  type DeleteCustomizationSpec DeleteCustomizationSpecRequestType
 21739  
 21740  func init() {
 21741  	t["DeleteCustomizationSpec"] = reflect.TypeOf((*DeleteCustomizationSpec)(nil)).Elem()
 21742  }
 21743  
 21744  // The parameters of `CustomizationSpecManager.DeleteCustomizationSpec`.
 21745  type DeleteCustomizationSpecRequestType struct {
 21746  	This ManagedObjectReference `xml:"_this" json:"-"`
 21747  	Name string                 `xml:"name" json:"name"`
 21748  }
 21749  
 21750  func init() {
 21751  	t["DeleteCustomizationSpecRequestType"] = reflect.TypeOf((*DeleteCustomizationSpecRequestType)(nil)).Elem()
 21752  }
 21753  
 21754  type DeleteCustomizationSpecResponse struct {
 21755  }
 21756  
 21757  // The parameters of `FileManager.DeleteDatastoreFile_Task`.
 21758  type DeleteDatastoreFileRequestType struct {
 21759  	This ManagedObjectReference `xml:"_this" json:"-"`
 21760  	// The name of the file or folder, either a URL or a datastore path
 21761  	// referring to the file or folder to be deleted.
 21762  	Name string `xml:"name" json:"name"`
 21763  	// If <code>name</code> is a datastore path, the datacenter for
 21764  	// that datastore path. Not needed when invoked directly on ESX.
 21765  	// If not specified on a call to VirtualCenter,
 21766  	// <code>name</code> must be a URL.
 21767  	//
 21768  	// Required privileges: System.View
 21769  	//
 21770  	// Refers instance of `Datacenter`.
 21771  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21772  }
 21773  
 21774  func init() {
 21775  	t["DeleteDatastoreFileRequestType"] = reflect.TypeOf((*DeleteDatastoreFileRequestType)(nil)).Elem()
 21776  }
 21777  
 21778  type DeleteDatastoreFile_Task DeleteDatastoreFileRequestType
 21779  
 21780  func init() {
 21781  	t["DeleteDatastoreFile_Task"] = reflect.TypeOf((*DeleteDatastoreFile_Task)(nil)).Elem()
 21782  }
 21783  
 21784  type DeleteDatastoreFile_TaskResponse struct {
 21785  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21786  }
 21787  
 21788  type DeleteDirectory DeleteDirectoryRequestType
 21789  
 21790  func init() {
 21791  	t["DeleteDirectory"] = reflect.TypeOf((*DeleteDirectory)(nil)).Elem()
 21792  }
 21793  
 21794  type DeleteDirectoryInGuest DeleteDirectoryInGuestRequestType
 21795  
 21796  func init() {
 21797  	t["DeleteDirectoryInGuest"] = reflect.TypeOf((*DeleteDirectoryInGuest)(nil)).Elem()
 21798  }
 21799  
 21800  // The parameters of `GuestFileManager.DeleteDirectoryInGuest`.
 21801  type DeleteDirectoryInGuestRequestType struct {
 21802  	This ManagedObjectReference `xml:"_this" json:"-"`
 21803  	// Virtual Machine to perform the operation on.
 21804  	//
 21805  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21806  	//
 21807  	// Refers instance of `VirtualMachine`.
 21808  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21809  	// The guest authentication data. See
 21810  	// `GuestAuthentication`.
 21811  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21812  	// The complete path to the directory to be deleted.
 21813  	DirectoryPath string `xml:"directoryPath" json:"directoryPath"`
 21814  	// If true, all subdirectories are also deleted.
 21815  	// If false, the directory must be empty for the operation to succeed.
 21816  	Recursive bool `xml:"recursive" json:"recursive"`
 21817  }
 21818  
 21819  func init() {
 21820  	t["DeleteDirectoryInGuestRequestType"] = reflect.TypeOf((*DeleteDirectoryInGuestRequestType)(nil)).Elem()
 21821  }
 21822  
 21823  type DeleteDirectoryInGuestResponse struct {
 21824  }
 21825  
 21826  // The parameters of `DatastoreNamespaceManager.DeleteDirectory`.
 21827  type DeleteDirectoryRequestType struct {
 21828  	This ManagedObjectReference `xml:"_this" json:"-"`
 21829  	// The datacenter of the datastore path. Needs to be set
 21830  	// when making the call to VC; ignored when the call is
 21831  	// made to ESX.
 21832  	//
 21833  	// Required privileges: System.View
 21834  	//
 21835  	// Refers instance of `Datacenter`.
 21836  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21837  	// Stable vmfs path of the directory to delete.
 21838  	DatastorePath string `xml:"datastorePath" json:"datastorePath"`
 21839  }
 21840  
 21841  func init() {
 21842  	t["DeleteDirectoryRequestType"] = reflect.TypeOf((*DeleteDirectoryRequestType)(nil)).Elem()
 21843  }
 21844  
 21845  type DeleteDirectoryResponse struct {
 21846  }
 21847  
 21848  type DeleteFile DeleteFileRequestType
 21849  
 21850  func init() {
 21851  	t["DeleteFile"] = reflect.TypeOf((*DeleteFile)(nil)).Elem()
 21852  }
 21853  
 21854  type DeleteFileInGuest DeleteFileInGuestRequestType
 21855  
 21856  func init() {
 21857  	t["DeleteFileInGuest"] = reflect.TypeOf((*DeleteFileInGuest)(nil)).Elem()
 21858  }
 21859  
 21860  // The parameters of `GuestFileManager.DeleteFileInGuest`.
 21861  type DeleteFileInGuestRequestType struct {
 21862  	This ManagedObjectReference `xml:"_this" json:"-"`
 21863  	// Virtual Machine to perform the operation on.
 21864  	//
 21865  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21866  	//
 21867  	// Refers instance of `VirtualMachine`.
 21868  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21869  	// The guest authentication data. See
 21870  	// `GuestAuthentication`.
 21871  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21872  	// The complete path to the file or symbolic link to be deleted.
 21873  	FilePath string `xml:"filePath" json:"filePath"`
 21874  }
 21875  
 21876  func init() {
 21877  	t["DeleteFileInGuestRequestType"] = reflect.TypeOf((*DeleteFileInGuestRequestType)(nil)).Elem()
 21878  }
 21879  
 21880  type DeleteFileInGuestResponse struct {
 21881  }
 21882  
 21883  // The parameters of `HostDatastoreBrowser.DeleteFile`.
 21884  type DeleteFileRequestType struct {
 21885  	This          ManagedObjectReference `xml:"_this" json:"-"`
 21886  	DatastorePath string                 `xml:"datastorePath" json:"datastorePath"`
 21887  }
 21888  
 21889  func init() {
 21890  	t["DeleteFileRequestType"] = reflect.TypeOf((*DeleteFileRequestType)(nil)).Elem()
 21891  }
 21892  
 21893  type DeleteFileResponse struct {
 21894  }
 21895  
 21896  type DeleteHostSpecification DeleteHostSpecificationRequestType
 21897  
 21898  func init() {
 21899  	t["DeleteHostSpecification"] = reflect.TypeOf((*DeleteHostSpecification)(nil)).Elem()
 21900  }
 21901  
 21902  // The parameters of `HostSpecificationManager.DeleteHostSpecification`.
 21903  type DeleteHostSpecificationRequestType struct {
 21904  	This ManagedObjectReference `xml:"_this" json:"-"`
 21905  	// The specified host for which the specification will be
 21906  	// deleted.
 21907  	//
 21908  	// Refers instance of `HostSystem`.
 21909  	Host ManagedObjectReference `xml:"host" json:"host"`
 21910  }
 21911  
 21912  func init() {
 21913  	t["DeleteHostSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSpecificationRequestType)(nil)).Elem()
 21914  }
 21915  
 21916  type DeleteHostSpecificationResponse struct {
 21917  }
 21918  
 21919  type DeleteHostSubSpecification DeleteHostSubSpecificationRequestType
 21920  
 21921  func init() {
 21922  	t["DeleteHostSubSpecification"] = reflect.TypeOf((*DeleteHostSubSpecification)(nil)).Elem()
 21923  }
 21924  
 21925  // The parameters of `HostSpecificationManager.DeleteHostSubSpecification`.
 21926  type DeleteHostSubSpecificationRequestType struct {
 21927  	This ManagedObjectReference `xml:"_this" json:"-"`
 21928  	// The specified host for which the sub specification will be
 21929  	// deleted.
 21930  	//
 21931  	// Refers instance of `HostSystem`.
 21932  	Host ManagedObjectReference `xml:"host" json:"host"`
 21933  	// The name of the host sub specification to be deleted.
 21934  	SubSpecName string `xml:"subSpecName" json:"subSpecName"`
 21935  }
 21936  
 21937  func init() {
 21938  	t["DeleteHostSubSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSubSpecificationRequestType)(nil)).Elem()
 21939  }
 21940  
 21941  type DeleteHostSubSpecificationResponse struct {
 21942  }
 21943  
 21944  type DeleteNvdimmBlockNamespacesRequestType struct {
 21945  	This ManagedObjectReference `xml:"_this" json:"-"`
 21946  }
 21947  
 21948  func init() {
 21949  	t["DeleteNvdimmBlockNamespacesRequestType"] = reflect.TypeOf((*DeleteNvdimmBlockNamespacesRequestType)(nil)).Elem()
 21950  }
 21951  
 21952  type DeleteNvdimmBlockNamespaces_Task DeleteNvdimmBlockNamespacesRequestType
 21953  
 21954  func init() {
 21955  	t["DeleteNvdimmBlockNamespaces_Task"] = reflect.TypeOf((*DeleteNvdimmBlockNamespaces_Task)(nil)).Elem()
 21956  }
 21957  
 21958  type DeleteNvdimmBlockNamespaces_TaskResponse struct {
 21959  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21960  }
 21961  
 21962  // The parameters of `HostNvdimmSystem.DeleteNvdimmNamespace_Task`.
 21963  type DeleteNvdimmNamespaceRequestType struct {
 21964  	This ManagedObjectReference `xml:"_this" json:"-"`
 21965  	// Details of namespace to be deleted.
 21966  	DeleteSpec NvdimmNamespaceDeleteSpec `xml:"deleteSpec" json:"deleteSpec"`
 21967  }
 21968  
 21969  func init() {
 21970  	t["DeleteNvdimmNamespaceRequestType"] = reflect.TypeOf((*DeleteNvdimmNamespaceRequestType)(nil)).Elem()
 21971  }
 21972  
 21973  type DeleteNvdimmNamespace_Task DeleteNvdimmNamespaceRequestType
 21974  
 21975  func init() {
 21976  	t["DeleteNvdimmNamespace_Task"] = reflect.TypeOf((*DeleteNvdimmNamespace_Task)(nil)).Elem()
 21977  }
 21978  
 21979  type DeleteNvdimmNamespace_TaskResponse struct {
 21980  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21981  }
 21982  
 21983  type DeleteRegistryKeyInGuest DeleteRegistryKeyInGuestRequestType
 21984  
 21985  func init() {
 21986  	t["DeleteRegistryKeyInGuest"] = reflect.TypeOf((*DeleteRegistryKeyInGuest)(nil)).Elem()
 21987  }
 21988  
 21989  // The parameters of `GuestWindowsRegistryManager.DeleteRegistryKeyInGuest`.
 21990  type DeleteRegistryKeyInGuestRequestType struct {
 21991  	This ManagedObjectReference `xml:"_this" json:"-"`
 21992  	// Virtual machine to perform the operation on.
 21993  	//
 21994  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21995  	//
 21996  	// Refers instance of `VirtualMachine`.
 21997  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21998  	// The guest authentication data.
 21999  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 22000  	// The path to the registry key to be deleted.
 22001  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 22002  	// If true, the key is deleted along with any subkeys (if
 22003  	// present). Otherwise, it shall only delete the key if it
 22004  	// has no subkeys.
 22005  	Recursive bool `xml:"recursive" json:"recursive"`
 22006  }
 22007  
 22008  func init() {
 22009  	t["DeleteRegistryKeyInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryKeyInGuestRequestType)(nil)).Elem()
 22010  }
 22011  
 22012  type DeleteRegistryKeyInGuestResponse struct {
 22013  }
 22014  
 22015  type DeleteRegistryValueInGuest DeleteRegistryValueInGuestRequestType
 22016  
 22017  func init() {
 22018  	t["DeleteRegistryValueInGuest"] = reflect.TypeOf((*DeleteRegistryValueInGuest)(nil)).Elem()
 22019  }
 22020  
 22021  // The parameters of `GuestWindowsRegistryManager.DeleteRegistryValueInGuest`.
 22022  type DeleteRegistryValueInGuestRequestType struct {
 22023  	This ManagedObjectReference `xml:"_this" json:"-"`
 22024  	// Virtual machine to perform the operation on.
 22025  	//
 22026  	// Required privileges: VirtualMachine.GuestOperations.Modify
 22027  	//
 22028  	// Refers instance of `VirtualMachine`.
 22029  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 22030  	// The guest authentication data.
 22031  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 22032  	// The registry value name to be deleted.
 22033  	// The Value "name" (specified in
 22034  	// `GuestRegValueNameSpec`)
 22035  	// can be empty. If "name" is empty, it deletes the value
 22036  	// for the unnamed or default value of the given key.
 22037  	ValueName GuestRegValueNameSpec `xml:"valueName" json:"valueName"`
 22038  }
 22039  
 22040  func init() {
 22041  	t["DeleteRegistryValueInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryValueInGuestRequestType)(nil)).Elem()
 22042  }
 22043  
 22044  type DeleteRegistryValueInGuestResponse struct {
 22045  }
 22046  
 22047  type DeleteScsiLunState DeleteScsiLunStateRequestType
 22048  
 22049  func init() {
 22050  	t["DeleteScsiLunState"] = reflect.TypeOf((*DeleteScsiLunState)(nil)).Elem()
 22051  }
 22052  
 22053  // The parameters of `HostStorageSystem.DeleteScsiLunState`.
 22054  type DeleteScsiLunStateRequestType struct {
 22055  	This ManagedObjectReference `xml:"_this" json:"-"`
 22056  	// The 'canonicalName' of the ScsiLun
 22057  	// whose state needs to be deleted.
 22058  	LunCanonicalName string `xml:"lunCanonicalName" json:"lunCanonicalName"`
 22059  }
 22060  
 22061  func init() {
 22062  	t["DeleteScsiLunStateRequestType"] = reflect.TypeOf((*DeleteScsiLunStateRequestType)(nil)).Elem()
 22063  }
 22064  
 22065  type DeleteScsiLunStateResponse struct {
 22066  }
 22067  
 22068  // The parameters of `VcenterVStorageObjectManager.DeleteSnapshot_Task`.
 22069  type DeleteSnapshotRequestType struct {
 22070  	This ManagedObjectReference `xml:"_this" json:"-"`
 22071  	// The ID of the virtual storage object.
 22072  	Id ID `xml:"id" json:"id"`
 22073  	// The datastore where the source virtual storage object
 22074  	// is located.
 22075  	//
 22076  	// Refers instance of `Datastore`.
 22077  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 22078  	// The ID of the snapshot of a virtual storage object.
 22079  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 22080  }
 22081  
 22082  func init() {
 22083  	t["DeleteSnapshotRequestType"] = reflect.TypeOf((*DeleteSnapshotRequestType)(nil)).Elem()
 22084  }
 22085  
 22086  type DeleteSnapshot_Task DeleteSnapshotRequestType
 22087  
 22088  func init() {
 22089  	t["DeleteSnapshot_Task"] = reflect.TypeOf((*DeleteSnapshot_Task)(nil)).Elem()
 22090  }
 22091  
 22092  type DeleteSnapshot_TaskResponse struct {
 22093  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22094  }
 22095  
 22096  // The parameters of `VcenterVStorageObjectManager.DeleteVStorageObjectEx_Task`.
 22097  type DeleteVStorageObjectExRequestType struct {
 22098  	This ManagedObjectReference `xml:"_this" json:"-"`
 22099  	// The ID of the virtual storage object to be deleted.
 22100  	Id ID `xml:"id" json:"id"`
 22101  	// The datastore where the virtual storage object
 22102  	// is located.
 22103  	//
 22104  	// Refers instance of `Datastore`.
 22105  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 22106  }
 22107  
 22108  func init() {
 22109  	t["DeleteVStorageObjectExRequestType"] = reflect.TypeOf((*DeleteVStorageObjectExRequestType)(nil)).Elem()
 22110  	minAPIVersionForType["DeleteVStorageObjectExRequestType"] = "7.0.2.0"
 22111  }
 22112  
 22113  type DeleteVStorageObjectEx_Task DeleteVStorageObjectExRequestType
 22114  
 22115  func init() {
 22116  	t["DeleteVStorageObjectEx_Task"] = reflect.TypeOf((*DeleteVStorageObjectEx_Task)(nil)).Elem()
 22117  }
 22118  
 22119  type DeleteVStorageObjectEx_TaskResponse struct {
 22120  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22121  }
 22122  
 22123  // The parameters of `VcenterVStorageObjectManager.DeleteVStorageObject_Task`.
 22124  type DeleteVStorageObjectRequestType struct {
 22125  	This ManagedObjectReference `xml:"_this" json:"-"`
 22126  	// The ID of the virtual storage object to be deleted.
 22127  	Id ID `xml:"id" json:"id"`
 22128  	// The datastore where the virtual storage object
 22129  	// is located.
 22130  	//
 22131  	// Refers instance of `Datastore`.
 22132  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 22133  }
 22134  
 22135  func init() {
 22136  	t["DeleteVStorageObjectRequestType"] = reflect.TypeOf((*DeleteVStorageObjectRequestType)(nil)).Elem()
 22137  }
 22138  
 22139  type DeleteVStorageObject_Task DeleteVStorageObjectRequestType
 22140  
 22141  func init() {
 22142  	t["DeleteVStorageObject_Task"] = reflect.TypeOf((*DeleteVStorageObject_Task)(nil)).Elem()
 22143  }
 22144  
 22145  type DeleteVStorageObject_TaskResponse struct {
 22146  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22147  }
 22148  
 22149  type DeleteVffsVolumeState DeleteVffsVolumeStateRequestType
 22150  
 22151  func init() {
 22152  	t["DeleteVffsVolumeState"] = reflect.TypeOf((*DeleteVffsVolumeState)(nil)).Elem()
 22153  }
 22154  
 22155  // The parameters of `HostStorageSystem.DeleteVffsVolumeState`.
 22156  type DeleteVffsVolumeStateRequestType struct {
 22157  	This ManagedObjectReference `xml:"_this" json:"-"`
 22158  	// The VFFS UUID.
 22159  	VffsUuid string `xml:"vffsUuid" json:"vffsUuid"`
 22160  }
 22161  
 22162  func init() {
 22163  	t["DeleteVffsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVffsVolumeStateRequestType)(nil)).Elem()
 22164  }
 22165  
 22166  type DeleteVffsVolumeStateResponse struct {
 22167  }
 22168  
 22169  // The parameters of `VirtualDiskManager.DeleteVirtualDisk_Task`.
 22170  type DeleteVirtualDiskRequestType struct {
 22171  	This ManagedObjectReference `xml:"_this" json:"-"`
 22172  	// The name of the disk, either a datastore path or a URL
 22173  	// referring to the virtual disk to be deleted.
 22174  	Name string `xml:"name" json:"name"`
 22175  	// If <code>name</code> is a datastore path, the datacenter for
 22176  	// that datastore path. Not needed when invoked directly on ESX.
 22177  	// If not specified on a call to VirtualCenter,
 22178  	// <code>name</code> must be a URL.
 22179  	//
 22180  	// Refers instance of `Datacenter`.
 22181  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 22182  }
 22183  
 22184  func init() {
 22185  	t["DeleteVirtualDiskRequestType"] = reflect.TypeOf((*DeleteVirtualDiskRequestType)(nil)).Elem()
 22186  }
 22187  
 22188  type DeleteVirtualDisk_Task DeleteVirtualDiskRequestType
 22189  
 22190  func init() {
 22191  	t["DeleteVirtualDisk_Task"] = reflect.TypeOf((*DeleteVirtualDisk_Task)(nil)).Elem()
 22192  }
 22193  
 22194  type DeleteVirtualDisk_TaskResponse struct {
 22195  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22196  }
 22197  
 22198  type DeleteVmfsVolumeState DeleteVmfsVolumeStateRequestType
 22199  
 22200  func init() {
 22201  	t["DeleteVmfsVolumeState"] = reflect.TypeOf((*DeleteVmfsVolumeState)(nil)).Elem()
 22202  }
 22203  
 22204  // The parameters of `HostStorageSystem.DeleteVmfsVolumeState`.
 22205  type DeleteVmfsVolumeStateRequestType struct {
 22206  	This ManagedObjectReference `xml:"_this" json:"-"`
 22207  	// The VMFS UUID.
 22208  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 22209  }
 22210  
 22211  func init() {
 22212  	t["DeleteVmfsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVmfsVolumeStateRequestType)(nil)).Elem()
 22213  }
 22214  
 22215  type DeleteVmfsVolumeStateResponse struct {
 22216  }
 22217  
 22218  type DeleteVsanObjects DeleteVsanObjectsRequestType
 22219  
 22220  func init() {
 22221  	t["DeleteVsanObjects"] = reflect.TypeOf((*DeleteVsanObjects)(nil)).Elem()
 22222  }
 22223  
 22224  // The parameters of `HostVsanInternalSystem.DeleteVsanObjects`.
 22225  type DeleteVsanObjectsRequestType struct {
 22226  	This ManagedObjectReference `xml:"_this" json:"-"`
 22227  	// List of object UUIDs to be deleted.
 22228  	Uuids []string `xml:"uuids" json:"uuids"`
 22229  	// Optional force delete.
 22230  	Force *bool `xml:"force" json:"force,omitempty"`
 22231  }
 22232  
 22233  func init() {
 22234  	t["DeleteVsanObjectsRequestType"] = reflect.TypeOf((*DeleteVsanObjectsRequestType)(nil)).Elem()
 22235  }
 22236  
 22237  type DeleteVsanObjectsResponse struct {
 22238  	Returnval []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"returnval" json:"returnval"`
 22239  }
 22240  
 22241  // Thrown on an attempt to use an unsupported delta disk format.
 22242  type DeltaDiskFormatNotSupported struct {
 22243  	VmConfigFault
 22244  
 22245  	// The datastores which do not support the specified format.
 22246  	//
 22247  	// Refers instances of `Datastore`.
 22248  	Datastore []ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 22249  	// The format not supported.
 22250  	//
 22251  	// See `DeltaDiskFormat`.
 22252  	DeltaDiskFormat string `xml:"deltaDiskFormat" json:"deltaDiskFormat"`
 22253  }
 22254  
 22255  func init() {
 22256  	t["DeltaDiskFormatNotSupported"] = reflect.TypeOf((*DeltaDiskFormatNotSupported)(nil)).Elem()
 22257  }
 22258  
 22259  type DeltaDiskFormatNotSupportedFault DeltaDiskFormatNotSupported
 22260  
 22261  func init() {
 22262  	t["DeltaDiskFormatNotSupportedFault"] = reflect.TypeOf((*DeltaDiskFormatNotSupportedFault)(nil)).Elem()
 22263  }
 22264  
 22265  // Static strings used for describing an object or property.
 22266  type Description struct {
 22267  	DynamicData
 22268  
 22269  	// Display label.
 22270  	Label string `xml:"label" json:"label"`
 22271  	// Summary description.
 22272  	Summary string `xml:"summary" json:"summary"`
 22273  }
 22274  
 22275  func init() {
 22276  	t["Description"] = reflect.TypeOf((*Description)(nil)).Elem()
 22277  }
 22278  
 22279  type DeselectVnic DeselectVnicRequestType
 22280  
 22281  func init() {
 22282  	t["DeselectVnic"] = reflect.TypeOf((*DeselectVnic)(nil)).Elem()
 22283  }
 22284  
 22285  type DeselectVnicForNicType DeselectVnicForNicTypeRequestType
 22286  
 22287  func init() {
 22288  	t["DeselectVnicForNicType"] = reflect.TypeOf((*DeselectVnicForNicType)(nil)).Elem()
 22289  }
 22290  
 22291  // The parameters of `HostVirtualNicManager.DeselectVnicForNicType`.
 22292  type DeselectVnicForNicTypeRequestType struct {
 22293  	This ManagedObjectReference `xml:"_this" json:"-"`
 22294  	// The type of VirtualNic that would be deselected
 22295  	NicType string `xml:"nicType" json:"nicType"`
 22296  	// The device that uniquely identifies the VirtualNic.
 22297  	Device string `xml:"device" json:"device"`
 22298  }
 22299  
 22300  func init() {
 22301  	t["DeselectVnicForNicTypeRequestType"] = reflect.TypeOf((*DeselectVnicForNicTypeRequestType)(nil)).Elem()
 22302  }
 22303  
 22304  type DeselectVnicForNicTypeResponse struct {
 22305  }
 22306  
 22307  type DeselectVnicRequestType struct {
 22308  	This ManagedObjectReference `xml:"_this" json:"-"`
 22309  }
 22310  
 22311  func init() {
 22312  	t["DeselectVnicRequestType"] = reflect.TypeOf((*DeselectVnicRequestType)(nil)).Elem()
 22313  }
 22314  
 22315  type DeselectVnicResponse struct {
 22316  }
 22317  
 22318  // Desired Software Spec is defined as combination of base-image and add-on
 22319  // component which user wants to install on ESX host or cluster.
 22320  type DesiredSoftwareSpec struct {
 22321  	DynamicData
 22322  
 22323  	// Describes a specific base-image spec for the ESX host.
 22324  	BaseImageSpec DesiredSoftwareSpecBaseImageSpec `xml:"baseImageSpec" json:"baseImageSpec"`
 22325  	// Vendor add-on info for desired software spec.
 22326  	VendorAddOnSpec *DesiredSoftwareSpecVendorAddOnSpec `xml:"vendorAddOnSpec,omitempty" json:"vendorAddOnSpec,omitempty"`
 22327  	// Additional components which should be part of the desired software
 22328  	// spec.
 22329  	//
 22330  	// These components would override the components present in
 22331  	// `DesiredSoftwareSpec.vendorAddOnSpec` and `DesiredSoftwareSpec.baseImageSpec`.
 22332  	Components []DesiredSoftwareSpecComponentSpec `xml:"components,omitempty" json:"components,omitempty" vim:"7.0.2.0"`
 22333  	// Components which should not be part of the desired software
 22334  	// spec.
 22335  	//
 22336  	// These components are not applied on the host.
 22337  	RemovedComponents []string `xml:"removedComponents,omitempty" json:"removedComponents,omitempty" vim:"8.0.3.0"`
 22338  }
 22339  
 22340  func init() {
 22341  	t["DesiredSoftwareSpec"] = reflect.TypeOf((*DesiredSoftwareSpec)(nil)).Elem()
 22342  }
 22343  
 22344  // Describes base-image spec for the ESX host.
 22345  type DesiredSoftwareSpecBaseImageSpec struct {
 22346  	DynamicData
 22347  
 22348  	// Version of the base-image.
 22349  	Version string `xml:"version" json:"version"`
 22350  }
 22351  
 22352  func init() {
 22353  	t["DesiredSoftwareSpecBaseImageSpec"] = reflect.TypeOf((*DesiredSoftwareSpecBaseImageSpec)(nil)).Elem()
 22354  }
 22355  
 22356  // Component information for the ESX host.
 22357  type DesiredSoftwareSpecComponentSpec struct {
 22358  	DynamicData
 22359  
 22360  	// Name of the component.
 22361  	Name string `xml:"name" json:"name"`
 22362  	// Version of the component.
 22363  	//
 22364  	// This field is required in the
 22365  	// current release.
 22366  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 22367  }
 22368  
 22369  func init() {
 22370  	t["DesiredSoftwareSpecComponentSpec"] = reflect.TypeOf((*DesiredSoftwareSpecComponentSpec)(nil)).Elem()
 22371  	minAPIVersionForType["DesiredSoftwareSpecComponentSpec"] = "7.0.2.0"
 22372  }
 22373  
 22374  // Vendor specific add-on info for ESX host.
 22375  type DesiredSoftwareSpecVendorAddOnSpec struct {
 22376  	DynamicData
 22377  
 22378  	// Vendor add-on name.
 22379  	Name string `xml:"name" json:"name"`
 22380  	// Vendor add-on version.
 22381  	Version string `xml:"version" json:"version"`
 22382  }
 22383  
 22384  func init() {
 22385  	t["DesiredSoftwareSpecVendorAddOnSpec"] = reflect.TypeOf((*DesiredSoftwareSpecVendorAddOnSpec)(nil)).Elem()
 22386  }
 22387  
 22388  // For one of the networks that the virtual machine is using, the corresponding
 22389  // switch on the host is full.
 22390  //
 22391  // If returned as part of migration checks, this is an error
 22392  // if either of the following is true, a warning otherwise:
 22393  //   - The virtual ethernet card device backing is a distributed virtual switch
 22394  //   - The virtual ethernet card device backing is a standard network and the
 22395  //     the device is connected
 22396  type DestinationSwitchFull struct {
 22397  	CannotAccessNetwork
 22398  }
 22399  
 22400  func init() {
 22401  	t["DestinationSwitchFull"] = reflect.TypeOf((*DestinationSwitchFull)(nil)).Elem()
 22402  }
 22403  
 22404  type DestinationSwitchFullFault DestinationSwitchFull
 22405  
 22406  func init() {
 22407  	t["DestinationSwitchFullFault"] = reflect.TypeOf((*DestinationSwitchFullFault)(nil)).Elem()
 22408  }
 22409  
 22410  // Fault thrown for the case that an attempt is made to move a host which
 22411  // is enabled for VSAN into a `ClusterComputeResource` which is
 22412  // disabled for VSAN.
 22413  //
 22414  // See also `CannotMoveVsanEnabledHost`.
 22415  type DestinationVsanDisabled struct {
 22416  	CannotMoveVsanEnabledHost
 22417  
 22418  	// Name of the disabled destination `ClusterComputeResource`.
 22419  	//
 22420  	// See also `ManagedEntity.name`.
 22421  	DestinationCluster string `xml:"destinationCluster" json:"destinationCluster"`
 22422  }
 22423  
 22424  func init() {
 22425  	t["DestinationVsanDisabled"] = reflect.TypeOf((*DestinationVsanDisabled)(nil)).Elem()
 22426  }
 22427  
 22428  type DestinationVsanDisabledFault DestinationVsanDisabled
 22429  
 22430  func init() {
 22431  	t["DestinationVsanDisabledFault"] = reflect.TypeOf((*DestinationVsanDisabledFault)(nil)).Elem()
 22432  }
 22433  
 22434  type DestroyChildren DestroyChildrenRequestType
 22435  
 22436  func init() {
 22437  	t["DestroyChildren"] = reflect.TypeOf((*DestroyChildren)(nil)).Elem()
 22438  }
 22439  
 22440  type DestroyChildrenRequestType struct {
 22441  	This ManagedObjectReference `xml:"_this" json:"-"`
 22442  }
 22443  
 22444  func init() {
 22445  	t["DestroyChildrenRequestType"] = reflect.TypeOf((*DestroyChildrenRequestType)(nil)).Elem()
 22446  }
 22447  
 22448  type DestroyChildrenResponse struct {
 22449  }
 22450  
 22451  type DestroyCollector DestroyCollectorRequestType
 22452  
 22453  func init() {
 22454  	t["DestroyCollector"] = reflect.TypeOf((*DestroyCollector)(nil)).Elem()
 22455  }
 22456  
 22457  type DestroyCollectorRequestType struct {
 22458  	This ManagedObjectReference `xml:"_this" json:"-"`
 22459  }
 22460  
 22461  func init() {
 22462  	t["DestroyCollectorRequestType"] = reflect.TypeOf((*DestroyCollectorRequestType)(nil)).Elem()
 22463  }
 22464  
 22465  type DestroyCollectorResponse struct {
 22466  }
 22467  
 22468  type DestroyDatastore DestroyDatastoreRequestType
 22469  
 22470  func init() {
 22471  	t["DestroyDatastore"] = reflect.TypeOf((*DestroyDatastore)(nil)).Elem()
 22472  }
 22473  
 22474  type DestroyDatastoreRequestType struct {
 22475  	This ManagedObjectReference `xml:"_this" json:"-"`
 22476  }
 22477  
 22478  func init() {
 22479  	t["DestroyDatastoreRequestType"] = reflect.TypeOf((*DestroyDatastoreRequestType)(nil)).Elem()
 22480  }
 22481  
 22482  type DestroyDatastoreResponse struct {
 22483  }
 22484  
 22485  type DestroyIpPool DestroyIpPoolRequestType
 22486  
 22487  func init() {
 22488  	t["DestroyIpPool"] = reflect.TypeOf((*DestroyIpPool)(nil)).Elem()
 22489  }
 22490  
 22491  // The parameters of `IpPoolManager.DestroyIpPool`.
 22492  type DestroyIpPoolRequestType struct {
 22493  	This ManagedObjectReference `xml:"_this" json:"-"`
 22494  	// The datacenter on which to find the pool
 22495  	//
 22496  	// Required privileges: Datacenter.IpPoolConfig
 22497  	//
 22498  	// Refers instance of `Datacenter`.
 22499  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 22500  	// The unique ID of the pool
 22501  	Id int32 `xml:"id" json:"id"`
 22502  	// If true, the pool will be destroyed even if it is in use
 22503  	Force bool `xml:"force" json:"force"`
 22504  }
 22505  
 22506  func init() {
 22507  	t["DestroyIpPoolRequestType"] = reflect.TypeOf((*DestroyIpPoolRequestType)(nil)).Elem()
 22508  }
 22509  
 22510  type DestroyIpPoolResponse struct {
 22511  }
 22512  
 22513  type DestroyNetwork DestroyNetworkRequestType
 22514  
 22515  func init() {
 22516  	t["DestroyNetwork"] = reflect.TypeOf((*DestroyNetwork)(nil)).Elem()
 22517  }
 22518  
 22519  type DestroyNetworkRequestType struct {
 22520  	This ManagedObjectReference `xml:"_this" json:"-"`
 22521  }
 22522  
 22523  func init() {
 22524  	t["DestroyNetworkRequestType"] = reflect.TypeOf((*DestroyNetworkRequestType)(nil)).Elem()
 22525  }
 22526  
 22527  type DestroyNetworkResponse struct {
 22528  }
 22529  
 22530  type DestroyProfile DestroyProfileRequestType
 22531  
 22532  func init() {
 22533  	t["DestroyProfile"] = reflect.TypeOf((*DestroyProfile)(nil)).Elem()
 22534  }
 22535  
 22536  type DestroyProfileRequestType struct {
 22537  	This ManagedObjectReference `xml:"_this" json:"-"`
 22538  }
 22539  
 22540  func init() {
 22541  	t["DestroyProfileRequestType"] = reflect.TypeOf((*DestroyProfileRequestType)(nil)).Elem()
 22542  }
 22543  
 22544  type DestroyProfileResponse struct {
 22545  }
 22546  
 22547  type DestroyPropertyCollector DestroyPropertyCollectorRequestType
 22548  
 22549  func init() {
 22550  	t["DestroyPropertyCollector"] = reflect.TypeOf((*DestroyPropertyCollector)(nil)).Elem()
 22551  }
 22552  
 22553  type DestroyPropertyCollectorRequestType struct {
 22554  	This ManagedObjectReference `xml:"_this" json:"-"`
 22555  }
 22556  
 22557  func init() {
 22558  	t["DestroyPropertyCollectorRequestType"] = reflect.TypeOf((*DestroyPropertyCollectorRequestType)(nil)).Elem()
 22559  }
 22560  
 22561  type DestroyPropertyCollectorResponse struct {
 22562  }
 22563  
 22564  type DestroyPropertyFilter DestroyPropertyFilterRequestType
 22565  
 22566  func init() {
 22567  	t["DestroyPropertyFilter"] = reflect.TypeOf((*DestroyPropertyFilter)(nil)).Elem()
 22568  }
 22569  
 22570  type DestroyPropertyFilterRequestType struct {
 22571  	This ManagedObjectReference `xml:"_this" json:"-"`
 22572  }
 22573  
 22574  func init() {
 22575  	t["DestroyPropertyFilterRequestType"] = reflect.TypeOf((*DestroyPropertyFilterRequestType)(nil)).Elem()
 22576  }
 22577  
 22578  type DestroyPropertyFilterResponse struct {
 22579  }
 22580  
 22581  type DestroyRequestType struct {
 22582  	This ManagedObjectReference `xml:"_this" json:"-"`
 22583  }
 22584  
 22585  func init() {
 22586  	t["DestroyRequestType"] = reflect.TypeOf((*DestroyRequestType)(nil)).Elem()
 22587  }
 22588  
 22589  type DestroyVffs DestroyVffsRequestType
 22590  
 22591  func init() {
 22592  	t["DestroyVffs"] = reflect.TypeOf((*DestroyVffs)(nil)).Elem()
 22593  }
 22594  
 22595  // The parameters of `HostStorageSystem.DestroyVffs`.
 22596  type DestroyVffsRequestType struct {
 22597  	This ManagedObjectReference `xml:"_this" json:"-"`
 22598  	// The path of the VFFS to destroy. See `FileSystemMountInfo`.
 22599  	VffsPath string `xml:"vffsPath" json:"vffsPath"`
 22600  }
 22601  
 22602  func init() {
 22603  	t["DestroyVffsRequestType"] = reflect.TypeOf((*DestroyVffsRequestType)(nil)).Elem()
 22604  }
 22605  
 22606  type DestroyVffsResponse struct {
 22607  }
 22608  
 22609  type DestroyView DestroyViewRequestType
 22610  
 22611  func init() {
 22612  	t["DestroyView"] = reflect.TypeOf((*DestroyView)(nil)).Elem()
 22613  }
 22614  
 22615  type DestroyViewRequestType struct {
 22616  	This ManagedObjectReference `xml:"_this" json:"-"`
 22617  }
 22618  
 22619  func init() {
 22620  	t["DestroyViewRequestType"] = reflect.TypeOf((*DestroyViewRequestType)(nil)).Elem()
 22621  }
 22622  
 22623  type DestroyViewResponse struct {
 22624  }
 22625  
 22626  type Destroy_Task DestroyRequestType
 22627  
 22628  func init() {
 22629  	t["Destroy_Task"] = reflect.TypeOf((*Destroy_Task)(nil)).Elem()
 22630  }
 22631  
 22632  type Destroy_TaskResponse struct {
 22633  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22634  }
 22635  
 22636  // The parameters of `VirtualMachine.DetachDisk_Task`.
 22637  type DetachDiskRequestType struct {
 22638  	This ManagedObjectReference `xml:"_this" json:"-"`
 22639  	// The ID of the virtual disk to be operated. See
 22640  	// `ID`
 22641  	DiskId ID `xml:"diskId" json:"diskId"`
 22642  }
 22643  
 22644  func init() {
 22645  	t["DetachDiskRequestType"] = reflect.TypeOf((*DetachDiskRequestType)(nil)).Elem()
 22646  }
 22647  
 22648  type DetachDisk_Task DetachDiskRequestType
 22649  
 22650  func init() {
 22651  	t["DetachDisk_Task"] = reflect.TypeOf((*DetachDisk_Task)(nil)).Elem()
 22652  }
 22653  
 22654  type DetachDisk_TaskResponse struct {
 22655  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22656  }
 22657  
 22658  type DetachScsiLun DetachScsiLunRequestType
 22659  
 22660  func init() {
 22661  	t["DetachScsiLun"] = reflect.TypeOf((*DetachScsiLun)(nil)).Elem()
 22662  }
 22663  
 22664  // The parameters of `HostStorageSystem.DetachScsiLunEx_Task`.
 22665  type DetachScsiLunExRequestType struct {
 22666  	This ManagedObjectReference `xml:"_this" json:"-"`
 22667  	// each element specifies UUID of LUN to be detached.
 22668  	LunUuid []string `xml:"lunUuid" json:"lunUuid"`
 22669  }
 22670  
 22671  func init() {
 22672  	t["DetachScsiLunExRequestType"] = reflect.TypeOf((*DetachScsiLunExRequestType)(nil)).Elem()
 22673  }
 22674  
 22675  type DetachScsiLunEx_Task DetachScsiLunExRequestType
 22676  
 22677  func init() {
 22678  	t["DetachScsiLunEx_Task"] = reflect.TypeOf((*DetachScsiLunEx_Task)(nil)).Elem()
 22679  }
 22680  
 22681  type DetachScsiLunEx_TaskResponse struct {
 22682  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22683  }
 22684  
 22685  // The parameters of `HostStorageSystem.DetachScsiLun`.
 22686  type DetachScsiLunRequestType struct {
 22687  	This ManagedObjectReference `xml:"_this" json:"-"`
 22688  	// The uuid of the ScsiLun device to detach.
 22689  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 22690  }
 22691  
 22692  func init() {
 22693  	t["DetachScsiLunRequestType"] = reflect.TypeOf((*DetachScsiLunRequestType)(nil)).Elem()
 22694  }
 22695  
 22696  type DetachScsiLunResponse struct {
 22697  }
 22698  
 22699  type DetachTagFromVStorageObject DetachTagFromVStorageObjectRequestType
 22700  
 22701  func init() {
 22702  	t["DetachTagFromVStorageObject"] = reflect.TypeOf((*DetachTagFromVStorageObject)(nil)).Elem()
 22703  }
 22704  
 22705  // The parameters of `VcenterVStorageObjectManager.DetachTagFromVStorageObject`.
 22706  type DetachTagFromVStorageObjectRequestType struct {
 22707  	This ManagedObjectReference `xml:"_this" json:"-"`
 22708  	// The identifier(ID) of the virtual storage object.
 22709  	Id ID `xml:"id" json:"id"`
 22710  	// The category to which the tag belongs.
 22711  	Category string `xml:"category" json:"category"`
 22712  	// The tag which has to be disassociated with the virtual storage
 22713  	// object.
 22714  	Tag string `xml:"tag" json:"tag"`
 22715  }
 22716  
 22717  func init() {
 22718  	t["DetachTagFromVStorageObjectRequestType"] = reflect.TypeOf((*DetachTagFromVStorageObjectRequestType)(nil)).Elem()
 22719  }
 22720  
 22721  type DetachTagFromVStorageObjectResponse struct {
 22722  }
 22723  
 22724  // Specification used to create a host device backed virtual disk
 22725  type DeviceBackedVirtualDiskSpec struct {
 22726  	VirtualDiskSpec
 22727  
 22728  	// The deviceName of the backing device
 22729  	//
 22730  	// See also `ScsiLun`.
 22731  	Device string `xml:"device" json:"device"`
 22732  }
 22733  
 22734  func init() {
 22735  	t["DeviceBackedVirtualDiskSpec"] = reflect.TypeOf((*DeviceBackedVirtualDiskSpec)(nil)).Elem()
 22736  }
 22737  
 22738  // The device is backed by a backing type which is not supported
 22739  // for this particular device.
 22740  //
 22741  // If this fault is returned as a subfault of
 22742  // DisallowedMigrationDeviceAttached, this indicates that although
 22743  // this backing for the device may be supported on the destination
 22744  // host, the hosts do not support the requested migration of the
 22745  // virtual machine while using this device with this backing.
 22746  type DeviceBackingNotSupported struct {
 22747  	DeviceNotSupported
 22748  
 22749  	// The type of the backing.
 22750  	Backing string `xml:"backing" json:"backing"`
 22751  }
 22752  
 22753  func init() {
 22754  	t["DeviceBackingNotSupported"] = reflect.TypeOf((*DeviceBackingNotSupported)(nil)).Elem()
 22755  }
 22756  
 22757  type DeviceBackingNotSupportedFault BaseDeviceBackingNotSupported
 22758  
 22759  func init() {
 22760  	t["DeviceBackingNotSupportedFault"] = reflect.TypeOf((*DeviceBackingNotSupportedFault)(nil)).Elem()
 22761  }
 22762  
 22763  // The device in question is supported, but the device-controller
 22764  // combination is not supported.
 22765  //
 22766  // If this fault is returned as a subfault of
 22767  // DisallowedMigrationDeviceAttached, this indicates that although
 22768  // this device-controller combination may be supported on the
 22769  // destination host, the hosts do not support the requested migration
 22770  // of the virtual machine while using this device and controller.
 22771  type DeviceControllerNotSupported struct {
 22772  	DeviceNotSupported
 22773  
 22774  	// The type of the controller.
 22775  	Controller string `xml:"controller" json:"controller"`
 22776  }
 22777  
 22778  func init() {
 22779  	t["DeviceControllerNotSupported"] = reflect.TypeOf((*DeviceControllerNotSupported)(nil)).Elem()
 22780  }
 22781  
 22782  type DeviceControllerNotSupportedFault DeviceControllerNotSupported
 22783  
 22784  func init() {
 22785  	t["DeviceControllerNotSupportedFault"] = reflect.TypeOf((*DeviceControllerNotSupportedFault)(nil)).Elem()
 22786  }
 22787  
 22788  // Identifier of a replication device group.
 22789  type DeviceGroupId struct {
 22790  	DynamicData
 22791  
 22792  	// ID of the device group.
 22793  	Id string `xml:"id" json:"id"`
 22794  }
 22795  
 22796  func init() {
 22797  	t["DeviceGroupId"] = reflect.TypeOf((*DeviceGroupId)(nil)).Elem()
 22798  }
 22799  
 22800  // A DeviceHotPlugNotSupported exception is thrown if the specified device
 22801  // cannot be hot-added or hot-removed from the virtual machine
 22802  // at this time.
 22803  type DeviceHotPlugNotSupported struct {
 22804  	InvalidDeviceSpec
 22805  }
 22806  
 22807  func init() {
 22808  	t["DeviceHotPlugNotSupported"] = reflect.TypeOf((*DeviceHotPlugNotSupported)(nil)).Elem()
 22809  }
 22810  
 22811  type DeviceHotPlugNotSupportedFault DeviceHotPlugNotSupported
 22812  
 22813  func init() {
 22814  	t["DeviceHotPlugNotSupportedFault"] = reflect.TypeOf((*DeviceHotPlugNotSupportedFault)(nil)).Elem()
 22815  }
 22816  
 22817  // A DeviceNotFound exception is thrown if
 22818  // a device to be edited or removed
 22819  // cannot be found.
 22820  //
 22821  // Most likely, the client incorrectly passed
 22822  // the device key.
 22823  type DeviceNotFound struct {
 22824  	InvalidDeviceSpec
 22825  }
 22826  
 22827  func init() {
 22828  	t["DeviceNotFound"] = reflect.TypeOf((*DeviceNotFound)(nil)).Elem()
 22829  }
 22830  
 22831  type DeviceNotFoundFault DeviceNotFound
 22832  
 22833  func init() {
 22834  	t["DeviceNotFoundFault"] = reflect.TypeOf((*DeviceNotFoundFault)(nil)).Elem()
 22835  }
 22836  
 22837  // The virtual machine uses a device type that is not supported on the
 22838  // host.
 22839  //
 22840  // If this fault is returned as a subfault of
 22841  // `DisallowedMigrationDeviceAttached`, this indicates that although
 22842  // this device may be supported on the destination host, the hosts do
 22843  // not support the requested migration of the virtual machine while
 22844  // using this device.
 22845  type DeviceNotSupported struct {
 22846  	VirtualHardwareCompatibilityIssue
 22847  
 22848  	// The label of the device.
 22849  	Device string `xml:"device" json:"device"`
 22850  	// The specific reason why the device is not supported.
 22851  	//
 22852  	// Values should come from `DeviceNotSupportedReason_enum`.
 22853  	// This might not be set if we're not sure of the reason, or
 22854  	// if this doesn't make sense in the context. For example,
 22855  	// in the `DisallowedMigrationDeviceAttached` context
 22856  	// we already know the problem.
 22857  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 22858  }
 22859  
 22860  func init() {
 22861  	t["DeviceNotSupported"] = reflect.TypeOf((*DeviceNotSupported)(nil)).Elem()
 22862  }
 22863  
 22864  type DeviceNotSupportedFault BaseDeviceNotSupported
 22865  
 22866  func init() {
 22867  	t["DeviceNotSupportedFault"] = reflect.TypeOf((*DeviceNotSupportedFault)(nil)).Elem()
 22868  }
 22869  
 22870  // A DeviceUnsupportedForVmPlatform exception is thrown if the specified device
 22871  // is not supported on the platform on which the virtual machine is being
 22872  // created/configured.
 22873  //
 22874  // For example, this exception might be thrown if a client
 22875  // incorrectly attempts to add a device supported only on ESX Server to a
 22876  // virtual machine on a hosted product.
 22877  type DeviceUnsupportedForVmPlatform struct {
 22878  	InvalidDeviceSpec
 22879  }
 22880  
 22881  func init() {
 22882  	t["DeviceUnsupportedForVmPlatform"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatform)(nil)).Elem()
 22883  }
 22884  
 22885  type DeviceUnsupportedForVmPlatformFault DeviceUnsupportedForVmPlatform
 22886  
 22887  func init() {
 22888  	t["DeviceUnsupportedForVmPlatformFault"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatformFault)(nil)).Elem()
 22889  }
 22890  
 22891  // A DeviceUnsupportedForVmVersion exception is thrown if a specific device
 22892  // is not supported for a given version of the virtual machine.
 22893  type DeviceUnsupportedForVmVersion struct {
 22894  	InvalidDeviceSpec
 22895  
 22896  	// The current version of the virtual machine.
 22897  	CurrentVersion string `xml:"currentVersion" json:"currentVersion"`
 22898  	// The minimum expected virtual mahcine version needed to
 22899  	// support this device.
 22900  	ExpectedVersion string `xml:"expectedVersion" json:"expectedVersion"`
 22901  }
 22902  
 22903  func init() {
 22904  	t["DeviceUnsupportedForVmVersion"] = reflect.TypeOf((*DeviceUnsupportedForVmVersion)(nil)).Elem()
 22905  }
 22906  
 22907  type DeviceUnsupportedForVmVersionFault DeviceUnsupportedForVmVersion
 22908  
 22909  func init() {
 22910  	t["DeviceUnsupportedForVmVersionFault"] = reflect.TypeOf((*DeviceUnsupportedForVmVersionFault)(nil)).Elem()
 22911  }
 22912  
 22913  type DiagnosticManagerAuditRecordResult struct {
 22914  	DynamicData
 22915  
 22916  	// Zero or more audit records returned.
 22917  	//
 22918  	// Each audit record is a UTF-8 string in RFC 5424 format. See RFC 5424,
 22919  	// page 8, for the ABNF grammar.
 22920  	//
 22921  	// The HOSTNAME and MSGID fields are set to "-", the structured data
 22922  	// contains the audit record parameters, no unstructured data will be
 22923  	// present, and each record is terminated with an ASCII LF (newline).
 22924  	Records []string `xml:"records,omitempty" json:"records,omitempty"`
 22925  	// The token to be used for subsequent read operations.
 22926  	//
 22927  	// The string is "opaque"; the format of this data changes over time.
 22928  	NextToken string `xml:"nextToken" json:"nextToken"`
 22929  }
 22930  
 22931  func init() {
 22932  	t["DiagnosticManagerAuditRecordResult"] = reflect.TypeOf((*DiagnosticManagerAuditRecordResult)(nil)).Elem()
 22933  	minAPIVersionForType["DiagnosticManagerAuditRecordResult"] = "7.0.3.0"
 22934  }
 22935  
 22936  // Describes a location of a diagnostic bundle and the server to which
 22937  // it belongs.
 22938  //
 22939  // This is a return type for the generateLogBundles operation.
 22940  type DiagnosticManagerBundleInfo struct {
 22941  	DynamicData
 22942  
 22943  	// The host to which this diagnostic bundle belongs.
 22944  	//
 22945  	// If this is for the default server, then it is not set.
 22946  	//
 22947  	// Refers instance of `HostSystem`.
 22948  	System *ManagedObjectReference `xml:"system,omitempty" json:"system,omitempty"`
 22949  	// The location from which the diagnostic bundle can be downloaded.
 22950  	//
 22951  	// The host part of the URL is returned as '\*' if the hostname to be used
 22952  	// is the name of the server to which the call was made. For example, if
 22953  	// the call is made to vcsrv1.domain1.com, and the bundle is available
 22954  	// for download from http://vcsrv1.domain1.com/diagnostics/bundle.zip,
 22955  	// the URL returned may be http:// \* /diagnostics/bundle.zip. The client
 22956  	// replaces the asterisk with the server name on which it invoked the
 22957  	// call.
 22958  	Url string `xml:"url" json:"url"`
 22959  }
 22960  
 22961  func init() {
 22962  	t["DiagnosticManagerBundleInfo"] = reflect.TypeOf((*DiagnosticManagerBundleInfo)(nil)).Elem()
 22963  }
 22964  
 22965  // Describes a log file that is available on a server.
 22966  type DiagnosticManagerLogDescriptor struct {
 22967  	DynamicData
 22968  
 22969  	// A key to identify the log file for browsing and download operations.
 22970  	Key string `xml:"key" json:"key"`
 22971  	// The filename of the log.
 22972  	FileName string `xml:"fileName" json:"fileName"`
 22973  	// The application that generated the log file.
 22974  	//
 22975  	// For more information on currently supported creators, see
 22976  	// `DiagnosticManagerLogCreator_enum`.
 22977  	Creator string `xml:"creator" json:"creator"`
 22978  	// Describes the format of the log file.
 22979  	//
 22980  	// For more information on currently supported formats, see
 22981  	// `DiagnosticManagerLogFormat_enum`.
 22982  	Format string `xml:"format" json:"format"`
 22983  	// Describes the mime-type of the returned file.
 22984  	//
 22985  	// Typical
 22986  	// mime-types include:
 22987  	//   - text/plain - for a plain log file
 22988  	MimeType string `xml:"mimeType" json:"mimeType"`
 22989  	// Localized description of log file.
 22990  	Info BaseDescription `xml:"info,typeattr" json:"info"`
 22991  }
 22992  
 22993  func init() {
 22994  	t["DiagnosticManagerLogDescriptor"] = reflect.TypeOf((*DiagnosticManagerLogDescriptor)(nil)).Elem()
 22995  }
 22996  
 22997  // A header that is returned with a set of log entries.
 22998  //
 22999  // This header describes where entries are located in the log file. Log
 23000  // files typically grow dynamically, so indexes based on line numbers may
 23001  // become inaccurate.
 23002  type DiagnosticManagerLogHeader struct {
 23003  	DynamicData
 23004  
 23005  	// The first line of this log segment.
 23006  	LineStart int32 `xml:"lineStart" json:"lineStart"`
 23007  	// The last line of this log segment.
 23008  	LineEnd int32 `xml:"lineEnd" json:"lineEnd"`
 23009  	// Log entries, listed by line, for this log segment.
 23010  	LineText []string `xml:"lineText,omitempty" json:"lineText,omitempty"`
 23011  }
 23012  
 23013  func init() {
 23014  	t["DiagnosticManagerLogHeader"] = reflect.TypeOf((*DiagnosticManagerLogHeader)(nil)).Elem()
 23015  }
 23016  
 23017  // The digest file of the specified virtual disk is not supported.
 23018  //
 23019  // Typically, this fault is returned as part of a parent fault like
 23020  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 23021  // virtual disk's digest file needs to be changed before fault tolerance can be
 23022  // enabled on the associated virtual machine.
 23023  type DigestNotSupported struct {
 23024  	DeviceNotSupported
 23025  }
 23026  
 23027  func init() {
 23028  	t["DigestNotSupported"] = reflect.TypeOf((*DigestNotSupported)(nil)).Elem()
 23029  }
 23030  
 23031  type DigestNotSupportedFault DigestNotSupported
 23032  
 23033  func init() {
 23034  	t["DigestNotSupportedFault"] = reflect.TypeOf((*DigestNotSupportedFault)(nil)).Elem()
 23035  }
 23036  
 23037  // Information about a DirectPath profile.
 23038  type DirectPathProfileInfo struct {
 23039  	DynamicData
 23040  
 23041  	// Unique identifier of the DirectPath profile.
 23042  	Id string `xml:"id" json:"id"`
 23043  	// Name of the DirectPath profile.
 23044  	Name string `xml:"name" json:"name"`
 23045  	// Description of the DirectPath profile.
 23046  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 23047  	// Name of the vendor for the device represented by this DirectPath
 23048  	// profile.
 23049  	VendorName string `xml:"vendorName" json:"vendorName"`
 23050  	// Configuration of the DirectPath device represented by this DirectPath
 23051  	// profile.
 23052  	//
 23053  	// Since one DirectPath profile represents one device, the
 23054  	// configuration will be one of the following types:
 23055  	// 1\) `DirectPathProfileManagerVmiopDirectPathConfig`
 23056  	// 2\) `DirectPathProfileManagerDvxDirectPathConfig`
 23057  	// 3\) `DirectPathProfileManagerDynamicDirectPathConfig`
 23058  	// 4\) `DirectPathProfileManagerVirtualDeviceGroupDirectPathConfig`
 23059  	DeviceConfig BaseDirectPathProfileManagerDirectPathConfig `xml:"deviceConfig,typeattr" json:"deviceConfig"`
 23060  }
 23061  
 23062  func init() {
 23063  	t["DirectPathProfileInfo"] = reflect.TypeOf((*DirectPathProfileInfo)(nil)).Elem()
 23064  	minAPIVersionForType["DirectPathProfileInfo"] = "9.0.0.0"
 23065  }
 23066  
 23067  // Specification for a successful capacity query result returned from
 23068  // `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23069  //
 23070  // The result object contains the
 23071  // resulting DirectPath profile and detailed capacity information.
 23072  type DirectPathProfileManagerCapacityInfo struct {
 23073  	DirectPathProfileManagerCapacityResult
 23074  
 23075  	// Detailed information of the DirectPath profile.
 23076  	//
 23077  	// See `DirectPathProfileInfo`.
 23078  	Profile DirectPathProfileInfo `xml:"profile" json:"profile"`
 23079  	// Number of DirectPath profile units consumed by the powered-on VMs on
 23080  	// the `DirectPathProfileManagerTargetEntity`.
 23081  	Consumed int32 `xml:"consumed" json:"consumed"`
 23082  	// Number of DirectPath profile units that are remaining and have not yet
 23083  	// been assigned to any powered-on VM on the `DirectPathProfileManagerTargetEntity`.
 23084  	Remaining int32 `xml:"remaining" json:"remaining"`
 23085  	// The total capacity of DirectPath profile in the `DirectPathProfileManagerTargetEntity`.
 23086  	//
 23087  	// The total capacity of a profile is computed in a theoretical condition
 23088  	// when no VM is running on the `DirectPathProfileManagerTargetEntity`. In addition, this
 23089  	// capacity doesn't include the capacity consumed by vSphere's system
 23090  	// components.
 23091  	Max int32 `xml:"max" json:"max"`
 23092  	// Number of DirectPath profile units that are reserved but have not yet
 23093  	// been assigned to any powered-on VM.
 23094  	//
 23095  	// These units can be used to power-on
 23096  	// VMs for which the capacity has been reserved. This is different from
 23097  	// remaining capacity because this capacity is actually reserved but just
 23098  	// unused by any VM whereas remaining capacity indicates what has not even
 23099  	// been reserved either. For any given DirectPath profile, we will always
 23100  	// have the constraint:
 23101  	// max &gt;= consumed + remaining + unusedReservation
 23102  	UnusedReservation int32 `xml:"unusedReservation" json:"unusedReservation"`
 23103  }
 23104  
 23105  func init() {
 23106  	t["DirectPathProfileManagerCapacityInfo"] = reflect.TypeOf((*DirectPathProfileManagerCapacityInfo)(nil)).Elem()
 23107  	minAPIVersionForType["DirectPathProfileManagerCapacityInfo"] = "9.0.0.0"
 23108  }
 23109  
 23110  // Specification describing device config of the DirectPath profile for
 23111  // which capacity needs to be queried using
 23112  // `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23113  type DirectPathProfileManagerCapacityQueryByDeviceConfig struct {
 23114  	DirectPathProfileManagerCapacityQuerySpec
 23115  
 23116  	// Device config of the DirectPath profile.
 23117  	DeviceConfig BaseDirectPathProfileManagerDirectPathConfig `xml:"deviceConfig,typeattr" json:"deviceConfig"`
 23118  }
 23119  
 23120  func init() {
 23121  	t["DirectPathProfileManagerCapacityQueryByDeviceConfig"] = reflect.TypeOf((*DirectPathProfileManagerCapacityQueryByDeviceConfig)(nil)).Elem()
 23122  	minAPIVersionForType["DirectPathProfileManagerCapacityQueryByDeviceConfig"] = "9.0.0.0"
 23123  }
 23124  
 23125  // Specification describing id of the DirectPath profile for which capacity
 23126  // needs to be queried using `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23127  type DirectPathProfileManagerCapacityQueryById struct {
 23128  	DirectPathProfileManagerCapacityQuerySpec
 23129  
 23130  	// Identifier of the DirectPath profile.
 23131  	Id string `xml:"id" json:"id"`
 23132  }
 23133  
 23134  func init() {
 23135  	t["DirectPathProfileManagerCapacityQueryById"] = reflect.TypeOf((*DirectPathProfileManagerCapacityQueryById)(nil)).Elem()
 23136  	minAPIVersionForType["DirectPathProfileManagerCapacityQueryById"] = "9.0.0.0"
 23137  }
 23138  
 23139  // Specification describing name of the DirectPath profile for which
 23140  // capacity needs to be queried using
 23141  // `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23142  type DirectPathProfileManagerCapacityQueryByName struct {
 23143  	DirectPathProfileManagerCapacityQuerySpec
 23144  
 23145  	// Name of the DirectPath profile.
 23146  	Name string `xml:"name" json:"name"`
 23147  }
 23148  
 23149  func init() {
 23150  	t["DirectPathProfileManagerCapacityQueryByName"] = reflect.TypeOf((*DirectPathProfileManagerCapacityQueryByName)(nil)).Elem()
 23151  	minAPIVersionForType["DirectPathProfileManagerCapacityQueryByName"] = "9.0.0.0"
 23152  }
 23153  
 23154  // Base specification describing information about a DirectPath profile
 23155  // for which capacity needs to be queried using
 23156  // `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23157  type DirectPathProfileManagerCapacityQuerySpec struct {
 23158  	DynamicData
 23159  }
 23160  
 23161  func init() {
 23162  	t["DirectPathProfileManagerCapacityQuerySpec"] = reflect.TypeOf((*DirectPathProfileManagerCapacityQuerySpec)(nil)).Elem()
 23163  	minAPIVersionForType["DirectPathProfileManagerCapacityQuerySpec"] = "9.0.0.0"
 23164  }
 23165  
 23166  // Base specification for capacity query result returned from
 23167  // `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23168  //
 23169  // Each of the result object
 23170  // corresponds to each of the specification described in
 23171  // `DirectPathProfileManagerCapacityQuerySpec`.
 23172  type DirectPathProfileManagerCapacityResult struct {
 23173  	DynamicData
 23174  }
 23175  
 23176  func init() {
 23177  	t["DirectPathProfileManagerCapacityResult"] = reflect.TypeOf((*DirectPathProfileManagerCapacityResult)(nil)).Elem()
 23178  	minAPIVersionForType["DirectPathProfileManagerCapacityResult"] = "9.0.0.0"
 23179  }
 23180  
 23181  // Specification for an unsuccessful capacity query result returned from
 23182  // `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23183  //
 23184  // The result object contains
 23185  // the original query specification and detailed fault messages.
 23186  type DirectPathProfileManagerCapacityUnknown struct {
 23187  	DirectPathProfileManagerCapacityResult
 23188  
 23189  	// The query specification associated with the failure.
 23190  	QuerySpec BaseDirectPathProfileManagerCapacityQuerySpec `xml:"querySpec,typeattr" json:"querySpec"`
 23191  	// List of faults explaining why the query result is invalid.
 23192  	//
 23193  	// The faults
 23194  	// contain the reason(s) for failure(s).
 23195  	// Example of failure reasons are the DirectPath profile is not found or
 23196  	// the name string is too long.
 23197  	FaultList []LocalizedMethodFault `xml:"faultList,omitempty" json:"faultList,omitempty"`
 23198  }
 23199  
 23200  func init() {
 23201  	t["DirectPathProfileManagerCapacityUnknown"] = reflect.TypeOf((*DirectPathProfileManagerCapacityUnknown)(nil)).Elem()
 23202  	minAPIVersionForType["DirectPathProfileManagerCapacityUnknown"] = "9.0.0.0"
 23203  }
 23204  
 23205  type DirectPathProfileManagerCreate DirectPathProfileManagerCreateRequestType
 23206  
 23207  func init() {
 23208  	t["DirectPathProfileManagerCreate"] = reflect.TypeOf((*DirectPathProfileManagerCreate)(nil)).Elem()
 23209  }
 23210  
 23211  // The parameters of `DirectPathProfileManager.DirectPathProfileManagerCreate`.
 23212  type DirectPathProfileManagerCreateRequestType struct {
 23213  	This ManagedObjectReference             `xml:"_this" json:"-"`
 23214  	Spec DirectPathProfileManagerCreateSpec `xml:"spec" json:"spec"`
 23215  }
 23216  
 23217  func init() {
 23218  	t["DirectPathProfileManagerCreateRequestType"] = reflect.TypeOf((*DirectPathProfileManagerCreateRequestType)(nil)).Elem()
 23219  	minAPIVersionForType["DirectPathProfileManagerCreateRequestType"] = "9.0.0.0"
 23220  }
 23221  
 23222  type DirectPathProfileManagerCreateResponse struct {
 23223  	Returnval string `xml:"returnval" json:"returnval"`
 23224  }
 23225  
 23226  // Specification describing the parameters used for creating a
 23227  // DirectPath profile.
 23228  type DirectPathProfileManagerCreateSpec struct {
 23229  	DynamicData
 23230  
 23231  	// Name of the DirectPath profile.
 23232  	//
 23233  	// The name should be less than or equal
 23234  	// to 80 characters.
 23235  	Name string `xml:"name" json:"name"`
 23236  	// Description of the DirectPath profile.
 23237  	//
 23238  	// The description should be less
 23239  	// than 256 characters.
 23240  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 23241  	// Configuration of the DirectPath device to be represented.
 23242  	//
 23243  	// Since one
 23244  	// DirectPath profile represents one device, the specified configuration
 23245  	// can be one of the following types:
 23246  	// 1\) `DirectPathProfileManagerVmiopDirectPathConfig`
 23247  	// 2\) `DirectPathProfileManagerDvxDirectPathConfig`
 23248  	// 3\) `DirectPathProfileManagerDynamicDirectPathConfig`
 23249  	// 4\) `DirectPathProfileManagerVirtualDeviceGroupDirectPathConfig`
 23250  	DeviceConfig BaseDirectPathProfileManagerDirectPathConfig `xml:"deviceConfig,typeattr" json:"deviceConfig"`
 23251  }
 23252  
 23253  func init() {
 23254  	t["DirectPathProfileManagerCreateSpec"] = reflect.TypeOf((*DirectPathProfileManagerCreateSpec)(nil)).Elem()
 23255  	minAPIVersionForType["DirectPathProfileManagerCreateSpec"] = "9.0.0.0"
 23256  }
 23257  
 23258  type DirectPathProfileManagerDelete DirectPathProfileManagerDeleteRequestType
 23259  
 23260  func init() {
 23261  	t["DirectPathProfileManagerDelete"] = reflect.TypeOf((*DirectPathProfileManagerDelete)(nil)).Elem()
 23262  }
 23263  
 23264  // The parameters of `DirectPathProfileManager.DirectPathProfileManagerDelete`.
 23265  type DirectPathProfileManagerDeleteRequestType struct {
 23266  	This ManagedObjectReference `xml:"_this" json:"-"`
 23267  	// Unique identifier of the DirectPath profile to be deleted.
 23268  	Id string `xml:"id" json:"id"`
 23269  }
 23270  
 23271  func init() {
 23272  	t["DirectPathProfileManagerDeleteRequestType"] = reflect.TypeOf((*DirectPathProfileManagerDeleteRequestType)(nil)).Elem()
 23273  	minAPIVersionForType["DirectPathProfileManagerDeleteRequestType"] = "9.0.0.0"
 23274  }
 23275  
 23276  type DirectPathProfileManagerDeleteResponse struct {
 23277  }
 23278  
 23279  // Base configuration of a DirectPath device.
 23280  //
 23281  // This contains the information
 23282  // about a DirectPath device that is needed for representing the device via
 23283  // a DirectPath profile. A DirectPath device can be of different sub-types.
 23284  // Each sub-type extends from this base configuration and further defines
 23285  // its own properties.
 23286  type DirectPathProfileManagerDirectPathConfig struct {
 23287  	DynamicData
 23288  }
 23289  
 23290  func init() {
 23291  	t["DirectPathProfileManagerDirectPathConfig"] = reflect.TypeOf((*DirectPathProfileManagerDirectPathConfig)(nil)).Elem()
 23292  	minAPIVersionForType["DirectPathProfileManagerDirectPathConfig"] = "9.0.0.0"
 23293  }
 23294  
 23295  // Configuration of a DVX DirectPath device.
 23296  //
 23297  // This configuration represents
 23298  // the properties of a DVX device that are needed for creating a DirectPath
 23299  // profile.
 23300  type DirectPathProfileManagerDvxDirectPathConfig struct {
 23301  	DirectPathProfileManagerDirectPathConfig
 23302  
 23303  	// Backing that represents the information specific to a DVX device.
 23304  	//
 23305  	// See `VirtualPCIPassthroughDvxBackingInfo` for
 23306  	// details.
 23307  	DvxBacking VirtualPCIPassthroughDvxBackingInfo `xml:"dvxBacking" json:"dvxBacking"`
 23308  }
 23309  
 23310  func init() {
 23311  	t["DirectPathProfileManagerDvxDirectPathConfig"] = reflect.TypeOf((*DirectPathProfileManagerDvxDirectPathConfig)(nil)).Elem()
 23312  	minAPIVersionForType["DirectPathProfileManagerDvxDirectPathConfig"] = "9.0.0.0"
 23313  }
 23314  
 23315  // Configuration of a Dynamic DirectPath device.
 23316  //
 23317  // This configuration
 23318  // represents the properties of a Dynamic DirectPath device that are needed
 23319  // for creating a DirectPath profile.
 23320  type DirectPathProfileManagerDynamicDirectPathConfig struct {
 23321  	DirectPathProfileManagerDirectPathConfig
 23322  
 23323  	// Backing that maps a virtual device onto a physical device for a
 23324  	// Dynamic DirectPath device.
 23325  	//
 23326  	// See `VirtualPCIPassthroughDynamicBackingInfo` for
 23327  	// details.
 23328  	DynamicDirectPathBacking VirtualPCIPassthroughDynamicBackingInfo `xml:"dynamicDirectPathBacking" json:"dynamicDirectPathBacking"`
 23329  }
 23330  
 23331  func init() {
 23332  	t["DirectPathProfileManagerDynamicDirectPathConfig"] = reflect.TypeOf((*DirectPathProfileManagerDynamicDirectPathConfig)(nil)).Elem()
 23333  	minAPIVersionForType["DirectPathProfileManagerDynamicDirectPathConfig"] = "9.0.0.0"
 23334  }
 23335  
 23336  // Specification describing the parameters used to filter the results when
 23337  // listing DirectPath profiles in a vCenter (see
 23338  // `DirectPathProfileManager.DirectPathProfileManagerList`).
 23339  //
 23340  // If multiple fields are specified, only
 23341  // the DirectPath profiles that match at least one element of each field
 23342  // match the filter.
 23343  type DirectPathProfileManagerFilterSpec struct {
 23344  	DynamicData
 23345  
 23346  	// Identifiers of the DirectPath profiles to be retrieved.
 23347  	//
 23348  	// If a non-empty
 23349  	// list of identifiers is specified while listing DirectPath profiles in
 23350  	// a vCenter (see `DirectPathProfileManager.DirectPathProfileManagerList`), then information about
 23351  	// every DirectPath profile whose identifier matches with one of the
 23352  	// specified identifiers will be retrieved. In other words, if identifier
 23353  	// of a DirectPath profile is not present in the specified list of
 23354  	// identifiers, then that DirectPath profile will not be retrieved.
 23355  	Ids []string `xml:"ids,omitempty" json:"ids,omitempty"`
 23356  	// Names of the DirectPath profiles to be retrieved.
 23357  	//
 23358  	// If a non-empty list
 23359  	// of names is specified while listing DirectPath profiles in a vCenter
 23360  	// (see `DirectPathProfileManager.DirectPathProfileManagerList`) then information about every
 23361  	// DirectPath profile whose name matches with one of the specified names
 23362  	// will be retrieved. In other words, if name of a DirectPath profile is
 23363  	// not present in the specified list of names, then that DirectPath
 23364  	// profile will not be retrieved.
 23365  	Names []string `xml:"names,omitempty" json:"names,omitempty"`
 23366  	// MoRefs of the vSphere clusters for which DirectPath profiles need
 23367  	// to be retrieved.
 23368  	//
 23369  	// If a non-empty list of cluster MoRefs is specified
 23370  	// while listing DirectPath profiles in a vCenter
 23371  	// (see `DirectPathProfileManager.DirectPathProfileManagerList`), then information about the
 23372  	// DirectPath profiles applicable to all the specified clusters is
 23373  	// returned.
 23374  	//
 23375  	// Refers instances of `ClusterComputeResource`.
 23376  	Clusters []ManagedObjectReference `xml:"clusters,omitempty" json:"clusters,omitempty"`
 23377  }
 23378  
 23379  func init() {
 23380  	t["DirectPathProfileManagerFilterSpec"] = reflect.TypeOf((*DirectPathProfileManagerFilterSpec)(nil)).Elem()
 23381  	minAPIVersionForType["DirectPathProfileManagerFilterSpec"] = "9.0.0.0"
 23382  }
 23383  
 23384  type DirectPathProfileManagerList DirectPathProfileManagerListRequestType
 23385  
 23386  func init() {
 23387  	t["DirectPathProfileManagerList"] = reflect.TypeOf((*DirectPathProfileManagerList)(nil)).Elem()
 23388  }
 23389  
 23390  // The parameters of `DirectPathProfileManager.DirectPathProfileManagerList`.
 23391  type DirectPathProfileManagerListRequestType struct {
 23392  	This       ManagedObjectReference             `xml:"_this" json:"-"`
 23393  	FilterSpec DirectPathProfileManagerFilterSpec `xml:"filterSpec" json:"filterSpec"`
 23394  }
 23395  
 23396  func init() {
 23397  	t["DirectPathProfileManagerListRequestType"] = reflect.TypeOf((*DirectPathProfileManagerListRequestType)(nil)).Elem()
 23398  	minAPIVersionForType["DirectPathProfileManagerListRequestType"] = "9.0.0.0"
 23399  }
 23400  
 23401  type DirectPathProfileManagerListResponse struct {
 23402  	Returnval []DirectPathProfileInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 23403  }
 23404  
 23405  type DirectPathProfileManagerQueryCapacity DirectPathProfileManagerQueryCapacityRequestType
 23406  
 23407  func init() {
 23408  	t["DirectPathProfileManagerQueryCapacity"] = reflect.TypeOf((*DirectPathProfileManagerQueryCapacity)(nil)).Elem()
 23409  }
 23410  
 23411  // The parameters of `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23412  type DirectPathProfileManagerQueryCapacityRequestType struct {
 23413  	This ManagedObjectReference `xml:"_this" json:"-"`
 23414  	// specifies the compute resource for which the capacity
 23415  	// needs to be computed. See `DirectPathProfileManagerTargetEntity`. A null or an invalid
 23416  	// target will cause an exception.
 23417  	Target BaseDirectPathProfileManagerTargetEntity `xml:"target,typeattr" json:"target"`
 23418  	// specifies a list of `DirectPathProfileManagerCapacityQuerySpec`, where each
 23419  	// of them specifies the information about the DirectPath profile for which
 23420  	// capacity needs to be computed.
 23421  	QuerySpec []BaseDirectPathProfileManagerCapacityQuerySpec `xml:"querySpec,omitempty,typeattr" json:"querySpec,omitempty"`
 23422  }
 23423  
 23424  func init() {
 23425  	t["DirectPathProfileManagerQueryCapacityRequestType"] = reflect.TypeOf((*DirectPathProfileManagerQueryCapacityRequestType)(nil)).Elem()
 23426  	minAPIVersionForType["DirectPathProfileManagerQueryCapacityRequestType"] = "9.0.0.0"
 23427  }
 23428  
 23429  type DirectPathProfileManagerQueryCapacityResponse struct {
 23430  	Returnval []BaseDirectPathProfileManagerCapacityResult `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 23431  }
 23432  
 23433  // Specification of a vSphere cluster as the target entity against which the
 23434  // capacity of a DirectPath profile can be queried using
 23435  // `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23436  type DirectPathProfileManagerTargetCluster struct {
 23437  	DirectPathProfileManagerTargetEntity
 23438  
 23439  	// MoRef of the target vSphere cluster.
 23440  	//
 23441  	// Refers instance of `ClusterComputeResource`.
 23442  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 23443  }
 23444  
 23445  func init() {
 23446  	t["DirectPathProfileManagerTargetCluster"] = reflect.TypeOf((*DirectPathProfileManagerTargetCluster)(nil)).Elem()
 23447  	minAPIVersionForType["DirectPathProfileManagerTargetCluster"] = "9.0.0.0"
 23448  }
 23449  
 23450  // Base specification describing the target entity against which the
 23451  // capacity of a DirectPath profile can be queried using
 23452  // `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23453  type DirectPathProfileManagerTargetEntity struct {
 23454  	DynamicData
 23455  }
 23456  
 23457  func init() {
 23458  	t["DirectPathProfileManagerTargetEntity"] = reflect.TypeOf((*DirectPathProfileManagerTargetEntity)(nil)).Elem()
 23459  	minAPIVersionForType["DirectPathProfileManagerTargetEntity"] = "9.0.0.0"
 23460  }
 23461  
 23462  // Specification of an ESXi host as the target entity against which the
 23463  // capacity of a DirectPath profile can be queried using
 23464  // `DirectPathProfileManager.DirectPathProfileManagerQueryCapacity`.
 23465  type DirectPathProfileManagerTargetHost struct {
 23466  	DirectPathProfileManagerTargetEntity
 23467  
 23468  	// MoRef of the target ESXi host.
 23469  	//
 23470  	// Refers instance of `HostSystem`.
 23471  	Host ManagedObjectReference `xml:"host" json:"host"`
 23472  }
 23473  
 23474  func init() {
 23475  	t["DirectPathProfileManagerTargetHost"] = reflect.TypeOf((*DirectPathProfileManagerTargetHost)(nil)).Elem()
 23476  	minAPIVersionForType["DirectPathProfileManagerTargetHost"] = "9.0.0.0"
 23477  }
 23478  
 23479  type DirectPathProfileManagerUpdate DirectPathProfileManagerUpdateRequestType
 23480  
 23481  func init() {
 23482  	t["DirectPathProfileManagerUpdate"] = reflect.TypeOf((*DirectPathProfileManagerUpdate)(nil)).Elem()
 23483  }
 23484  
 23485  // The parameters of `DirectPathProfileManager.DirectPathProfileManagerUpdate`.
 23486  type DirectPathProfileManagerUpdateRequestType struct {
 23487  	This ManagedObjectReference `xml:"_this" json:"-"`
 23488  	// Unique identifier of the DirectPath profile being updated.
 23489  	Id string `xml:"id" json:"id"`
 23490  	// Specification for the DirectPath device being updated.
 23491  	Spec DirectPathProfileManagerUpdateSpec `xml:"spec" json:"spec"`
 23492  }
 23493  
 23494  func init() {
 23495  	t["DirectPathProfileManagerUpdateRequestType"] = reflect.TypeOf((*DirectPathProfileManagerUpdateRequestType)(nil)).Elem()
 23496  	minAPIVersionForType["DirectPathProfileManagerUpdateRequestType"] = "9.0.0.0"
 23497  }
 23498  
 23499  type DirectPathProfileManagerUpdateResponse struct {
 23500  }
 23501  
 23502  // Specification describing the parameters used for updating an already
 23503  // existing DirectPath profile.
 23504  //
 23505  // Once a DirectPath profile has been created,
 23506  // its `DirectPathProfileManagerDirectPathConfig` cannot be updated.
 23507  type DirectPathProfileManagerUpdateSpec struct {
 23508  	DynamicData
 23509  
 23510  	// The desired name of the DirectPath profile being updated.
 23511  	//
 23512  	// The name
 23513  	// should be less than or equal to 80 characters.
 23514  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 23515  	// The desired description of the DirectPath profile being updated.
 23516  	//
 23517  	// The
 23518  	// description should be less than 256 characters.
 23519  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 23520  }
 23521  
 23522  func init() {
 23523  	t["DirectPathProfileManagerUpdateSpec"] = reflect.TypeOf((*DirectPathProfileManagerUpdateSpec)(nil)).Elem()
 23524  	minAPIVersionForType["DirectPathProfileManagerUpdateSpec"] = "9.0.0.0"
 23525  }
 23526  
 23527  // Configuration of a Vendor Device Group.
 23528  //
 23529  // This configuration represents the
 23530  // the properties of a Vendor Device Group that are needed for creating a
 23531  // DirectPath profile.
 23532  // Vendor Device Groups allow third-parties to define collections of
 23533  // devices that must be allocated to a virtual machine as a unit. Typically,
 23534  // this is because the set of devices are related in some way, e.g. a
 23535  // physical link connects the devices.
 23536  type DirectPathProfileManagerVirtualDeviceGroupDirectPathConfig struct {
 23537  	DirectPathProfileManagerDirectPathConfig
 23538  
 23539  	// Name of the Vendor Device Group.
 23540  	DeviceGroupName string `xml:"deviceGroupName" json:"deviceGroupName"`
 23541  }
 23542  
 23543  func init() {
 23544  	t["DirectPathProfileManagerVirtualDeviceGroupDirectPathConfig"] = reflect.TypeOf((*DirectPathProfileManagerVirtualDeviceGroupDirectPathConfig)(nil)).Elem()
 23545  	minAPIVersionForType["DirectPathProfileManagerVirtualDeviceGroupDirectPathConfig"] = "9.0.0.0"
 23546  }
 23547  
 23548  // Configuration of a VMIOP DirectPath device.
 23549  //
 23550  // This configuration represents
 23551  // the properties of a VMIOP device that are needed for creating a DirectPath
 23552  // profile. At present, vGPUs are the only devices implemented using VMIOP
 23553  // interface.
 23554  type DirectPathProfileManagerVmiopDirectPathConfig struct {
 23555  	DirectPathProfileManagerDirectPathConfig
 23556  
 23557  	// The name of vGPU configuration type exposed by a VMIOP plugin.
 23558  	VgpuProfile string `xml:"vgpuProfile" json:"vgpuProfile"`
 23559  }
 23560  
 23561  func init() {
 23562  	t["DirectPathProfileManagerVmiopDirectPathConfig"] = reflect.TypeOf((*DirectPathProfileManagerVmiopDirectPathConfig)(nil)).Elem()
 23563  	minAPIVersionForType["DirectPathProfileManagerVmiopDirectPathConfig"] = "9.0.0.0"
 23564  }
 23565  
 23566  // This fault is thrown when an operation fails because the specified
 23567  // directory is not empty.
 23568  type DirectoryNotEmpty struct {
 23569  	FileFault
 23570  }
 23571  
 23572  func init() {
 23573  	t["DirectoryNotEmpty"] = reflect.TypeOf((*DirectoryNotEmpty)(nil)).Elem()
 23574  }
 23575  
 23576  type DirectoryNotEmptyFault DirectoryNotEmpty
 23577  
 23578  func init() {
 23579  	t["DirectoryNotEmptyFault"] = reflect.TypeOf((*DirectoryNotEmptyFault)(nil)).Elem()
 23580  }
 23581  
 23582  // Fault thrown when an attempt is made to move a disk with associated snapshots to a destination host.
 23583  //
 23584  // If such a move were to occur, snapshots associated with the disk would be irrevocably
 23585  // lost. This is always an error.
 23586  type DisableAdminNotSupported struct {
 23587  	HostConfigFault
 23588  }
 23589  
 23590  func init() {
 23591  	t["DisableAdminNotSupported"] = reflect.TypeOf((*DisableAdminNotSupported)(nil)).Elem()
 23592  }
 23593  
 23594  type DisableAdminNotSupportedFault DisableAdminNotSupported
 23595  
 23596  func init() {
 23597  	t["DisableAdminNotSupportedFault"] = reflect.TypeOf((*DisableAdminNotSupportedFault)(nil)).Elem()
 23598  }
 23599  
 23600  type DisableAlarm DisableAlarmRequestType
 23601  
 23602  func init() {
 23603  	t["DisableAlarm"] = reflect.TypeOf((*DisableAlarm)(nil)).Elem()
 23604  }
 23605  
 23606  // The parameters of `AlarmManager.DisableAlarm`.
 23607  type DisableAlarmRequestType struct {
 23608  	This ManagedObjectReference `xml:"_this" json:"-"`
 23609  	// The Alarm being disabled.
 23610  	//
 23611  	// Required privileges: Alarm.ToggleEnableOnEntity
 23612  	//
 23613  	// Refers instance of `Alarm`.
 23614  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
 23615  	// The ManagedEntity on which to disable the alarm.
 23616  	//
 23617  	// Required privileges: System.Read
 23618  	//
 23619  	// Refers instance of `ManagedEntity`.
 23620  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 23621  }
 23622  
 23623  func init() {
 23624  	t["DisableAlarmRequestType"] = reflect.TypeOf((*DisableAlarmRequestType)(nil)).Elem()
 23625  }
 23626  
 23627  type DisableAlarmResponse struct {
 23628  }
 23629  
 23630  type DisableClusteredVmdkSupport DisableClusteredVmdkSupportRequestType
 23631  
 23632  func init() {
 23633  	t["DisableClusteredVmdkSupport"] = reflect.TypeOf((*DisableClusteredVmdkSupport)(nil)).Elem()
 23634  }
 23635  
 23636  // The parameters of `HostDatastoreSystem.DisableClusteredVmdkSupport`.
 23637  type DisableClusteredVmdkSupportRequestType struct {
 23638  	This ManagedObjectReference `xml:"_this" json:"-"`
 23639  	// Datastore on which clustered vmdk should be
 23640  	// disabled.
 23641  	//
 23642  	// Refers instance of `Datastore`.
 23643  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 23644  }
 23645  
 23646  func init() {
 23647  	t["DisableClusteredVmdkSupportRequestType"] = reflect.TypeOf((*DisableClusteredVmdkSupportRequestType)(nil)).Elem()
 23648  }
 23649  
 23650  type DisableClusteredVmdkSupportResponse struct {
 23651  }
 23652  
 23653  type DisableEvcModeRequestType struct {
 23654  	This ManagedObjectReference `xml:"_this" json:"-"`
 23655  }
 23656  
 23657  func init() {
 23658  	t["DisableEvcModeRequestType"] = reflect.TypeOf((*DisableEvcModeRequestType)(nil)).Elem()
 23659  }
 23660  
 23661  type DisableEvcMode_Task DisableEvcModeRequestType
 23662  
 23663  func init() {
 23664  	t["DisableEvcMode_Task"] = reflect.TypeOf((*DisableEvcMode_Task)(nil)).Elem()
 23665  }
 23666  
 23667  type DisableEvcMode_TaskResponse struct {
 23668  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23669  }
 23670  
 23671  type DisableFeature DisableFeatureRequestType
 23672  
 23673  func init() {
 23674  	t["DisableFeature"] = reflect.TypeOf((*DisableFeature)(nil)).Elem()
 23675  }
 23676  
 23677  // The parameters of `LicenseManager.DisableFeature`.
 23678  type DisableFeatureRequestType struct {
 23679  	This ManagedObjectReference `xml:"_this" json:"-"`
 23680  	// Host to act on if LicenseManager is not on a host.
 23681  	//
 23682  	// Refers instance of `HostSystem`.
 23683  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 23684  	// key of the feature to disable.
 23685  	FeatureKey string `xml:"featureKey" json:"featureKey"`
 23686  }
 23687  
 23688  func init() {
 23689  	t["DisableFeatureRequestType"] = reflect.TypeOf((*DisableFeatureRequestType)(nil)).Elem()
 23690  }
 23691  
 23692  type DisableFeatureResponse struct {
 23693  	Returnval bool `xml:"returnval" json:"returnval"`
 23694  }
 23695  
 23696  type DisableHyperThreading DisableHyperThreadingRequestType
 23697  
 23698  func init() {
 23699  	t["DisableHyperThreading"] = reflect.TypeOf((*DisableHyperThreading)(nil)).Elem()
 23700  }
 23701  
 23702  type DisableHyperThreadingRequestType struct {
 23703  	This ManagedObjectReference `xml:"_this" json:"-"`
 23704  }
 23705  
 23706  func init() {
 23707  	t["DisableHyperThreadingRequestType"] = reflect.TypeOf((*DisableHyperThreadingRequestType)(nil)).Elem()
 23708  }
 23709  
 23710  type DisableHyperThreadingResponse struct {
 23711  }
 23712  
 23713  type DisableMultipathPath DisableMultipathPathRequestType
 23714  
 23715  func init() {
 23716  	t["DisableMultipathPath"] = reflect.TypeOf((*DisableMultipathPath)(nil)).Elem()
 23717  }
 23718  
 23719  // The parameters of `HostStorageSystem.DisableMultipathPath`.
 23720  type DisableMultipathPathRequestType struct {
 23721  	This ManagedObjectReference `xml:"_this" json:"-"`
 23722  	// The name of the path to disable.
 23723  	PathName string `xml:"pathName" json:"pathName"`
 23724  }
 23725  
 23726  func init() {
 23727  	t["DisableMultipathPathRequestType"] = reflect.TypeOf((*DisableMultipathPathRequestType)(nil)).Elem()
 23728  }
 23729  
 23730  type DisableMultipathPathResponse struct {
 23731  }
 23732  
 23733  type DisableNetworkBootRequestType struct {
 23734  	This ManagedObjectReference `xml:"_this" json:"-"`
 23735  }
 23736  
 23737  func init() {
 23738  	t["DisableNetworkBootRequestType"] = reflect.TypeOf((*DisableNetworkBootRequestType)(nil)).Elem()
 23739  }
 23740  
 23741  type DisableNetworkBoot_Task DisableNetworkBootRequestType
 23742  
 23743  func init() {
 23744  	t["DisableNetworkBoot_Task"] = reflect.TypeOf((*DisableNetworkBoot_Task)(nil)).Elem()
 23745  }
 23746  
 23747  type DisableNetworkBoot_TaskResponse struct {
 23748  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23749  }
 23750  
 23751  type DisableRuleset DisableRulesetRequestType
 23752  
 23753  func init() {
 23754  	t["DisableRuleset"] = reflect.TypeOf((*DisableRuleset)(nil)).Elem()
 23755  }
 23756  
 23757  // The parameters of `HostFirewallSystem.DisableRuleset`.
 23758  type DisableRulesetRequestType struct {
 23759  	This ManagedObjectReference `xml:"_this" json:"-"`
 23760  	Id   string                 `xml:"id" json:"id"`
 23761  }
 23762  
 23763  func init() {
 23764  	t["DisableRulesetRequestType"] = reflect.TypeOf((*DisableRulesetRequestType)(nil)).Elem()
 23765  }
 23766  
 23767  type DisableRulesetResponse struct {
 23768  }
 23769  
 23770  // The parameters of `VirtualMachine.DisableSecondaryVM_Task`.
 23771  type DisableSecondaryVMRequestType struct {
 23772  	This ManagedObjectReference `xml:"_this" json:"-"`
 23773  	// The secondary virtual machine specified will be disabed.
 23774  	// This field must specify a secondary virtual machine that is part of the fault
 23775  	// tolerant group that this virtual machine is currently associated with. It can
 23776  	// only be invoked from the primary virtual machine in the group.
 23777  	//
 23778  	// Refers instance of `VirtualMachine`.
 23779  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 23780  }
 23781  
 23782  func init() {
 23783  	t["DisableSecondaryVMRequestType"] = reflect.TypeOf((*DisableSecondaryVMRequestType)(nil)).Elem()
 23784  }
 23785  
 23786  type DisableSecondaryVM_Task DisableSecondaryVMRequestType
 23787  
 23788  func init() {
 23789  	t["DisableSecondaryVM_Task"] = reflect.TypeOf((*DisableSecondaryVM_Task)(nil)).Elem()
 23790  }
 23791  
 23792  type DisableSecondaryVM_TaskResponse struct {
 23793  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23794  }
 23795  
 23796  type DisableSmartCardAuthentication DisableSmartCardAuthenticationRequestType
 23797  
 23798  func init() {
 23799  	t["DisableSmartCardAuthentication"] = reflect.TypeOf((*DisableSmartCardAuthentication)(nil)).Elem()
 23800  }
 23801  
 23802  type DisableSmartCardAuthenticationRequestType struct {
 23803  	This ManagedObjectReference `xml:"_this" json:"-"`
 23804  }
 23805  
 23806  func init() {
 23807  	t["DisableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*DisableSmartCardAuthenticationRequestType)(nil)).Elem()
 23808  }
 23809  
 23810  type DisableSmartCardAuthenticationResponse struct {
 23811  }
 23812  
 23813  // Fault thrown if the disallowed operation is invoked by the client.
 23814  //
 23815  // The
 23816  // change is disallowed because it conflicts with target state maintained
 23817  // by a service. The corresponding method is usually not disabled because
 23818  // only a subset of changes carried out by the method is disallowed. For
 23819  // example, an online extend executed via virtual machine reconfigure
 23820  // method is not allowed if replication is enabled on a virtual machine.
 23821  type DisallowedChangeByService struct {
 23822  	RuntimeFault
 23823  
 23824  	// The service that has disallowed the change.
 23825  	ServiceName string `xml:"serviceName" json:"serviceName"`
 23826  	// The change this is not allowed, the set of possible values is
 23827  	// described in `DisallowedChangeByServiceDisallowedChange_enum`.
 23828  	DisallowedChange string `xml:"disallowedChange,omitempty" json:"disallowedChange,omitempty"`
 23829  }
 23830  
 23831  func init() {
 23832  	t["DisallowedChangeByService"] = reflect.TypeOf((*DisallowedChangeByService)(nil)).Elem()
 23833  }
 23834  
 23835  type DisallowedChangeByServiceFault DisallowedChangeByService
 23836  
 23837  func init() {
 23838  	t["DisallowedChangeByServiceFault"] = reflect.TypeOf((*DisallowedChangeByServiceFault)(nil)).Elem()
 23839  }
 23840  
 23841  // Thrown when the `VirtualMachine.ReconfigVM_Task` operation
 23842  // includes a change to the `VirtualDiskMode_enum`
 23843  // property.
 23844  //
 23845  // This property cannot be changed as long as a virtual machine
 23846  // has an existing snapshot.
 23847  type DisallowedDiskModeChange struct {
 23848  	InvalidDeviceSpec
 23849  }
 23850  
 23851  func init() {
 23852  	t["DisallowedDiskModeChange"] = reflect.TypeOf((*DisallowedDiskModeChange)(nil)).Elem()
 23853  }
 23854  
 23855  type DisallowedDiskModeChangeFault DisallowedDiskModeChange
 23856  
 23857  func init() {
 23858  	t["DisallowedDiskModeChangeFault"] = reflect.TypeOf((*DisallowedDiskModeChangeFault)(nil)).Elem()
 23859  }
 23860  
 23861  // The virtual machine is using a type of device that prevents migration.
 23862  type DisallowedMigrationDeviceAttached struct {
 23863  	MigrationFault
 23864  
 23865  	// A fault specifies the particular device issue.
 23866  	//
 23867  	// This is typically
 23868  	// a subclass of VirtualHardwareCompatibilityIssue, such as
 23869  	// RawDiskNotSupported, RemoteDeviceNotSupported, or SharedBusControllerNotSupported
 23870  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 23871  }
 23872  
 23873  func init() {
 23874  	t["DisallowedMigrationDeviceAttached"] = reflect.TypeOf((*DisallowedMigrationDeviceAttached)(nil)).Elem()
 23875  }
 23876  
 23877  type DisallowedMigrationDeviceAttachedFault DisallowedMigrationDeviceAttached
 23878  
 23879  func init() {
 23880  	t["DisallowedMigrationDeviceAttachedFault"] = reflect.TypeOf((*DisallowedMigrationDeviceAttachedFault)(nil)).Elem()
 23881  }
 23882  
 23883  // Fault thrown when an attempt is made to perform a disallowed operation on a
 23884  // host that has been configured as a failover host in an cluster that has High
 23885  // Availability enabled.
 23886  //
 23887  // See `ClusterFailoverHostAdmissionControlPolicy`.
 23888  // Examples of such operations are destroying a host, moving a host out of a cluster,
 23889  // or powering on a virtual machine on a specific host.
 23890  type DisallowedOperationOnFailoverHost struct {
 23891  	RuntimeFault
 23892  
 23893  	// The failover host.
 23894  	//
 23895  	// Refers instance of `HostSystem`.
 23896  	Host ManagedObjectReference `xml:"host" json:"host"`
 23897  	// Name of the failover host.
 23898  	Hostname string `xml:"hostname" json:"hostname"`
 23899  }
 23900  
 23901  func init() {
 23902  	t["DisallowedOperationOnFailoverHost"] = reflect.TypeOf((*DisallowedOperationOnFailoverHost)(nil)).Elem()
 23903  }
 23904  
 23905  type DisallowedOperationOnFailoverHostFault DisallowedOperationOnFailoverHost
 23906  
 23907  func init() {
 23908  	t["DisallowedOperationOnFailoverHostFault"] = reflect.TypeOf((*DisallowedOperationOnFailoverHostFault)(nil)).Elem()
 23909  }
 23910  
 23911  type DisconnectHostRequestType struct {
 23912  	This ManagedObjectReference `xml:"_this" json:"-"`
 23913  }
 23914  
 23915  func init() {
 23916  	t["DisconnectHostRequestType"] = reflect.TypeOf((*DisconnectHostRequestType)(nil)).Elem()
 23917  }
 23918  
 23919  type DisconnectHost_Task DisconnectHostRequestType
 23920  
 23921  func init() {
 23922  	t["DisconnectHost_Task"] = reflect.TypeOf((*DisconnectHost_Task)(nil)).Elem()
 23923  }
 23924  
 23925  type DisconnectHost_TaskResponse struct {
 23926  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23927  }
 23928  
 23929  type DisconnectNvmeController DisconnectNvmeControllerRequestType
 23930  
 23931  func init() {
 23932  	t["DisconnectNvmeController"] = reflect.TypeOf((*DisconnectNvmeController)(nil)).Elem()
 23933  }
 23934  
 23935  // The parameters of `HostStorageSystem.DisconnectNvmeControllerEx_Task`.
 23936  type DisconnectNvmeControllerExRequestType struct {
 23937  	This ManagedObjectReference `xml:"_this" json:"-"`
 23938  	// A list of data objects, each specifying the parameters
 23939  	// necessary to disconnect an NVMe controller.
 23940  	DisconnectSpec []HostNvmeDisconnectSpec `xml:"disconnectSpec,omitempty" json:"disconnectSpec,omitempty"`
 23941  }
 23942  
 23943  func init() {
 23944  	t["DisconnectNvmeControllerExRequestType"] = reflect.TypeOf((*DisconnectNvmeControllerExRequestType)(nil)).Elem()
 23945  	minAPIVersionForType["DisconnectNvmeControllerExRequestType"] = "7.0.3.0"
 23946  }
 23947  
 23948  type DisconnectNvmeControllerEx_Task DisconnectNvmeControllerExRequestType
 23949  
 23950  func init() {
 23951  	t["DisconnectNvmeControllerEx_Task"] = reflect.TypeOf((*DisconnectNvmeControllerEx_Task)(nil)).Elem()
 23952  }
 23953  
 23954  type DisconnectNvmeControllerEx_TaskResponse struct {
 23955  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23956  }
 23957  
 23958  // The parameters of `HostStorageSystem.DisconnectNvmeController`.
 23959  type DisconnectNvmeControllerRequestType struct {
 23960  	This ManagedObjectReference `xml:"_this" json:"-"`
 23961  	// A data object that specifies the parameters
 23962  	// necessary to perform the disconnection.
 23963  	DisconnectSpec HostNvmeDisconnectSpec `xml:"disconnectSpec" json:"disconnectSpec"`
 23964  }
 23965  
 23966  func init() {
 23967  	t["DisconnectNvmeControllerRequestType"] = reflect.TypeOf((*DisconnectNvmeControllerRequestType)(nil)).Elem()
 23968  }
 23969  
 23970  type DisconnectNvmeControllerResponse struct {
 23971  }
 23972  
 23973  // An attempt to enable Enhanced VMotion Compatibility on a cluster, or to
 23974  // select a less-featureful EVC mode for a cluster where EVC is already enabled,
 23975  // has failed because the cluster contains one or more disconnected hosts.
 23976  type DisconnectedHostsBlockingEVC struct {
 23977  	EVCConfigFault
 23978  }
 23979  
 23980  func init() {
 23981  	t["DisconnectedHostsBlockingEVC"] = reflect.TypeOf((*DisconnectedHostsBlockingEVC)(nil)).Elem()
 23982  }
 23983  
 23984  type DisconnectedHostsBlockingEVCFault DisconnectedHostsBlockingEVC
 23985  
 23986  func init() {
 23987  	t["DisconnectedHostsBlockingEVCFault"] = reflect.TypeOf((*DisconnectedHostsBlockingEVCFault)(nil)).Elem()
 23988  }
 23989  
 23990  type DiscoverFcoeHbas DiscoverFcoeHbasRequestType
 23991  
 23992  func init() {
 23993  	t["DiscoverFcoeHbas"] = reflect.TypeOf((*DiscoverFcoeHbas)(nil)).Elem()
 23994  }
 23995  
 23996  // The parameters of `HostStorageSystem.DiscoverFcoeHbas`.
 23997  type DiscoverFcoeHbasRequestType struct {
 23998  	This     ManagedObjectReference      `xml:"_this" json:"-"`
 23999  	FcoeSpec FcoeConfigFcoeSpecification `xml:"fcoeSpec" json:"fcoeSpec"`
 24000  }
 24001  
 24002  func init() {
 24003  	t["DiscoverFcoeHbasRequestType"] = reflect.TypeOf((*DiscoverFcoeHbasRequestType)(nil)).Elem()
 24004  }
 24005  
 24006  type DiscoverFcoeHbasResponse struct {
 24007  }
 24008  
 24009  type DiscoverNvmeControllers DiscoverNvmeControllersRequestType
 24010  
 24011  func init() {
 24012  	t["DiscoverNvmeControllers"] = reflect.TypeOf((*DiscoverNvmeControllers)(nil)).Elem()
 24013  }
 24014  
 24015  // The parameters of `HostStorageSystem.DiscoverNvmeControllers`.
 24016  type DiscoverNvmeControllersRequestType struct {
 24017  	This ManagedObjectReference `xml:"_this" json:"-"`
 24018  	// A data object that specifies the parameters
 24019  	// necessary to retrieve the Discovery Log.
 24020  	DiscoverSpec HostNvmeDiscoverSpec `xml:"discoverSpec" json:"discoverSpec"`
 24021  }
 24022  
 24023  func init() {
 24024  	t["DiscoverNvmeControllersRequestType"] = reflect.TypeOf((*DiscoverNvmeControllersRequestType)(nil)).Elem()
 24025  }
 24026  
 24027  type DiscoverNvmeControllersResponse struct {
 24028  	Returnval HostNvmeDiscoveryLog `xml:"returnval" json:"returnval"`
 24029  }
 24030  
 24031  // An area of the disk flagged as modified
 24032  type DiskChangeExtent struct {
 24033  	DynamicData
 24034  
 24035  	// Start offset (in bytes) of modified area
 24036  	Start int64 `xml:"start" json:"start"`
 24037  	// Length (in bytes) of modified area
 24038  	Length int64 `xml:"length" json:"length"`
 24039  }
 24040  
 24041  func init() {
 24042  	t["DiskChangeExtent"] = reflect.TypeOf((*DiskChangeExtent)(nil)).Elem()
 24043  }
 24044  
 24045  // Data structure to describe areas in a disk associated with this VM that have
 24046  // been modified since a well-defined point in the past.
 24047  //
 24048  // Returned by
 24049  // `VirtualMachine.QueryChangedDiskAreas`. This data structure describes
 24050  // a subset of the disk identified by startOffset and length. All areas that
 24051  // have been modified within this interval are listed under changedArea.
 24052  type DiskChangeInfo struct {
 24053  	DynamicData
 24054  
 24055  	// Start offset (in bytes) of disk area described by this data structure.
 24056  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
 24057  	// Length (in bytes) of disk area described by this data structure.
 24058  	Length int64 `xml:"length" json:"length"`
 24059  	// Modified disk areas.
 24060  	//
 24061  	// Might be empty if no parts of the disk between
 24062  	// startOffset and startOffset + length were modified.
 24063  	ChangedArea []DiskChangeExtent `xml:"changedArea,omitempty" json:"changedArea,omitempty"`
 24064  }
 24065  
 24066  func init() {
 24067  	t["DiskChangeInfo"] = reflect.TypeOf((*DiskChangeInfo)(nil)).Elem()
 24068  }
 24069  
 24070  // This data object type contains the crypto information of all disks along
 24071  // the chain
 24072  type DiskCryptoSpec struct {
 24073  	DynamicData
 24074  
 24075  	// The parent in the chain.
 24076  	Parent *DiskCryptoSpec `xml:"parent,omitempty" json:"parent,omitempty"`
 24077  	// Crypto information of the current disk.
 24078  	Crypto BaseCryptoSpec `xml:"crypto,typeattr" json:"crypto"`
 24079  }
 24080  
 24081  func init() {
 24082  	t["DiskCryptoSpec"] = reflect.TypeOf((*DiskCryptoSpec)(nil)).Elem()
 24083  }
 24084  
 24085  // Fault used for disks which have existing, non-VSAN partitions.
 24086  //
 24087  // See also `HostStorageSystem.UpdateDiskPartitions`, `HostVsanSystem.QueryDisksForVsan`.
 24088  type DiskHasPartitions struct {
 24089  	VsanDiskFault
 24090  }
 24091  
 24092  func init() {
 24093  	t["DiskHasPartitions"] = reflect.TypeOf((*DiskHasPartitions)(nil)).Elem()
 24094  }
 24095  
 24096  type DiskHasPartitionsFault DiskHasPartitions
 24097  
 24098  func init() {
 24099  	t["DiskHasPartitionsFault"] = reflect.TypeOf((*DiskHasPartitionsFault)(nil)).Elem()
 24100  }
 24101  
 24102  // Fault thrown for the case that an attempt is made to delete the last
 24103  // `VsanHostDiskMapping.nonSsd` from a `VsanHostDiskMapping`.
 24104  //
 24105  // See also `HostVsanSystem.RemoveDisk_Task`, `HostVsanSystem.RemoveDiskMapping_Task`.
 24106  type DiskIsLastRemainingNonSSD struct {
 24107  	VsanDiskFault
 24108  }
 24109  
 24110  func init() {
 24111  	t["DiskIsLastRemainingNonSSD"] = reflect.TypeOf((*DiskIsLastRemainingNonSSD)(nil)).Elem()
 24112  }
 24113  
 24114  type DiskIsLastRemainingNonSSDFault DiskIsLastRemainingNonSSD
 24115  
 24116  func init() {
 24117  	t["DiskIsLastRemainingNonSSDFault"] = reflect.TypeOf((*DiskIsLastRemainingNonSSDFault)(nil)).Elem()
 24118  }
 24119  
 24120  // Fault used for disks which are ineligible for VSAN because they are
 24121  // considered non-local.
 24122  //
 24123  // See also `HostVsanSystem.QueryDisksForVsan`.
 24124  type DiskIsNonLocal struct {
 24125  	VsanDiskFault
 24126  }
 24127  
 24128  func init() {
 24129  	t["DiskIsNonLocal"] = reflect.TypeOf((*DiskIsNonLocal)(nil)).Elem()
 24130  }
 24131  
 24132  type DiskIsNonLocalFault DiskIsNonLocal
 24133  
 24134  func init() {
 24135  	t["DiskIsNonLocalFault"] = reflect.TypeOf((*DiskIsNonLocalFault)(nil)).Elem()
 24136  }
 24137  
 24138  // Fault used for disks which are ineligible for VSAN because they are USB
 24139  // disks.
 24140  //
 24141  // See also `HostVsanSystem.QueryDisksForVsan`.
 24142  type DiskIsUSB struct {
 24143  	VsanDiskFault
 24144  }
 24145  
 24146  func init() {
 24147  	t["DiskIsUSB"] = reflect.TypeOf((*DiskIsUSB)(nil)).Elem()
 24148  }
 24149  
 24150  type DiskIsUSBFault DiskIsUSB
 24151  
 24152  func init() {
 24153  	t["DiskIsUSBFault"] = reflect.TypeOf((*DiskIsUSBFault)(nil)).Elem()
 24154  }
 24155  
 24156  // Specifying non-standard disk movement types is not supported.
 24157  //
 24158  // See also `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.
 24159  type DiskMoveTypeNotSupported struct {
 24160  	MigrationFault
 24161  }
 24162  
 24163  func init() {
 24164  	t["DiskMoveTypeNotSupported"] = reflect.TypeOf((*DiskMoveTypeNotSupported)(nil)).Elem()
 24165  }
 24166  
 24167  type DiskMoveTypeNotSupportedFault DiskMoveTypeNotSupported
 24168  
 24169  func init() {
 24170  	t["DiskMoveTypeNotSupportedFault"] = reflect.TypeOf((*DiskMoveTypeNotSupportedFault)(nil)).Elem()
 24171  }
 24172  
 24173  // The host does not support the backings for the disks specified by the virtual
 24174  // machine.
 24175  //
 24176  // For example, this fault is thrown if a virtual machine is created from
 24177  // a template that specifies backings that the host does not have. Similarly, this fault
 24178  // is thrown if a virtual machine is registered on a host that does not support the
 24179  // specified backings.
 24180  type DiskNotSupported struct {
 24181  	VirtualHardwareCompatibilityIssue
 24182  
 24183  	// The ID of disk that is not supported.
 24184  	Disk int32 `xml:"disk" json:"disk"`
 24185  }
 24186  
 24187  func init() {
 24188  	t["DiskNotSupported"] = reflect.TypeOf((*DiskNotSupported)(nil)).Elem()
 24189  }
 24190  
 24191  type DiskNotSupportedFault BaseDiskNotSupported
 24192  
 24193  func init() {
 24194  	t["DiskNotSupportedFault"] = reflect.TypeOf((*DiskNotSupportedFault)(nil)).Elem()
 24195  }
 24196  
 24197  // Fault used for disks which are too small for usage by VSAN.
 24198  type DiskTooSmall struct {
 24199  	VsanDiskFault
 24200  }
 24201  
 24202  func init() {
 24203  	t["DiskTooSmall"] = reflect.TypeOf((*DiskTooSmall)(nil)).Elem()
 24204  }
 24205  
 24206  type DiskTooSmallFault DiskTooSmall
 24207  
 24208  func init() {
 24209  	t["DiskTooSmallFault"] = reflect.TypeOf((*DiskTooSmallFault)(nil)).Elem()
 24210  }
 24211  
 24212  type DissociateProfile DissociateProfileRequestType
 24213  
 24214  func init() {
 24215  	t["DissociateProfile"] = reflect.TypeOf((*DissociateProfile)(nil)).Elem()
 24216  }
 24217  
 24218  // The parameters of `Profile.DissociateProfile`.
 24219  type DissociateProfileRequestType struct {
 24220  	This ManagedObjectReference `xml:"_this" json:"-"`
 24221  	// List of entities. The vCenter Server will remove the associations
 24222  	// that the profile has with the entities in the list. If unset,
 24223  	// the Server removes all the associations that the profile has with any
 24224  	// managed entities in the inventory.
 24225  	// If the specified entity is not associated with the profile,
 24226  	// the Server does not perform any action.
 24227  	//
 24228  	// Refers instances of `ManagedEntity`.
 24229  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 24230  }
 24231  
 24232  func init() {
 24233  	t["DissociateProfileRequestType"] = reflect.TypeOf((*DissociateProfileRequestType)(nil)).Elem()
 24234  }
 24235  
 24236  type DissociateProfileResponse struct {
 24237  }
 24238  
 24239  // The `DistributedVirtualPort` data object represents a port in a
 24240  // `DistributedVirtualSwitch`.
 24241  //
 24242  // Virtual ports are part of a distributed
 24243  // virtual portgroup. Servers create virtual ports according to the portgroup type
 24244  // (`DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type`).
 24245  // See `DistributedVirtualPortgroupPortgroupType_enum`.
 24246  //   - To configure host network access by port, set the distributed virtual port
 24247  //     in the host virtual NIC specification
 24248  //     (`HostVirtualNicSpec*.*HostVirtualNicSpec.distributedVirtualPort*.*DistributedVirtualSwitchPortConnection.portKey`).
 24249  //   - To configure virtual machine network access by port, set the port
 24250  //     in the virtual Ethernet card backing
 24251  //     (`VirtualEthernetCard*.*VirtualDevice.backing*.*VirtualEthernetCardDistributedVirtualPortBackingInfo.port*.*DistributedVirtualSwitchPortConnection.portKey`).
 24252  type DistributedVirtualPort struct {
 24253  	DynamicData
 24254  
 24255  	// Port key.
 24256  	Key string `xml:"key" json:"key"`
 24257  	// Port configuration, including identifying information, network
 24258  	// settings, and the set of entities that can connect to the port.
 24259  	Config DVPortConfigInfo `xml:"config" json:"config"`
 24260  	// UUID of the `DistributedVirtualSwitch` to which the port belongs.
 24261  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 24262  	// Key of the portgroup `DistributedVirtualPortgroup` to which
 24263  	// the port belongs, if any.
 24264  	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 24265  	// `HostSystem` that services this port.
 24266  	//
 24267  	// Refers instance of `HostSystem`.
 24268  	ProxyHost *ManagedObjectReference `xml:"proxyHost,omitempty" json:"proxyHost,omitempty"`
 24269  	// Entity that connects to the port.
 24270  	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
 24271  	// Specifies whether the port is a conflict port.
 24272  	//
 24273  	// A port could be marked
 24274  	// as conflict if an entity is discovered connecting to a port that is
 24275  	// already occupied, or if the host creates a port without conferring
 24276  	// with vCenter Server.
 24277  	//
 24278  	// The distributed virtual switch does not persist the runtime state
 24279  	// of a conflict port. Also, the port cannot move away from the host.
 24280  	// vCenter Server will not move a virtual machine (VMotion) that is
 24281  	// using a conflict port.
 24282  	Conflict bool `xml:"conflict" json:"conflict"`
 24283  	// If the port is marked conflict in the case of two entities connecting to
 24284  	// the same port (see
 24285  	// `DistributedVirtualPort.conflict`), this is the
 24286  	// key of the port which the connected entity is contending for.
 24287  	ConflictPortKey string `xml:"conflictPortKey,omitempty" json:"conflictPortKey,omitempty"`
 24288  	// Runtime state of the port.
 24289  	State *DVPortState `xml:"state,omitempty" json:"state,omitempty"`
 24290  	// Cookie representing the current instance of association between a
 24291  	// port and a virtual or physical NIC.
 24292  	//
 24293  	// See `DistributedVirtualSwitchPortConnection`.
 24294  	// The same cookie is present in the physical or virtual NIC configuration
 24295  	// (`DistributedVirtualSwitchPortConnection*.*DistributedVirtualSwitchPortConnection.connectionCookie`)
 24296  	// so that the Server can verify that the entity is the rightful
 24297  	// connectee of the port.
 24298  	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
 24299  	// The last time the
 24300  	// `DistributedVirtualPort.state*.*DVPortState.runtimeInfo`
 24301  	// value was changed.
 24302  	LastStatusChange time.Time `xml:"lastStatusChange" json:"lastStatusChange"`
 24303  	// Specifies whether the port is a host local port.
 24304  	//
 24305  	// A host local port is created
 24306  	// to resurrect the management network connection on a VMkernel virtual NIC.
 24307  	// You cannot use vCenter Server to reconfigure this port and you cannot
 24308  	// reassign the port.
 24309  	HostLocalPort *bool `xml:"hostLocalPort" json:"hostLocalPort,omitempty"`
 24310  	// Populate the Id assigned to vmknic or vnic by external management plane
 24311  	// to port, if the port is connected to the nics.
 24312  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty"`
 24313  	// Populate the segmentPortId assigned to LSP.
 24314  	SegmentPortId string `xml:"segmentPortId,omitempty" json:"segmentPortId,omitempty"`
 24315  }
 24316  
 24317  func init() {
 24318  	t["DistributedVirtualPort"] = reflect.TypeOf((*DistributedVirtualPort)(nil)).Elem()
 24319  }
 24320  
 24321  // This class describes a DistributedVirtualPortgroup that a device backing
 24322  // can be attached to.
 24323  type DistributedVirtualPortgroupInfo struct {
 24324  	DynamicData
 24325  
 24326  	// The name of the switch.
 24327  	SwitchName string `xml:"switchName" json:"switchName"`
 24328  	// The UUID of the switch.
 24329  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 24330  	// The name of the portgroup.
 24331  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 24332  	// The key of the portgroup.
 24333  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 24334  	// The type of portgroup.
 24335  	//
 24336  	// See `DistributedVirtualPortgroupPortgroupType_enum`
 24337  	PortgroupType string `xml:"portgroupType" json:"portgroupType"`
 24338  	// Whether this portgroup is an uplink portgroup.
 24339  	UplinkPortgroup bool `xml:"uplinkPortgroup" json:"uplinkPortgroup"`
 24340  	// The portgroup.
 24341  	//
 24342  	// Refers instance of `DistributedVirtualPortgroup`.
 24343  	Portgroup ManagedObjectReference `xml:"portgroup" json:"portgroup"`
 24344  	// Indicates whether network bandwidth reservation is supported on
 24345  	// the portgroup
 24346  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty"`
 24347  	// Backing type of portgroup.
 24348  	//
 24349  	// See
 24350  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
 24351  	// for possible values.
 24352  	// The default value is "standard".
 24353  	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty"`
 24354  	// The logical switch UUID, which is used by NSX portgroup
 24355  	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty"`
 24356  	// The segment ID of logical switch, which is used by NSX portroup
 24357  	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty"`
 24358  	// The subnet ID of logical switch
 24359  	SubnetId string `xml:"subnetId,omitempty" json:"subnetId,omitempty" vim:"9.0.0.0"`
 24360  }
 24361  
 24362  func init() {
 24363  	t["DistributedVirtualPortgroupInfo"] = reflect.TypeOf((*DistributedVirtualPortgroupInfo)(nil)).Elem()
 24364  }
 24365  
 24366  // The `DistributedVirtualPortgroupNsxPortgroupOperationResult`
 24367  // data object defines the result of NSX port group operations, including
 24368  // create, reconfigure and delete.
 24369  type DistributedVirtualPortgroupNsxPortgroupOperationResult struct {
 24370  	DynamicData
 24371  
 24372  	// The management object of NSX port group.
 24373  	//
 24374  	// For add operation, it indicates the port groups created successfully.
 24375  	// For reconfigure operation, it indicates the port groups updated
 24376  	// successfully.
 24377  	// For delete operation, it indicates the port groups failed deleted.
 24378  	//
 24379  	// Refers instances of `DistributedVirtualPortgroup`.
 24380  	Portgroups []ManagedObjectReference `xml:"portgroups,omitempty" json:"portgroups,omitempty"`
 24381  	// The failed port group operation details.
 24382  	Problems []DistributedVirtualPortgroupProblem `xml:"problems,omitempty" json:"problems,omitempty"`
 24383  }
 24384  
 24385  func init() {
 24386  	t["DistributedVirtualPortgroupNsxPortgroupOperationResult"] = reflect.TypeOf((*DistributedVirtualPortgroupNsxPortgroupOperationResult)(nil)).Elem()
 24387  }
 24388  
 24389  // The `DistributedVirtualPortgroupProblem`
 24390  // data object defines the error while excuting NSX port group operations.
 24391  type DistributedVirtualPortgroupProblem struct {
 24392  	DynamicData
 24393  
 24394  	// The problematic logical switch UUID
 24395  	LogicalSwitchUuid string `xml:"logicalSwitchUuid" json:"logicalSwitchUuid"`
 24396  	// The failure reason for each problematic logical switch UUID
 24397  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 24398  }
 24399  
 24400  func init() {
 24401  	t["DistributedVirtualPortgroupProblem"] = reflect.TypeOf((*DistributedVirtualPortgroupProblem)(nil)).Elem()
 24402  }
 24403  
 24404  // The `DistributedVirtualSwitchHostMember` data object represents an ESXi host that
 24405  // is a member of a distributed virtual switch.
 24406  //
 24407  // When you add a host to a switch
 24408  // (`DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host`),
 24409  // the Server creates a proxy switch (`HostProxySwitch`).
 24410  // The host member object contains information about the configuration
 24411  // and state of the proxy.
 24412  type DistributedVirtualSwitchHostMember struct {
 24413  	DynamicData
 24414  
 24415  	// Host member runtime state.
 24416  	RuntimeState *DistributedVirtualSwitchHostMemberRuntimeState `xml:"runtimeState,omitempty" json:"runtimeState,omitempty"`
 24417  	// Host member configuration.
 24418  	Config DistributedVirtualSwitchHostMemberConfigInfo `xml:"config" json:"config"`
 24419  	// Vendor, product and version information for the proxy switch
 24420  	// module.
 24421  	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 24422  	// Port keys of the uplink ports created for the host member.
 24423  	//
 24424  	// These ports
 24425  	// will be deleted after the host leaves the switch.
 24426  	UplinkPortKey []string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
 24427  	// Deprecated as of vSphere API 5.1, use
 24428  	// `HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.status` instead.
 24429  	//
 24430  	// The host DistributedVirtualSwitch component status.
 24431  	//
 24432  	// See
 24433  	// `HostComponentState` for valid values.
 24434  	Status string `xml:"status" json:"status"`
 24435  	// Deprecated as of vSphere API 5.1, use
 24436  	// `HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.statusDetail` instead.
 24437  	//
 24438  	// Additional information regarding the host's current status.
 24439  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
 24440  }
 24441  
 24442  func init() {
 24443  	t["DistributedVirtualSwitchHostMember"] = reflect.TypeOf((*DistributedVirtualSwitchHostMember)(nil)).Elem()
 24444  }
 24445  
 24446  // Base class.
 24447  type DistributedVirtualSwitchHostMemberBacking struct {
 24448  	DynamicData
 24449  }
 24450  
 24451  func init() {
 24452  	t["DistributedVirtualSwitchHostMemberBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberBacking)(nil)).Elem()
 24453  }
 24454  
 24455  // The `DistributedVirtualSwitchHostMemberConfigInfo` data object
 24456  // contains membership configuration information for the ESXi host.
 24457  type DistributedVirtualSwitchHostMemberConfigInfo struct {
 24458  	DynamicData
 24459  
 24460  	// ESXi host.
 24461  	//
 24462  	// This property should always be set unless the user's setting
 24463  	// does not have System.Read privilege on the object referred to
 24464  	// by this property.
 24465  	//
 24466  	// Refers instance of `HostSystem`.
 24467  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 24468  	// Maximum number of ports than can be created in the proxy switch.
 24469  	//
 24470  	// _ESXi 5.0 and earlier hosts_:
 24471  	// If you change the maximum number of ports, you must reboot
 24472  	// the host for the new value to take effect.
 24473  	MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts" json:"maxProxySwitchPorts"`
 24474  	// Opaque binary blob that stores vendor specific configuration.
 24475  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 24476  	// Host membership backing, specifying physical NIC, portgroup, and port
 24477  	// bindings for the proxy switch.
 24478  	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,typeattr" json:"backing"`
 24479  	// Indicate whether the proxy switch is used by NSX on this particular
 24480  	// host member of the VDS.
 24481  	NsxSwitch *bool `xml:"nsxSwitch" json:"nsxSwitch,omitempty"`
 24482  	// Indicate if ENS is enabled for this particular host member of
 24483  	// the VDS.
 24484  	//
 24485  	// It is read only.
 24486  	EnsEnabled *bool `xml:"ensEnabled" json:"ensEnabled,omitempty"`
 24487  	// Indicate if ENS interrupt mode is enabled for this particular host
 24488  	// member of the VDS.
 24489  	//
 24490  	// It is read only.
 24491  	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty"`
 24492  	// Indicate which transport zones this host joins by this VDS.
 24493  	TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty" json:"transportZones,omitempty"`
 24494  	// Indicate which uplink ports are used by NSX-T.
 24495  	NsxtUsedUplinkNames []string `xml:"nsxtUsedUplinkNames,omitempty" json:"nsxtUsedUplinkNames,omitempty"`
 24496  	// Indicate if network offloading is enabled for this particular host
 24497  	// member of the VDS.
 24498  	//
 24499  	// Unset implies that network offloading is disabled.
 24500  	NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled" json:"networkOffloadingEnabled,omitempty" vim:"8.0.0.1"`
 24501  }
 24502  
 24503  func init() {
 24504  	t["DistributedVirtualSwitchHostMemberConfigInfo"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigInfo)(nil)).Elem()
 24505  }
 24506  
 24507  // Specification to create or reconfigure ESXi host membership
 24508  // in a `DistributedVirtualSwitch`.
 24509  type DistributedVirtualSwitchHostMemberConfigSpec struct {
 24510  	DynamicData
 24511  
 24512  	// Host member operation type.
 24513  	//
 24514  	// See
 24515  	// `ConfigSpecOperation_enum` for valid values.
 24516  	Operation string `xml:"operation" json:"operation"`
 24517  	// Identifies a host member of a `DistributedVirtualSwitch`
 24518  	// for a `Folder.CreateDVS_Task` or
 24519  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.ReconfigureDvs_Task` operation.
 24520  	//
 24521  	// Refers instance of `HostSystem`.
 24522  	Host ManagedObjectReference `xml:"host" json:"host"`
 24523  	// Specifies the physical NICs to use as backing for the proxy switch
 24524  	// on the host.
 24525  	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 24526  	// Maximum number of ports allowed in the `HostProxySwitch`.
 24527  	//
 24528  	// _ESXi 5.0 and earlier hosts_: If you are reconfiguring an existing
 24529  	// host membership, that is, the proxy switch already exists, you must reboot
 24530  	// the host for the new setting to take effect.
 24531  	MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts,omitempty" json:"maxProxySwitchPorts,omitempty"`
 24532  	// Opaque binary blob that stores vendor specific configuration.
 24533  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 24534  }
 24535  
 24536  func init() {
 24537  	t["DistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem()
 24538  }
 24539  
 24540  // The runtime state of uplink on the host.
 24541  type DistributedVirtualSwitchHostMemberHostUplinkState struct {
 24542  	DynamicData
 24543  
 24544  	// Name of the uplink.
 24545  	UplinkName string `xml:"uplinkName" json:"uplinkName"`
 24546  	// The runtime state of the uplink.
 24547  	//
 24548  	// See `DistributedVirtualSwitchHostMemberHostUplinkStateState_enum` for supported values.
 24549  	State string `xml:"state" json:"state"`
 24550  }
 24551  
 24552  func init() {
 24553  	t["DistributedVirtualSwitchHostMemberHostUplinkState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostUplinkState)(nil)).Elem()
 24554  	minAPIVersionForType["DistributedVirtualSwitchHostMemberHostUplinkState"] = "8.0.3.0"
 24555  }
 24556  
 24557  // The `DistributedVirtualSwitchHostMemberPnicBacking` data object
 24558  // specifies a set of physical NICs to use for a proxy switch.
 24559  //
 24560  // When you add a host to a distributed virtual switch
 24561  // (`DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host`),
 24562  // the host creates a proxy switch that will use the pNICs as uplinks.
 24563  type DistributedVirtualSwitchHostMemberPnicBacking struct {
 24564  	DistributedVirtualSwitchHostMemberBacking
 24565  
 24566  	// List of physical NIC specifications.
 24567  	//
 24568  	// Each entry identifies
 24569  	// a pNIC to the proxy switch and optionally specifies uplink
 24570  	// portgroup and port connections for the pNIC.
 24571  	PnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"pnicSpec,omitempty" json:"pnicSpec,omitempty"`
 24572  }
 24573  
 24574  func init() {
 24575  	t["DistributedVirtualSwitchHostMemberPnicBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicBacking)(nil)).Elem()
 24576  }
 24577  
 24578  // Specification for an individual physical NIC.
 24579  type DistributedVirtualSwitchHostMemberPnicSpec struct {
 24580  	DynamicData
 24581  
 24582  	// Name of the physical NIC to be added to the proxy switch.
 24583  	//
 24584  	// See `PhysicalNic*.*PhysicalNic.device`.
 24585  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 24586  	// Key of the port to be connected to the physical NIC.
 24587  	UplinkPortKey string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
 24588  	// Key of the portgroup to be connected to the physical NIC.
 24589  	UplinkPortgroupKey string `xml:"uplinkPortgroupKey,omitempty" json:"uplinkPortgroupKey,omitempty"`
 24590  	// Cookie that represents this `DistributedVirtualSwitchPortConnection`
 24591  	// instance for the port.
 24592  	//
 24593  	// The cookie value is generated by the
 24594  	// Server. The Server ignores any value set by an SDK client.
 24595  	//
 24596  	// The same cookie is present in the distributed virtual port configuration
 24597  	// (`DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie`)
 24598  	// so that the Server can verify that the entity is the rightful
 24599  	// connectee of the port.
 24600  	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
 24601  }
 24602  
 24603  func init() {
 24604  	t["DistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem()
 24605  }
 24606  
 24607  // Runtime state of a host member.
 24608  type DistributedVirtualSwitchHostMemberRuntimeState struct {
 24609  	DynamicData
 24610  
 24611  	// Current maximum number of ports allowed to be created in the
 24612  	// proxy switch.
 24613  	CurrentMaxProxySwitchPorts int32 `xml:"currentMaxProxySwitchPorts" json:"currentMaxProxySwitchPorts"`
 24614  }
 24615  
 24616  func init() {
 24617  	t["DistributedVirtualSwitchHostMemberRuntimeState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberRuntimeState)(nil)).Elem()
 24618  }
 24619  
 24620  // Transport zone information.
 24621  type DistributedVirtualSwitchHostMemberTransportZoneInfo struct {
 24622  	DynamicData
 24623  
 24624  	// The UUID of transport zone.
 24625  	Uuid string `xml:"uuid" json:"uuid"`
 24626  	// The type of transport zone.
 24627  	//
 24628  	// See `DistributedVirtualSwitchHostMemberTransportZoneType_enum` for valid values.
 24629  	Type string `xml:"type" json:"type"`
 24630  }
 24631  
 24632  func init() {
 24633  	t["DistributedVirtualSwitchHostMemberTransportZoneInfo"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberTransportZoneInfo)(nil)).Elem()
 24634  }
 24635  
 24636  // This data object type is a subset of `AboutInfo`.
 24637  //
 24638  // An object of
 24639  // this type can be used to describe the specification for a host.
 24640  type DistributedVirtualSwitchHostProductSpec struct {
 24641  	DynamicData
 24642  
 24643  	// The product-line name.
 24644  	ProductLineId string `xml:"productLineId,omitempty" json:"productLineId,omitempty"`
 24645  	// Dot-separated version string.
 24646  	//
 24647  	// For example, "1.2".
 24648  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 24649  }
 24650  
 24651  func init() {
 24652  	t["DistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostProductSpec)(nil)).Elem()
 24653  }
 24654  
 24655  // This class describes a DistributedVirtualSwitch that a device backing
 24656  // can attached to its ports.
 24657  type DistributedVirtualSwitchInfo struct {
 24658  	DynamicData
 24659  
 24660  	// The name of the switch.
 24661  	SwitchName string `xml:"switchName" json:"switchName"`
 24662  	// The UUID of the switch.
 24663  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 24664  	// The switch.
 24665  	//
 24666  	// Refers instance of `DistributedVirtualSwitch`.
 24667  	DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch" json:"distributedVirtualSwitch"`
 24668  	// Indicates whether network bandwidth reservation is supported on
 24669  	// the switch
 24670  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty"`
 24671  }
 24672  
 24673  func init() {
 24674  	t["DistributedVirtualSwitchInfo"] = reflect.TypeOf((*DistributedVirtualSwitchInfo)(nil)).Elem()
 24675  }
 24676  
 24677  // This class defines a data structure to hold opaque binary data
 24678  // identified by a key.
 24679  type DistributedVirtualSwitchKeyedOpaqueBlob struct {
 24680  	DynamicData
 24681  
 24682  	// A key that identifies the opaque binary blob.
 24683  	Key string `xml:"key" json:"key"`
 24684  	// The opaque data.
 24685  	//
 24686  	// It is recommended that base64 encoding be used for binary
 24687  	// data.
 24688  	OpaqueData string `xml:"opaqueData" json:"opaqueData"`
 24689  }
 24690  
 24691  func init() {
 24692  	t["DistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*DistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem()
 24693  }
 24694  
 24695  // This is the return type for the checkCompatibility method.
 24696  //
 24697  // This object
 24698  // has a host property and optionally a fault which would
 24699  // be populated only if that host is not compatible with a given dvsProductSpec.
 24700  // If the host is compatible then the error property would be unset.
 24701  type DistributedVirtualSwitchManagerCompatibilityResult struct {
 24702  	DynamicData
 24703  
 24704  	// The host for which results are annotated.
 24705  	//
 24706  	// The whole object will be
 24707  	// filtered out if the caller did not have view permissions on the
 24708  	// host entity.
 24709  	//
 24710  	// Refers instance of `HostSystem`.
 24711  	Host ManagedObjectReference `xml:"host" json:"host"`
 24712  	// This property contains the faults that makes the host not compatible
 24713  	// with a given DvsProductSpec.
 24714  	//
 24715  	// For example, a host might not be compatible
 24716  	// because it's an older version of ESX that doesn't support DVS.
 24717  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 24718  }
 24719  
 24720  func init() {
 24721  	t["DistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem()
 24722  }
 24723  
 24724  // This class is used to specify ProductSpec for the DVS.
 24725  //
 24726  // The two properties are
 24727  // strictly mutually exclusive. If both properties are set, then
 24728  // an InvalidArgument fault would be thrown.
 24729  type DistributedVirtualSwitchManagerDvsProductSpec struct {
 24730  	DynamicData
 24731  
 24732  	// The ProductSpec for new DVS
 24733  	NewSwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"newSwitchProductSpec,omitempty" json:"newSwitchProductSpec,omitempty"`
 24734  	// Get ProductSpec from the existing DVS
 24735  	//
 24736  	// Refers instance of `DistributedVirtualSwitch`.
 24737  	DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 24738  }
 24739  
 24740  func init() {
 24741  	t["DistributedVirtualSwitchManagerDvsProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerDvsProductSpec)(nil)).Elem()
 24742  }
 24743  
 24744  // Check host compatibility against all hosts specified in the array.
 24745  type DistributedVirtualSwitchManagerHostArrayFilter struct {
 24746  	DistributedVirtualSwitchManagerHostDvsFilterSpec
 24747  
 24748  	// List of hosts to consider.
 24749  	//
 24750  	// Refers instances of `HostSystem`.
 24751  	Host []ManagedObjectReference `xml:"host" json:"host"`
 24752  }
 24753  
 24754  func init() {
 24755  	t["DistributedVirtualSwitchManagerHostArrayFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostArrayFilter)(nil)).Elem()
 24756  }
 24757  
 24758  // Check host compatibility for all hosts in the container.
 24759  //
 24760  // If the recursive
 24761  // flag is true, then check hosts at all levels within this container, otherwise
 24762  // check only at the container level. In case of container being a `Datacenter`,
 24763  // the recursive flag is applied to its HostFolder.
 24764  type DistributedVirtualSwitchManagerHostContainer struct {
 24765  	DynamicData
 24766  
 24767  	// Check compatibility of hosts in this container.
 24768  	//
 24769  	// The supported container
 24770  	// types are Datacenter, Folder, and ComputeResource.
 24771  	//
 24772  	// Refers instance of `ManagedEntity`.
 24773  	Container ManagedObjectReference `xml:"container" json:"container"`
 24774  	// If true, include hosts of all levels in the hierarchy with
 24775  	// container as root of the tree.
 24776  	//
 24777  	// In case of container being a `Datacenter`,
 24778  	// the recursive flag is applied to its HostFolder.
 24779  	Recursive bool `xml:"recursive" json:"recursive"`
 24780  }
 24781  
 24782  func init() {
 24783  	t["DistributedVirtualSwitchManagerHostContainer"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainer)(nil)).Elem()
 24784  }
 24785  
 24786  // Check host compatibility against all hosts in this
 24787  // `DistributedVirtualSwitchManagerHostContainer`
 24788  type DistributedVirtualSwitchManagerHostContainerFilter struct {
 24789  	DistributedVirtualSwitchManagerHostDvsFilterSpec
 24790  
 24791  	// Container of hosts that are part of the filter.
 24792  	HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer" json:"hostContainer"`
 24793  }
 24794  
 24795  func init() {
 24796  	t["DistributedVirtualSwitchManagerHostContainerFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainerFilter)(nil)).Elem()
 24797  }
 24798  
 24799  // Base class for filters to check host compatibility.
 24800  type DistributedVirtualSwitchManagerHostDvsFilterSpec struct {
 24801  	DynamicData
 24802  
 24803  	// If this flag is true, then the filter returns the hosts in the
 24804  	// `DistributedVirtualSwitchManagerHostContainer`
 24805  	// that satisfy the criteria specified by this filter, otherwise
 24806  	// it returns hosts that don't meet the criteria.
 24807  	Inclusive bool `xml:"inclusive" json:"inclusive"`
 24808  }
 24809  
 24810  func init() {
 24811  	t["DistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem()
 24812  }
 24813  
 24814  // Check host compatibility against all hosts in the DVS (or not in the DVS if
 24815  // inclusive flag in base class is false)
 24816  type DistributedVirtualSwitchManagerHostDvsMembershipFilter struct {
 24817  	DistributedVirtualSwitchManagerHostDvsFilterSpec
 24818  
 24819  	// Refers instance of `DistributedVirtualSwitch`.
 24820  	DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch" json:"distributedVirtualSwitch"`
 24821  }
 24822  
 24823  func init() {
 24824  	t["DistributedVirtualSwitchManagerHostDvsMembershipFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsMembershipFilter)(nil)).Elem()
 24825  }
 24826  
 24827  // The `DistributedVirtualSwitchManagerImportResult`
 24828  // data object represents the results of a
 24829  // `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`
 24830  // operation.
 24831  //
 24832  // It contains lists of the switches and portgroups
 24833  // that were created. It also contains a list of faults
 24834  // that occurred during the operation.
 24835  type DistributedVirtualSwitchManagerImportResult struct {
 24836  	DynamicData
 24837  
 24838  	// List of distributed virtual switches.
 24839  	//
 24840  	// Refers instances of `DistributedVirtualSwitch`.
 24841  	DistributedVirtualSwitch []ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 24842  	// List of distributed virtual portgroups.
 24843  	//
 24844  	// Refers instances of `DistributedVirtualPortgroup`.
 24845  	DistributedVirtualPortgroup []ManagedObjectReference `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
 24846  	// Faults that occurred on the entities during the import operation.
 24847  	ImportFault []ImportOperationBulkFaultFaultOnImport `xml:"importFault,omitempty" json:"importFault,omitempty"`
 24848  }
 24849  
 24850  func init() {
 24851  	t["DistributedVirtualSwitchManagerImportResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerImportResult)(nil)).Elem()
 24852  }
 24853  
 24854  // Describe the network offload specification of a
 24855  // `VmwareDistributedVirtualSwitch`.
 24856  type DistributedVirtualSwitchNetworkOffloadSpec struct {
 24857  	DynamicData
 24858  
 24859  	// Identifier of the specification.
 24860  	Id string `xml:"id" json:"id"`
 24861  	// Name of the specification.
 24862  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 24863  	// DPU types supported in the specification.
 24864  	Types []string `xml:"types,omitempty" json:"types,omitempty"`
 24865  }
 24866  
 24867  func init() {
 24868  	t["DistributedVirtualSwitchNetworkOffloadSpec"] = reflect.TypeOf((*DistributedVirtualSwitchNetworkOffloadSpec)(nil)).Elem()
 24869  	minAPIVersionForType["DistributedVirtualSwitchNetworkOffloadSpec"] = "8.0.0.1"
 24870  }
 24871  
 24872  // Information about the entity that connects to a DistributedVirtualPort.
 24873  type DistributedVirtualSwitchPortConnectee struct {
 24874  	DynamicData
 24875  
 24876  	// The connected entity.
 24877  	//
 24878  	// This property should always be set unless the user's setting
 24879  	// does not have System.Read privilege on the object referred to
 24880  	// by this property.
 24881  	//
 24882  	// Refers instance of `ManagedEntity`.
 24883  	ConnectedEntity *ManagedObjectReference `xml:"connectedEntity,omitempty" json:"connectedEntity,omitempty"`
 24884  	// The key of the virtual NIC that connects to this port.
 24885  	NicKey string `xml:"nicKey,omitempty" json:"nicKey,omitempty"`
 24886  	// The type of the connectee.
 24887  	//
 24888  	// See `ConnecteeType` for valid values.
 24889  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 24890  	// A hint on address information of the NIC that connects to this port.
 24891  	AddressHint string `xml:"addressHint,omitempty" json:"addressHint,omitempty"`
 24892  }
 24893  
 24894  func init() {
 24895  	t["DistributedVirtualSwitchPortConnectee"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnectee)(nil)).Elem()
 24896  }
 24897  
 24898  // The `DistributedVirtualSwitchPortConnection` data object represents a connection
 24899  // or association between a `DistributedVirtualPortgroup` or a
 24900  // `DistributedVirtualPort` and one of the following entities:
 24901  //   - Virtual machine virtual NIC
 24902  //     (`VirtualEthernetCardDistributedVirtualPortBackingInfo`)
 24903  //   - Host virtual NIC (`HostVirtualNic`)
 24904  //   - Physical NIC (`HostNetworkInfo*.*HostNetworkInfo.pnic`)
 24905  type DistributedVirtualSwitchPortConnection struct {
 24906  	DynamicData
 24907  
 24908  	// UUID of the switch (`DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid`).
 24909  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 24910  	// Key of the portgroup.
 24911  	//
 24912  	// If specified, the connection object represents a connection
 24913  	// or an association between a `DistributedVirtualPortgroup`
 24914  	// and a Virtual NIC or physical NIC.
 24915  	// In this case, setting the `DistributedVirtualSwitchPortConnection.portKey` is not necessary for a
 24916  	// early-binding portgroup and is not allowed for a late-binding portgroup.
 24917  	// The `DistributedVirtualSwitchPortConnection.portKey` property will be populated by the implementation
 24918  	// at the time of port binding.
 24919  	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 24920  	// Key of the port.
 24921  	//
 24922  	// If specified, this object represents a connection
 24923  	// or an association between an individual `DistributedVirtualPort`
 24924  	// and a Virtual NIC or physical NIC. See `DistributedVirtualSwitchPortConnection.portgroupKey` for more information on populating
 24925  	// this property.
 24926  	PortKey string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 24927  	// Cookie that represents this `DistributedVirtualSwitchPortConnection`
 24928  	// instance for the port.
 24929  	//
 24930  	// The cookie value is generated by the
 24931  	// Server. The Server ignores any value set by an SDK client.
 24932  	//
 24933  	// The same cookie is present in the distributed virtual port configuration
 24934  	// (`DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie`)
 24935  	// so that the Server can verify that the entity is the rightful
 24936  	// connectee of the port.
 24937  	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
 24938  }
 24939  
 24940  func init() {
 24941  	t["DistributedVirtualSwitchPortConnection"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnection)(nil)).Elem()
 24942  }
 24943  
 24944  // The criteria specification for selecting ports.
 24945  type DistributedVirtualSwitchPortCriteria struct {
 24946  	DynamicData
 24947  
 24948  	// If set, only the connected ports are qualified.
 24949  	Connected *bool `xml:"connected" json:"connected,omitempty"`
 24950  	// If set, only the active ports are qualified.
 24951  	Active *bool `xml:"active" json:"active,omitempty"`
 24952  	// If set to true, only the uplink ports are qualified.
 24953  	//
 24954  	// If set to false, only
 24955  	// non-uplink ports are qualified.
 24956  	UplinkPort *bool `xml:"uplinkPort" json:"uplinkPort,omitempty"`
 24957  	// If set to true, only the NSX ports are qualified.
 24958  	//
 24959  	// If set to false, only
 24960  	// non-NSX ports are qualified.
 24961  	// NSX ports are ports of NSX port group.
 24962  	NsxPort *bool `xml:"nsxPort" json:"nsxPort,omitempty"`
 24963  	// Deprecated as of vSphere API 5.5.
 24964  	//
 24965  	// If set, only the ports of which the scope covers the entity are
 24966  	// qualified.
 24967  	//
 24968  	// Refers instance of `ManagedEntity`.
 24969  	Scope *ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 24970  	// The keys of the portgroup that is used for the scope of `DistributedVirtualSwitchPortCriteria.inside`.
 24971  	//
 24972  	// If this property is unset, it means any portgroup. If `DistributedVirtualSwitchPortCriteria.inside`
 24973  	// is unset, this property is ignored.
 24974  	PortgroupKey []string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 24975  	// If unset, all ports in the switch are qualified.
 24976  	//
 24977  	// If set to true, only ports inside `DistributedVirtualSwitchPortCriteria.portgroupKey` or any
 24978  	// portgroup, if not set, are qualified.
 24979  	// If set to false, only ports outside `DistributedVirtualSwitchPortCriteria.portgroupKey` or any
 24980  	// portgroup, if not set, are qualified.
 24981  	Inside *bool `xml:"inside" json:"inside,omitempty"`
 24982  	// If set, only the ports of which the key is in the array are
 24983  	// qualified.
 24984  	PortKey []string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 24985  	// If set, only the ports that are present in one of the host are qualified.
 24986  	//
 24987  	// Refers instances of `HostSystem`.
 24988  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 24989  }
 24990  
 24991  func init() {
 24992  	t["DistributedVirtualSwitchPortCriteria"] = reflect.TypeOf((*DistributedVirtualSwitchPortCriteria)(nil)).Elem()
 24993  }
 24994  
 24995  // Statistic data of a DistributedVirtualPort.
 24996  type DistributedVirtualSwitchPortStatistics struct {
 24997  	DynamicData
 24998  
 24999  	// The number of multicast packets received.
 25000  	PacketsInMulticast int64 `xml:"packetsInMulticast" json:"packetsInMulticast"`
 25001  	// The number of multicast packets forwarded.
 25002  	PacketsOutMulticast int64 `xml:"packetsOutMulticast" json:"packetsOutMulticast"`
 25003  	// The number of bytes received from multicast packets.
 25004  	BytesInMulticast int64 `xml:"bytesInMulticast" json:"bytesInMulticast"`
 25005  	// The number of bytes forwarded from multicast packets.
 25006  	BytesOutMulticast int64 `xml:"bytesOutMulticast" json:"bytesOutMulticast"`
 25007  	// The number of unicast packets received.
 25008  	PacketsInUnicast int64 `xml:"packetsInUnicast" json:"packetsInUnicast"`
 25009  	// The number of unicast packets forwarded.
 25010  	PacketsOutUnicast int64 `xml:"packetsOutUnicast" json:"packetsOutUnicast"`
 25011  	// The number of bytes received from unicast packets.
 25012  	BytesInUnicast int64 `xml:"bytesInUnicast" json:"bytesInUnicast"`
 25013  	// The number of bytes forwarded from unicast packets.
 25014  	BytesOutUnicast int64 `xml:"bytesOutUnicast" json:"bytesOutUnicast"`
 25015  	// The number of broadcast packets received.
 25016  	PacketsInBroadcast int64 `xml:"packetsInBroadcast" json:"packetsInBroadcast"`
 25017  	// The number of broadcast packets forwarded.
 25018  	PacketsOutBroadcast int64 `xml:"packetsOutBroadcast" json:"packetsOutBroadcast"`
 25019  	// The number of bytes received from broadcast packets.
 25020  	BytesInBroadcast int64 `xml:"bytesInBroadcast" json:"bytesInBroadcast"`
 25021  	// The number of bytes forwarded from broadcast packets.
 25022  	BytesOutBroadcast int64 `xml:"bytesOutBroadcast" json:"bytesOutBroadcast"`
 25023  	// The number of received packets dropped.
 25024  	PacketsInDropped int64 `xml:"packetsInDropped" json:"packetsInDropped"`
 25025  	// The number of packets to be forwarded dropped.
 25026  	PacketsOutDropped int64 `xml:"packetsOutDropped" json:"packetsOutDropped"`
 25027  	// The number of packets received that cause an exception.
 25028  	PacketsInException int64 `xml:"packetsInException" json:"packetsInException"`
 25029  	// The number of packets to be forwarded that cause an exception.
 25030  	PacketsOutException int64 `xml:"packetsOutException" json:"packetsOutException"`
 25031  	// The number of bytes received at a pnic on the behalf of a port's
 25032  	// connectee (inter-host rx).
 25033  	BytesInFromPnic int64 `xml:"bytesInFromPnic,omitempty" json:"bytesInFromPnic,omitempty"`
 25034  	// The number of bytes transmitted at a pnic on the behalf of a port's
 25035  	// connectee (inter-host tx).
 25036  	BytesOutToPnic int64 `xml:"bytesOutToPnic,omitempty" json:"bytesOutToPnic,omitempty"`
 25037  }
 25038  
 25039  func init() {
 25040  	t["DistributedVirtualSwitchPortStatistics"] = reflect.TypeOf((*DistributedVirtualSwitchPortStatistics)(nil)).Elem()
 25041  }
 25042  
 25043  // This data object type is a subset of `AboutInfo`.
 25044  //
 25045  // An object of
 25046  // this type can be used to describe the specification for a proxy switch module
 25047  // of a `DistributedVirtualSwitch`.
 25048  type DistributedVirtualSwitchProductSpec struct {
 25049  	DynamicData
 25050  
 25051  	// Short form of the product name.
 25052  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 25053  	// Name of the vendor of this product.
 25054  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 25055  	// Dot-separated version string.
 25056  	//
 25057  	// For example, "1.2".
 25058  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 25059  	// Build string for the server on which this call is made.
 25060  	//
 25061  	// For example, x.y.z-num.
 25062  	// This string does not apply to the API.
 25063  	Build string `xml:"build,omitempty" json:"build,omitempty"`
 25064  	// Forwarding class of the distributed virtual switch.
 25065  	ForwardingClass string `xml:"forwardingClass,omitempty" json:"forwardingClass,omitempty"`
 25066  	// The ID of the bundle if a host component bundle needs to be installed on
 25067  	// the host members to support the functionality of the switch.
 25068  	BundleId string `xml:"bundleId,omitempty" json:"bundleId,omitempty"`
 25069  	// The URL of the bundle that VMware Update Manager will use to install
 25070  	// the bundle on the host members, if `DistributedVirtualSwitchProductSpec.bundleId` is set.
 25071  	BundleUrl string `xml:"bundleUrl,omitempty" json:"bundleUrl,omitempty"`
 25072  }
 25073  
 25074  func init() {
 25075  	t["DistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpec)(nil)).Elem()
 25076  }
 25077  
 25078  type DoesCustomizationSpecExist DoesCustomizationSpecExistRequestType
 25079  
 25080  func init() {
 25081  	t["DoesCustomizationSpecExist"] = reflect.TypeOf((*DoesCustomizationSpecExist)(nil)).Elem()
 25082  }
 25083  
 25084  // The parameters of `CustomizationSpecManager.DoesCustomizationSpecExist`.
 25085  type DoesCustomizationSpecExistRequestType struct {
 25086  	This ManagedObjectReference `xml:"_this" json:"-"`
 25087  	Name string                 `xml:"name" json:"name"`
 25088  }
 25089  
 25090  func init() {
 25091  	t["DoesCustomizationSpecExistRequestType"] = reflect.TypeOf((*DoesCustomizationSpecExistRequestType)(nil)).Elem()
 25092  }
 25093  
 25094  type DoesCustomizationSpecExistResponse struct {
 25095  	Returnval bool `xml:"returnval" json:"returnval"`
 25096  }
 25097  
 25098  // Fault indicating that the domain controller
 25099  // for domainName cannot be reached.
 25100  type DomainNotFound struct {
 25101  	ActiveDirectoryFault
 25102  
 25103  	// The domain that cannot be accessed.
 25104  	DomainName string `xml:"domainName" json:"domainName"`
 25105  }
 25106  
 25107  func init() {
 25108  	t["DomainNotFound"] = reflect.TypeOf((*DomainNotFound)(nil)).Elem()
 25109  }
 25110  
 25111  type DomainNotFoundFault DomainNotFound
 25112  
 25113  func init() {
 25114  	t["DomainNotFoundFault"] = reflect.TypeOf((*DomainNotFoundFault)(nil)).Elem()
 25115  }
 25116  
 25117  type DownloadDescriptionTree DownloadDescriptionTreeRequestType
 25118  
 25119  func init() {
 25120  	t["DownloadDescriptionTree"] = reflect.TypeOf((*DownloadDescriptionTree)(nil)).Elem()
 25121  }
 25122  
 25123  type DownloadDescriptionTreeRequestType struct {
 25124  	This ManagedObjectReference `xml:"_this" json:"-"`
 25125  }
 25126  
 25127  func init() {
 25128  	t["DownloadDescriptionTreeRequestType"] = reflect.TypeOf((*DownloadDescriptionTreeRequestType)(nil)).Elem()
 25129  }
 25130  
 25131  type DownloadDescriptionTreeResponse struct {
 25132  	Returnval []byte `xml:"returnval" json:"returnval"`
 25133  }
 25134  
 25135  // Data object describing the operational status of various DPU
 25136  // elements.
 25137  type DpuStatusInfo struct {
 25138  	HostHardwareElementInfo
 25139  
 25140  	// Uniquely identify this DPU.
 25141  	//
 25142  	// Should be the VMware identifier
 25143  	// which can be composed from pci and other identifying elements.
 25144  	DpuId string `xml:"dpuId" json:"dpuId"`
 25145  	// The FRU this sensor monitors, if any.
 25146  	Fru     *HostFru                       `xml:"fru,omitempty" json:"fru,omitempty"`
 25147  	Sensors []DpuStatusInfoOperationalInfo `xml:"sensors,omitempty" json:"sensors,omitempty"`
 25148  }
 25149  
 25150  func init() {
 25151  	t["DpuStatusInfo"] = reflect.TypeOf((*DpuStatusInfo)(nil)).Elem()
 25152  	minAPIVersionForType["DpuStatusInfo"] = "8.0.0.1"
 25153  }
 25154  
 25155  // Sensor information provided by DPU that provides health status.
 25156  type DpuStatusInfoOperationalInfo struct {
 25157  	DynamicData
 25158  
 25159  	// This string uniquely identifies a sensor in the DPU.
 25160  	SensorId string `xml:"sensorId" json:"sensorId"`
 25161  	// The health state of the element indicated by the sensor.
 25162  	//
 25163  	// See also `HostNumericSensorHealthState_enum`.
 25164  	HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr" json:"healthState,omitempty"`
 25165  	// A description of the state of the sensor
 25166  	// such as: N watts, Y RPM, or other measurement.
 25167  	Reading string `xml:"reading" json:"reading"`
 25168  	// If provided by underying API, the base units in which the sensor
 25169  	// reading is specified, "RPM", "WATTS" and so forth.
 25170  	Units string `xml:"units,omitempty" json:"units,omitempty"`
 25171  	// Reports the ISO 8601 Timestamp when this sensor was last updated by
 25172  	// management controller if the this sensor is capable of tracking
 25173  	// when it was last updated.
 25174  	//
 25175  	// Property timeStampRaw, which comes from
 25176  	// vendor firmware is convertible to DateTime, it will be provided.
 25177  	TimeStamp *time.Time `xml:"timeStamp" json:"timeStamp,omitempty"`
 25178  }
 25179  
 25180  func init() {
 25181  	t["DpuStatusInfoOperationalInfo"] = reflect.TypeOf((*DpuStatusInfoOperationalInfo)(nil)).Elem()
 25182  	minAPIVersionForType["DpuStatusInfoOperationalInfo"] = "8.0.0.1"
 25183  }
 25184  
 25185  type DropConnections DropConnectionsRequestType
 25186  
 25187  func init() {
 25188  	t["DropConnections"] = reflect.TypeOf((*DropConnections)(nil)).Elem()
 25189  }
 25190  
 25191  // The parameters of `VirtualMachine.DropConnections`.
 25192  type DropConnectionsRequestType struct {
 25193  	This              ManagedObjectReference         `xml:"_this" json:"-"`
 25194  	ListOfConnections []BaseVirtualMachineConnection `xml:"listOfConnections,omitempty,typeattr" json:"listOfConnections,omitempty"`
 25195  }
 25196  
 25197  func init() {
 25198  	t["DropConnectionsRequestType"] = reflect.TypeOf((*DropConnectionsRequestType)(nil)).Elem()
 25199  	minAPIVersionForType["DropConnectionsRequestType"] = "7.0.1.0"
 25200  }
 25201  
 25202  type DropConnectionsResponse struct {
 25203  	Returnval bool `xml:"returnval" json:"returnval"`
 25204  }
 25205  
 25206  // This event records when DRS is disabled on a cluster.
 25207  type DrsDisabledEvent struct {
 25208  	ClusterEvent
 25209  }
 25210  
 25211  func init() {
 25212  	t["DrsDisabledEvent"] = reflect.TypeOf((*DrsDisabledEvent)(nil)).Elem()
 25213  }
 25214  
 25215  // This fault is thrown when DRS cannot move a virtual machine because
 25216  // DRS is disabled on it (i.e., it is pinned on its registered host).
 25217  type DrsDisabledOnVm struct {
 25218  	VimFault
 25219  }
 25220  
 25221  func init() {
 25222  	t["DrsDisabledOnVm"] = reflect.TypeOf((*DrsDisabledOnVm)(nil)).Elem()
 25223  }
 25224  
 25225  type DrsDisabledOnVmFault DrsDisabledOnVm
 25226  
 25227  func init() {
 25228  	t["DrsDisabledOnVmFault"] = reflect.TypeOf((*DrsDisabledOnVmFault)(nil)).Elem()
 25229  }
 25230  
 25231  // This event records when DRS is enabled on a cluster.
 25232  type DrsEnabledEvent struct {
 25233  	ClusterEvent
 25234  
 25235  	// The DRS automation level in (`DrsBehavior`)
 25236  	Behavior string `xml:"behavior" json:"behavior"`
 25237  }
 25238  
 25239  func init() {
 25240  	t["DrsEnabledEvent"] = reflect.TypeOf((*DrsEnabledEvent)(nil)).Elem()
 25241  }
 25242  
 25243  // This event records that the host has successfully entered standby mode initiated by
 25244  // Distributed Power Management.
 25245  //
 25246  // A host in this mode has no running virtual
 25247  // machines and no provisioning operations are occurring.
 25248  type DrsEnteredStandbyModeEvent struct {
 25249  	EnteredStandbyModeEvent
 25250  }
 25251  
 25252  func init() {
 25253  	t["DrsEnteredStandbyModeEvent"] = reflect.TypeOf((*DrsEnteredStandbyModeEvent)(nil)).Elem()
 25254  }
 25255  
 25256  // This event records that a host has begun the process of
 25257  // entering standby mode initiated by Distributed Power Management.
 25258  type DrsEnteringStandbyModeEvent struct {
 25259  	EnteringStandbyModeEvent
 25260  }
 25261  
 25262  func init() {
 25263  	t["DrsEnteringStandbyModeEvent"] = reflect.TypeOf((*DrsEnteringStandbyModeEvent)(nil)).Elem()
 25264  }
 25265  
 25266  // This event records that Distributed Power Management tried to bring a host out
 25267  // from standby mode, but the host failed to exit standby mode.
 25268  type DrsExitStandbyModeFailedEvent struct {
 25269  	ExitStandbyModeFailedEvent
 25270  }
 25271  
 25272  func init() {
 25273  	t["DrsExitStandbyModeFailedEvent"] = reflect.TypeOf((*DrsExitStandbyModeFailedEvent)(nil)).Elem()
 25274  }
 25275  
 25276  // This event records that Distributed Power Management brings this host
 25277  // out from standby mode.
 25278  type DrsExitedStandbyModeEvent struct {
 25279  	ExitedStandbyModeEvent
 25280  }
 25281  
 25282  func init() {
 25283  	t["DrsExitedStandbyModeEvent"] = reflect.TypeOf((*DrsExitedStandbyModeEvent)(nil)).Elem()
 25284  }
 25285  
 25286  // This event records that a host has begun the process of
 25287  // exiting standby mode initiated by Distributed Power Management.
 25288  type DrsExitingStandbyModeEvent struct {
 25289  	ExitingStandbyModeEvent
 25290  }
 25291  
 25292  func init() {
 25293  	t["DrsExitingStandbyModeEvent"] = reflect.TypeOf((*DrsExitingStandbyModeEvent)(nil)).Elem()
 25294  }
 25295  
 25296  // This event records DRS invocation failure.
 25297  type DrsInvocationFailedEvent struct {
 25298  	ClusterEvent
 25299  }
 25300  
 25301  func init() {
 25302  	t["DrsInvocationFailedEvent"] = reflect.TypeOf((*DrsInvocationFailedEvent)(nil)).Elem()
 25303  }
 25304  
 25305  // This event records that DRS has recovered from failure.
 25306  //
 25307  // It is triggered by a successful DRS invocation after repeated failure.
 25308  type DrsRecoveredFromFailureEvent struct {
 25309  	ClusterEvent
 25310  }
 25311  
 25312  func init() {
 25313  	t["DrsRecoveredFromFailureEvent"] = reflect.TypeOf((*DrsRecoveredFromFailureEvent)(nil)).Elem()
 25314  }
 25315  
 25316  // This event records when resource configuration
 25317  // specification synchronization fails on a host.
 25318  type DrsResourceConfigureFailedEvent struct {
 25319  	HostEvent
 25320  
 25321  	// The reason for the failure.
 25322  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 25323  }
 25324  
 25325  func init() {
 25326  	t["DrsResourceConfigureFailedEvent"] = reflect.TypeOf((*DrsResourceConfigureFailedEvent)(nil)).Elem()
 25327  }
 25328  
 25329  // This event records when resource configuration
 25330  // specification returns to synchronized from previous failure.
 25331  type DrsResourceConfigureSyncedEvent struct {
 25332  	HostEvent
 25333  }
 25334  
 25335  func init() {
 25336  	t["DrsResourceConfigureSyncedEvent"] = reflect.TypeOf((*DrsResourceConfigureSyncedEvent)(nil)).Elem()
 25337  }
 25338  
 25339  // This event records when a virtual machine comes into compliance with DRS rules.
 25340  type DrsRuleComplianceEvent struct {
 25341  	VmEvent
 25342  }
 25343  
 25344  func init() {
 25345  	t["DrsRuleComplianceEvent"] = reflect.TypeOf((*DrsRuleComplianceEvent)(nil)).Elem()
 25346  }
 25347  
 25348  // This event records when a virtual machine violates a DRS VM-Host rule.
 25349  type DrsRuleViolationEvent struct {
 25350  	VmEvent
 25351  }
 25352  
 25353  func init() {
 25354  	t["DrsRuleViolationEvent"] = reflect.TypeOf((*DrsRuleViolationEvent)(nil)).Elem()
 25355  }
 25356  
 25357  // This event records when a virtual machine violates a soft VM-Host rule.
 25358  type DrsSoftRuleViolationEvent struct {
 25359  	VmEvent
 25360  }
 25361  
 25362  func init() {
 25363  	t["DrsSoftRuleViolationEvent"] = reflect.TypeOf((*DrsSoftRuleViolationEvent)(nil)).Elem()
 25364  }
 25365  
 25366  // This event records a virtual machine migration that was recommended by DRS.
 25367  type DrsVmMigratedEvent struct {
 25368  	VmMigratedEvent
 25369  }
 25370  
 25371  func init() {
 25372  	t["DrsVmMigratedEvent"] = reflect.TypeOf((*DrsVmMigratedEvent)(nil)).Elem()
 25373  }
 25374  
 25375  // This event records when a virtual machine is powered on by DRS.
 25376  type DrsVmPoweredOnEvent struct {
 25377  	VmPoweredOnEvent
 25378  }
 25379  
 25380  func init() {
 25381  	t["DrsVmPoweredOnEvent"] = reflect.TypeOf((*DrsVmPoweredOnEvent)(nil)).Elem()
 25382  }
 25383  
 25384  // This fault is thrown when DRS tries to migrate a virtual machine to a host,
 25385  // but finds that the host is incompatible with the given virtual machine.
 25386  type DrsVmotionIncompatibleFault struct {
 25387  	VirtualHardwareCompatibilityIssue
 25388  
 25389  	// The host that is incompatible with a given virtual machine.
 25390  	//
 25391  	// Refers instance of `HostSystem`.
 25392  	Host ManagedObjectReference `xml:"host" json:"host"`
 25393  }
 25394  
 25395  func init() {
 25396  	t["DrsVmotionIncompatibleFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFault)(nil)).Elem()
 25397  }
 25398  
 25399  type DrsVmotionIncompatibleFaultFault DrsVmotionIncompatibleFault
 25400  
 25401  func init() {
 25402  	t["DrsVmotionIncompatibleFaultFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFaultFault)(nil)).Elem()
 25403  }
 25404  
 25405  type DuplicateCustomizationSpec DuplicateCustomizationSpecRequestType
 25406  
 25407  func init() {
 25408  	t["DuplicateCustomizationSpec"] = reflect.TypeOf((*DuplicateCustomizationSpec)(nil)).Elem()
 25409  }
 25410  
 25411  // The parameters of `CustomizationSpecManager.DuplicateCustomizationSpec`.
 25412  type DuplicateCustomizationSpecRequestType struct {
 25413  	This    ManagedObjectReference `xml:"_this" json:"-"`
 25414  	Name    string                 `xml:"name" json:"name"`
 25415  	NewName string                 `xml:"newName" json:"newName"`
 25416  }
 25417  
 25418  func init() {
 25419  	t["DuplicateCustomizationSpecRequestType"] = reflect.TypeOf((*DuplicateCustomizationSpecRequestType)(nil)).Elem()
 25420  }
 25421  
 25422  type DuplicateCustomizationSpecResponse struct {
 25423  }
 25424  
 25425  // Fault used to denote a duplicate set of disks were incorrectly specified
 25426  // for a given operation.
 25427  //
 25428  // See also `HostVsanSystem.AddDisks_Task`, `HostVsanSystem.InitializeDisks_Task`.
 25429  type DuplicateDisks struct {
 25430  	VsanDiskFault
 25431  }
 25432  
 25433  func init() {
 25434  	t["DuplicateDisks"] = reflect.TypeOf((*DuplicateDisks)(nil)).Elem()
 25435  }
 25436  
 25437  type DuplicateDisksFault DuplicateDisks
 25438  
 25439  func init() {
 25440  	t["DuplicateDisksFault"] = reflect.TypeOf((*DuplicateDisksFault)(nil)).Elem()
 25441  }
 25442  
 25443  // This event records that a duplicate IP address has been observed in
 25444  // conflict with the vmotion or IP storage interface configured on the
 25445  // host.
 25446  type DuplicateIpDetectedEvent struct {
 25447  	HostEvent
 25448  
 25449  	// The Duplicate IP address detected.
 25450  	DuplicateIP string `xml:"duplicateIP" json:"duplicateIP"`
 25451  	// The MAC associated with duplicate IP.
 25452  	MacAddress string `xml:"macAddress" json:"macAddress"`
 25453  }
 25454  
 25455  func init() {
 25456  	t["DuplicateIpDetectedEvent"] = reflect.TypeOf((*DuplicateIpDetectedEvent)(nil)).Elem()
 25457  }
 25458  
 25459  // A DuplicateName exception is thrown because a name already exists
 25460  // in the same name space.
 25461  type DuplicateName struct {
 25462  	VimFault
 25463  
 25464  	// The name that is already bound in the name space.
 25465  	Name string `xml:"name" json:"name"`
 25466  	// Managed object that already holds the name.
 25467  	Object ManagedObjectReference `xml:"object" json:"object"`
 25468  }
 25469  
 25470  func init() {
 25471  	t["DuplicateName"] = reflect.TypeOf((*DuplicateName)(nil)).Elem()
 25472  }
 25473  
 25474  type DuplicateNameFault DuplicateName
 25475  
 25476  func init() {
 25477  	t["DuplicateNameFault"] = reflect.TypeOf((*DuplicateNameFault)(nil)).Elem()
 25478  }
 25479  
 25480  // Fault thrown for cases that duplicate network interface names are
 25481  // incorrectly specified for a VSAN operation.
 25482  //
 25483  // See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
 25484  type DuplicateVsanNetworkInterface struct {
 25485  	VsanFault
 25486  
 25487  	// The network interface name found to be duplicated.
 25488  	Device string `xml:"device" json:"device"`
 25489  }
 25490  
 25491  func init() {
 25492  	t["DuplicateVsanNetworkInterface"] = reflect.TypeOf((*DuplicateVsanNetworkInterface)(nil)).Elem()
 25493  }
 25494  
 25495  type DuplicateVsanNetworkInterfaceFault DuplicateVsanNetworkInterface
 25496  
 25497  func init() {
 25498  	t["DuplicateVsanNetworkInterfaceFault"] = reflect.TypeOf((*DuplicateVsanNetworkInterfaceFault)(nil)).Elem()
 25499  }
 25500  
 25501  // This event is generated when an import operation is
 25502  // performed on a distributed virtual portgroup
 25503  type DvpgImportEvent struct {
 25504  	DVPortgroupEvent
 25505  
 25506  	// The type of restore operation.
 25507  	//
 25508  	// See `EntityImportType_enum` for valid values
 25509  	ImportType string `xml:"importType" json:"importType"`
 25510  }
 25511  
 25512  func init() {
 25513  	t["DvpgImportEvent"] = reflect.TypeOf((*DvpgImportEvent)(nil)).Elem()
 25514  }
 25515  
 25516  // This event is generated when a restore operation is
 25517  // performed on a distributed virtual portgroup
 25518  type DvpgRestoreEvent struct {
 25519  	DVPortgroupEvent
 25520  }
 25521  
 25522  func init() {
 25523  	t["DvpgRestoreEvent"] = reflect.TypeOf((*DvpgRestoreEvent)(nil)).Elem()
 25524  }
 25525  
 25526  // This class defines network rule action to accept packets.
 25527  type DvsAcceptNetworkRuleAction struct {
 25528  	DvsNetworkRuleAction
 25529  }
 25530  
 25531  func init() {
 25532  	t["DvsAcceptNetworkRuleAction"] = reflect.TypeOf((*DvsAcceptNetworkRuleAction)(nil)).Elem()
 25533  }
 25534  
 25535  // Thrown if a vSphere Distributed Switch apply operation failed to set or remove
 25536  // some of the specified objects.
 25537  type DvsApplyOperationFault struct {
 25538  	DvsFault
 25539  
 25540  	// Faults occurred on the host during a DistributedVirtualSwitch operation.
 25541  	ObjectFault []DvsApplyOperationFaultFaultOnObject `xml:"objectFault" json:"objectFault"`
 25542  }
 25543  
 25544  func init() {
 25545  	t["DvsApplyOperationFault"] = reflect.TypeOf((*DvsApplyOperationFault)(nil)).Elem()
 25546  }
 25547  
 25548  type DvsApplyOperationFaultFault DvsApplyOperationFault
 25549  
 25550  func init() {
 25551  	t["DvsApplyOperationFaultFault"] = reflect.TypeOf((*DvsApplyOperationFaultFault)(nil)).Elem()
 25552  }
 25553  
 25554  // The fault occurred during an apply operation.
 25555  type DvsApplyOperationFaultFaultOnObject struct {
 25556  	DynamicData
 25557  
 25558  	// The object identifier.
 25559  	//
 25560  	// It should be UUID for vSphere Distributed Switches,
 25561  	// keys for vNetwork distributed portgroups and ports.
 25562  	ObjectId string `xml:"objectId" json:"objectId"`
 25563  	// The Type of the objects.
 25564  	Type string `xml:"type" json:"type"`
 25565  	// The fault that occurred.
 25566  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 25567  }
 25568  
 25569  func init() {
 25570  	t["DvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*DvsApplyOperationFaultFaultOnObject)(nil)).Elem()
 25571  }
 25572  
 25573  // This class defines network rule action to copy the packet to an
 25574  // associated slow-path service Virtual Machine and let the original
 25575  // frame continue.
 25576  type DvsCopyNetworkRuleAction struct {
 25577  	DvsNetworkRuleAction
 25578  }
 25579  
 25580  func init() {
 25581  	t["DvsCopyNetworkRuleAction"] = reflect.TypeOf((*DvsCopyNetworkRuleAction)(nil)).Elem()
 25582  }
 25583  
 25584  // A distributed virtual switch was created.
 25585  type DvsCreatedEvent struct {
 25586  	DvsEvent
 25587  
 25588  	// The folder where the DistributedVirtualSwitch is created.
 25589  	Parent FolderEventArgument `xml:"parent" json:"parent"`
 25590  }
 25591  
 25592  func init() {
 25593  	t["DvsCreatedEvent"] = reflect.TypeOf((*DvsCreatedEvent)(nil)).Elem()
 25594  }
 25595  
 25596  // A distributed virtual switch was destroyed.
 25597  type DvsDestroyedEvent struct {
 25598  	DvsEvent
 25599  }
 25600  
 25601  func init() {
 25602  	t["DvsDestroyedEvent"] = reflect.TypeOf((*DvsDestroyedEvent)(nil)).Elem()
 25603  }
 25604  
 25605  // This class defines network rule action to drop packets.
 25606  type DvsDropNetworkRuleAction struct {
 25607  	DvsNetworkRuleAction
 25608  }
 25609  
 25610  func init() {
 25611  	t["DvsDropNetworkRuleAction"] = reflect.TypeOf((*DvsDropNetworkRuleAction)(nil)).Elem()
 25612  }
 25613  
 25614  // These are dvs-related events.
 25615  type DvsEvent struct {
 25616  	Event
 25617  }
 25618  
 25619  func init() {
 25620  	t["DvsEvent"] = reflect.TypeOf((*DvsEvent)(nil)).Elem()
 25621  }
 25622  
 25623  // The event argument is a Host object.
 25624  type DvsEventArgument struct {
 25625  	EntityEventArgument
 25626  
 25627  	// The distributed virtual switch object.
 25628  	//
 25629  	// Refers instance of `DistributedVirtualSwitch`.
 25630  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 25631  }
 25632  
 25633  func init() {
 25634  	t["DvsEventArgument"] = reflect.TypeOf((*DvsEventArgument)(nil)).Elem()
 25635  }
 25636  
 25637  // Base class for faults that can be thrown while invoking a distributed virtual switch
 25638  // operation.
 25639  type DvsFault struct {
 25640  	VimFault
 25641  }
 25642  
 25643  func init() {
 25644  	t["DvsFault"] = reflect.TypeOf((*DvsFault)(nil)).Elem()
 25645  }
 25646  
 25647  type DvsFaultFault BaseDvsFault
 25648  
 25649  func init() {
 25650  	t["DvsFaultFault"] = reflect.TypeOf((*DvsFaultFault)(nil)).Elem()
 25651  }
 25652  
 25653  // This class defines Network Filter configuration.
 25654  //
 25655  // ** Supported Qualifier and Actions **
 25656  // <table border="1"width="100%">
 25657  // <tr>
 25658  // <th>Network Filter Config</th>
 25659  // <th>Supported classes</th>
 25660  // </tr>
 25661  // <tr>
 25662  // <td>Qualifiers supported</td>
 25663  // <td>`SingleIp`, `IpRange`,
 25664  // `SingleMac`, `MacRange`,
 25665  // `DvsSingleIpPort`,
 25666  // `DvsSystemTrafficNetworkRuleQualifier`
 25667  // </td>
 25668  // </tr>
 25669  // <tr>
 25670  // <td>Actions Supported</td>
 25671  // <td>`DvsDropNetworkRuleAction`,
 25672  // `DvsAcceptNetworkRuleAction`,
 25673  // `DvsPuntNetworkRuleAction`,
 25674  // `DvsCopyNetworkRuleAction`,
 25675  // `DvsMacRewriteNetworkRuleAction`,
 25676  // `DvsGreEncapNetworkRuleAction`,
 25677  // `DvsLogNetworkRuleAction`,
 25678  // `DvsUpdateTagNetworkRuleAction`,
 25679  // `DvsRateLimitNetworkRuleAction`
 25680  // </td>
 25681  // </tr>
 25682  type DvsFilterConfig struct {
 25683  	InheritablePolicy
 25684  
 25685  	// The key of Network Filter Config.
 25686  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 25687  	// The name of the network traffic filter agent.
 25688  	AgentName string `xml:"agentName,omitempty" json:"agentName,omitempty"`
 25689  	// The slot number of the network filter agent.
 25690  	SlotNumber string `xml:"slotNumber,omitempty" json:"slotNumber,omitempty"`
 25691  	// Network Filter Parameter
 25692  	Parameters *DvsFilterParameter `xml:"parameters,omitempty" json:"parameters,omitempty"`
 25693  	// This property specifies whether to allow all traffic or to deny all
 25694  	// traffic when a Network Filter fails to configure.
 25695  	//
 25696  	// Please see `DvsFilterOnFailure_enum`
 25697  	// for more details.
 25698  	OnFailure string `xml:"onFailure,omitempty" json:"onFailure,omitempty"`
 25699  }
 25700  
 25701  func init() {
 25702  	t["DvsFilterConfig"] = reflect.TypeOf((*DvsFilterConfig)(nil)).Elem()
 25703  }
 25704  
 25705  // The specification to reconfigure Network Filter.
 25706  //
 25707  // This specification allows the user to do fine-grained updates for the
 25708  // Filter in the port settings.
 25709  // If the operation is `remove`, only the
 25710  // `DistributedVirtualPort.key` needs to be specified.
 25711  // If other fields are specified, they will be ignored. We cannot remove
 25712  // an inherited element. Only when the inherited flag is set to false and
 25713  // parent does not have an element with same key this operation succeeds.
 25714  // If the operation is `add`, then
 25715  // `DistributedVirtualPort.key` should not be specified and
 25716  // other fields need to be specified. The inherited flag should be set to
 25717  // false.
 25718  // If the operation is `edit`, then
 25719  // `DistributedVirtualPort.key` needs be specified and
 25720  // specify the other properties that need modification. If the inherited
 25721  // flag is set to true, a `DvsFilterConfig` object of same
 25722  // key must exist at the parent's level. The property values in the spec
 25723  // object will be ignored and use the values from the parent's
 25724  // `DvsFilterConfig` object instead. If inherited
 25725  // flag is set to false, then the new modifications will be applied.
 25726  type DvsFilterConfigSpec struct {
 25727  	DvsFilterConfig
 25728  
 25729  	// Operation type.
 25730  	//
 25731  	// See `ConfigSpecOperation_enum` for valid values.
 25732  	Operation string `xml:"operation" json:"operation"`
 25733  }
 25734  
 25735  func init() {
 25736  	t["DvsFilterConfigSpec"] = reflect.TypeOf((*DvsFilterConfigSpec)(nil)).Elem()
 25737  }
 25738  
 25739  // This class defines Network Filter parameter.
 25740  type DvsFilterParameter struct {
 25741  	DynamicData
 25742  
 25743  	// List of parameters for a Network Filter.
 25744  	Parameters []string `xml:"parameters,omitempty" json:"parameters,omitempty"`
 25745  }
 25746  
 25747  func init() {
 25748  	t["DvsFilterParameter"] = reflect.TypeOf((*DvsFilterParameter)(nil)).Elem()
 25749  }
 25750  
 25751  // This class defines Network Filter Policy.
 25752  type DvsFilterPolicy struct {
 25753  	InheritablePolicy
 25754  
 25755  	// List of Network Filter Configurations.
 25756  	//
 25757  	// In an update operation, the array can contain all
 25758  	// `DvsTrafficFilterConfigSpec` objects
 25759  	// or all `DvsFilterConfig` and
 25760  	// `DvsTrafficFilterConfig`
 25761  	// object, but not mixed of Config and Spec objects. If array of
 25762  	// `DvsFilterConfigSpec` and `DvsTrafficFilterConfigSpec` is used
 25763  	// for updating Network Filter then only the Network Filters
 25764  	// matching `DistributedVirtualPort.key` /
 25765  	// `DistributedVirtualPort.key`
 25766  	// is updated.
 25767  	// If array of `DvsFilterConfig` and
 25768  	// `DvsTrafficFilterConfig`
 25769  	// is used for updating port settings, the Network Filter
 25770  	// settings will be overridden with the new array specified. The
 25771  	// specified array should only contain `DvsFilterConfig` and
 25772  	// `DvsTrafficFilterConfig` objects with `InheritablePolicy.inherited` /
 25773  	// `InheritablePolicy.inherited` set to false.
 25774  	// `DvsFilterConfig*/*DvsTrafficFilterConfig` objects with
 25775  	// `InheritablePolicy.inherited*/*InheritablePolicy.inherited` as
 25776  	// true in the specified array will be ignored. The updated result will
 25777  	// include `DvsFilterConfig*/*DvsTrafficFilterConfig` objects
 25778  	// inherited from parent, if any.
 25779  	FilterConfig []BaseDvsFilterConfig `xml:"filterConfig,omitempty,typeattr" json:"filterConfig,omitempty"`
 25780  }
 25781  
 25782  func init() {
 25783  	t["DvsFilterPolicy"] = reflect.TypeOf((*DvsFilterPolicy)(nil)).Elem()
 25784  }
 25785  
 25786  // This class defines network rule action to GRE Encapsulate a packet.
 25787  type DvsGreEncapNetworkRuleAction struct {
 25788  	DvsNetworkRuleAction
 25789  
 25790  	// Single IP address.
 25791  	//
 25792  	// Only IPv4 is supported for vSphere API 5.5.
 25793  	EncapsulationIp SingleIp `xml:"encapsulationIp" json:"encapsulationIp"`
 25794  }
 25795  
 25796  func init() {
 25797  	t["DvsGreEncapNetworkRuleAction"] = reflect.TypeOf((*DvsGreEncapNetworkRuleAction)(nil)).Elem()
 25798  }
 25799  
 25800  // Health check status of an switch is changed.
 25801  type DvsHealthStatusChangeEvent struct {
 25802  	HostEvent
 25803  
 25804  	// UUID of the DVS the host is connected to.
 25805  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 25806  	// Health check status.
 25807  	HealthResult BaseHostMemberHealthCheckResult `xml:"healthResult,omitempty,typeattr" json:"healthResult,omitempty"`
 25808  }
 25809  
 25810  func init() {
 25811  	t["DvsHealthStatusChangeEvent"] = reflect.TypeOf((*DvsHealthStatusChangeEvent)(nil)).Elem()
 25812  }
 25813  
 25814  // The DVS configuration on the host was synchronized with that of
 25815  // the Virtual Center Server and the configuration is the same on
 25816  // the host and Virtual Center Server.
 25817  type DvsHostBackInSyncEvent struct {
 25818  	DvsEvent
 25819  
 25820  	// The host that was synchronized.
 25821  	HostBackInSync HostEventArgument `xml:"hostBackInSync" json:"hostBackInSync"`
 25822  }
 25823  
 25824  func init() {
 25825  	t["DvsHostBackInSyncEvent"] = reflect.TypeOf((*DvsHostBackInSyncEvent)(nil)).Elem()
 25826  }
 25827  
 25828  // This class defines the resource allocation for a host infrastructure
 25829  // traffic class on a physical NIC
 25830  type DvsHostInfrastructureTrafficResource struct {
 25831  	DynamicData
 25832  
 25833  	// The key of the host infrastructure resource.
 25834  	//
 25835  	// Possible value can be of
 25836  	// `DistributedVirtualSwitchHostInfrastructureTrafficClass_enum`.
 25837  	Key string `xml:"key" json:"key"`
 25838  	// The description of the host infrastructure resource.
 25839  	//
 25840  	// This property is ignored for update operation.
 25841  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 25842  	// The allocation settings of the host infrastructure resource.
 25843  	AllocationInfo DvsHostInfrastructureTrafficResourceAllocation `xml:"allocationInfo" json:"allocationInfo"`
 25844  }
 25845  
 25846  func init() {
 25847  	t["DvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResource)(nil)).Elem()
 25848  }
 25849  
 25850  // Resource allocation information for a
 25851  // host infrastructure traffic class.
 25852  type DvsHostInfrastructureTrafficResourceAllocation struct {
 25853  	DynamicData
 25854  
 25855  	// The maximum allowed usage for a traffic class belonging to
 25856  	// this resource pool per host physical NIC.
 25857  	//
 25858  	// The utilization of a traffic class will not exceed the specified limit
 25859  	// even if there are available network resources. If this value is unset
 25860  	// or set to -1 in an update operation, then there is no limit on the network
 25861  	// resource usage (only bounded by available resource and shares).
 25862  	// Units are in Mbits/sec.
 25863  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 25864  	// Network share.
 25865  	//
 25866  	// The value is used as a relative weight in competing for
 25867  	// shared bandwidth, in case of resource contention.
 25868  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 25869  	// Amount of bandwidth resource that is guaranteed available
 25870  	// to the host infrastructure traffic class.
 25871  	//
 25872  	// If the utilization is less than the reservation, the extra bandwidth
 25873  	// is used for other host infrastructure traffic class types. Reservation is not
 25874  	// allowed to exceed the value of
 25875  	// `DvsHostInfrastructureTrafficResourceAllocation.limit`, if
 25876  	// `DvsHostInfrastructureTrafficResourceAllocation.limit` is set.
 25877  	// Unit is Mbits/sec.
 25878  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 25879  }
 25880  
 25881  func init() {
 25882  	t["DvsHostInfrastructureTrafficResourceAllocation"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResourceAllocation)(nil)).Elem()
 25883  }
 25884  
 25885  // A host joined the distributed virtual switch.
 25886  type DvsHostJoinedEvent struct {
 25887  	DvsEvent
 25888  
 25889  	// The host that joined DVS.
 25890  	HostJoined HostEventArgument `xml:"hostJoined" json:"hostJoined"`
 25891  }
 25892  
 25893  func init() {
 25894  	t["DvsHostJoinedEvent"] = reflect.TypeOf((*DvsHostJoinedEvent)(nil)).Elem()
 25895  }
 25896  
 25897  // A host left the distributed virtual switch.
 25898  type DvsHostLeftEvent struct {
 25899  	DvsEvent
 25900  
 25901  	// The host that left DVS.
 25902  	HostLeft HostEventArgument `xml:"hostLeft" json:"hostLeft"`
 25903  }
 25904  
 25905  func init() {
 25906  	t["DvsHostLeftEvent"] = reflect.TypeOf((*DvsHostLeftEvent)(nil)).Elem()
 25907  }
 25908  
 25909  // A host has it's status or statusDetail updated.
 25910  type DvsHostStatusUpdated struct {
 25911  	DvsEvent
 25912  
 25913  	// The host.
 25914  	HostMember HostEventArgument `xml:"hostMember" json:"hostMember"`
 25915  	// Host's old status.
 25916  	OldStatus string `xml:"oldStatus,omitempty" json:"oldStatus,omitempty"`
 25917  	// Host's new status.
 25918  	NewStatus string `xml:"newStatus,omitempty" json:"newStatus,omitempty"`
 25919  	// Comments regarding host's old status.
 25920  	OldStatusDetail string `xml:"oldStatusDetail,omitempty" json:"oldStatusDetail,omitempty"`
 25921  	// Comments regarding host's new status.
 25922  	NewStatusDetail string `xml:"newStatusDetail,omitempty" json:"newStatusDetail,omitempty"`
 25923  }
 25924  
 25925  func init() {
 25926  	t["DvsHostStatusUpdated"] = reflect.TypeOf((*DvsHostStatusUpdated)(nil)).Elem()
 25927  }
 25928  
 25929  // The `DvsHostVNicProfile` data object describes the IP configuration
 25930  // for a host Virtual NIC connected to a distributed virtual switch.
 25931  //
 25932  // The `DvsVNicProfile.ipConfig` property contains the Virtual NIC IP address.
 25933  // If a profile plug-in defines policies or subprofiles, use the
 25934  // `ApplyProfile.policy` or `ApplyProfile.property`
 25935  // list to access the additional configuration data.
 25936  type DvsHostVNicProfile struct {
 25937  	DvsVNicProfile
 25938  }
 25939  
 25940  func init() {
 25941  	t["DvsHostVNicProfile"] = reflect.TypeOf((*DvsHostVNicProfile)(nil)).Elem()
 25942  }
 25943  
 25944  // The DVS configuration on the host diverged from that of
 25945  // the Virtual Center Server.
 25946  type DvsHostWentOutOfSyncEvent struct {
 25947  	DvsEvent
 25948  
 25949  	// The host that went out of sync.
 25950  	HostOutOfSync DvsOutOfSyncHostArgument `xml:"hostOutOfSync" json:"hostOutOfSync"`
 25951  }
 25952  
 25953  func init() {
 25954  	t["DvsHostWentOutOfSyncEvent"] = reflect.TypeOf((*DvsHostWentOutOfSyncEvent)(nil)).Elem()
 25955  }
 25956  
 25957  // This event is generated when a import operation is
 25958  // performed on a distributed virtual switch
 25959  type DvsImportEvent struct {
 25960  	DvsEvent
 25961  
 25962  	// The type of restore operation.
 25963  	//
 25964  	// See `EntityImportType_enum` for valid values
 25965  	ImportType string `xml:"importType" json:"importType"`
 25966  }
 25967  
 25968  func init() {
 25969  	t["DvsImportEvent"] = reflect.TypeOf((*DvsImportEvent)(nil)).Elem()
 25970  }
 25971  
 25972  // This class defines the IP Rule Qualifier.
 25973  //
 25974  // Here IP addresses of source
 25975  // and destination will be used for classifying packets.
 25976  type DvsIpNetworkRuleQualifier struct {
 25977  	DvsNetworkRuleQualifier
 25978  
 25979  	// IP qualifier for source.
 25980  	//
 25981  	// If this property is NULL, it will match "any IPv4 or any IPv6 address".
 25982  	SourceAddress BaseIpAddress `xml:"sourceAddress,omitempty,typeattr" json:"sourceAddress,omitempty"`
 25983  	// IP qualifier for destination.
 25984  	//
 25985  	// If this property is NULL, it will match "any IPv4 or any IPv6 address".
 25986  	DestinationAddress BaseIpAddress `xml:"destinationAddress,omitempty,typeattr" json:"destinationAddress,omitempty"`
 25987  	// Protocols like TCP, UDP, ICMP etc.
 25988  	//
 25989  	// The valid value for a protocol
 25990  	// is got from IANA assigned value for the protocol. This can be got
 25991  	// from RFC 5237 and IANA website section related to protocol numbers.
 25992  	Protocol *IntExpression `xml:"protocol,omitempty" json:"protocol,omitempty"`
 25993  	// Source IP Port.
 25994  	SourceIpPort BaseDvsIpPort `xml:"sourceIpPort,omitempty,typeattr" json:"sourceIpPort,omitempty"`
 25995  	// Destination IP Port.
 25996  	DestinationIpPort BaseDvsIpPort `xml:"destinationIpPort,omitempty,typeattr" json:"destinationIpPort,omitempty"`
 25997  	// TCP flags.
 25998  	//
 25999  	// The valid values can be found at RFC 3168.
 26000  	// TCP flags are not supported by Traffic Filtering
 26001  	TcpFlags *IntExpression `xml:"tcpFlags,omitempty" json:"tcpFlags,omitempty"`
 26002  }
 26003  
 26004  func init() {
 26005  	t["DvsIpNetworkRuleQualifier"] = reflect.TypeOf((*DvsIpNetworkRuleQualifier)(nil)).Elem()
 26006  }
 26007  
 26008  // Base class for specifying Ports.
 26009  //
 26010  // Objects of the base class represent any port (single/range/list).
 26011  type DvsIpPort struct {
 26012  	NegatableExpression
 26013  }
 26014  
 26015  func init() {
 26016  	t["DvsIpPort"] = reflect.TypeOf((*DvsIpPort)(nil)).Elem()
 26017  }
 26018  
 26019  // This class defines a range of Ports.
 26020  type DvsIpPortRange struct {
 26021  	DvsIpPort
 26022  
 26023  	// Starting port number of the ports range.
 26024  	StartPortNumber int32 `xml:"startPortNumber" json:"startPortNumber"`
 26025  	// Ending port number of the ports range.
 26026  	EndPortNumber int32 `xml:"endPortNumber" json:"endPortNumber"`
 26027  }
 26028  
 26029  func init() {
 26030  	t["DvsIpPortRange"] = reflect.TypeOf((*DvsIpPortRange)(nil)).Elem()
 26031  }
 26032  
 26033  // This class defines network rule action to just log the rule.
 26034  type DvsLogNetworkRuleAction struct {
 26035  	DvsNetworkRuleAction
 26036  }
 26037  
 26038  func init() {
 26039  	t["DvsLogNetworkRuleAction"] = reflect.TypeOf((*DvsLogNetworkRuleAction)(nil)).Elem()
 26040  }
 26041  
 26042  // This class defines the MAC Rule Qualifier.
 26043  //
 26044  // Here MAC addresses of source
 26045  // and destination will be used for classifying packets.
 26046  type DvsMacNetworkRuleQualifier struct {
 26047  	DvsNetworkRuleQualifier
 26048  
 26049  	// MAC address for source.
 26050  	//
 26051  	// If this property is NULL, it will match "any MAC address".
 26052  	SourceAddress BaseMacAddress `xml:"sourceAddress,omitempty,typeattr" json:"sourceAddress,omitempty"`
 26053  	// MAC address for destination.
 26054  	//
 26055  	// If this property is NULL, it will match "any MAC address".
 26056  	DestinationAddress BaseMacAddress `xml:"destinationAddress,omitempty,typeattr" json:"destinationAddress,omitempty"`
 26057  	// Protocol used.
 26058  	//
 26059  	// This corresponds to the EtherType field in Ethernet
 26060  	// frame. The valid values can be found from IEEE list at:
 26061  	// http://standards.ieee.org/regauth/ as mentioned in RFC 5342.
 26062  	Protocol *IntExpression `xml:"protocol,omitempty" json:"protocol,omitempty"`
 26063  	// vlan id.
 26064  	VlanId *IntExpression `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 26065  }
 26066  
 26067  func init() {
 26068  	t["DvsMacNetworkRuleQualifier"] = reflect.TypeOf((*DvsMacNetworkRuleQualifier)(nil)).Elem()
 26069  }
 26070  
 26071  // This class defines network rule action to MAC Rewrite.
 26072  type DvsMacRewriteNetworkRuleAction struct {
 26073  	DvsNetworkRuleAction
 26074  
 26075  	// Rewrite Destination MAC with this MAC address.
 26076  	RewriteMac string `xml:"rewriteMac" json:"rewriteMac"`
 26077  }
 26078  
 26079  func init() {
 26080  	t["DvsMacRewriteNetworkRuleAction"] = reflect.TypeOf((*DvsMacRewriteNetworkRuleAction)(nil)).Elem()
 26081  }
 26082  
 26083  // Two distributed virtual switches was merged.
 26084  type DvsMergedEvent struct {
 26085  	DvsEvent
 26086  
 26087  	// The source DVS.
 26088  	SourceDvs DvsEventArgument `xml:"sourceDvs" json:"sourceDvs"`
 26089  	// The destination DVS.
 26090  	DestinationDvs DvsEventArgument `xml:"destinationDvs" json:"destinationDvs"`
 26091  }
 26092  
 26093  func init() {
 26094  	t["DvsMergedEvent"] = reflect.TypeOf((*DvsMergedEvent)(nil)).Elem()
 26095  }
 26096  
 26097  // This class is the base class for network rule action.
 26098  type DvsNetworkRuleAction struct {
 26099  	DynamicData
 26100  }
 26101  
 26102  func init() {
 26103  	t["DvsNetworkRuleAction"] = reflect.TypeOf((*DvsNetworkRuleAction)(nil)).Elem()
 26104  }
 26105  
 26106  // This class is the base class for identifying network traffic.
 26107  type DvsNetworkRuleQualifier struct {
 26108  	DynamicData
 26109  
 26110  	// The key of the Qualifier
 26111  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 26112  }
 26113  
 26114  func init() {
 26115  	t["DvsNetworkRuleQualifier"] = reflect.TypeOf((*DvsNetworkRuleQualifier)(nil)).Elem()
 26116  }
 26117  
 26118  // Thrown if
 26119  // `DVSCapability.dvsOperationSupported`
 26120  // is false and `DVSConfigInfo.extensionKey` is not same
 26121  // as the extension key of the login-session.
 26122  type DvsNotAuthorized struct {
 26123  	DvsFault
 26124  
 26125  	// The extension key associated with the user-session.
 26126  	SessionExtensionKey string `xml:"sessionExtensionKey,omitempty" json:"sessionExtensionKey,omitempty"`
 26127  	// The value of `DVSConfigInfo.extensionKey`.
 26128  	DvsExtensionKey string `xml:"dvsExtensionKey,omitempty" json:"dvsExtensionKey,omitempty"`
 26129  }
 26130  
 26131  func init() {
 26132  	t["DvsNotAuthorized"] = reflect.TypeOf((*DvsNotAuthorized)(nil)).Elem()
 26133  }
 26134  
 26135  type DvsNotAuthorizedFault DvsNotAuthorized
 26136  
 26137  func init() {
 26138  	t["DvsNotAuthorizedFault"] = reflect.TypeOf((*DvsNotAuthorizedFault)(nil)).Elem()
 26139  }
 26140  
 26141  // Thrown if a DistributedVirtualSwitch operation failed on some of the host members.
 26142  type DvsOperationBulkFault struct {
 26143  	DvsFault
 26144  
 26145  	// Faults occurred on the host during a DistributedVirtualSwitch operation.
 26146  	HostFault []DvsOperationBulkFaultFaultOnHost `xml:"hostFault" json:"hostFault"`
 26147  }
 26148  
 26149  func init() {
 26150  	t["DvsOperationBulkFault"] = reflect.TypeOf((*DvsOperationBulkFault)(nil)).Elem()
 26151  }
 26152  
 26153  type DvsOperationBulkFaultFault DvsOperationBulkFault
 26154  
 26155  func init() {
 26156  	t["DvsOperationBulkFaultFault"] = reflect.TypeOf((*DvsOperationBulkFaultFault)(nil)).Elem()
 26157  }
 26158  
 26159  // The fault occurred on the host during an operation.
 26160  type DvsOperationBulkFaultFaultOnHost struct {
 26161  	DynamicData
 26162  
 26163  	// The host.
 26164  	//
 26165  	// Refers instance of `HostSystem`.
 26166  	Host ManagedObjectReference `xml:"host" json:"host"`
 26167  	// The fault that occurred.
 26168  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 26169  }
 26170  
 26171  func init() {
 26172  	t["DvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*DvsOperationBulkFaultFaultOnHost)(nil)).Elem()
 26173  }
 26174  
 26175  // The host on which the DVS configuration is different from that
 26176  // of Virtual Center server.
 26177  type DvsOutOfSyncHostArgument struct {
 26178  	DynamicData
 26179  
 26180  	// The host.
 26181  	OutOfSyncHost HostEventArgument `xml:"outOfSyncHost" json:"outOfSyncHost"`
 26182  	// The DVS configuration parameters that are different between
 26183  	// Virtual Center server and the host.
 26184  	ConfigParamters []string `xml:"configParamters" json:"configParamters"`
 26185  }
 26186  
 26187  func init() {
 26188  	t["DvsOutOfSyncHostArgument"] = reflect.TypeOf((*DvsOutOfSyncHostArgument)(nil)).Elem()
 26189  }
 26190  
 26191  // A port is blocked in the distributed virtual switch.
 26192  type DvsPortBlockedEvent struct {
 26193  	DvsEvent
 26194  
 26195  	// The port key.
 26196  	PortKey string `xml:"portKey" json:"portKey"`
 26197  	// Reason for port's current status
 26198  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
 26199  	// The port runtime information.
 26200  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 26201  	// Previous state of the DvsPort.
 26202  	//
 26203  	// See `DvsEventPortBlockState_enum`
 26204  	PrevBlockState string `xml:"prevBlockState,omitempty" json:"prevBlockState,omitempty"`
 26205  }
 26206  
 26207  func init() {
 26208  	t["DvsPortBlockedEvent"] = reflect.TypeOf((*DvsPortBlockedEvent)(nil)).Elem()
 26209  }
 26210  
 26211  // A port is connected in the distributed virtual switch.
 26212  type DvsPortConnectedEvent struct {
 26213  	DvsEvent
 26214  
 26215  	// The port key.
 26216  	PortKey string `xml:"portKey" json:"portKey"`
 26217  	// The port's connectee.
 26218  	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
 26219  }
 26220  
 26221  func init() {
 26222  	t["DvsPortConnectedEvent"] = reflect.TypeOf((*DvsPortConnectedEvent)(nil)).Elem()
 26223  }
 26224  
 26225  // New ports are created in the distributed virtual switch.
 26226  type DvsPortCreatedEvent struct {
 26227  	DvsEvent
 26228  
 26229  	// The key of the ports that are created.
 26230  	PortKey []string `xml:"portKey" json:"portKey"`
 26231  }
 26232  
 26233  func init() {
 26234  	t["DvsPortCreatedEvent"] = reflect.TypeOf((*DvsPortCreatedEvent)(nil)).Elem()
 26235  }
 26236  
 26237  // Existing ports are deleted in the distributed virtual switch.
 26238  type DvsPortDeletedEvent struct {
 26239  	DvsEvent
 26240  
 26241  	// The key of the ports that are deleted.
 26242  	PortKey []string `xml:"portKey" json:"portKey"`
 26243  }
 26244  
 26245  func init() {
 26246  	t["DvsPortDeletedEvent"] = reflect.TypeOf((*DvsPortDeletedEvent)(nil)).Elem()
 26247  }
 26248  
 26249  // A port is disconnected in the distributed virtual switch.
 26250  type DvsPortDisconnectedEvent struct {
 26251  	DvsEvent
 26252  
 26253  	// The port key.
 26254  	PortKey string `xml:"portKey" json:"portKey"`
 26255  	// The port's formal connectee.
 26256  	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
 26257  }
 26258  
 26259  func init() {
 26260  	t["DvsPortDisconnectedEvent"] = reflect.TypeOf((*DvsPortDisconnectedEvent)(nil)).Elem()
 26261  }
 26262  
 26263  // A port has entered passthrough mode on the distributed virtual switch.
 26264  type DvsPortEnteredPassthruEvent struct {
 26265  	DvsEvent
 26266  
 26267  	// The port key.
 26268  	PortKey string `xml:"portKey" json:"portKey"`
 26269  	// The port runtime information.
 26270  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 26271  }
 26272  
 26273  func init() {
 26274  	t["DvsPortEnteredPassthruEvent"] = reflect.TypeOf((*DvsPortEnteredPassthruEvent)(nil)).Elem()
 26275  }
 26276  
 26277  // A port has exited passthrough mode on the distributed virtual switch.
 26278  type DvsPortExitedPassthruEvent struct {
 26279  	DvsEvent
 26280  
 26281  	// The port key.
 26282  	PortKey string `xml:"portKey" json:"portKey"`
 26283  	// The port runtime information.
 26284  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 26285  }
 26286  
 26287  func init() {
 26288  	t["DvsPortExitedPassthruEvent"] = reflect.TypeOf((*DvsPortExitedPassthruEvent)(nil)).Elem()
 26289  }
 26290  
 26291  // A port was moved into the distributed virtual portgroup.
 26292  type DvsPortJoinPortgroupEvent struct {
 26293  	DvsEvent
 26294  
 26295  	// The port key.
 26296  	PortKey string `xml:"portKey" json:"portKey"`
 26297  	// The portgroup key.
 26298  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 26299  	// The portgroup name.
 26300  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 26301  }
 26302  
 26303  func init() {
 26304  	t["DvsPortJoinPortgroupEvent"] = reflect.TypeOf((*DvsPortJoinPortgroupEvent)(nil)).Elem()
 26305  }
 26306  
 26307  // A port was moved out of the distributed virtual portgroup.
 26308  type DvsPortLeavePortgroupEvent struct {
 26309  	DvsEvent
 26310  
 26311  	// The port key.
 26312  	PortKey string `xml:"portKey" json:"portKey"`
 26313  	// The portgroup key.
 26314  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 26315  	// The portgroup name.
 26316  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 26317  }
 26318  
 26319  func init() {
 26320  	t["DvsPortLeavePortgroupEvent"] = reflect.TypeOf((*DvsPortLeavePortgroupEvent)(nil)).Elem()
 26321  }
 26322  
 26323  // A port of which link status is changed to down in the distributed
 26324  // virtual switch.
 26325  type DvsPortLinkDownEvent struct {
 26326  	DvsEvent
 26327  
 26328  	// The port key.
 26329  	PortKey string `xml:"portKey" json:"portKey"`
 26330  	// The port runtime information.
 26331  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 26332  }
 26333  
 26334  func init() {
 26335  	t["DvsPortLinkDownEvent"] = reflect.TypeOf((*DvsPortLinkDownEvent)(nil)).Elem()
 26336  }
 26337  
 26338  // A port of which link status is changed to up in the distributed
 26339  // virtual switch.
 26340  type DvsPortLinkUpEvent struct {
 26341  	DvsEvent
 26342  
 26343  	// The port key.
 26344  	PortKey string `xml:"portKey" json:"portKey"`
 26345  	// The port runtime information.
 26346  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 26347  }
 26348  
 26349  func init() {
 26350  	t["DvsPortLinkUpEvent"] = reflect.TypeOf((*DvsPortLinkUpEvent)(nil)).Elem()
 26351  }
 26352  
 26353  // Existing ports are reconfigured in the distributed virtual switch.
 26354  type DvsPortReconfiguredEvent struct {
 26355  	DvsEvent
 26356  
 26357  	// The key of the ports that are reconfigured.
 26358  	PortKey []string `xml:"portKey" json:"portKey"`
 26359  	// The configuration values changed during the reconfiguration.
 26360  	ConfigChanges []ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 26361  }
 26362  
 26363  func init() {
 26364  	t["DvsPortReconfiguredEvent"] = reflect.TypeOf((*DvsPortReconfiguredEvent)(nil)).Elem()
 26365  }
 26366  
 26367  // A port of which runtime information is changed in the vNetwork Distributed
 26368  // Switch.
 26369  type DvsPortRuntimeChangeEvent struct {
 26370  	DvsEvent
 26371  
 26372  	// The port key.
 26373  	PortKey string `xml:"portKey" json:"portKey"`
 26374  	// The new port runtime information.
 26375  	RuntimeInfo DVPortStatus `xml:"runtimeInfo" json:"runtimeInfo"`
 26376  }
 26377  
 26378  func init() {
 26379  	t["DvsPortRuntimeChangeEvent"] = reflect.TypeOf((*DvsPortRuntimeChangeEvent)(nil)).Elem()
 26380  }
 26381  
 26382  // A port is unblocked in the distributed virtual switch.
 26383  type DvsPortUnblockedEvent struct {
 26384  	DvsEvent
 26385  
 26386  	// The port key.
 26387  	PortKey string `xml:"portKey" json:"portKey"`
 26388  	// The port runtime information.
 26389  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 26390  	// Previous state of the DvsPort.
 26391  	//
 26392  	// See `DvsEventPortBlockState_enum`
 26393  	PrevBlockState string `xml:"prevBlockState,omitempty" json:"prevBlockState,omitempty"`
 26394  }
 26395  
 26396  func init() {
 26397  	t["DvsPortUnblockedEvent"] = reflect.TypeOf((*DvsPortUnblockedEvent)(nil)).Elem()
 26398  }
 26399  
 26400  // A port of which vendor specific state is changed in the vNetwork Distributed
 26401  // Switch.
 26402  type DvsPortVendorSpecificStateChangeEvent struct {
 26403  	DvsEvent
 26404  
 26405  	// The port key.
 26406  	PortKey string `xml:"portKey" json:"portKey"`
 26407  }
 26408  
 26409  func init() {
 26410  	t["DvsPortVendorSpecificStateChangeEvent"] = reflect.TypeOf((*DvsPortVendorSpecificStateChangeEvent)(nil)).Elem()
 26411  }
 26412  
 26413  // The `DvsProfile` data object represents the distributed virtual switch
 26414  // to which this host is connected.
 26415  //
 26416  // If a profile plug-in defines policies or subprofiles,
 26417  // use the `ApplyProfile.policy` or `ApplyProfile.property`
 26418  // list to access the additional configuration data.
 26419  type DvsProfile struct {
 26420  	ApplyProfile
 26421  
 26422  	// Linkable identifier.
 26423  	Key string `xml:"key" json:"key"`
 26424  	// Unique identifier for the distributed virtual switch.
 26425  	Name string `xml:"name" json:"name"`
 26426  	// List of subprofiles that map physical NICs to uplink ports.
 26427  	//
 26428  	// Use the `PnicUplinkProfile.key` property to access
 26429  	// subprofiles in the list.
 26430  	Uplink []PnicUplinkProfile `xml:"uplink,omitempty" json:"uplink,omitempty"`
 26431  }
 26432  
 26433  func init() {
 26434  	t["DvsProfile"] = reflect.TypeOf((*DvsProfile)(nil)).Elem()
 26435  }
 26436  
 26437  // This class defines network rule action to punt.
 26438  //
 26439  // i.e, forward packets
 26440  // to an associated slow-path service Virtual Machine.
 26441  type DvsPuntNetworkRuleAction struct {
 26442  	DvsNetworkRuleAction
 26443  }
 26444  
 26445  func init() {
 26446  	t["DvsPuntNetworkRuleAction"] = reflect.TypeOf((*DvsPuntNetworkRuleAction)(nil)).Elem()
 26447  }
 26448  
 26449  // This class defines network rule action to ratelimit packets.
 26450  type DvsRateLimitNetworkRuleAction struct {
 26451  	DvsNetworkRuleAction
 26452  
 26453  	// Rate limit value specified in packets per second.
 26454  	PacketsPerSecond int32 `xml:"packetsPerSecond" json:"packetsPerSecond"`
 26455  }
 26456  
 26457  func init() {
 26458  	t["DvsRateLimitNetworkRuleAction"] = reflect.TypeOf((*DvsRateLimitNetworkRuleAction)(nil)).Elem()
 26459  }
 26460  
 26461  // The parameters of `DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task`.
 26462  type DvsReconfigureVmVnicNetworkResourcePoolRequestType struct {
 26463  	This ManagedObjectReference `xml:"_this" json:"-"`
 26464  	// The Virtual NIC network resource pool configuration specification and operation type.
 26465  	ConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
 26466  }
 26467  
 26468  func init() {
 26469  	t["DvsReconfigureVmVnicNetworkResourcePoolRequestType"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePoolRequestType)(nil)).Elem()
 26470  }
 26471  
 26472  type DvsReconfigureVmVnicNetworkResourcePool_Task DvsReconfigureVmVnicNetworkResourcePoolRequestType
 26473  
 26474  func init() {
 26475  	t["DvsReconfigureVmVnicNetworkResourcePool_Task"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePool_Task)(nil)).Elem()
 26476  }
 26477  
 26478  type DvsReconfigureVmVnicNetworkResourcePool_TaskResponse struct {
 26479  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 26480  }
 26481  
 26482  // A distributed virtual switch was reconfigured.
 26483  type DvsReconfiguredEvent struct {
 26484  	DvsEvent
 26485  
 26486  	// The reconfiguration spec.
 26487  	ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr" json:"configSpec"`
 26488  	// The configuration values changed during the reconfiguration.
 26489  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 26490  }
 26491  
 26492  func init() {
 26493  	t["DvsReconfiguredEvent"] = reflect.TypeOf((*DvsReconfiguredEvent)(nil)).Elem()
 26494  }
 26495  
 26496  // A distributed virtual switch was renamed.
 26497  type DvsRenamedEvent struct {
 26498  	DvsEvent
 26499  
 26500  	// The old DistributedVirtualSwitch name.
 26501  	OldName string `xml:"oldName" json:"oldName"`
 26502  	// The new DistributedVirtualSwitch name.
 26503  	NewName string `xml:"newName" json:"newName"`
 26504  }
 26505  
 26506  func init() {
 26507  	t["DvsRenamedEvent"] = reflect.TypeOf((*DvsRenamedEvent)(nil)).Elem()
 26508  }
 26509  
 26510  // This class defines the bandwidth reservation information for the
 26511  // vSphere Distributed Switch.
 26512  type DvsResourceRuntimeInfo struct {
 26513  	DynamicData
 26514  
 26515  	// Capacity: Total Reservation allocated for Virtual Machine
 26516  	// Traffic for this switch.
 26517  	//
 26518  	// Units in Mbits/s.
 26519  	Capacity int32 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 26520  	// usage: Current total usage.
 26521  	//
 26522  	// This is the sum of all reservations
 26523  	// allocated to `DVSVmVnicNetworkResourcePool` on this switch and the
 26524  	// sum of reservation taken by `VirtualEthernetCard` whose
 26525  	// backing is not associdated with any `DVSVmVnicNetworkResourcePool`.
 26526  	// Units in Mbits/s.
 26527  	Usage int32 `xml:"usage,omitempty" json:"usage,omitempty"`
 26528  	// Available: Current available resource for reservation (capacity - usage).
 26529  	//
 26530  	// Units in Mbits/s.
 26531  	Available int32 `xml:"available,omitempty" json:"available,omitempty"`
 26532  	// The reservation taken by `VirtualEthernetCard` of which the
 26533  	// backing is not associdated with any `DVSVmVnicNetworkResourcePool`
 26534  	AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty" json:"allocatedResource,omitempty"`
 26535  	// The runtime information of `DVSVmVnicNetworkResourcePool`.
 26536  	VmVnicNetworkResourcePoolRuntime []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"vmVnicNetworkResourcePoolRuntime,omitempty" json:"vmVnicNetworkResourcePoolRuntime,omitempty"`
 26537  }
 26538  
 26539  func init() {
 26540  	t["DvsResourceRuntimeInfo"] = reflect.TypeOf((*DvsResourceRuntimeInfo)(nil)).Elem()
 26541  }
 26542  
 26543  // This event is generated when a restore operation is
 26544  // performed on a distributed virtual switch
 26545  type DvsRestoreEvent struct {
 26546  	DvsEvent
 26547  }
 26548  
 26549  func init() {
 26550  	t["DvsRestoreEvent"] = reflect.TypeOf((*DvsRestoreEvent)(nil)).Elem()
 26551  }
 26552  
 26553  // Deprecated as of vSphere API 5.5.
 26554  //
 26555  // Thrown if a entity trying to connect to a port or portgroup but it is not in the
 26556  // port or portgroup's scope.
 26557  type DvsScopeViolated struct {
 26558  	DvsFault
 26559  
 26560  	// The configured scope.
 26561  	//
 26562  	// Refers instances of `ManagedEntity`.
 26563  	Scope []ManagedObjectReference `xml:"scope" json:"scope"`
 26564  	// The entity that violates the scope.
 26565  	//
 26566  	// Refers instance of `ManagedEntity`.
 26567  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 26568  }
 26569  
 26570  func init() {
 26571  	t["DvsScopeViolated"] = reflect.TypeOf((*DvsScopeViolated)(nil)).Elem()
 26572  }
 26573  
 26574  type DvsScopeViolatedFault DvsScopeViolated
 26575  
 26576  func init() {
 26577  	t["DvsScopeViolatedFault"] = reflect.TypeOf((*DvsScopeViolatedFault)(nil)).Elem()
 26578  }
 26579  
 26580  // The `DvsServiceConsoleVNicProfile` data object describes the IP configuration
 26581  // for a service console Virtual NIC connected to a distributed virtual switch.
 26582  //
 26583  // The `DvsVNicProfile.ipConfig` property contains the Virtual NIC IP address.
 26584  // If a profile plug-in defines policies or subprofiles, use the
 26585  // `ApplyProfile.policy` or `ApplyProfile.property`
 26586  // list to access the additional configuration data.
 26587  type DvsServiceConsoleVNicProfile struct {
 26588  	DvsVNicProfile
 26589  }
 26590  
 26591  func init() {
 26592  	t["DvsServiceConsoleVNicProfile"] = reflect.TypeOf((*DvsServiceConsoleVNicProfile)(nil)).Elem()
 26593  }
 26594  
 26595  // This class defines a Single Port
 26596  type DvsSingleIpPort struct {
 26597  	DvsIpPort
 26598  
 26599  	// The IP port number.
 26600  	PortNumber int32 `xml:"portNumber" json:"portNumber"`
 26601  }
 26602  
 26603  func init() {
 26604  	t["DvsSingleIpPort"] = reflect.TypeOf((*DvsSingleIpPort)(nil)).Elem()
 26605  }
 26606  
 26607  // This class defines the System Traffic Qualifier.
 26608  //
 26609  // Here the type of
 26610  // traffic will be used for classifying packets.
 26611  type DvsSystemTrafficNetworkRuleQualifier struct {
 26612  	DvsNetworkRuleQualifier
 26613  
 26614  	// Type of system traffic.
 26615  	//
 26616  	// See `DistributedVirtualSwitchHostInfrastructureTrafficClass_enum`
 26617  	// for valid values.
 26618  	TypeOfSystemTraffic *StringExpression `xml:"typeOfSystemTraffic,omitempty" json:"typeOfSystemTraffic,omitempty"`
 26619  }
 26620  
 26621  func init() {
 26622  	t["DvsSystemTrafficNetworkRuleQualifier"] = reflect.TypeOf((*DvsSystemTrafficNetworkRuleQualifier)(nil)).Elem()
 26623  }
 26624  
 26625  // This class defines Traffic Filter configuration.
 26626  //
 26627  // ** Supported Qualifier and Actions **
 26628  // <table border="1"width="100%">
 26629  // <tr>
 26630  // <th>Traffic Filter Config</th>
 26631  // <th>Supported classes</th>
 26632  // </tr>
 26633  // <tr>
 26634  // <td>Qualifiers supported</td>
 26635  // <td>`SingleIp`, `IpRange`,
 26636  // `SingleMac`, `MacRange`,
 26637  // `DvsSingleIpPort`,
 26638  // `DvsSystemTrafficNetworkRuleQualifier`
 26639  // </td>
 26640  // </tr>
 26641  // <tr>
 26642  // <td>Actions Supported</td>
 26643  // <td>`DvsDropNetworkRuleAction`,
 26644  // `DvsAcceptNetworkRuleAction`,
 26645  // `DvsPuntNetworkRuleAction`,
 26646  // `DvsCopyNetworkRuleAction`,
 26647  // `DvsMacRewriteNetworkRuleAction`,
 26648  // `DvsGreEncapNetworkRuleAction`,
 26649  // `DvsLogNetworkRuleAction`,
 26650  // `DvsUpdateTagNetworkRuleAction`,
 26651  // `DvsRateLimitNetworkRuleAction`
 26652  // </td>
 26653  // </tr>
 26654  type DvsTrafficFilterConfig struct {
 26655  	DvsFilterConfig
 26656  
 26657  	// Network Traffic Ruleset
 26658  	TrafficRuleset *DvsTrafficRuleset `xml:"trafficRuleset,omitempty" json:"trafficRuleset,omitempty"`
 26659  }
 26660  
 26661  func init() {
 26662  	t["DvsTrafficFilterConfig"] = reflect.TypeOf((*DvsTrafficFilterConfig)(nil)).Elem()
 26663  }
 26664  
 26665  // The specification to reconfigure Traffic Filter.
 26666  //
 26667  // This specification allows the user to do fine-grained updates for the
 26668  // Traffic Filter in the port settings.
 26669  // If the operation is `remove`, only the
 26670  // `DistributedVirtualPort.key` needs to be specified.
 26671  // If other fields are specified, they will be ignored. We cannot remove
 26672  // an inherited element. Only when the inherited flag is set to false and
 26673  // parent does not have an element with same key this operation succeeds.
 26674  // If the operation is `add`, then
 26675  // `DistributedVirtualPort.key` should not be specified and
 26676  // other fields need to be specified. The inherited flag should be set to
 26677  // false.
 26678  // If the operation is `edit`, then
 26679  // `DistributedVirtualPort.key` needs be specified and
 26680  // specify the other properties that need modification. If the inherited
 26681  // flag is set to true, a `DvsTrafficFilterConfig` object of same
 26682  // key must exist at the parent's level. The property values in the spec
 26683  // object will be ignored and use the values from the parent's
 26684  // `DvsTrafficFilterConfig` object instead. If inherited
 26685  // flag is set to false, then the new modifications will be applied.
 26686  type DvsTrafficFilterConfigSpec struct {
 26687  	DvsTrafficFilterConfig
 26688  
 26689  	// Operation type.
 26690  	//
 26691  	// See `ConfigSpecOperation_enum` for valid values.
 26692  	Operation string `xml:"operation" json:"operation"`
 26693  }
 26694  
 26695  func init() {
 26696  	t["DvsTrafficFilterConfigSpec"] = reflect.TypeOf((*DvsTrafficFilterConfigSpec)(nil)).Elem()
 26697  }
 26698  
 26699  // This class defines a single rule that will be applied to network traffic.
 26700  type DvsTrafficRule struct {
 26701  	DynamicData
 26702  
 26703  	// The key of the rule
 26704  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 26705  	// Description of the rule
 26706  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 26707  	// Sequence of this rule.
 26708  	//
 26709  	// i.e, the order in which this rule appears
 26710  	// in the ruleset.
 26711  	Sequence int32 `xml:"sequence,omitempty" json:"sequence,omitempty"`
 26712  	// List of Network rule qualifiers.
 26713  	//
 26714  	// 'AND' of this array of
 26715  	// network rule qualifiers is applied as one network traffic rule.
 26716  	// If the TrafficRule belongs to
 26717  	// `DvsFilterPolicy` :
 26718  	// There can be a maximum of 1 `DvsIpNetworkRuleQualifier`,
 26719  	// 1 `DvsMacNetworkRuleQualifier` and
 26720  	// 1 `DvsSystemTrafficNetworkRuleQualifier` for a total of
 26721  	// 3 `DvsTrafficRule.qualifier`
 26722  	Qualifier []BaseDvsNetworkRuleQualifier `xml:"qualifier,omitempty,typeattr" json:"qualifier,omitempty"`
 26723  	// Action to be applied for this rule.
 26724  	Action BaseDvsNetworkRuleAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
 26725  	// Whether this rule needs to be applied to incoming packets,
 26726  	// to outgoing packets or both.
 26727  	//
 26728  	// See `DvsNetworkRuleDirectionType_enum` for valid values.
 26729  	Direction string `xml:"direction,omitempty" json:"direction,omitempty"`
 26730  }
 26731  
 26732  func init() {
 26733  	t["DvsTrafficRule"] = reflect.TypeOf((*DvsTrafficRule)(nil)).Elem()
 26734  }
 26735  
 26736  // This class defines a ruleset(set of rules) that will be
 26737  // applied to network traffic.
 26738  type DvsTrafficRuleset struct {
 26739  	DynamicData
 26740  
 26741  	// The key of the ruleset.
 26742  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 26743  	// Whether ruleset is enabled or not.
 26744  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 26745  	// Precedence of the ruleset.
 26746  	//
 26747  	// Rulesets for a port will be executed
 26748  	// in the order of their precedence.
 26749  	Precedence int32 `xml:"precedence,omitempty" json:"precedence,omitempty"`
 26750  	// List of rules belonging to this ruleset.
 26751  	Rules []DvsTrafficRule `xml:"rules,omitempty" json:"rules,omitempty"`
 26752  }
 26753  
 26754  func init() {
 26755  	t["DvsTrafficRuleset"] = reflect.TypeOf((*DvsTrafficRuleset)(nil)).Elem()
 26756  }
 26757  
 26758  // This class defines network rule action to tag packets(qos,dscp) or
 26759  // clear tags(clear qos, dscp tags) on packets.
 26760  //
 26761  // One or both of qos and dscp may be specified.
 26762  type DvsUpdateTagNetworkRuleAction struct {
 26763  	DvsNetworkRuleAction
 26764  
 26765  	// QOS tag.
 26766  	//
 26767  	// IEEE 802.1p supports 3 bit Priority Code Point (PCP).
 26768  	// The valid values are between 0-7. Please refer the IEEE 802.1p
 26769  	// documentation for more details about what each value represents.
 26770  	// If qosTag is set to 0 then the tag on the packets will be cleared.
 26771  	QosTag int32 `xml:"qosTag,omitempty" json:"qosTag,omitempty"`
 26772  	// DSCP tag.
 26773  	//
 26774  	// The valid values for DSCP tag can be found in
 26775  	// 'Differentiated Services Field Codepoints' section of IANA website.
 26776  	// The information can also be got from reading all of the below RFC:
 26777  	// RFC 2474, RFC 2597, RFC 3246, RFC 5865.
 26778  	// If the dscpTag is set to 0 then the dscp tag on packets will be cleared.
 26779  	DscpTag int32 `xml:"dscpTag,omitempty" json:"dscpTag,omitempty"`
 26780  }
 26781  
 26782  func init() {
 26783  	t["DvsUpdateTagNetworkRuleAction"] = reflect.TypeOf((*DvsUpdateTagNetworkRuleAction)(nil)).Elem()
 26784  }
 26785  
 26786  // An upgrade for the distributed virtual switch is available.
 26787  type DvsUpgradeAvailableEvent struct {
 26788  	DvsEvent
 26789  
 26790  	// The product info of the upgrade.
 26791  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 26792  }
 26793  
 26794  func init() {
 26795  	t["DvsUpgradeAvailableEvent"] = reflect.TypeOf((*DvsUpgradeAvailableEvent)(nil)).Elem()
 26796  }
 26797  
 26798  // An upgrade for the distributed virtual switch is in progress.
 26799  type DvsUpgradeInProgressEvent struct {
 26800  	DvsEvent
 26801  
 26802  	// The product info of the upgrade.
 26803  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 26804  }
 26805  
 26806  func init() {
 26807  	t["DvsUpgradeInProgressEvent"] = reflect.TypeOf((*DvsUpgradeInProgressEvent)(nil)).Elem()
 26808  }
 26809  
 26810  // An upgrade for the distributed virtual switch is rejected.
 26811  type DvsUpgradeRejectedEvent struct {
 26812  	DvsEvent
 26813  
 26814  	// The product info of the upgrade.
 26815  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 26816  }
 26817  
 26818  func init() {
 26819  	t["DvsUpgradeRejectedEvent"] = reflect.TypeOf((*DvsUpgradeRejectedEvent)(nil)).Elem()
 26820  }
 26821  
 26822  // The distributed virtual switch was upgraded.
 26823  type DvsUpgradedEvent struct {
 26824  	DvsEvent
 26825  
 26826  	// The product info of the upgrade.
 26827  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 26828  }
 26829  
 26830  func init() {
 26831  	t["DvsUpgradedEvent"] = reflect.TypeOf((*DvsUpgradedEvent)(nil)).Elem()
 26832  }
 26833  
 26834  // The `DvsVNicProfile` data object is the base object
 26835  // for host and service console Virtual NIC subprofiles.
 26836  //
 26837  // If a profile plug-in defines additional policies or subprofiles, use the
 26838  // `ApplyProfile.policy` or `ApplyProfile.property`
 26839  // list to access the configuration data.
 26840  type DvsVNicProfile struct {
 26841  	ApplyProfile
 26842  
 26843  	// Linkable identifier.
 26844  	Key string `xml:"key" json:"key"`
 26845  	// IP address for the Virtual NIC belonging to a distributed virtual switch.
 26846  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 26847  }
 26848  
 26849  func init() {
 26850  	t["DvsVNicProfile"] = reflect.TypeOf((*DvsVNicProfile)(nil)).Elem()
 26851  }
 26852  
 26853  // This class defines the runtime information for the
 26854  // virtual NIC network resource pool
 26855  type DvsVmVnicNetworkResourcePoolRuntimeInfo struct {
 26856  	DynamicData
 26857  
 26858  	// The key of the virtual NIC network resource pool
 26859  	Key string `xml:"key" json:"key"`
 26860  	// The name of the virtual NIC network resource pool
 26861  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 26862  	// Capacity: Reservation allocated for this Network Resource Pool.
 26863  	//
 26864  	// Units in Mbits/s.
 26865  	Capacity int32 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 26866  	// usage: Reservation taken by all `VirtualEthernetCard` for which the
 26867  	// backing is associdated with this `DVSVmVnicNetworkResourcePool`.
 26868  	//
 26869  	// Units in Mbits/s.
 26870  	Usage int32 `xml:"usage,omitempty" json:"usage,omitempty"`
 26871  	// Available: Current available resource for reservation (capacity - usage).
 26872  	//
 26873  	// Units in Mbits/s.
 26874  	Available int32 `xml:"available,omitempty" json:"available,omitempty"`
 26875  	// The status of the virtual NIC network resource pool
 26876  	// See `ManagedEntityStatus_enum` for possible values
 26877  	//
 26878  	// `red` indicates that the
 26879  	// reservations used by all the virtual network adapters belonging
 26880  	// to this resource pool exceeds the total reservation quota allocated to the
 26881  	// resource pool. This can happen due to failure of one or more uplink
 26882  	// or if the user bypasses VirtualCenter and powers on VMs directly on host.
 26883  	// The reservation of one or more virtual network adapters cannot be guaranteed
 26884  	// and corrective action needs to be taken by the user.
 26885  	//
 26886  	// `green` indicates that the resource pool
 26887  	// is in good state. The reservations for all virtual network adapters can
 26888  	// be fulfilled.
 26889  	Status string `xml:"status" json:"status"`
 26890  	// The virtual network adapaters that
 26891  	// are currently associated with the resource pool
 26892  	AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty" json:"allocatedResource,omitempty"`
 26893  }
 26894  
 26895  func init() {
 26896  	t["DvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*DvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem()
 26897  }
 26898  
 26899  // Resource allocation information for a virtual NIC network resource pool.
 26900  type DvsVmVnicResourceAllocation struct {
 26901  	DynamicData
 26902  
 26903  	// Quota for the total amount of virtual machine nic reservation in this pool.
 26904  	//
 26905  	// Unit in Mbits/sec.
 26906  	ReservationQuota int64 `xml:"reservationQuota,omitempty" json:"reservationQuota,omitempty"`
 26907  }
 26908  
 26909  func init() {
 26910  	t["DvsVmVnicResourceAllocation"] = reflect.TypeOf((*DvsVmVnicResourceAllocation)(nil)).Elem()
 26911  }
 26912  
 26913  // The configuration specification data object to update the resource configuration
 26914  // for a virtual NIC network resource pool.
 26915  type DvsVmVnicResourcePoolConfigSpec struct {
 26916  	DynamicData
 26917  
 26918  	// The type of operation on the virtual NIC network resource pool
 26919  	// Possible value can be of
 26920  	// `ConfigSpecOperation_enum`
 26921  	Operation string `xml:"operation" json:"operation"`
 26922  	// The key of the network resource pool.
 26923  	//
 26924  	// The property is ignored for add
 26925  	// operations.
 26926  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 26927  	// The configVersion is a unique identifier for a given version
 26928  	// of the configuration.
 26929  	//
 26930  	// Each change to the configuration will
 26931  	// update this value. This is typically implemented as a
 26932  	// non-decreasing count or a time-stamp. However, a client should
 26933  	// always treat this as an opaque string.
 26934  	//
 26935  	// If specified when updating the resource configuration, the
 26936  	// changes will only be applied if the current configVersion matches the
 26937  	// specified configVersion. This field can be used to guard against
 26938  	// updates that that may have occurred between the time when configVersion
 26939  	// was read and when it is applied.
 26940  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 26941  	// The resource allocation for the virtual NIC network resource pool.
 26942  	AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
 26943  	// The name for the virtual NIC network resource pool.
 26944  	//
 26945  	// The property is required for Add operations.
 26946  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 26947  	// The description for the virtual NIC network resource pool.
 26948  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 26949  }
 26950  
 26951  func init() {
 26952  	t["DvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*DvsVmVnicResourcePoolConfigSpec)(nil)).Elem()
 26953  }
 26954  
 26955  // This class defines the allocated resource information on a virtual NIC
 26956  type DvsVnicAllocatedResource struct {
 26957  	DynamicData
 26958  
 26959  	// The virtual machine
 26960  	//
 26961  	// Refers instance of `VirtualMachine`.
 26962  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 26963  	// The virtual NIC key
 26964  	VnicKey string `xml:"vnicKey" json:"vnicKey"`
 26965  	// The reservation specification on the virtual NIC.
 26966  	//
 26967  	// Units in Mbits/s
 26968  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 26969  }
 26970  
 26971  func init() {
 26972  	t["DvsVnicAllocatedResource"] = reflect.TypeOf((*DvsVnicAllocatedResource)(nil)).Elem()
 26973  }
 26974  
 26975  // DynamicArray is a data object type that represents an array of dynamically-typed
 26976  // objects.
 26977  //
 26978  // A client should only see a DynamicArray object when the element type
 26979  // is unknown (meaning the type is newer than the client). Otherwise, a client would
 26980  // see the type as T\[\] where T is known.
 26981  type DynamicArray struct {
 26982  	// Array of dynamic values.
 26983  	Val []AnyType `xml:"val,typeattr" json:"val"`
 26984  }
 26985  
 26986  func init() {
 26987  	t["DynamicArray"] = reflect.TypeOf((*DynamicArray)(nil)).Elem()
 26988  }
 26989  
 26990  type DynamicData struct {
 26991  }
 26992  
 26993  func init() {
 26994  	t["DynamicData"] = reflect.TypeOf((*DynamicData)(nil)).Elem()
 26995  }
 26996  
 26997  // The DynamicProperty data object type represents a name-value pair.
 26998  type DynamicProperty struct {
 26999  	// Path to the property.
 27000  	Name string `xml:"name" json:"name"`
 27001  	// Value of the property.
 27002  	Val AnyType `xml:"val,typeattr" json:"val"`
 27003  }
 27004  
 27005  func init() {
 27006  	t["DynamicProperty"] = reflect.TypeOf((*DynamicProperty)(nil)).Elem()
 27007  }
 27008  
 27009  // The host does not satisfy the admission requirements for the Enhanced
 27010  // VMotion Compatibility mode of the cluster.
 27011  type EVCAdmissionFailed struct {
 27012  	NotSupportedHostInCluster
 27013  
 27014  	// The faults that caused this EVC test to fail
 27015  	// (e.g.
 27016  	//
 27017  	// FeatureRequirementsNotMet faults).
 27018  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 27019  }
 27020  
 27021  func init() {
 27022  	t["EVCAdmissionFailed"] = reflect.TypeOf((*EVCAdmissionFailed)(nil)).Elem()
 27023  }
 27024  
 27025  // The host's CPU hardware is a family/model that should support the
 27026  // Enhanced VMotion Compatibility mode of the cluster, but some necessary
 27027  // CPU features are not present.
 27028  type EVCAdmissionFailedCPUFeaturesForMode struct {
 27029  	EVCAdmissionFailed
 27030  
 27031  	// The Enhanced VMotion Compatibility mode that is currently in effect for
 27032  	// the cluster.
 27033  	CurrentEVCModeKey string `xml:"currentEVCModeKey" json:"currentEVCModeKey"`
 27034  }
 27035  
 27036  func init() {
 27037  	t["EVCAdmissionFailedCPUFeaturesForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForMode)(nil)).Elem()
 27038  }
 27039  
 27040  type EVCAdmissionFailedCPUFeaturesForModeFault EVCAdmissionFailedCPUFeaturesForMode
 27041  
 27042  func init() {
 27043  	t["EVCAdmissionFailedCPUFeaturesForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForModeFault)(nil)).Elem()
 27044  }
 27045  
 27046  // The host's CPU hardware is a family/model that does not support any
 27047  // Enhanced VMotion Compatibility mode.
 27048  type EVCAdmissionFailedCPUModel struct {
 27049  	EVCAdmissionFailed
 27050  }
 27051  
 27052  func init() {
 27053  	t["EVCAdmissionFailedCPUModel"] = reflect.TypeOf((*EVCAdmissionFailedCPUModel)(nil)).Elem()
 27054  }
 27055  
 27056  type EVCAdmissionFailedCPUModelFault EVCAdmissionFailedCPUModel
 27057  
 27058  func init() {
 27059  	t["EVCAdmissionFailedCPUModelFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelFault)(nil)).Elem()
 27060  }
 27061  
 27062  // The host's CPU hardware is a family/model that does not support the Enhanced
 27063  // VMotion Compatibility mode of the cluster.
 27064  type EVCAdmissionFailedCPUModelForMode struct {
 27065  	EVCAdmissionFailed
 27066  
 27067  	// The Enhanced VMotion Compatibility mode that is currently in effect for
 27068  	// the cluster.
 27069  	CurrentEVCModeKey string `xml:"currentEVCModeKey" json:"currentEVCModeKey"`
 27070  }
 27071  
 27072  func init() {
 27073  	t["EVCAdmissionFailedCPUModelForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForMode)(nil)).Elem()
 27074  }
 27075  
 27076  type EVCAdmissionFailedCPUModelForModeFault EVCAdmissionFailedCPUModelForMode
 27077  
 27078  func init() {
 27079  	t["EVCAdmissionFailedCPUModelForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForModeFault)(nil)).Elem()
 27080  }
 27081  
 27082  // The host's CPU vendor does not match the required CPU vendor for the
 27083  // Enhanced VMotion Compatibility mode of the cluster.
 27084  type EVCAdmissionFailedCPUVendor struct {
 27085  	EVCAdmissionFailed
 27086  
 27087  	// The CPU vendor required for entering the cluster.
 27088  	ClusterCPUVendor string `xml:"clusterCPUVendor" json:"clusterCPUVendor"`
 27089  	// The CPU vendor of the host.
 27090  	HostCPUVendor string `xml:"hostCPUVendor" json:"hostCPUVendor"`
 27091  }
 27092  
 27093  func init() {
 27094  	t["EVCAdmissionFailedCPUVendor"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendor)(nil)).Elem()
 27095  }
 27096  
 27097  type EVCAdmissionFailedCPUVendorFault EVCAdmissionFailedCPUVendor
 27098  
 27099  func init() {
 27100  	t["EVCAdmissionFailedCPUVendorFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorFault)(nil)).Elem()
 27101  }
 27102  
 27103  // The host's CPU vendor is unknown, which prevents admission into an Enhanced
 27104  // VMotion Compatibility cluster.
 27105  type EVCAdmissionFailedCPUVendorUnknown struct {
 27106  	EVCAdmissionFailed
 27107  }
 27108  
 27109  func init() {
 27110  	t["EVCAdmissionFailedCPUVendorUnknown"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknown)(nil)).Elem()
 27111  }
 27112  
 27113  type EVCAdmissionFailedCPUVendorUnknownFault EVCAdmissionFailedCPUVendorUnknown
 27114  
 27115  func init() {
 27116  	t["EVCAdmissionFailedCPUVendorUnknownFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknownFault)(nil)).Elem()
 27117  }
 27118  
 27119  type EVCAdmissionFailedFault BaseEVCAdmissionFailed
 27120  
 27121  func init() {
 27122  	t["EVCAdmissionFailedFault"] = reflect.TypeOf((*EVCAdmissionFailedFault)(nil)).Elem()
 27123  }
 27124  
 27125  // The host is not connected, which prevents admission into an Enhanced
 27126  // VMotion Compatibility cluster.
 27127  type EVCAdmissionFailedHostDisconnected struct {
 27128  	EVCAdmissionFailed
 27129  }
 27130  
 27131  func init() {
 27132  	t["EVCAdmissionFailedHostDisconnected"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnected)(nil)).Elem()
 27133  }
 27134  
 27135  type EVCAdmissionFailedHostDisconnectedFault EVCAdmissionFailedHostDisconnected
 27136  
 27137  func init() {
 27138  	t["EVCAdmissionFailedHostDisconnectedFault"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnectedFault)(nil)).Elem()
 27139  }
 27140  
 27141  // The host's software does not support any Enhanced VMotion Compatibility mode.
 27142  type EVCAdmissionFailedHostSoftware struct {
 27143  	EVCAdmissionFailed
 27144  }
 27145  
 27146  func init() {
 27147  	t["EVCAdmissionFailedHostSoftware"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftware)(nil)).Elem()
 27148  }
 27149  
 27150  type EVCAdmissionFailedHostSoftwareFault EVCAdmissionFailedHostSoftware
 27151  
 27152  func init() {
 27153  	t["EVCAdmissionFailedHostSoftwareFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareFault)(nil)).Elem()
 27154  }
 27155  
 27156  // The host's software does not support the Enhanced VMotion Compatibility
 27157  // mode of the cluster.
 27158  type EVCAdmissionFailedHostSoftwareForMode struct {
 27159  	EVCAdmissionFailed
 27160  }
 27161  
 27162  func init() {
 27163  	t["EVCAdmissionFailedHostSoftwareForMode"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForMode)(nil)).Elem()
 27164  }
 27165  
 27166  type EVCAdmissionFailedHostSoftwareForModeFault EVCAdmissionFailedHostSoftwareForMode
 27167  
 27168  func init() {
 27169  	t["EVCAdmissionFailedHostSoftwareForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForModeFault)(nil)).Elem()
 27170  }
 27171  
 27172  // An attempt to move or add a host into an Enhanced VMotion Compatibility
 27173  // cluster has failed for the following reason:
 27174  //   - The host exposes additional compatibility-relevant CPU features beyond
 27175  //     those present in the baseline mandated by the cluster's EVC mode.
 27176  //   - The host has powered-on or suspended virtual machines.
 27177  //
 27178  // Therefore the host may not be admitted into the cluster, since its virtual
 27179  // machines may be using CPU features suppressed in the cluster.
 27180  //
 27181  // Note that in rare cases, this may occur even if the host's
 27182  // `maxEVCModeKey` corresponds to the EVC
 27183  // mode of the cluster. This means that even though that EVC mode is the best
 27184  // match for the host's hardware, the host still has some features beyond
 27185  // those present in the baseline for that EVC mode.
 27186  type EVCAdmissionFailedVmActive struct {
 27187  	EVCAdmissionFailed
 27188  }
 27189  
 27190  func init() {
 27191  	t["EVCAdmissionFailedVmActive"] = reflect.TypeOf((*EVCAdmissionFailedVmActive)(nil)).Elem()
 27192  }
 27193  
 27194  type EVCAdmissionFailedVmActiveFault EVCAdmissionFailedVmActive
 27195  
 27196  func init() {
 27197  	t["EVCAdmissionFailedVmActiveFault"] = reflect.TypeOf((*EVCAdmissionFailedVmActiveFault)(nil)).Elem()
 27198  }
 27199  
 27200  // An attempt to enable Enhanced VMotion Compatibility on a cluster has failed.
 27201  type EVCConfigFault struct {
 27202  	VimFault
 27203  
 27204  	// The faults that caused this EVC test to fail,
 27205  	// such as `FeatureRequirementsNotMet` faults.
 27206  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 27207  }
 27208  
 27209  func init() {
 27210  	t["EVCConfigFault"] = reflect.TypeOf((*EVCConfigFault)(nil)).Elem()
 27211  }
 27212  
 27213  type EVCConfigFaultFault BaseEVCConfigFault
 27214  
 27215  func init() {
 27216  	t["EVCConfigFaultFault"] = reflect.TypeOf((*EVCConfigFaultFault)(nil)).Elem()
 27217  }
 27218  
 27219  // The `EVCMode` data object describes an Enhanced vMotion Compatibility mode.
 27220  //
 27221  // An EVC mode is associated with a set of CPU features. A vCenter Server defines
 27222  // the available EVC modes. You use them to establish a common set of features
 27223  // for compatibility between hosts in a cluster. An EVC-enabled cluster supports
 27224  // safe vMotion of virtual machines across a range of CPU generations.
 27225  // You must use the vSphere Client to configure EVC.
 27226  //
 27227  // When you add a host to an EVC-enabled cluster, the vCenter Server determines
 27228  // the CPU compatibility to preserve vMotion compatibility within the cluster.
 27229  // If the host CPU is compatible with those already in the cluster, the Server
 27230  // adds the host to the cluster and configures it for compatible operation.
 27231  // Hosts that are not compatible are not allowed to join the cluster.
 27232  //
 27233  // The inherited `ElementDescription.key` property is a string value
 27234  // that uniquely identifies an EVC mode. The vCenter Server assigns
 27235  // the key value; the vSphere API uses the key to identify modes
 27236  // in summary and information objects:
 27237  //   - `ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCModeKey`
 27238  //   - `HostListSummary*.*HostListSummary.currentEVCModeKey`
 27239  //   - `HostListSummary*.*HostListSummary.maxEVCModeKey`
 27240  //   - `VirtualMachineRuntimeInfo*.*VirtualMachineRuntimeInfo.minRequiredEVCModeKey`
 27241  //
 27242  // The inherited `Description.label` and `Description.summary`
 27243  // properties are human-readable strings.
 27244  //
 27245  // You can use the `EVCMode.track` and `EVCMode.vendorTier` properties to determine
 27246  // feature-superset relationships between modes without examining the
 27247  // individual feature bits in `EVCMode.guaranteedCPUFeatures`.
 27248  // The CPU feature baseline of mode A is a superset of mode B's baseline
 27249  // if and only if:
 27250  //   - modeA.track is the same as or a superset of modeB.track
 27251  //   - modeA.vendorTier is equal to or greater than modeB.vendorTier
 27252  //
 27253  // Use the `EVCMode.track` and `EVCMode.vendorTier` properties only for the
 27254  // purpose of feature-superset calculations as described above. Do not use
 27255  // them to infer the presence or absence of specific features. The
 27256  // property values for a given mode may change across releases
 27257  // as the set of available EVC modes changes, to better represent mode
 27258  // relationships.
 27259  type EVCMode struct {
 27260  	ElementDescription
 27261  
 27262  	// Deprecated as of vSphere API 6.5 use `EVCMode.featureCapability`.
 27263  	//
 27264  	// Describes the CPU feature baseline associated with the EVC mode.
 27265  	//
 27266  	// On the cluster where a particular EVC mode is configured,
 27267  	// those CPU features are guaranteed, either because the host
 27268  	// hardware naturally matches those features or because CPU feature override
 27269  	// is used to mask out differences and enforce a match.
 27270  	GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty" json:"guaranteedCPUFeatures,omitempty"`
 27271  	// Describes the feature capability baseline associated with the EVC mode.
 27272  	//
 27273  	// On the cluster where a particular EVC mode is configured,
 27274  	// these features capabilities are guaranteed, either because the host
 27275  	// hardware naturally matches those features or because feature masks
 27276  	// are used to mask out differences and enforce a match.
 27277  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
 27278  	// The masks (modifications to a host's feature capabilities) that limit a
 27279  	// host's capabilities to that of the EVC mode baseline.
 27280  	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty"`
 27281  	// The conditions that must be true of a host's feature capabilities in order
 27282  	// for the host to meet the minimum requirements of the EVC mode baseline.
 27283  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 27284  	// CPU hardware vendor required for this mode.
 27285  	Vendor string `xml:"vendor" json:"vendor"`
 27286  	// Identifiers for feature groups that are at least partially present in
 27287  	// the `EVCMode.guaranteedCPUFeatures` array for this mode.
 27288  	//
 27289  	// Use this property to compare track values from two modes.
 27290  	// Do not use this property to determine the presence or absence of
 27291  	// specific features.
 27292  	Track []string `xml:"track,omitempty" json:"track,omitempty"`
 27293  	// Index for ordering the set of modes that apply to a given CPU vendor.
 27294  	//
 27295  	// Use this property to compare vendor tier values from two modes.
 27296  	// Do not use this property to determine the presence or absence
 27297  	// of specific features.
 27298  	VendorTier int32 `xml:"vendorTier" json:"vendorTier"`
 27299  }
 27300  
 27301  func init() {
 27302  	t["EVCMode"] = reflect.TypeOf((*EVCMode)(nil)).Elem()
 27303  }
 27304  
 27305  // An attempt to enable Enhanced VMotion Compatibility on a cluster, or change
 27306  // the EVC configuration on an EVC-enabled cluster, has failed because the
 27307  // selected EVC mode is not legal for the CPU hardware vendor of the hosts
 27308  // currently in the cluster.
 27309  type EVCModeIllegalByVendor struct {
 27310  	EVCConfigFault
 27311  
 27312  	// The CPU vendor in use in the cluster.
 27313  	ClusterCPUVendor string `xml:"clusterCPUVendor" json:"clusterCPUVendor"`
 27314  	// The CPU vendor for the requested EVC mode.
 27315  	ModeCPUVendor string `xml:"modeCPUVendor" json:"modeCPUVendor"`
 27316  }
 27317  
 27318  func init() {
 27319  	t["EVCModeIllegalByVendor"] = reflect.TypeOf((*EVCModeIllegalByVendor)(nil)).Elem()
 27320  }
 27321  
 27322  type EVCModeIllegalByVendorFault EVCModeIllegalByVendor
 27323  
 27324  func init() {
 27325  	t["EVCModeIllegalByVendorFault"] = reflect.TypeOf((*EVCModeIllegalByVendorFault)(nil)).Elem()
 27326  }
 27327  
 27328  // An attempt to enable Enhanced VMotion Compatibility on a cluster has failed
 27329  // because there are hosts in the cluster with a CPU feature baseline below the
 27330  // desired EVC mode.
 27331  type EVCModeUnsupportedByHosts struct {
 27332  	EVCConfigFault
 27333  
 27334  	// The requested EVC mode.
 27335  	EvcMode string `xml:"evcMode,omitempty" json:"evcMode,omitempty"`
 27336  	// The set of hosts which are blocking EVC because their CPU hardware does
 27337  	// not support the requested EVC mode.
 27338  	//
 27339  	// Refers instances of `HostSystem`.
 27340  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 27341  	// The names of the hosts in the host array.
 27342  	HostName []string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 27343  }
 27344  
 27345  func init() {
 27346  	t["EVCModeUnsupportedByHosts"] = reflect.TypeOf((*EVCModeUnsupportedByHosts)(nil)).Elem()
 27347  }
 27348  
 27349  type EVCModeUnsupportedByHostsFault EVCModeUnsupportedByHosts
 27350  
 27351  func init() {
 27352  	t["EVCModeUnsupportedByHostsFault"] = reflect.TypeOf((*EVCModeUnsupportedByHostsFault)(nil)).Elem()
 27353  }
 27354  
 27355  // An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has
 27356  // failed because one or more hosts in the cluster do not match the desired
 27357  // featureset and lack hardware support for EVC.
 27358  type EVCUnsupportedByHostHardware struct {
 27359  	EVCConfigFault
 27360  
 27361  	// The set of hosts which are blocking EVC because their CPU hardware does
 27362  	// not support CPUID override.
 27363  	//
 27364  	// Refers instances of `HostSystem`.
 27365  	Host []ManagedObjectReference `xml:"host" json:"host"`
 27366  	// The names of the hosts in the host array.
 27367  	HostName []string `xml:"hostName" json:"hostName"`
 27368  }
 27369  
 27370  func init() {
 27371  	t["EVCUnsupportedByHostHardware"] = reflect.TypeOf((*EVCUnsupportedByHostHardware)(nil)).Elem()
 27372  }
 27373  
 27374  type EVCUnsupportedByHostHardwareFault EVCUnsupportedByHostHardware
 27375  
 27376  func init() {
 27377  	t["EVCUnsupportedByHostHardwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostHardwareFault)(nil)).Elem()
 27378  }
 27379  
 27380  // An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has
 27381  // failed because one or more hosts in the cluster lack software support for
 27382  // EVC.
 27383  type EVCUnsupportedByHostSoftware struct {
 27384  	EVCConfigFault
 27385  
 27386  	// The set of hosts which are blocking EVC because their virtualization
 27387  	// software does not support CPUID override.
 27388  	//
 27389  	// Refers instances of `HostSystem`.
 27390  	Host []ManagedObjectReference `xml:"host" json:"host"`
 27391  	// The names of the hosts in the host array.
 27392  	HostName []string `xml:"hostName" json:"hostName"`
 27393  }
 27394  
 27395  func init() {
 27396  	t["EVCUnsupportedByHostSoftware"] = reflect.TypeOf((*EVCUnsupportedByHostSoftware)(nil)).Elem()
 27397  }
 27398  
 27399  type EVCUnsupportedByHostSoftwareFault EVCUnsupportedByHostSoftware
 27400  
 27401  func init() {
 27402  	t["EVCUnsupportedByHostSoftwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostSoftwareFault)(nil)).Elem()
 27403  }
 27404  
 27405  // The parameters of `VirtualDiskManager.EagerZeroVirtualDisk_Task`.
 27406  type EagerZeroVirtualDiskRequestType struct {
 27407  	This ManagedObjectReference `xml:"_this" json:"-"`
 27408  	// The name of the disk, either a datastore path or a URL
 27409  	// referring to the virtual disk that should be inflated.
 27410  	Name string `xml:"name" json:"name"`
 27411  	// If <code>name</code> is a datastore path, the datacenter for
 27412  	// that datastore path. Not needed when invoked directly on ESX.
 27413  	// If not specified on a call to VirtualCenter,
 27414  	// <code>name</code> must be a URL.
 27415  	//
 27416  	// Refers instance of `Datacenter`.
 27417  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 27418  }
 27419  
 27420  func init() {
 27421  	t["EagerZeroVirtualDiskRequestType"] = reflect.TypeOf((*EagerZeroVirtualDiskRequestType)(nil)).Elem()
 27422  }
 27423  
 27424  type EagerZeroVirtualDisk_Task EagerZeroVirtualDiskRequestType
 27425  
 27426  func init() {
 27427  	t["EagerZeroVirtualDisk_Task"] = reflect.TypeOf((*EagerZeroVirtualDisk_Task)(nil)).Elem()
 27428  }
 27429  
 27430  type EagerZeroVirtualDisk_TaskResponse struct {
 27431  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27432  }
 27433  
 27434  // Only virtual machines on eight different hosts can have a single
 27435  // virtual disk backing opened for read at once.
 27436  //
 27437  // This fault occurs when moving or powering on this virtual
 27438  // machine would cause a violation of the above constraint.
 27439  // This only occurs when multiple virtual machines are sharing a
 27440  // single disk backing.
 27441  //
 27442  // Note that there is no limit on the number of virtual machines
 27443  // who share a disk backings, so long as they are running on
 27444  // eight or fewer hosts.
 27445  type EightHostLimitViolated struct {
 27446  	VmConfigFault
 27447  }
 27448  
 27449  func init() {
 27450  	t["EightHostLimitViolated"] = reflect.TypeOf((*EightHostLimitViolated)(nil)).Elem()
 27451  }
 27452  
 27453  type EightHostLimitViolatedFault EightHostLimitViolated
 27454  
 27455  func init() {
 27456  	t["EightHostLimitViolatedFault"] = reflect.TypeOf((*EightHostLimitViolatedFault)(nil)).Elem()
 27457  }
 27458  
 27459  // Static strings used for describing an object model string or enumeration.
 27460  type ElementDescription struct {
 27461  	Description
 27462  
 27463  	// Enumeration or literal ID being described.
 27464  	Key string `xml:"key" json:"key"`
 27465  }
 27466  
 27467  func init() {
 27468  	t["ElementDescription"] = reflect.TypeOf((*ElementDescription)(nil)).Elem()
 27469  }
 27470  
 27471  type EmitSyslogMark EmitSyslogMarkRequestType
 27472  
 27473  func init() {
 27474  	t["EmitSyslogMark"] = reflect.TypeOf((*EmitSyslogMark)(nil)).Elem()
 27475  }
 27476  
 27477  // The parameters of `DiagnosticManager.EmitSyslogMark`.
 27478  type EmitSyslogMarkRequestType struct {
 27479  	This ManagedObjectReference `xml:"_this" json:"-"`
 27480  	// The string to be used.
 27481  	Message string `xml:"message" json:"message"`
 27482  }
 27483  
 27484  func init() {
 27485  	t["EmitSyslogMarkRequestType"] = reflect.TypeOf((*EmitSyslogMarkRequestType)(nil)).Elem()
 27486  	minAPIVersionForType["EmitSyslogMarkRequestType"] = "8.0.0.2"
 27487  }
 27488  
 27489  type EmitSyslogMarkResponse struct {
 27490  }
 27491  
 27492  type EnableAlarm EnableAlarmRequestType
 27493  
 27494  func init() {
 27495  	t["EnableAlarm"] = reflect.TypeOf((*EnableAlarm)(nil)).Elem()
 27496  }
 27497  
 27498  type EnableAlarmActions EnableAlarmActionsRequestType
 27499  
 27500  func init() {
 27501  	t["EnableAlarmActions"] = reflect.TypeOf((*EnableAlarmActions)(nil)).Elem()
 27502  }
 27503  
 27504  // The parameters of `AlarmManager.EnableAlarmActions`.
 27505  type EnableAlarmActionsRequestType struct {
 27506  	This ManagedObjectReference `xml:"_this" json:"-"`
 27507  	// The managed entity on which to set a schedule.
 27508  	//
 27509  	// Required privileges: Alarm.DisableActions
 27510  	//
 27511  	// Refers instance of `ManagedEntity`.
 27512  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 27513  	// true, if alarms are enabled during the schedule.
 27514  	Enabled bool `xml:"enabled" json:"enabled"`
 27515  }
 27516  
 27517  func init() {
 27518  	t["EnableAlarmActionsRequestType"] = reflect.TypeOf((*EnableAlarmActionsRequestType)(nil)).Elem()
 27519  }
 27520  
 27521  type EnableAlarmActionsResponse struct {
 27522  }
 27523  
 27524  // The parameters of `AlarmManager.EnableAlarm`.
 27525  type EnableAlarmRequestType struct {
 27526  	This ManagedObjectReference `xml:"_this" json:"-"`
 27527  	// The Alarm being enabled.
 27528  	//
 27529  	// Required privileges: Alarm.ToggleEnableOnEntity
 27530  	//
 27531  	// Refers instance of `Alarm`.
 27532  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
 27533  	// The ManagedEntity on which to enable the alarm.
 27534  	//
 27535  	// Required privileges: System.Read
 27536  	//
 27537  	// Refers instance of `ManagedEntity`.
 27538  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 27539  }
 27540  
 27541  func init() {
 27542  	t["EnableAlarmRequestType"] = reflect.TypeOf((*EnableAlarmRequestType)(nil)).Elem()
 27543  }
 27544  
 27545  type EnableAlarmResponse struct {
 27546  }
 27547  
 27548  type EnableClusteredVmdkSupport EnableClusteredVmdkSupportRequestType
 27549  
 27550  func init() {
 27551  	t["EnableClusteredVmdkSupport"] = reflect.TypeOf((*EnableClusteredVmdkSupport)(nil)).Elem()
 27552  }
 27553  
 27554  // The parameters of `HostDatastoreSystem.EnableClusteredVmdkSupport`.
 27555  type EnableClusteredVmdkSupportRequestType struct {
 27556  	This ManagedObjectReference `xml:"_this" json:"-"`
 27557  	// Datastore on which clustered vmdk should be
 27558  	// enabled
 27559  	//
 27560  	// Refers instance of `Datastore`.
 27561  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 27562  }
 27563  
 27564  func init() {
 27565  	t["EnableClusteredVmdkSupportRequestType"] = reflect.TypeOf((*EnableClusteredVmdkSupportRequestType)(nil)).Elem()
 27566  }
 27567  
 27568  type EnableClusteredVmdkSupportResponse struct {
 27569  }
 27570  
 27571  type EnableCrypto EnableCryptoRequestType
 27572  
 27573  func init() {
 27574  	t["EnableCrypto"] = reflect.TypeOf((*EnableCrypto)(nil)).Elem()
 27575  }
 27576  
 27577  // The parameters of `HostSystem.EnableCrypto`.
 27578  type EnableCryptoRequestType struct {
 27579  	This ManagedObjectReference `xml:"_this" json:"-"`
 27580  	// The key to be used for coredump encryption
 27581  	KeyPlain CryptoKeyPlain `xml:"keyPlain" json:"keyPlain"`
 27582  }
 27583  
 27584  func init() {
 27585  	t["EnableCryptoRequestType"] = reflect.TypeOf((*EnableCryptoRequestType)(nil)).Elem()
 27586  }
 27587  
 27588  type EnableCryptoResponse struct {
 27589  }
 27590  
 27591  type EnableFeature EnableFeatureRequestType
 27592  
 27593  func init() {
 27594  	t["EnableFeature"] = reflect.TypeOf((*EnableFeature)(nil)).Elem()
 27595  }
 27596  
 27597  // The parameters of `LicenseManager.EnableFeature`.
 27598  type EnableFeatureRequestType struct {
 27599  	This ManagedObjectReference `xml:"_this" json:"-"`
 27600  	// Host to act on if LicenseManager is not on a host.
 27601  	//
 27602  	// Refers instance of `HostSystem`.
 27603  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 27604  	// Name of the feature to enable.
 27605  	FeatureKey string `xml:"featureKey" json:"featureKey"`
 27606  }
 27607  
 27608  func init() {
 27609  	t["EnableFeatureRequestType"] = reflect.TypeOf((*EnableFeatureRequestType)(nil)).Elem()
 27610  }
 27611  
 27612  type EnableFeatureResponse struct {
 27613  	Returnval bool `xml:"returnval" json:"returnval"`
 27614  }
 27615  
 27616  type EnableHyperThreading EnableHyperThreadingRequestType
 27617  
 27618  func init() {
 27619  	t["EnableHyperThreading"] = reflect.TypeOf((*EnableHyperThreading)(nil)).Elem()
 27620  }
 27621  
 27622  type EnableHyperThreadingRequestType struct {
 27623  	This ManagedObjectReference `xml:"_this" json:"-"`
 27624  }
 27625  
 27626  func init() {
 27627  	t["EnableHyperThreadingRequestType"] = reflect.TypeOf((*EnableHyperThreadingRequestType)(nil)).Elem()
 27628  }
 27629  
 27630  type EnableHyperThreadingResponse struct {
 27631  }
 27632  
 27633  type EnableMultipathPath EnableMultipathPathRequestType
 27634  
 27635  func init() {
 27636  	t["EnableMultipathPath"] = reflect.TypeOf((*EnableMultipathPath)(nil)).Elem()
 27637  }
 27638  
 27639  // The parameters of `HostStorageSystem.EnableMultipathPath`.
 27640  type EnableMultipathPathRequestType struct {
 27641  	This ManagedObjectReference `xml:"_this" json:"-"`
 27642  	// The name of the path to enable.
 27643  	PathName string `xml:"pathName" json:"pathName"`
 27644  }
 27645  
 27646  func init() {
 27647  	t["EnableMultipathPathRequestType"] = reflect.TypeOf((*EnableMultipathPathRequestType)(nil)).Elem()
 27648  }
 27649  
 27650  type EnableMultipathPathResponse struct {
 27651  }
 27652  
 27653  // The parameters of `ComputeResource.EnableNetworkBoot_Task`.
 27654  type EnableNetworkBootRequestType struct {
 27655  	This            ManagedObjectReference `xml:"_this" json:"-"`
 27656  	NetworkBootMode string                 `xml:"networkBootMode" json:"networkBootMode"`
 27657  }
 27658  
 27659  func init() {
 27660  	t["EnableNetworkBootRequestType"] = reflect.TypeOf((*EnableNetworkBootRequestType)(nil)).Elem()
 27661  	minAPIVersionForType["EnableNetworkBootRequestType"] = "9.0.0.0"
 27662  }
 27663  
 27664  type EnableNetworkBoot_Task EnableNetworkBootRequestType
 27665  
 27666  func init() {
 27667  	t["EnableNetworkBoot_Task"] = reflect.TypeOf((*EnableNetworkBoot_Task)(nil)).Elem()
 27668  }
 27669  
 27670  type EnableNetworkBoot_TaskResponse struct {
 27671  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27672  }
 27673  
 27674  type EnableNetworkResourceManagement EnableNetworkResourceManagementRequestType
 27675  
 27676  func init() {
 27677  	t["EnableNetworkResourceManagement"] = reflect.TypeOf((*EnableNetworkResourceManagement)(nil)).Elem()
 27678  }
 27679  
 27680  // The parameters of `DistributedVirtualSwitch.EnableNetworkResourceManagement`.
 27681  type EnableNetworkResourceManagementRequestType struct {
 27682  	This ManagedObjectReference `xml:"_this" json:"-"`
 27683  	// If true, enables I/O control. If false,
 27684  	// disables network I/O control.
 27685  	Enable bool `xml:"enable" json:"enable"`
 27686  }
 27687  
 27688  func init() {
 27689  	t["EnableNetworkResourceManagementRequestType"] = reflect.TypeOf((*EnableNetworkResourceManagementRequestType)(nil)).Elem()
 27690  }
 27691  
 27692  type EnableNetworkResourceManagementResponse struct {
 27693  }
 27694  
 27695  type EnableRuleset EnableRulesetRequestType
 27696  
 27697  func init() {
 27698  	t["EnableRuleset"] = reflect.TypeOf((*EnableRuleset)(nil)).Elem()
 27699  }
 27700  
 27701  // The parameters of `HostFirewallSystem.EnableRuleset`.
 27702  type EnableRulesetRequestType struct {
 27703  	This ManagedObjectReference `xml:"_this" json:"-"`
 27704  	Id   string                 `xml:"id" json:"id"`
 27705  }
 27706  
 27707  func init() {
 27708  	t["EnableRulesetRequestType"] = reflect.TypeOf((*EnableRulesetRequestType)(nil)).Elem()
 27709  }
 27710  
 27711  type EnableRulesetResponse struct {
 27712  }
 27713  
 27714  // The parameters of `VirtualMachine.EnableSecondaryVM_Task`.
 27715  type EnableSecondaryVMRequestType struct {
 27716  	This ManagedObjectReference `xml:"_this" json:"-"`
 27717  	// The secondary virtual machine specified will be enabled.
 27718  	// This field must specify a secondary virtual machine that is part of the fault
 27719  	// tolerant group that this virtual machine is currently associated with. It can
 27720  	// only be invoked from the primary virtual machine in the group.
 27721  	//
 27722  	// Refers instance of `VirtualMachine`.
 27723  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 27724  	// The host on which the secondary virtual machine is to be
 27725  	// enabled and possibly powered on. If no host is specified, a compatible host
 27726  	// will be selected by the system. If the secondary virtual machine is not
 27727  	// compatible with the specified host, the secondary will not be re-enabled
 27728  	// and a fault will be returned.
 27729  	//
 27730  	// Refers instance of `HostSystem`.
 27731  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 27732  }
 27733  
 27734  func init() {
 27735  	t["EnableSecondaryVMRequestType"] = reflect.TypeOf((*EnableSecondaryVMRequestType)(nil)).Elem()
 27736  }
 27737  
 27738  type EnableSecondaryVM_Task EnableSecondaryVMRequestType
 27739  
 27740  func init() {
 27741  	t["EnableSecondaryVM_Task"] = reflect.TypeOf((*EnableSecondaryVM_Task)(nil)).Elem()
 27742  }
 27743  
 27744  type EnableSecondaryVM_TaskResponse struct {
 27745  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27746  }
 27747  
 27748  type EnableSmartCardAuthentication EnableSmartCardAuthenticationRequestType
 27749  
 27750  func init() {
 27751  	t["EnableSmartCardAuthentication"] = reflect.TypeOf((*EnableSmartCardAuthentication)(nil)).Elem()
 27752  }
 27753  
 27754  type EnableSmartCardAuthenticationRequestType struct {
 27755  	This ManagedObjectReference `xml:"_this" json:"-"`
 27756  }
 27757  
 27758  func init() {
 27759  	t["EnableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*EnableSmartCardAuthenticationRequestType)(nil)).Elem()
 27760  }
 27761  
 27762  type EnableSmartCardAuthenticationResponse struct {
 27763  }
 27764  
 27765  // An EncryptionKeyRequired fault occurs when an operation fails due
 27766  // to one or more required encryption keys.
 27767  type EncryptionKeyRequired struct {
 27768  	InvalidState
 27769  
 27770  	// A list of required key identifiers.
 27771  	RequiredKey []CryptoKeyId `xml:"requiredKey,omitempty" json:"requiredKey,omitempty"`
 27772  }
 27773  
 27774  func init() {
 27775  	t["EncryptionKeyRequired"] = reflect.TypeOf((*EncryptionKeyRequired)(nil)).Elem()
 27776  }
 27777  
 27778  type EncryptionKeyRequiredFault EncryptionKeyRequired
 27779  
 27780  func init() {
 27781  	t["EncryptionKeyRequiredFault"] = reflect.TypeOf((*EncryptionKeyRequiredFault)(nil)).Elem()
 27782  }
 27783  
 27784  type EnterLockdownMode EnterLockdownModeRequestType
 27785  
 27786  func init() {
 27787  	t["EnterLockdownMode"] = reflect.TypeOf((*EnterLockdownMode)(nil)).Elem()
 27788  }
 27789  
 27790  type EnterLockdownModeRequestType struct {
 27791  	This ManagedObjectReference `xml:"_this" json:"-"`
 27792  }
 27793  
 27794  func init() {
 27795  	t["EnterLockdownModeRequestType"] = reflect.TypeOf((*EnterLockdownModeRequestType)(nil)).Elem()
 27796  }
 27797  
 27798  type EnterLockdownModeResponse struct {
 27799  }
 27800  
 27801  // The parameters of `HostSystem.EnterMaintenanceMode_Task`.
 27802  type EnterMaintenanceModeRequestType struct {
 27803  	This ManagedObjectReference `xml:"_this" json:"-"`
 27804  	// The task completes when the host successfully enters maintenance
 27805  	// mode or the timeout expires, and in the latter case the task
 27806  	// contains a Timeout fault. If the timeout is less than or equal to
 27807  	// zero, there is no timeout. The timeout is specified in seconds.
 27808  	Timeout int32 `xml:"timeout" json:"timeout"`
 27809  	// This is a parameter only supported by VirtualCenter.
 27810  	// If set to true, for a DRS disabled cluster, the task will not
 27811  	// succeed unless all powered-off virtual machines have been manually
 27812  	// reregistered; for a DRS enabled cluster, VirtualCenter will
 27813  	// automatically reregister powered-off virtual machines and a
 27814  	// powered-off virtual machine may remain at the host only for two
 27815  	// reasons: (a) no compatible host found for reregistration, (b) DRS
 27816  	// is disabled for the virtual machine. If set to false, powered-off
 27817  	// virtual machines do not need to be moved.
 27818  	EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms" json:"evacuatePoweredOffVms,omitempty"`
 27819  	// Any additional actions to be taken by the host upon
 27820  	// entering maintenance mode. If omitted, default actions will
 27821  	// be taken as documented in the `HostMaintenanceSpec`.
 27822  	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty"`
 27823  }
 27824  
 27825  func init() {
 27826  	t["EnterMaintenanceModeRequestType"] = reflect.TypeOf((*EnterMaintenanceModeRequestType)(nil)).Elem()
 27827  }
 27828  
 27829  type EnterMaintenanceMode_Task EnterMaintenanceModeRequestType
 27830  
 27831  func init() {
 27832  	t["EnterMaintenanceMode_Task"] = reflect.TypeOf((*EnterMaintenanceMode_Task)(nil)).Elem()
 27833  }
 27834  
 27835  type EnterMaintenanceMode_TaskResponse struct {
 27836  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27837  }
 27838  
 27839  // This event records that the host has completely entered
 27840  // maintenance mode.
 27841  //
 27842  // A host in this mode has no running virtual machines and no
 27843  // provisioning operations are occurring.
 27844  type EnteredMaintenanceModeEvent struct {
 27845  	HostEvent
 27846  }
 27847  
 27848  func init() {
 27849  	t["EnteredMaintenanceModeEvent"] = reflect.TypeOf((*EnteredMaintenanceModeEvent)(nil)).Elem()
 27850  }
 27851  
 27852  // This event records that the host has successfully entered
 27853  // standby mode.
 27854  //
 27855  // A host in this mode has no running virtual machines and no
 27856  // provisioning operations are occurring.
 27857  type EnteredStandbyModeEvent struct {
 27858  	HostEvent
 27859  }
 27860  
 27861  func init() {
 27862  	t["EnteredStandbyModeEvent"] = reflect.TypeOf((*EnteredStandbyModeEvent)(nil)).Elem()
 27863  }
 27864  
 27865  // This event records that a host has begun the process of entering
 27866  // maintenance mode.
 27867  //
 27868  // All virtual machine operations
 27869  // are blocked, except the following:
 27870  //   - MigrateVM
 27871  //   - PowerOffVM
 27872  //   - SuspendVM
 27873  //   - ShutdownGuest
 27874  //   - StandbyGuest
 27875  type EnteringMaintenanceModeEvent struct {
 27876  	HostEvent
 27877  }
 27878  
 27879  func init() {
 27880  	t["EnteringMaintenanceModeEvent"] = reflect.TypeOf((*EnteringMaintenanceModeEvent)(nil)).Elem()
 27881  }
 27882  
 27883  // This event records that a host has begun the process of entering
 27884  // standby mode.
 27885  //
 27886  // All virtual machine operations
 27887  // are blocked, except the following:
 27888  //   - MigrateVM
 27889  //   - PowerOffVM
 27890  //   - SuspendVM
 27891  //   - ShutdownGuest
 27892  //   - StandbyGuest
 27893  type EnteringStandbyModeEvent struct {
 27894  	HostEvent
 27895  }
 27896  
 27897  func init() {
 27898  	t["EnteringStandbyModeEvent"] = reflect.TypeOf((*EnteringStandbyModeEvent)(nil)).Elem()
 27899  }
 27900  
 27901  // `EntityBackup` is an abstract data object that contains
 27902  // the related entity backup and restore elements for virtual distributed
 27903  // switches and virtual distributed portgroups.
 27904  //
 27905  // See the following elements:
 27906  //   - `EntityBackupConfig`
 27907  //   - `EntityImportType_enum`
 27908  //   - `EntityType_enum`
 27909  type EntityBackup struct {
 27910  	DynamicData
 27911  }
 27912  
 27913  func init() {
 27914  	t["EntityBackup"] = reflect.TypeOf((*EntityBackup)(nil)).Elem()
 27915  }
 27916  
 27917  // The `EntityBackupConfig` data object
 27918  // contains `VmwareDistributedVirtualSwitch`
 27919  // or `DistributedVirtualPortgroup` backup
 27920  // configuration data produced by the
 27921  // `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`
 27922  // method.
 27923  //
 27924  // It also contains properties that support
 27925  // `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`
 27926  // operations.
 27927  //
 27928  // A `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` operation
 27929  // sets properties that identify the entity instance
 27930  // (`EntityBackupConfig.entityType`,
 27931  // `EntityBackupConfig.key`, and
 27932  // `EntityBackupConfig.name`) and
 27933  // inventory location (`EntityBackupConfig.container`).
 27934  // When you import a backup configuration, you can set
 27935  // the <code>key</code>, <code>name</code>, and <code>container</code>
 27936  // properties in accordance with the <code>importType</code>
 27937  // specified in the call to
 27938  // `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
 27939  // See `EntityImportType_enum`.
 27940  type EntityBackupConfig struct {
 27941  	DynamicData
 27942  
 27943  	// Type of the exported entity
 27944  	// (`DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`).
 27945  	//
 27946  	// See `EntityType_enum`
 27947  	// for valid values.
 27948  	EntityType string `xml:"entityType" json:"entityType"`
 27949  	// Opaque blob that contains the configuration of the entity.
 27950  	ConfigBlob []byte `xml:"configBlob" json:"configBlob"`
 27951  	// Unique identifier of the exported entity or the entity to be restored
 27952  	// through an import operation.
 27953  	//   - If you are importing a virtual distributed switch and the import type is
 27954  	//     `applyToEntitySpecified`,
 27955  	//     set the <code>key</code> to
 27956  	//     `DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid`.
 27957  	//   - If you are importing a virtual distributed portgroup and the import type is
 27958  	//     `applyToEntitySpecified`,
 27959  	//     set the <code>key</code> to
 27960  	//     `DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.key`.
 27961  	//
 27962  	// The Server ignores the key value when the import operation creates a new entity.
 27963  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 27964  	// Name of the exported entity or the entity to be restored with the backup configuration.
 27965  	//
 27966  	// If you are importing an entity and the import type is
 27967  	// `applyToEntitySpecified`,
 27968  	// the Server will use this value to rename the existing entity.
 27969  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 27970  	// Container for this entity.
 27971  	//
 27972  	// If `EntityBackupConfig.entityType` is "distributedVirtualSwitch",
 27973  	// the container type is `Folder`. If `EntityBackupConfig.entityType`
 27974  	// is "distributedVirtualPortgroup", the container type is
 27975  	// `DistributedVirtualSwitch`.
 27976  	//
 27977  	// Refers instance of `ManagedEntity`.
 27978  	Container *ManagedObjectReference `xml:"container,omitempty" json:"container,omitempty"`
 27979  	// Configuration version.
 27980  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 27981  }
 27982  
 27983  func init() {
 27984  	t["EntityBackupConfig"] = reflect.TypeOf((*EntityBackupConfig)(nil)).Elem()
 27985  }
 27986  
 27987  // The event argument is a managed entity object.
 27988  //
 27989  // Subclasses of this type distinguish the different managed entities
 27990  // referenced in event objects.
 27991  type EntityEventArgument struct {
 27992  	EventArgument
 27993  
 27994  	// Name of the entity, including its full path from the root of the inventory.
 27995  	Name string `xml:"name" json:"name"`
 27996  }
 27997  
 27998  func init() {
 27999  	t["EntityEventArgument"] = reflect.TypeOf((*EntityEventArgument)(nil)).Elem()
 28000  }
 28001  
 28002  // This class defines whether a set of privileges are granted for a managed entity.
 28003  type EntityPrivilege struct {
 28004  	DynamicData
 28005  
 28006  	// The entity on which the privileges are checked.
 28007  	//
 28008  	// Refers instance of `ManagedEntity`.
 28009  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 28010  	// whether a set of privileges are granted for the managed entity.
 28011  	PrivAvailability []PrivilegeAvailability `xml:"privAvailability" json:"privAvailability"`
 28012  }
 28013  
 28014  func init() {
 28015  	t["EntityPrivilege"] = reflect.TypeOf((*EntityPrivilege)(nil)).Elem()
 28016  }
 28017  
 28018  // Static strings used for describing an enumerated type.
 28019  type EnumDescription struct {
 28020  	DynamicData
 28021  
 28022  	// Type of enumeration being described.
 28023  	Key string `xml:"key" json:"key"`
 28024  	// Element descriptions of all the tags for that enumerated type.
 28025  	Tags []BaseElementDescription `xml:"tags,typeattr" json:"tags"`
 28026  }
 28027  
 28028  func init() {
 28029  	t["EnumDescription"] = reflect.TypeOf((*EnumDescription)(nil)).Elem()
 28030  }
 28031  
 28032  // Represent search criteria and filters on a `VirtualMachineConfigOption`
 28033  // object.
 28034  type EnvironmentBrowserConfigOptionQuerySpec struct {
 28035  	DynamicData
 28036  
 28037  	// The key found in the VirtualMachineConfigOptionDescriptor,
 28038  	// obtained by invoking the
 28039  	// `EnvironmentBrowser.QueryConfigOptionDescriptor` operation.
 28040  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 28041  	// The host whose ConfigOption is requested.
 28042  	//
 28043  	// Refers instance of `HostSystem`.
 28044  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 28045  	// The Guest OS IDs whose `VirtualMachineConfigOption` is requested
 28046  	// `GuestOsIdentifier`
 28047  	GuestId []string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 28048  }
 28049  
 28050  func init() {
 28051  	t["EnvironmentBrowserConfigOptionQuerySpec"] = reflect.TypeOf((*EnvironmentBrowserConfigOptionQuerySpec)(nil)).Elem()
 28052  }
 28053  
 28054  // This event is a general error event from upgrade.
 28055  type ErrorUpgradeEvent struct {
 28056  	UpgradeEvent
 28057  }
 28058  
 28059  func init() {
 28060  	t["ErrorUpgradeEvent"] = reflect.TypeOf((*ErrorUpgradeEvent)(nil)).Elem()
 28061  }
 28062  
 28063  type EstimateDatabaseSize EstimateDatabaseSizeRequestType
 28064  
 28065  func init() {
 28066  	t["EstimateDatabaseSize"] = reflect.TypeOf((*EstimateDatabaseSize)(nil)).Elem()
 28067  }
 28068  
 28069  // The parameters of `ResourcePlanningManager.EstimateDatabaseSize`.
 28070  type EstimateDatabaseSizeRequestType struct {
 28071  	This ManagedObjectReference `xml:"_this" json:"-"`
 28072  	// `DatabaseSizeParam`
 28073  	// Contains the summary of an inventory for which the database size
 28074  	// requirements are to be computed. It also contains
 28075  	// the historic interval setting for which the database
 28076  	// computations are to be done. This is an optional parameter and
 28077  	// the current virtual center historical settings are used by default.
 28078  	// There are many other optional fields in the dbSizeParam structure
 28079  	// that are appropriately filled up based on some heuristics.
 28080  	DbSizeParam DatabaseSizeParam `xml:"dbSizeParam" json:"dbSizeParam"`
 28081  }
 28082  
 28083  func init() {
 28084  	t["EstimateDatabaseSizeRequestType"] = reflect.TypeOf((*EstimateDatabaseSizeRequestType)(nil)).Elem()
 28085  }
 28086  
 28087  type EstimateDatabaseSizeResponse struct {
 28088  	Returnval DatabaseSizeEstimate `xml:"returnval" json:"returnval"`
 28089  }
 28090  
 28091  type EstimateStorageForConsolidateSnapshotsRequestType struct {
 28092  	This ManagedObjectReference `xml:"_this" json:"-"`
 28093  }
 28094  
 28095  func init() {
 28096  	t["EstimateStorageForConsolidateSnapshotsRequestType"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshotsRequestType)(nil)).Elem()
 28097  }
 28098  
 28099  type EstimateStorageForConsolidateSnapshots_Task EstimateStorageForConsolidateSnapshotsRequestType
 28100  
 28101  func init() {
 28102  	t["EstimateStorageForConsolidateSnapshots_Task"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshots_Task)(nil)).Elem()
 28103  }
 28104  
 28105  type EstimateStorageForConsolidateSnapshots_TaskResponse struct {
 28106  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28107  }
 28108  
 28109  type EsxAgentHostManagerUpdateConfig EsxAgentHostManagerUpdateConfigRequestType
 28110  
 28111  func init() {
 28112  	t["EsxAgentHostManagerUpdateConfig"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfig)(nil)).Elem()
 28113  }
 28114  
 28115  // The parameters of `HostEsxAgentHostManager.EsxAgentHostManagerUpdateConfig`.
 28116  type EsxAgentHostManagerUpdateConfigRequestType struct {
 28117  	This ManagedObjectReference `xml:"_this" json:"-"`
 28118  	// configuration of agent virtual machine resources
 28119  	ConfigInfo HostEsxAgentHostManagerConfigInfo `xml:"configInfo" json:"configInfo"`
 28120  }
 28121  
 28122  func init() {
 28123  	t["EsxAgentHostManagerUpdateConfigRequestType"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfigRequestType)(nil)).Elem()
 28124  }
 28125  
 28126  type EsxAgentHostManagerUpdateConfigResponse struct {
 28127  }
 28128  
 28129  // The parameters of `HostVsanSystem.EvacuateVsanNode_Task`.
 28130  type EvacuateVsanNodeRequestType struct {
 28131  	This ManagedObjectReference `xml:"_this" json:"-"`
 28132  	// Specifies the data evacuation mode. See `HostMaintenanceSpec`.
 28133  	// If unspecified, the default mode chosen will be
 28134  	// `ensureObjectAccessibility`.
 28135  	MaintenanceSpec HostMaintenanceSpec `xml:"maintenanceSpec" json:"maintenanceSpec"`
 28136  	// Time to wait for the task to complete in seconds.
 28137  	// If the value is less than or equal to zero, there
 28138  	// is no timeout. The operation fails with a Timedout
 28139  	// exception if it timed out.
 28140  	Timeout int32 `xml:"timeout" json:"timeout"`
 28141  }
 28142  
 28143  func init() {
 28144  	t["EvacuateVsanNodeRequestType"] = reflect.TypeOf((*EvacuateVsanNodeRequestType)(nil)).Elem()
 28145  }
 28146  
 28147  type EvacuateVsanNode_Task EvacuateVsanNodeRequestType
 28148  
 28149  func init() {
 28150  	t["EvacuateVsanNode_Task"] = reflect.TypeOf((*EvacuateVsanNode_Task)(nil)).Elem()
 28151  }
 28152  
 28153  type EvacuateVsanNode_TaskResponse struct {
 28154  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28155  }
 28156  
 28157  // Deprecated as of vSphere API 4.0, this is not used by the system.
 28158  //
 28159  // Specify an evaluation license source.
 28160  //
 28161  // Feature licensing is not required while the remaining hours is greater than zero.
 28162  type EvaluationLicenseSource struct {
 28163  	LicenseSource
 28164  
 28165  	// The number of remaining hours before product evaluation expires
 28166  	RemainingHours int64 `xml:"remainingHours,omitempty" json:"remainingHours,omitempty"`
 28167  }
 28168  
 28169  func init() {
 28170  	t["EvaluationLicenseSource"] = reflect.TypeOf((*EvaluationLicenseSource)(nil)).Elem()
 28171  }
 28172  
 28173  type EvcManager EvcManagerRequestType
 28174  
 28175  func init() {
 28176  	t["EvcManager"] = reflect.TypeOf((*EvcManager)(nil)).Elem()
 28177  }
 28178  
 28179  type EvcManagerRequestType struct {
 28180  	This ManagedObjectReference `xml:"_this" json:"-"`
 28181  }
 28182  
 28183  func init() {
 28184  	t["EvcManagerRequestType"] = reflect.TypeOf((*EvcManagerRequestType)(nil)).Elem()
 28185  }
 28186  
 28187  type EvcManagerResponse struct {
 28188  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 28189  }
 28190  
 28191  // This event is the base data object type from which all events inherit.
 28192  //
 28193  // All event
 28194  // objects are data structures that describe events. While event data objects are data
 28195  // structures that describe events, event data type documentation may describe what the
 28196  // event records, rather than the data structure, itself.
 28197  type Event struct {
 28198  	DynamicData
 28199  
 28200  	// The event ID.
 28201  	Key int32 `xml:"key" json:"key"`
 28202  	// The parent or group ID.
 28203  	ChainId int32 `xml:"chainId" json:"chainId"`
 28204  	// The time the event was created.
 28205  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
 28206  	// The user who caused the event.
 28207  	UserName string `xml:"userName" json:"userName"`
 28208  	// The Datacenter object of the event.
 28209  	Datacenter *DatacenterEventArgument `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 28210  	// The ComputeResource object of the event.
 28211  	ComputeResource *ComputeResourceEventArgument `xml:"computeResource,omitempty" json:"computeResource,omitempty"`
 28212  	// The Host object of the event.
 28213  	Host *HostEventArgument `xml:"host,omitempty" json:"host,omitempty"`
 28214  	// The VirtualMachine object of the event.
 28215  	Vm *VmEventArgument `xml:"vm,omitempty" json:"vm,omitempty"`
 28216  	// The Datastore object of the event.
 28217  	Ds *DatastoreEventArgument `xml:"ds,omitempty" json:"ds,omitempty"`
 28218  	// The Network object of the event.
 28219  	Net *NetworkEventArgument `xml:"net,omitempty" json:"net,omitempty"`
 28220  	// The DistributedVirtualSwitch object of the event.
 28221  	Dvs *DvsEventArgument `xml:"dvs,omitempty" json:"dvs,omitempty"`
 28222  	// A formatted text message describing the event.
 28223  	//
 28224  	// The message may be localized.
 28225  	FullFormattedMessage string `xml:"fullFormattedMessage,omitempty" json:"fullFormattedMessage,omitempty"`
 28226  	// The user entered tag to identify the operations and their side effects
 28227  	ChangeTag string `xml:"changeTag,omitempty" json:"changeTag,omitempty"`
 28228  }
 28229  
 28230  func init() {
 28231  	t["Event"] = reflect.TypeOf((*Event)(nil)).Elem()
 28232  }
 28233  
 28234  // An alarm expression that uses the event stream to trigger the alarm.
 28235  //
 28236  // This alarm is triggered when an event matching this expression gets logged.
 28237  type EventAlarmExpression struct {
 28238  	AlarmExpression
 28239  
 28240  	// The attributes/values to compare.
 28241  	Comparisons []EventAlarmExpressionComparison `xml:"comparisons,omitempty" json:"comparisons,omitempty"`
 28242  	// Deprecated use <code>eventTypeId</code> instead.
 28243  	//
 28244  	// The type of the event to trigger the alarm on.
 28245  	EventType string `xml:"eventType" json:"eventType"`
 28246  	// The eventTypeId of the event to match.
 28247  	//
 28248  	// The semantics of how eventTypeId matching is done is as follows:
 28249  	//   - If the event being matched is of type `EventEx`
 28250  	//     or `ExtendedEvent`, then we match this value
 28251  	//     against the <code>eventTypeId</code> (for <code>EventEx</code>) or
 28252  	//     <code>eventId</code> (for <code>ExtendedEvent</code>) member of the Event.
 28253  	//   - Otherwise, we match it against the type of the Event itself.
 28254  	//
 28255  	// Either <code>eventType</code> or <code>eventTypeId</code> _must_
 28256  	// be set.
 28257  	EventTypeId string `xml:"eventTypeId,omitempty" json:"eventTypeId,omitempty"`
 28258  	// Name of the type of managed object on which the event is logged.
 28259  	//
 28260  	// An event alarm defined on a `ManagedEntity`
 28261  	// is propagated to child entities in the VirtualCenter inventory depending
 28262  	// on the value of this attribute. If objectType is any of the following,
 28263  	// the alarm is propagated down to all children of that type:
 28264  	//   - A datacenter: `Datacenter`.
 28265  	//   - A cluster of host systems: `ClusterComputeResource`.
 28266  	//   - A single host system: `HostSystem`.
 28267  	//   - A resource pool representing a set of physical resources on a single host:
 28268  	//     `ResourcePool`.
 28269  	//   - A virtual machine: `VirtualMachine`.
 28270  	//   - A datastore: `Datastore`.
 28271  	//   - A network: `Network`.
 28272  	//   - A distributed virtual switch: `DistributedVirtualSwitch`.
 28273  	//
 28274  	// If objectType is unspecified or not contained in the above list,
 28275  	// the event alarm is not propagated down to child entities in the
 28276  	// VirtualCenter inventory.
 28277  	//
 28278  	// It is possible to specify an event alarm containing two (or more) different
 28279  	// EventAlarmExpression's which contain different objectTypes. In such a case,
 28280  	// the event is propagated to all child entities with specified type(s).
 28281  	ObjectType string `xml:"objectType,omitempty" json:"objectType,omitempty"`
 28282  	// The alarm's new state when this condition is evaluated and satisfied.
 28283  	//
 28284  	// If not specified then there is no change to alarm status, and all
 28285  	// actions are fired (rather than those for the transition).
 28286  	Status ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
 28287  }
 28288  
 28289  func init() {
 28290  	t["EventAlarmExpression"] = reflect.TypeOf((*EventAlarmExpression)(nil)).Elem()
 28291  }
 28292  
 28293  // Encapsulates Comparison of an event's attribute to a value.
 28294  type EventAlarmExpressionComparison struct {
 28295  	DynamicData
 28296  
 28297  	// The attribute of the event to compare
 28298  	AttributeName string `xml:"attributeName" json:"attributeName"`
 28299  	// An operator from the list above
 28300  	Operator string `xml:"operator" json:"operator"`
 28301  	// The value to compare against
 28302  	Value string `xml:"value" json:"value"`
 28303  }
 28304  
 28305  func init() {
 28306  	t["EventAlarmExpressionComparison"] = reflect.TypeOf((*EventAlarmExpressionComparison)(nil)).Elem()
 28307  }
 28308  
 28309  // Describes an available event argument name for an Event type, which
 28310  // can be used in `EventAlarmExpression`.
 28311  type EventArgDesc struct {
 28312  	DynamicData
 28313  
 28314  	// The name of the argument
 28315  	Name string `xml:"name" json:"name"`
 28316  	// The type of the argument.
 28317  	Type string `xml:"type" json:"type"`
 28318  	// The localized description of the event argument.
 28319  	//
 28320  	// The key holds
 28321  	// the localization prefix for the argument, which is decided by
 28322  	// the Event type that it is actually declared in, which may be a
 28323  	// base type of this event type.
 28324  	Description BaseElementDescription `xml:"description,omitempty,typeattr" json:"description,omitempty"`
 28325  }
 28326  
 28327  func init() {
 28328  	t["EventArgDesc"] = reflect.TypeOf((*EventArgDesc)(nil)).Elem()
 28329  }
 28330  
 28331  // This is the base type for event argument types.
 28332  //
 28333  // Event argument objects, which inherit from a common subtype,
 28334  // are used to manage supplementary properties of different kinds
 28335  // of event objects.
 28336  type EventArgument struct {
 28337  	DynamicData
 28338  }
 28339  
 28340  func init() {
 28341  	t["EventArgument"] = reflect.TypeOf((*EventArgument)(nil)).Elem()
 28342  }
 28343  
 28344  // This data object provides static, locale-specific strings for event objects.
 28345  type EventDescription struct {
 28346  	DynamicData
 28347  
 28348  	// *Event Category enum*
 28349  	Category []BaseElementDescription `xml:"category,typeattr" json:"category"`
 28350  	// The event class description details.
 28351  	EventInfo []EventDescriptionEventDetail `xml:"eventInfo" json:"eventInfo"`
 28352  	// Localized descriptions of all enumerated types that are used for
 28353  	// member declarations in event classes.
 28354  	EnumeratedTypes []EnumDescription `xml:"enumeratedTypes,omitempty" json:"enumeratedTypes,omitempty"`
 28355  }
 28356  
 28357  func init() {
 28358  	t["EventDescription"] = reflect.TypeOf((*EventDescription)(nil)).Elem()
 28359  }
 28360  
 28361  // Each Event object provides an automatic event message string through
 28362  // its `fullFormattedMessage`
 28363  // property.
 28364  //
 28365  // However, you can use the EventDetail object's properties to
 28366  // format an event message string that is appropriate when viewed from
 28367  // a specific context. The variable information (vm.name, and so on) is
 28368  // derived from the Event object's event arguments
 28369  // (`VmEventArgument`, and so on).
 28370  type EventDescriptionEventDetail struct {
 28371  	DynamicData
 28372  
 28373  	// Type of event being described.
 28374  	Key string `xml:"key" json:"key"`
 28375  	// A string that is a short human-parseable description of the event.
 28376  	//
 28377  	// This is not the full message string (which may contain details
 28378  	// of the arguments, etc.), but merely a more understandable, and
 28379  	// localized, description of what the event stands for. It is meant
 28380  	// for contexts where the _name_ of the event has to be displayed
 28381  	// to end-users, e.g. when creating Event-based Alarms.
 28382  	// \` \*
 28383  	//
 28384  	// E.g., for `VmPoweredOnEvent`, the eventDescription
 28385  	// in English might say "VM Powered On".
 28386  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 28387  	// A category of events.
 28388  	Category string `xml:"category" json:"category"`
 28389  	// A string that is appropriate in the context of a specific
 28390  	// Datacenter.
 28391  	//
 28392  	// For example, a renaming event in this context produces
 28393  	// the following string:
 28394  	//
 28395  	// "Renamed {vm.name} from {oldName} to {newName}"
 28396  	//
 28397  	// where `oldName` and
 28398  	// `newName` are properties of the
 28399  	// VmRenamedEvent object.
 28400  	FormatOnDatacenter string `xml:"formatOnDatacenter" json:"formatOnDatacenter"`
 28401  	// A string that is appropriate in the context of a specific cluster.
 28402  	//
 28403  	// For example, a powering on event in this context produces the
 28404  	// following string:
 28405  	//
 28406  	// "{vm.name} on {host.name} is powered on".
 28407  	FormatOnComputeResource string `xml:"formatOnComputeResource" json:"formatOnComputeResource"`
 28408  	// A string that is appropriate in the context
 28409  	// of a specific Host.
 28410  	//
 28411  	// For example, a powering on event in this
 28412  	// context produces the following string:
 28413  	//
 28414  	// "{vm.name} is powered on"
 28415  	FormatOnHost string `xml:"formatOnHost" json:"formatOnHost"`
 28416  	// A string that is appropriate for the context of a specific
 28417  	// virtual machine.
 28418  	//
 28419  	// For example, a powering on event in this context
 28420  	// produces the following string:
 28421  	//
 28422  	// "Virtual machine on {host.name} is powered on"
 28423  	FormatOnVm string `xml:"formatOnVm" json:"formatOnVm"`
 28424  	// A string whose context is not entity-specific.
 28425  	//
 28426  	// For example, a
 28427  	// powering on event produces the following string:
 28428  	//
 28429  	// "{vm.name} on {host.name} in {datacenter.name} is powered on"
 28430  	FullFormat string `xml:"fullFormat" json:"fullFormat"`
 28431  	// A detailed description of the event.
 28432  	//
 28433  	// It includes common causes
 28434  	// and actions to remediate them. It may also include links to kb
 28435  	// articles and other diagnostic information.
 28436  	// For example, the BadUserNameSessionEvent may produce the
 28437  	// following string:
 28438  	//
 28439  	//	<EventLongDescription id="vim.event.BadUserNameSessionEvent">
 28440  	//	   <description>
 28441  	//	      The user could not be logged in because of an unknown or invalid
 28442  	//	      user name.
 28443  	//	   </description>
 28444  	//	   <cause>
 28445  	//	      <description>The user name was unknown to the system</description>
 28446  	//	      <action>Use a user name known to the system user directory</action>
 28447  	//	      <action>(On Linux) Check if the user directory is correctly
 28448  	//	              configured.</action>
 28449  	//	      <action>Check the health of the domain controller (if you are using
 28450  	//	              Active Directory)</action>
 28451  	//	   </cause>
 28452  	//	   <cause>
 28453  	//	      <description>The user provided an invalid password</description>
 28454  	//	      <action>Supply the correct password</action>
 28455  	//	   </cause>
 28456  	//	</EventLongDescription>
 28457  	LongDescription string `xml:"longDescription,omitempty" json:"longDescription,omitempty"`
 28458  }
 28459  
 28460  func init() {
 28461  	t["EventDescriptionEventDetail"] = reflect.TypeOf((*EventDescriptionEventDetail)(nil)).Elem()
 28462  }
 28463  
 28464  // EventEx is a dynamically typed Event class, whose type is indicated by its
 28465  // eventTypeId property.
 28466  //
 28467  // A collection of eventTypeIds is registered by Extensions, which can now
 28468  // pass in optional type information for each eventTypeId which indicates the
 28469  // applicable argument names and types, among other properties.
 28470  //
 28471  // EventEx allows event arguments of any type, though today, the system
 28472  // only supports "string" and "moid" (a string which can be interpreted as an
 28473  // object ID in the system) as argument types. In the future, the system
 28474  // may optionally strongly check the types of the arguments in the event
 28475  // against the declared type information, based on how the event type is
 28476  // declared.
 28477  //
 28478  // EventEx also allows arbitrary "event object"s - the object which the
 28479  // event refers to. You can put in any object identifier as the objectId,
 28480  // but objectType should be filled in only if the object is actually present
 28481  // in the VC Server's ManagedEntity inventory.
 28482  type EventEx struct {
 28483  	Event
 28484  
 28485  	// The type of the event.
 28486  	EventTypeId string `xml:"eventTypeId" json:"eventTypeId"`
 28487  	// The severity level of the message: null=&gt;info.
 28488  	//
 28489  	// See also `EventEventSeverity_enum`.
 28490  	Severity string `xml:"severity,omitempty" json:"severity,omitempty"`
 28491  	// An arbitrary message string, not localized.
 28492  	Message string `xml:"message,omitempty" json:"message,omitempty"`
 28493  	// The event arguments associated with the event
 28494  	Arguments []KeyAnyValue `xml:"arguments,omitempty" json:"arguments,omitempty"`
 28495  	// The ID of the object (VM, Host, Folder..) which the event pertains to.
 28496  	//
 28497  	// Federated or local inventory path.
 28498  	ObjectId string `xml:"objectId,omitempty" json:"objectId,omitempty"`
 28499  	// the type of the object, if known to the VirtualCenter inventory
 28500  	ObjectType string `xml:"objectType,omitempty" json:"objectType,omitempty"`
 28501  	// The name of the object
 28502  	ObjectName string `xml:"objectName,omitempty" json:"objectName,omitempty"`
 28503  	// The fault that triggered the event, if any
 28504  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 28505  }
 28506  
 28507  func init() {
 28508  	t["EventEx"] = reflect.TypeOf((*EventEx)(nil)).Elem()
 28509  }
 28510  
 28511  // Event filter used to query events in the history collector database.
 28512  //
 28513  // The client creates an event history collector with a filter specification,
 28514  // then retrieves the events from the event history collector.
 28515  type EventFilterSpec struct {
 28516  	DynamicData
 28517  
 28518  	// The filter specification for retrieving events by managed entity.
 28519  	//
 28520  	// If the property is not set, then events attached to all managed entities
 28521  	// are collected.
 28522  	Entity *EventFilterSpecByEntity `xml:"entity,omitempty" json:"entity,omitempty"`
 28523  	// The filter specification for retrieving tasks by time.
 28524  	//
 28525  	// If the property is not set, then events with any time stamp are collected.
 28526  	Time *EventFilterSpecByTime `xml:"time,omitempty" json:"time,omitempty"`
 28527  	// The filter specification for retrieving events by username.
 28528  	//
 28529  	// If the property is not set, then events belonging to any user are collected.
 28530  	UserName *EventFilterSpecByUsername `xml:"userName,omitempty" json:"userName,omitempty"`
 28531  	// The filter specification for retrieving events by chain ID.
 28532  	//
 28533  	// If the property is not set, events with any chain ID are collected.
 28534  	EventChainId int32 `xml:"eventChainId,omitempty" json:"eventChainId,omitempty"`
 28535  	// This property, if set, limits the set of collected events to those
 28536  	// associated with the specified alarm.
 28537  	//
 28538  	// If the property is not set, events are collected regardless of their
 28539  	// association with alarms.
 28540  	//
 28541  	// Refers instance of `Alarm`.
 28542  	Alarm *ManagedObjectReference `xml:"alarm,omitempty" json:"alarm,omitempty"`
 28543  	// This property, if set, limits the set of collected events to those
 28544  	// associated with the specified scheduled task.
 28545  	//
 28546  	// If the property is not set, events are collected regardless of their
 28547  	// association with any scheduled task.
 28548  	//
 28549  	// Refers instance of `ScheduledTask`.
 28550  	ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty" json:"scheduledTask,omitempty"`
 28551  	// Flag to specify whether or not to prepare the full formatted message
 28552  	// for each event.
 28553  	//
 28554  	// If the property is not set, the collected events do not include
 28555  	// the full formatted message.
 28556  	DisableFullMessage *bool `xml:"disableFullMessage" json:"disableFullMessage,omitempty"`
 28557  	// This property, if set, limits the set of collected events to those
 28558  	// associated with the specified category.
 28559  	//
 28560  	// If the property is not set, events are collected regardless of their
 28561  	// association with any category.
 28562  	// "category" here is the same as Event.severity.
 28563  	Category []string `xml:"category,omitempty" json:"category,omitempty"`
 28564  	// Deprecated as of vSphere API 4.0, use `EventFilterSpec.eventTypeId` instead.
 28565  	//
 28566  	// This property, if set, limits the set of collected events to those
 28567  	// specified types.
 28568  	//
 28569  	// If the property is not set, events are collected regardless of their
 28570  	// types.
 28571  	Type []string `xml:"type,omitempty" json:"type,omitempty"`
 28572  	// This property, if set, limits the set of filtered events to those that
 28573  	// have it.
 28574  	//
 28575  	// If not set, or the size of it 0, the tag of an event is
 28576  	// disregarded. A blank string indicates events without tags.
 28577  	Tag []string `xml:"tag,omitempty" json:"tag,omitempty"`
 28578  	// This property, if set, limits the set of collected events to those
 28579  	// specified types.
 28580  	//
 28581  	// Note: if both `EventFilterSpec.eventTypeId` and `EventFilterSpec.type` are specified, an
 28582  	// exception may be thrown by `EventManager.CreateCollectorForEvents`.
 28583  	//
 28584  	// The semantics of how eventTypeId matching is done is as follows:
 28585  	//   - If the event being collected is of type `EventEx`
 28586  	//     or `ExtendedEvent`, then we match against the
 28587  	//     <code>eventTypeId</code> (for <code>EventEx</code>) or
 28588  	//     <code>eventId</code> (for <code>ExtendedEvent</code>) member of the Event.
 28589  	//   - Otherwise, we match against the type of the Event itself.
 28590  	//
 28591  	// If neither this property, nor <code>type</code>, is set, events are
 28592  	// collected regardless of their types.
 28593  	EventTypeId []string `xml:"eventTypeId,omitempty" json:"eventTypeId,omitempty"`
 28594  	// This property, if set, specifies the maximum number of returned events.
 28595  	//
 28596  	// If unset, the default maximum number will be used.
 28597  	// Using this property with `EventManager.CreateCollectorForEvents` is more
 28598  	// efficient than a call to `HistoryCollector.SetCollectorPageSize`.
 28599  	MaxCount int32 `xml:"maxCount,omitempty" json:"maxCount,omitempty"`
 28600  	// This property, if set, specifies whether latest page should be populated on Collector creation.
 28601  	//
 28602  	// True for delayed population and false for immediate.
 28603  	// If unset, the latest page is populated immediately.
 28604  	DelayedInit *bool `xml:"delayedInit" json:"delayedInit,omitempty" vim:"8.0.3.0"`
 28605  }
 28606  
 28607  func init() {
 28608  	t["EventFilterSpec"] = reflect.TypeOf((*EventFilterSpec)(nil)).Elem()
 28609  }
 28610  
 28611  // This option specifies a managed entity used to filter event history.
 28612  //
 28613  // If the specified managed entity is a Folder or a ResourcePool, the query
 28614  // will actually be performed on the entities contained within that Folder
 28615  // or ResourcePool, so you cannot query for events on Folders and
 28616  // ResourcePools themselves this way.
 28617  type EventFilterSpecByEntity struct {
 28618  	DynamicData
 28619  
 28620  	// The managed entity to which the event pertains.
 28621  	//
 28622  	// Refers instance of `ManagedEntity`.
 28623  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 28624  	// Specification of related managed entities in the inventory hierarchy.
 28625  	Recursion EventFilterSpecRecursionOption `xml:"recursion" json:"recursion"`
 28626  }
 28627  
 28628  func init() {
 28629  	t["EventFilterSpecByEntity"] = reflect.TypeOf((*EventFilterSpecByEntity)(nil)).Elem()
 28630  }
 28631  
 28632  // This option specifies a time range used to filter event history.
 28633  type EventFilterSpecByTime struct {
 28634  	DynamicData
 28635  
 28636  	// The beginning of the time range.
 28637  	//
 28638  	// If this property is not set, then events are collected from
 28639  	// the earliest time in the database.
 28640  	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
 28641  	// The end of the time range.
 28642  	//
 28643  	// If this property is not specified, then events are collected up to
 28644  	// the latest time in the database.
 28645  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 28646  }
 28647  
 28648  func init() {
 28649  	t["EventFilterSpecByTime"] = reflect.TypeOf((*EventFilterSpecByTime)(nil)).Elem()
 28650  }
 28651  
 28652  // This option specifies users used to filter event history.
 28653  type EventFilterSpecByUsername struct {
 28654  	DynamicData
 28655  
 28656  	// filter by system user
 28657  	// true for system user event
 28658  	SystemUser bool `xml:"systemUser" json:"systemUser"`
 28659  	// all interested username list
 28660  	// If this property is not set, then all regular user events are
 28661  	// collected
 28662  	UserList []string `xml:"userList,omitempty" json:"userList,omitempty"`
 28663  }
 28664  
 28665  func init() {
 28666  	t["EventFilterSpecByUsername"] = reflect.TypeOf((*EventFilterSpecByUsername)(nil)).Elem()
 28667  }
 28668  
 28669  // BaseClass allowing different views on filtered set.
 28670  type EventManagerEventViewSpec struct {
 28671  	DynamicData
 28672  }
 28673  
 28674  func init() {
 28675  	t["EventManagerEventViewSpec"] = reflect.TypeOf((*EventManagerEventViewSpec)(nil)).Elem()
 28676  	minAPIVersionForType["EventManagerEventViewSpec"] = "9.0.0.0"
 28677  }
 28678  
 28679  // Defines the view parameters with starting event ID for the event query.
 28680  type EventManagerViewByStartId struct {
 28681  	EventManagerEventViewSpec
 28682  
 28683  	// An integer value specifying the ID of the event from which to start
 28684  	// the query.
 28685  	//
 28686  	// Must be &gt;= 0. The maximum event ID is defined by
 28687  	// "config.vpxd.event.maxEventId" advanced vCenter configuration option
 28688  	// which has a default value of 2147480000.
 28689  	StartEventId int32 `xml:"startEventId" json:"startEventId"`
 28690  	// A boolean flag indicating the direction of the query.
 28691  	//
 28692  	// If <code>true</code>, the query retrieves events with IDs greater than
 28693  	// startEventId, representing newer events.
 28694  	// If <code>false</code>, the query retrieves events with IDs less than
 28695  	// startEventId, representing older events.
 28696  	IsForward bool `xml:"isForward" json:"isForward"`
 28697  }
 28698  
 28699  func init() {
 28700  	t["EventManagerViewByStartId"] = reflect.TypeOf((*EventManagerViewByStartId)(nil)).Elem()
 28701  	minAPIVersionForType["EventManagerViewByStartId"] = "9.0.0.0"
 28702  }
 28703  
 28704  type ExecuteHostProfile ExecuteHostProfileRequestType
 28705  
 28706  func init() {
 28707  	t["ExecuteHostProfile"] = reflect.TypeOf((*ExecuteHostProfile)(nil)).Elem()
 28708  }
 28709  
 28710  // The parameters of `HostProfile.ExecuteHostProfile`.
 28711  type ExecuteHostProfileRequestType struct {
 28712  	This ManagedObjectReference `xml:"_this" json:"-"`
 28713  	// Host on which to execute the profile.
 28714  	// The host does not have to be associated with the profile.
 28715  	//
 28716  	// Refers instance of `HostSystem`.
 28717  	Host ManagedObjectReference `xml:"host" json:"host"`
 28718  	// Additional configuration data to be applied to the host.
 28719  	// This should contain all of the host-specific data, including data from from
 28720  	// previous calls to the method.
 28721  	DeferredParam []ProfileDeferredPolicyOptionParameter `xml:"deferredParam,omitempty" json:"deferredParam,omitempty"`
 28722  }
 28723  
 28724  func init() {
 28725  	t["ExecuteHostProfileRequestType"] = reflect.TypeOf((*ExecuteHostProfileRequestType)(nil)).Elem()
 28726  }
 28727  
 28728  type ExecuteHostProfileResponse struct {
 28729  	Returnval BaseProfileExecuteResult `xml:"returnval,typeattr" json:"returnval"`
 28730  }
 28731  
 28732  type ExecuteSimpleCommand ExecuteSimpleCommandRequestType
 28733  
 28734  func init() {
 28735  	t["ExecuteSimpleCommand"] = reflect.TypeOf((*ExecuteSimpleCommand)(nil)).Elem()
 28736  }
 28737  
 28738  // The parameters of `SimpleCommand.ExecuteSimpleCommand`.
 28739  type ExecuteSimpleCommandRequestType struct {
 28740  	This ManagedObjectReference `xml:"_this" json:"-"`
 28741  	// An arbitrary collection of arguments.
 28742  	Arguments []string `xml:"arguments,omitempty" json:"arguments,omitempty"`
 28743  }
 28744  
 28745  func init() {
 28746  	t["ExecuteSimpleCommandRequestType"] = reflect.TypeOf((*ExecuteSimpleCommandRequestType)(nil)).Elem()
 28747  }
 28748  
 28749  type ExecuteSimpleCommandResponse struct {
 28750  	Returnval string `xml:"returnval" json:"returnval"`
 28751  }
 28752  
 28753  type ExitLockdownMode ExitLockdownModeRequestType
 28754  
 28755  func init() {
 28756  	t["ExitLockdownMode"] = reflect.TypeOf((*ExitLockdownMode)(nil)).Elem()
 28757  }
 28758  
 28759  type ExitLockdownModeRequestType struct {
 28760  	This ManagedObjectReference `xml:"_this" json:"-"`
 28761  }
 28762  
 28763  func init() {
 28764  	t["ExitLockdownModeRequestType"] = reflect.TypeOf((*ExitLockdownModeRequestType)(nil)).Elem()
 28765  }
 28766  
 28767  type ExitLockdownModeResponse struct {
 28768  }
 28769  
 28770  // This event records that the host is no longer in
 28771  // maintenance mode.
 28772  type ExitMaintenanceModeEvent struct {
 28773  	HostEvent
 28774  }
 28775  
 28776  func init() {
 28777  	t["ExitMaintenanceModeEvent"] = reflect.TypeOf((*ExitMaintenanceModeEvent)(nil)).Elem()
 28778  }
 28779  
 28780  // The parameters of `HostSystem.ExitMaintenanceMode_Task`.
 28781  type ExitMaintenanceModeRequestType struct {
 28782  	This ManagedObjectReference `xml:"_this" json:"-"`
 28783  	// Number of seconds to wait for the exit maintenance mode to
 28784  	// succeed. If the timeout is less than or equal to zero, there
 28785  	// is no timeout.
 28786  	Timeout int32 `xml:"timeout" json:"timeout"`
 28787  }
 28788  
 28789  func init() {
 28790  	t["ExitMaintenanceModeRequestType"] = reflect.TypeOf((*ExitMaintenanceModeRequestType)(nil)).Elem()
 28791  }
 28792  
 28793  type ExitMaintenanceMode_Task ExitMaintenanceModeRequestType
 28794  
 28795  func init() {
 28796  	t["ExitMaintenanceMode_Task"] = reflect.TypeOf((*ExitMaintenanceMode_Task)(nil)).Elem()
 28797  }
 28798  
 28799  type ExitMaintenanceMode_TaskResponse struct {
 28800  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28801  }
 28802  
 28803  // This event records that the host failed to exit standby mode.
 28804  type ExitStandbyModeFailedEvent struct {
 28805  	HostEvent
 28806  }
 28807  
 28808  func init() {
 28809  	t["ExitStandbyModeFailedEvent"] = reflect.TypeOf((*ExitStandbyModeFailedEvent)(nil)).Elem()
 28810  }
 28811  
 28812  // This event records that the host is no longer in
 28813  // standby mode.
 28814  type ExitedStandbyModeEvent struct {
 28815  	HostEvent
 28816  }
 28817  
 28818  func init() {
 28819  	t["ExitedStandbyModeEvent"] = reflect.TypeOf((*ExitedStandbyModeEvent)(nil)).Elem()
 28820  }
 28821  
 28822  // This event records that a host has begun the process of
 28823  // exiting standby mode.
 28824  type ExitingStandbyModeEvent struct {
 28825  	HostEvent
 28826  }
 28827  
 28828  func init() {
 28829  	t["ExitingStandbyModeEvent"] = reflect.TypeOf((*ExitingStandbyModeEvent)(nil)).Elem()
 28830  }
 28831  
 28832  type ExpandVmfsDatastore ExpandVmfsDatastoreRequestType
 28833  
 28834  func init() {
 28835  	t["ExpandVmfsDatastore"] = reflect.TypeOf((*ExpandVmfsDatastore)(nil)).Elem()
 28836  }
 28837  
 28838  // The parameters of `HostDatastoreSystem.ExpandVmfsDatastore`.
 28839  type ExpandVmfsDatastoreRequestType struct {
 28840  	This ManagedObjectReference `xml:"_this" json:"-"`
 28841  	// The datastore whose capacity should be increased.
 28842  	//
 28843  	// Refers instance of `Datastore`.
 28844  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 28845  	// The specification describing which extent of the VMFS
 28846  	// datastore to expand.
 28847  	Spec VmfsDatastoreExpandSpec `xml:"spec" json:"spec"`
 28848  }
 28849  
 28850  func init() {
 28851  	t["ExpandVmfsDatastoreRequestType"] = reflect.TypeOf((*ExpandVmfsDatastoreRequestType)(nil)).Elem()
 28852  }
 28853  
 28854  type ExpandVmfsDatastoreResponse struct {
 28855  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28856  }
 28857  
 28858  type ExpandVmfsExtent ExpandVmfsExtentRequestType
 28859  
 28860  func init() {
 28861  	t["ExpandVmfsExtent"] = reflect.TypeOf((*ExpandVmfsExtent)(nil)).Elem()
 28862  }
 28863  
 28864  // The parameters of `HostStorageSystem.ExpandVmfsExtent`.
 28865  type ExpandVmfsExtentRequestType struct {
 28866  	This ManagedObjectReference `xml:"_this" json:"-"`
 28867  	// The path of the VMFS to expand. See `FileSystemMountInfo`.
 28868  	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
 28869  	// The disk partition corresponding to the extent to be
 28870  	// expanded.
 28871  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
 28872  }
 28873  
 28874  func init() {
 28875  	t["ExpandVmfsExtentRequestType"] = reflect.TypeOf((*ExpandVmfsExtentRequestType)(nil)).Elem()
 28876  }
 28877  
 28878  type ExpandVmfsExtentResponse struct {
 28879  }
 28880  
 28881  // An ExpiredAddonLicense fault is thrown if an attempt to acquire an Addon license
 28882  // 'feature failed for count 'count'.
 28883  type ExpiredAddonLicense struct {
 28884  	ExpiredFeatureLicense
 28885  }
 28886  
 28887  func init() {
 28888  	t["ExpiredAddonLicense"] = reflect.TypeOf((*ExpiredAddonLicense)(nil)).Elem()
 28889  }
 28890  
 28891  type ExpiredAddonLicenseFault ExpiredAddonLicense
 28892  
 28893  func init() {
 28894  	t["ExpiredAddonLicenseFault"] = reflect.TypeOf((*ExpiredAddonLicenseFault)(nil)).Elem()
 28895  }
 28896  
 28897  // An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license
 28898  // 'feature failed for count 'count'.
 28899  type ExpiredEditionLicense struct {
 28900  	ExpiredFeatureLicense
 28901  }
 28902  
 28903  func init() {
 28904  	t["ExpiredEditionLicense"] = reflect.TypeOf((*ExpiredEditionLicense)(nil)).Elem()
 28905  }
 28906  
 28907  type ExpiredEditionLicenseFault ExpiredEditionLicense
 28908  
 28909  func init() {
 28910  	t["ExpiredEditionLicenseFault"] = reflect.TypeOf((*ExpiredEditionLicenseFault)(nil)).Elem()
 28911  }
 28912  
 28913  // An ExpiredFeatureLicense fault is thrown if an attempt to acquire an Addon license
 28914  // 'feature failed for count 'count'.
 28915  type ExpiredFeatureLicense struct {
 28916  	NotEnoughLicenses
 28917  
 28918  	Feature        string    `xml:"feature" json:"feature"`
 28919  	Count          int32     `xml:"count" json:"count"`
 28920  	ExpirationDate time.Time `xml:"expirationDate" json:"expirationDate"`
 28921  }
 28922  
 28923  func init() {
 28924  	t["ExpiredFeatureLicense"] = reflect.TypeOf((*ExpiredFeatureLicense)(nil)).Elem()
 28925  }
 28926  
 28927  type ExpiredFeatureLicenseFault BaseExpiredFeatureLicense
 28928  
 28929  func init() {
 28930  	t["ExpiredFeatureLicenseFault"] = reflect.TypeOf((*ExpiredFeatureLicenseFault)(nil)).Elem()
 28931  }
 28932  
 28933  // The parameters of `HostProfileManager.ExportAnswerFile_Task`.
 28934  type ExportAnswerFileRequestType struct {
 28935  	This ManagedObjectReference `xml:"_this" json:"-"`
 28936  	// Host with which the answer file is associated.
 28937  	//
 28938  	// Refers instance of `HostSystem`.
 28939  	Host ManagedObjectReference `xml:"host" json:"host"`
 28940  }
 28941  
 28942  func init() {
 28943  	t["ExportAnswerFileRequestType"] = reflect.TypeOf((*ExportAnswerFileRequestType)(nil)).Elem()
 28944  }
 28945  
 28946  type ExportAnswerFile_Task ExportAnswerFileRequestType
 28947  
 28948  func init() {
 28949  	t["ExportAnswerFile_Task"] = reflect.TypeOf((*ExportAnswerFile_Task)(nil)).Elem()
 28950  }
 28951  
 28952  type ExportAnswerFile_TaskResponse struct {
 28953  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28954  }
 28955  
 28956  type ExportProfile ExportProfileRequestType
 28957  
 28958  func init() {
 28959  	t["ExportProfile"] = reflect.TypeOf((*ExportProfile)(nil)).Elem()
 28960  }
 28961  
 28962  type ExportProfileRequestType struct {
 28963  	This ManagedObjectReference `xml:"_this" json:"-"`
 28964  }
 28965  
 28966  func init() {
 28967  	t["ExportProfileRequestType"] = reflect.TypeOf((*ExportProfileRequestType)(nil)).Elem()
 28968  }
 28969  
 28970  type ExportProfileResponse struct {
 28971  	Returnval string `xml:"returnval" json:"returnval"`
 28972  }
 28973  
 28974  type ExportSnapshot ExportSnapshotRequestType
 28975  
 28976  func init() {
 28977  	t["ExportSnapshot"] = reflect.TypeOf((*ExportSnapshot)(nil)).Elem()
 28978  }
 28979  
 28980  type ExportSnapshotRequestType struct {
 28981  	This ManagedObjectReference `xml:"_this" json:"-"`
 28982  }
 28983  
 28984  func init() {
 28985  	t["ExportSnapshotRequestType"] = reflect.TypeOf((*ExportSnapshotRequestType)(nil)).Elem()
 28986  }
 28987  
 28988  type ExportSnapshotResponse struct {
 28989  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28990  }
 28991  
 28992  type ExportVApp ExportVAppRequestType
 28993  
 28994  func init() {
 28995  	t["ExportVApp"] = reflect.TypeOf((*ExportVApp)(nil)).Elem()
 28996  }
 28997  
 28998  type ExportVAppRequestType struct {
 28999  	This ManagedObjectReference `xml:"_this" json:"-"`
 29000  }
 29001  
 29002  func init() {
 29003  	t["ExportVAppRequestType"] = reflect.TypeOf((*ExportVAppRequestType)(nil)).Elem()
 29004  }
 29005  
 29006  type ExportVAppResponse struct {
 29007  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 29008  }
 29009  
 29010  type ExportVm ExportVmRequestType
 29011  
 29012  func init() {
 29013  	t["ExportVm"] = reflect.TypeOf((*ExportVm)(nil)).Elem()
 29014  }
 29015  
 29016  type ExportVmRequestType struct {
 29017  	This ManagedObjectReference `xml:"_this" json:"-"`
 29018  }
 29019  
 29020  func init() {
 29021  	t["ExportVmRequestType"] = reflect.TypeOf((*ExportVmRequestType)(nil)).Elem()
 29022  }
 29023  
 29024  type ExportVmResponse struct {
 29025  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 29026  }
 29027  
 29028  // This data object encapsulates extended product information for an extension.
 29029  type ExtExtendedProductInfo struct {
 29030  	DynamicData
 29031  
 29032  	// URL to extension vendor.
 29033  	CompanyUrl string `xml:"companyUrl,omitempty" json:"companyUrl,omitempty"`
 29034  	// URL to vendor's description of this extension.
 29035  	ProductUrl string `xml:"productUrl,omitempty" json:"productUrl,omitempty"`
 29036  	// URL to management UI for this extension.
 29037  	ManagementUrl string `xml:"managementUrl,omitempty" json:"managementUrl,omitempty"`
 29038  	// The VirtualMachine or VirtualApp that is running this extension.
 29039  	//
 29040  	// Refers instance of `ManagedEntity`.
 29041  	Self *ManagedObjectReference `xml:"self,omitempty" json:"self,omitempty"`
 29042  }
 29043  
 29044  func init() {
 29045  	t["ExtExtendedProductInfo"] = reflect.TypeOf((*ExtExtendedProductInfo)(nil)).Elem()
 29046  }
 29047  
 29048  // This data object contains information about entities managed by this
 29049  // extension.
 29050  //
 29051  // The data can be used by clients to show extra information
 29052  // about managed virtual machines or vApps, such as a custom icon and a
 29053  // description of the entity.
 29054  type ExtManagedEntityInfo struct {
 29055  	DynamicData
 29056  
 29057  	// Managed entity type, as defined by the extension.
 29058  	//
 29059  	// This matches the
 29060  	// `type` field in the configuration
 29061  	// about a virtual machine or vApp.
 29062  	Type string `xml:"type" json:"type"`
 29063  	// The URL to a 16x16 pixel icon in PNG format for entities of this
 29064  	// type managed by this extension.
 29065  	//
 29066  	// The design of the icon should
 29067  	// allow for the possibility of it being badged with the power state
 29068  	// of the entity by the vSphere client. If you do not provide this
 29069  	// icon, the icon at
 29070  	// `iconUrl`, if found, is
 29071  	// scaled down to 16x16 pixels.
 29072  	SmallIconUrl string `xml:"smallIconUrl,omitempty" json:"smallIconUrl,omitempty"`
 29073  	// The URL to an icon in PNG format that is no larger than 256x256
 29074  	// pixels.
 29075  	//
 29076  	// This icon will be scaled to 16x16, 32x32, 64x64, and
 29077  	// 128x128 if needed. The icon is shown for all entities of this type
 29078  	// managed by this extension.
 29079  	IconUrl string `xml:"iconUrl,omitempty" json:"iconUrl,omitempty"`
 29080  	// Description of this managed entity type.
 29081  	//
 29082  	// This is typically displayed
 29083  	// by clients, and should provide users with information about the
 29084  	// function of entities of this type.
 29085  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 29086  }
 29087  
 29088  func init() {
 29089  	t["ExtManagedEntityInfo"] = reflect.TypeOf((*ExtManagedEntityInfo)(nil)).Elem()
 29090  }
 29091  
 29092  // This data object encapsulates the Solution Manager configuration for
 29093  // this extension.
 29094  type ExtSolutionManagerInfo struct {
 29095  	DynamicData
 29096  
 29097  	// Deprecated as of vSphere API 5.1, see client documentation for the
 29098  	// preferred way to integrate custom user interfaces.
 29099  	//
 29100  	// List of tabs that must be shown in the Solution Manager for this extension.
 29101  	//
 29102  	// Tabs are shown ordered by their position in this array.
 29103  	Tab []ExtSolutionManagerInfoTabInfo `xml:"tab,omitempty" json:"tab,omitempty"`
 29104  	// URL for an icon for this extension.
 29105  	//
 29106  	// The icon will be shown in the Solution
 29107  	// Manager for this extension. The icon must be 16x16, and should be in PNG
 29108  	// format.
 29109  	SmallIconUrl string `xml:"smallIconUrl,omitempty" json:"smallIconUrl,omitempty"`
 29110  }
 29111  
 29112  func init() {
 29113  	t["ExtSolutionManagerInfo"] = reflect.TypeOf((*ExtSolutionManagerInfo)(nil)).Elem()
 29114  }
 29115  
 29116  // Deprecated as of vSphere API 5.1.
 29117  //
 29118  // This data object contains information about a tab to show in the
 29119  // Solution Manager for this extension.
 29120  type ExtSolutionManagerInfoTabInfo struct {
 29121  	DynamicData
 29122  
 29123  	// The name of the tab.
 29124  	Label string `xml:"label" json:"label"`
 29125  	// The URL for the webpage to show in the tab.
 29126  	//
 29127  	// Extra parameters will be added
 29128  	// to this URL when vSphere Client loads it. See the "Customizing the vSphere
 29129  	// Client" technical note for more information.
 29130  	Url string `xml:"url" json:"url"`
 29131  }
 29132  
 29133  func init() {
 29134  	t["ExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ExtSolutionManagerInfoTabInfo)(nil)).Elem()
 29135  }
 29136  
 29137  // The parameters of `VcenterVStorageObjectManager.ExtendDisk_Task`.
 29138  type ExtendDiskRequestType struct {
 29139  	This ManagedObjectReference `xml:"_this" json:"-"`
 29140  	// The ID of the virtual disk to be extended.
 29141  	Id ID `xml:"id" json:"id"`
 29142  	// The datastore where the virtual disk is located.
 29143  	//
 29144  	// Refers instance of `Datastore`.
 29145  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 29146  	// The new capacity of the virtual disk in MB.
 29147  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
 29148  }
 29149  
 29150  func init() {
 29151  	t["ExtendDiskRequestType"] = reflect.TypeOf((*ExtendDiskRequestType)(nil)).Elem()
 29152  }
 29153  
 29154  type ExtendDisk_Task ExtendDiskRequestType
 29155  
 29156  func init() {
 29157  	t["ExtendDisk_Task"] = reflect.TypeOf((*ExtendDisk_Task)(nil)).Elem()
 29158  }
 29159  
 29160  type ExtendDisk_TaskResponse struct {
 29161  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 29162  }
 29163  
 29164  // The parameters of `ClusterComputeResource.ExtendHCI_Task`.
 29165  type ExtendHCIRequestType struct {
 29166  	This ManagedObjectReference `xml:"_this" json:"-"`
 29167  	// Inputs to configure specified set of hosts in the
 29168  	// cluster. See
 29169  	// `ClusterComputeResourceHostConfigurationInput`
 29170  	// for details. Hosts in this list should be part of the cluster and
 29171  	// should be in maintenance mode for them to be configured per
 29172  	// specification. Hosts which were not configured due to not
 29173  	// being in maintenance mode will be returned in
 29174  	// `ClusterComputeResourceClusterConfigResult.failedHosts`. Specify
 29175  	// `ClusterComputeResourceHostConfigurationInput.hostVmkNics` only if `dvsSetting`
 29176  	// is set.
 29177  	HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty" json:"hostInputs,omitempty"`
 29178  	// Specification to configure vSAN on specified set of
 29179  	// hosts. See vim.vsan.ReconfigSpec for details. This parameter
 29180  	// should be specified only when vSan is enabled on the cluster.
 29181  	VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty" json:"vSanConfigSpec,omitempty"`
 29182  }
 29183  
 29184  func init() {
 29185  	t["ExtendHCIRequestType"] = reflect.TypeOf((*ExtendHCIRequestType)(nil)).Elem()
 29186  }
 29187  
 29188  type ExtendHCI_Task ExtendHCIRequestType
 29189  
 29190  func init() {
 29191  	t["ExtendHCI_Task"] = reflect.TypeOf((*ExtendHCI_Task)(nil)).Elem()
 29192  }
 29193  
 29194  type ExtendHCI_TaskResponse struct {
 29195  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 29196  }
 29197  
 29198  type ExtendVffs ExtendVffsRequestType
 29199  
 29200  func init() {
 29201  	t["ExtendVffs"] = reflect.TypeOf((*ExtendVffs)(nil)).Elem()
 29202  }
 29203  
 29204  // The parameters of `HostStorageSystem.ExtendVffs`.
 29205  type ExtendVffsRequestType struct {
 29206  	This ManagedObjectReference `xml:"_this" json:"-"`
 29207  	// The path of the VFFS to extend. See `FileSystemMountInfo`.
 29208  	VffsPath string `xml:"vffsPath" json:"vffsPath"`
 29209  	// Device path of the SSD disk.
 29210  	DevicePath string `xml:"devicePath" json:"devicePath"`
 29211  	// A data object that describes the SSD disk partition
 29212  	// information. If this property is not provided, partition
 29213  	// information will be computed and generated.
 29214  	Spec *HostDiskPartitionSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 29215  }
 29216  
 29217  func init() {
 29218  	t["ExtendVffsRequestType"] = reflect.TypeOf((*ExtendVffsRequestType)(nil)).Elem()
 29219  }
 29220  
 29221  type ExtendVffsResponse struct {
 29222  }
 29223  
 29224  // The parameters of `VirtualDiskManager.ExtendVirtualDisk_Task`.
 29225  type ExtendVirtualDiskRequestType struct {
 29226  	This ManagedObjectReference `xml:"_this" json:"-"`
 29227  	// The name of the disk, either a datastore path or a URL
 29228  	// referring to the virtual disk whose capacity should be expanded.
 29229  	Name string `xml:"name" json:"name"`
 29230  	// If <code>name</code> is a datastore path, the datacenter for
 29231  	// that datastore path. Not needed when invoked directly on ESX.
 29232  	// If not specified on a call to VirtualCenter,
 29233  	// <code>name</code> must be a URL.
 29234  	//
 29235  	// Refers instance of `Datacenter`.
 29236  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 29237  	// The new capacty of the virtual disk in Kb.
 29238  	NewCapacityKb int64 `xml:"newCapacityKb" json:"newCapacityKb"`
 29239  	// If true, the extended part of the disk will be
 29240  	// explicitly filled with zeroes.
 29241  	EagerZero *bool `xml:"eagerZero" json:"eagerZero,omitempty"`
 29242  }
 29243  
 29244  func init() {
 29245  	t["ExtendVirtualDiskRequestType"] = reflect.TypeOf((*ExtendVirtualDiskRequestType)(nil)).Elem()
 29246  }
 29247  
 29248  type ExtendVirtualDisk_Task ExtendVirtualDiskRequestType
 29249  
 29250  func init() {
 29251  	t["ExtendVirtualDisk_Task"] = reflect.TypeOf((*ExtendVirtualDisk_Task)(nil)).Elem()
 29252  }
 29253  
 29254  type ExtendVirtualDisk_TaskResponse struct {
 29255  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 29256  }
 29257  
 29258  type ExtendVmfsDatastore ExtendVmfsDatastoreRequestType
 29259  
 29260  func init() {
 29261  	t["ExtendVmfsDatastore"] = reflect.TypeOf((*ExtendVmfsDatastore)(nil)).Elem()
 29262  }
 29263  
 29264  // The parameters of `HostDatastoreSystem.ExtendVmfsDatastore`.
 29265  type ExtendVmfsDatastoreRequestType struct {
 29266  	This ManagedObjectReference `xml:"_this" json:"-"`
 29267  	// The datastore whose capacity should be increased.
 29268  	//
 29269  	// Refers instance of `Datastore`.
 29270  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 29271  	// The specification describing what extents to add to a
 29272  	// VMFS datastore.
 29273  	Spec VmfsDatastoreExtendSpec `xml:"spec" json:"spec"`
 29274  }
 29275  
 29276  func init() {
 29277  	t["ExtendVmfsDatastoreRequestType"] = reflect.TypeOf((*ExtendVmfsDatastoreRequestType)(nil)).Elem()
 29278  }
 29279  
 29280  type ExtendVmfsDatastoreResponse struct {
 29281  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 29282  }
 29283  
 29284  type ExtendedDescription struct {
 29285  	Description
 29286  
 29287  	// Key to the localized message string in the catalog.
 29288  	//
 29289  	// If the localized string contains parameters, values to the
 29290  	// parameters will be provided in #messageArg.
 29291  	// E.g: If the message in the catalog is
 29292  	// "IP address is {address}", value for "address"
 29293  	// will be provided by #messageArg.
 29294  	// Both summary and label in Description will have a corresponding
 29295  	// entry in the message catalog with the keys
 29296  	// &lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label
 29297  	// respectively.
 29298  	// Description.summary and Description.label will contain
 29299  	// the strings in server locale.
 29300  	MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix" json:"messageCatalogKeyPrefix"`
 29301  	// Provides named arguments that can be used to localize the
 29302  	// message in the catalog.
 29303  	MessageArg []KeyAnyValue `xml:"messageArg,omitempty" json:"messageArg,omitempty"`
 29304  }
 29305  
 29306  func init() {
 29307  	t["ExtendedDescription"] = reflect.TypeOf((*ExtendedDescription)(nil)).Elem()
 29308  }
 29309  
 29310  type ExtendedElementDescription struct {
 29311  	ElementDescription
 29312  
 29313  	// Key to the localized message string in the catalog.
 29314  	//
 29315  	// If the localized string contains parameters, values to the
 29316  	// parameters will be provided in #messageArg.
 29317  	// E.g: If the message in the catalog is
 29318  	// "IP address is {address}", value for "address"
 29319  	// will be provided by #messageArg.
 29320  	// Both summary and label in ElementDescription will have a corresponding
 29321  	// entry in the message catalog with the keys
 29322  	// &lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label
 29323  	// respectively.
 29324  	// ElementDescription.summary and ElementDescription.label will contain
 29325  	// the strings in server locale.
 29326  	MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix" json:"messageCatalogKeyPrefix"`
 29327  	// Provides named arguments that can be used to localize the
 29328  	// message in the catalog.
 29329  	MessageArg []KeyAnyValue `xml:"messageArg,omitempty" json:"messageArg,omitempty"`
 29330  }
 29331  
 29332  func init() {
 29333  	t["ExtendedElementDescription"] = reflect.TypeOf((*ExtendedElementDescription)(nil)).Elem()
 29334  }
 29335  
 29336  // This event is the base class for extended events.
 29337  type ExtendedEvent struct {
 29338  	GeneralEvent
 29339  
 29340  	// The id of the type of extended event.
 29341  	EventTypeId string `xml:"eventTypeId" json:"eventTypeId"`
 29342  	// The object on which the event was logged.
 29343  	ManagedObject ManagedObjectReference `xml:"managedObject" json:"managedObject"`
 29344  	// Key/value pairs associated with event.
 29345  	Data []ExtendedEventPair `xml:"data,omitempty" json:"data,omitempty"`
 29346  }
 29347  
 29348  func init() {
 29349  	t["ExtendedEvent"] = reflect.TypeOf((*ExtendedEvent)(nil)).Elem()
 29350  }
 29351  
 29352  // key/value pair
 29353  type ExtendedEventPair struct {
 29354  	DynamicData
 29355  
 29356  	Key   string `xml:"key" json:"key"`
 29357  	Value string `xml:"value" json:"value"`
 29358  }
 29359  
 29360  func init() {
 29361  	t["ExtendedEventPair"] = reflect.TypeOf((*ExtendedEventPair)(nil)).Elem()
 29362  }
 29363  
 29364  // This fault is the container for faults logged by extensions.
 29365  type ExtendedFault struct {
 29366  	VimFault
 29367  
 29368  	// The id of the type of extended fault.
 29369  	FaultTypeId string `xml:"faultTypeId" json:"faultTypeId"`
 29370  	// Key/value pairs associated with fault.
 29371  	Data []KeyValue `xml:"data,omitempty" json:"data,omitempty"`
 29372  }
 29373  
 29374  func init() {
 29375  	t["ExtendedFault"] = reflect.TypeOf((*ExtendedFault)(nil)).Elem()
 29376  }
 29377  
 29378  type ExtendedFaultFault ExtendedFault
 29379  
 29380  func init() {
 29381  	t["ExtendedFaultFault"] = reflect.TypeOf((*ExtendedFaultFault)(nil)).Elem()
 29382  }
 29383  
 29384  // This data object type contains all information about an extension.
 29385  //
 29386  // An extension may contain zero or more server interfaces and zero
 29387  // or more clients.
 29388  type Extension struct {
 29389  	DynamicData
 29390  
 29391  	// Description of extension.
 29392  	Description BaseDescription `xml:"description,typeattr" json:"description"`
 29393  	// Extension key.
 29394  	//
 29395  	// Should follow java package naming conventions
 29396  	// for uniqueness (e.g. "com.example.management").
 29397  	//
 29398  	// Extension names can only contain characters belonging to the
 29399  	// lower ASCII character set (UTF-7) with the exception of the
 29400  	// following characters:
 29401  	//  1. All whitespace characters ("space" - ascii character 0x20 is allowed)
 29402  	//  2. Control characters
 29403  	//  3. Comma (ascii 0x2c), Forward slash (ascii 0x2f), Backward slash (ascii 0x5c),
 29404  	//     Hash/Pound (ascii 0x23), Plus (ascii 0x2b), Greater (ascii 0x3e), Lesser (ascii 0x3c),
 29405  	//     Equals (ascii 0x3d), Semi-colon (ascii 0x3b) and Double quote (ascii 0x22).
 29406  	Key string `xml:"key" json:"key"`
 29407  	// Company information.
 29408  	Company string `xml:"company,omitempty" json:"company,omitempty"`
 29409  	// Type of extension (example may include CP-DVS, NUOVA-DVS, etc.).
 29410  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 29411  	// Extension version number as a dot-separated string.
 29412  	//
 29413  	// For example, "1.0.0"
 29414  	Version string `xml:"version" json:"version"`
 29415  	// Subject name from client certificate.
 29416  	SubjectName string `xml:"subjectName,omitempty" json:"subjectName,omitempty"`
 29417  	// Servers for this extension.
 29418  	Server []ExtensionServerInfo `xml:"server,omitempty" json:"server,omitempty"`
 29419  	// Clients for this extension.
 29420  	Client []ExtensionClientInfo `xml:"client,omitempty" json:"client,omitempty"`
 29421  	// Definitions of tasks defined by this extension.
 29422  	TaskList []ExtensionTaskTypeInfo `xml:"taskList,omitempty" json:"taskList,omitempty"`
 29423  	// Definitions of events defined by this extension.
 29424  	EventList []ExtensionEventTypeInfo `xml:"eventList,omitempty" json:"eventList,omitempty"`
 29425  	// Definitions of faults defined by this extension.
 29426  	FaultList []ExtensionFaultTypeInfo `xml:"faultList,omitempty" json:"faultList,omitempty"`
 29427  	// Definitions privileges defined by this extension.
 29428  	PrivilegeList []ExtensionPrivilegeInfo `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
 29429  	// Resource data for all locales
 29430  	ResourceList []ExtensionResourceInfo `xml:"resourceList,omitempty" json:"resourceList,omitempty"`
 29431  	// Last extension heartbeat time.
 29432  	LastHeartbeatTime time.Time `xml:"lastHeartbeatTime" json:"lastHeartbeatTime"`
 29433  	// Health specification provided by this extension.
 29434  	HealthInfo *ExtensionHealthInfo `xml:"healthInfo,omitempty" json:"healthInfo,omitempty"`
 29435  	// OVF consumer specification provided by this extension.
 29436  	OvfConsumerInfo *ExtensionOvfConsumerInfo `xml:"ovfConsumerInfo,omitempty" json:"ovfConsumerInfo,omitempty"`
 29437  	// Extended product information, such as URLs to vendor, product, etc.
 29438  	ExtendedProductInfo *ExtExtendedProductInfo `xml:"extendedProductInfo,omitempty" json:"extendedProductInfo,omitempty"`
 29439  	// Information about entities managed by this extension.
 29440  	//
 29441  	// An extension can
 29442  	// register virtual machines as managed by itself, by setting the
 29443  	// `managedBy` property of the virtual
 29444  	// machine.
 29445  	ManagedEntityInfo []ExtManagedEntityInfo `xml:"managedEntityInfo,omitempty" json:"managedEntityInfo,omitempty"`
 29446  	// Opt-in to the Solution Manager.
 29447  	//
 29448  	// If set to true, this extension will be
 29449  	// shown in the Solution Manager. If not set, or set to false, this extension
 29450  	// is not shown in the Solution Manager.
 29451  	ShownInSolutionManager *bool `xml:"shownInSolutionManager" json:"shownInSolutionManager,omitempty"`
 29452  	// Solution Manager configuration for this extension.
 29453  	SolutionManagerInfo *ExtSolutionManagerInfo `xml:"solutionManagerInfo,omitempty" json:"solutionManagerInfo,omitempty"`
 29454  }
 29455  
 29456  func init() {
 29457  	t["Extension"] = reflect.TypeOf((*Extension)(nil)).Elem()
 29458  }
 29459  
 29460  // This data object type describes a client of the extension.
 29461  type ExtensionClientInfo struct {
 29462  	DynamicData
 29463  
 29464  	// Client version number as a dot-separated string.
 29465  	//
 29466  	// For example, "1.0.0"
 29467  	Version string `xml:"version" json:"version"`
 29468  	// Description of client.
 29469  	Description BaseDescription `xml:"description,typeattr" json:"description"`
 29470  	// Company information.
 29471  	Company string `xml:"company" json:"company"`
 29472  	// Type of client (examples may include win32, .net, linux, etc.).
 29473  	Type string `xml:"type" json:"type"`
 29474  	// Plugin url.
 29475  	Url string `xml:"url" json:"url"`
 29476  }
 29477  
 29478  func init() {
 29479  	t["ExtensionClientInfo"] = reflect.TypeOf((*ExtensionClientInfo)(nil)).Elem()
 29480  }
 29481  
 29482  // This data object type describes event types defined by the extension.
 29483  type ExtensionEventTypeInfo struct {
 29484  	DynamicData
 29485  
 29486  	// The ID of the event type.
 29487  	//
 29488  	// Should follow java package
 29489  	// naming conventions for uniqueness.
 29490  	EventID string `xml:"eventID" json:"eventID"`
 29491  	// Optional XML descriptor for the EventType.
 29492  	//
 29493  	// The structure of this descriptor is:
 29494  	//
 29495  	//	<EventType>
 29496  	//	  <eventTypeID>eventID</eventTypeID>
 29497  	//	  <description>Optional description for event eventID</description>
 29498  	//	  <-- Optional arguments: -->
 29499  	//	  <arguments>
 29500  	//	     <-- Zero or more of: -->
 29501  	//	     <argument>
 29502  	//	       <name>argName</name>
 29503  	//	       <type>argtype</name>
 29504  	//	     </argument>
 29505  	//	  </arguments>
 29506  	//	</EventType>
 29507  	//
 29508  	// where _argtype_ can be one of the following:
 29509  	//   - This is an example list and should be considered as incomplete.
 29510  	//
 29511  	// <!-- -->
 29512  	//   - Primitive types:
 29513  	//   - _string_
 29514  	//   - _bool_
 29515  	//   - _int_
 29516  	//   - _long_
 29517  	//   - _float_
 29518  	//   - _moid_
 29519  	//   - Entity reference types:
 29520  	//   - _vm_
 29521  	//   - _host_
 29522  	//   - _resourcepool_
 29523  	//   - _computeresource_
 29524  	//   - _datacenter_
 29525  	//   - _datastore_
 29526  	//   - _network_
 29527  	//   - _dvs_
 29528  	EventTypeSchema string `xml:"eventTypeSchema,omitempty" json:"eventTypeSchema,omitempty"`
 29529  }
 29530  
 29531  func init() {
 29532  	t["ExtensionEventTypeInfo"] = reflect.TypeOf((*ExtensionEventTypeInfo)(nil)).Elem()
 29533  }
 29534  
 29535  // This data object type describes fault types defined by the extension.
 29536  type ExtensionFaultTypeInfo struct {
 29537  	DynamicData
 29538  
 29539  	// The ID of the fault type.
 29540  	//
 29541  	// Should follow java package
 29542  	// naming conventions for uniqueness.
 29543  	FaultID string `xml:"faultID" json:"faultID"`
 29544  }
 29545  
 29546  func init() {
 29547  	t["ExtensionFaultTypeInfo"] = reflect.TypeOf((*ExtensionFaultTypeInfo)(nil)).Elem()
 29548  }
 29549  
 29550  // This data object encapsulates the health specification for the
 29551  // extension.
 29552  type ExtensionHealthInfo struct {
 29553  	DynamicData
 29554  
 29555  	Url string `xml:"url" json:"url"`
 29556  }
 29557  
 29558  func init() {
 29559  	t["ExtensionHealthInfo"] = reflect.TypeOf((*ExtensionHealthInfo)(nil)).Elem()
 29560  }
 29561  
 29562  // This data object type contains usage information about an
 29563  // extension's IP allocation usage.
 29564  type ExtensionManagerIpAllocationUsage struct {
 29565  	DynamicData
 29566  
 29567  	// Key of the extension whose usage is being
 29568  	// reported.
 29569  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 29570  	// Number of IP addresses allocated from IP pools.
 29571  	NumAddresses int32 `xml:"numAddresses" json:"numAddresses"`
 29572  }
 29573  
 29574  func init() {
 29575  	t["ExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ExtensionManagerIpAllocationUsage)(nil)).Elem()
 29576  }
 29577  
 29578  // This data object contains configuration for extensions that also extend the OVF
 29579  // functionality of vCenter server.
 29580  //
 29581  // `*Note:*` This feature is for internal use only.
 29582  type ExtensionOvfConsumerInfo struct {
 29583  	DynamicData
 29584  
 29585  	// Callback url for the OVF consumer.
 29586  	//
 29587  	// This URL must point to a SOAP API
 29588  	// implementing the OVF consumer interface.
 29589  	//
 29590  	// Example: https://extension-host:8081/
 29591  	//
 29592  	// This callback is for internal use only.
 29593  	CallbackUrl string `xml:"callbackUrl" json:"callbackUrl"`
 29594  	// A list of fully qualified OVF section types that this consumer handles.
 29595  	//
 29596  	// Fully qualified means that each section type must be prefixed with its namespace
 29597  	// enclosed in curly braces. See the examples below.
 29598  	//
 29599  	// An InvalidArgument error is thrown if there is overlap between OVF consumers,
 29600  	// meaning that the same section type appears in the sectionType list of more than
 29601  	// one OVF consumer.
 29602  	//
 29603  	// Example: \[ "{http://www.vmware.com/schema/vServiceManager}vServiceDependency",
 29604  	// "{http://www.vmware.com/schema/vServiceManager}vServiceBinding" \]
 29605  	SectionType []string `xml:"sectionType" json:"sectionType"`
 29606  }
 29607  
 29608  func init() {
 29609  	t["ExtensionOvfConsumerInfo"] = reflect.TypeOf((*ExtensionOvfConsumerInfo)(nil)).Elem()
 29610  }
 29611  
 29612  // This data object type describes privileges defined by the extension.
 29613  type ExtensionPrivilegeInfo struct {
 29614  	DynamicData
 29615  
 29616  	// The ID of the privilege.
 29617  	//
 29618  	// The format should be
 29619  	// &quot;&lt;group name&gt;.&lt;privilege name&gt;&quot;.
 29620  	// The group name should be the same as the privGroupName
 29621  	// property.
 29622  	//
 29623  	// The privilege name should follow java package naming
 29624  	// conventions for uniqueness. The set of characters allowed
 29625  	// follow the same rules as `Extension.key`.
 29626  	PrivID string `xml:"privID" json:"privID"`
 29627  	// Hierarchical group name.
 29628  	//
 29629  	// Each level of the grouping hierarchy is
 29630  	// separated by a "." so group names may not include a ".".
 29631  	// `AuthorizationPrivilege.privGroupName`.
 29632  	PrivGroupName string `xml:"privGroupName" json:"privGroupName"`
 29633  }
 29634  
 29635  func init() {
 29636  	t["ExtensionPrivilegeInfo"] = reflect.TypeOf((*ExtensionPrivilegeInfo)(nil)).Elem()
 29637  }
 29638  
 29639  // This data object encapsulates the message resources for all locales.
 29640  type ExtensionResourceInfo struct {
 29641  	DynamicData
 29642  
 29643  	Locale string `xml:"locale" json:"locale"`
 29644  	// Module for a resource type and other message or fault resources.
 29645  	//
 29646  	// Examples: "task" for task, "event" for event and "auth" for "privilege".
 29647  	Module string     `xml:"module" json:"module"`
 29648  	Data   []KeyValue `xml:"data" json:"data"`
 29649  }
 29650  
 29651  func init() {
 29652  	t["ExtensionResourceInfo"] = reflect.TypeOf((*ExtensionResourceInfo)(nil)).Elem()
 29653  }
 29654  
 29655  // This data object type describes a server for the extension.
 29656  type ExtensionServerInfo struct {
 29657  	DynamicData
 29658  
 29659  	// Server url.
 29660  	Url string `xml:"url" json:"url"`
 29661  	// Server description.
 29662  	Description BaseDescription `xml:"description,typeattr" json:"description"`
 29663  	// Company information.
 29664  	Company string `xml:"company" json:"company"`
 29665  	// Type of server (examples may include SOAP, REST, HTTP, etc.).
 29666  	Type string `xml:"type" json:"type"`
 29667  	// Extension administrator email addresses.
 29668  	AdminEmail []string `xml:"adminEmail" json:"adminEmail"`
 29669  	// Thumbprint of the extension server certificate presented to clients
 29670  	ServerThumbprint string `xml:"serverThumbprint,omitempty" json:"serverThumbprint,omitempty"`
 29671  	// X.509 certificate of the extension server presented to clients in PEM
 29672  	// format according to RFC 7468
 29673  	ServerCertificate string `xml:"serverCertificate,omitempty" json:"serverCertificate,omitempty" vim:"8.0.2.0"`
 29674  }
 29675  
 29676  func init() {
 29677  	t["ExtensionServerInfo"] = reflect.TypeOf((*ExtensionServerInfo)(nil)).Elem()
 29678  }
 29679  
 29680  // This data object type describes task types defined by the extension.
 29681  type ExtensionTaskTypeInfo struct {
 29682  	DynamicData
 29683  
 29684  	// The ID of the task type.
 29685  	//
 29686  	// Should follow java package
 29687  	// naming conventions for uniqueness.
 29688  	TaskID string `xml:"taskID" json:"taskID"`
 29689  }
 29690  
 29691  func init() {
 29692  	t["ExtensionTaskTypeInfo"] = reflect.TypeOf((*ExtensionTaskTypeInfo)(nil)).Elem()
 29693  }
 29694  
 29695  type ExtractOvfEnvironment ExtractOvfEnvironmentRequestType
 29696  
 29697  func init() {
 29698  	t["ExtractOvfEnvironment"] = reflect.TypeOf((*ExtractOvfEnvironment)(nil)).Elem()
 29699  }
 29700  
 29701  type ExtractOvfEnvironmentRequestType struct {
 29702  	This ManagedObjectReference `xml:"_this" json:"-"`
 29703  }
 29704  
 29705  func init() {
 29706  	t["ExtractOvfEnvironmentRequestType"] = reflect.TypeOf((*ExtractOvfEnvironmentRequestType)(nil)).Elem()
 29707  }
 29708  
 29709  type ExtractOvfEnvironmentResponse struct {
 29710  	Returnval string `xml:"returnval" json:"returnval"`
 29711  }
 29712  
 29713  // Fault type that could be thrown when enabling SPBM(Storage Policy
 29714  // Based Management) feature of a compute resource.
 29715  type FailToEnableSPBM struct {
 29716  	NotEnoughLicenses
 29717  
 29718  	// The compute resource
 29719  	//
 29720  	// Refers instance of `ComputeResource`.
 29721  	Cs ManagedObjectReference `xml:"cs" json:"cs"`
 29722  	// The computer resource name
 29723  	CsName string `xml:"csName" json:"csName"`
 29724  	// Array of `ComputeResourceHostSPBMLicenseInfo` that
 29725  	// contains SPBM license information for all hosts in the compute resource
 29726  	HostLicenseStates []ComputeResourceHostSPBMLicenseInfo `xml:"hostLicenseStates" json:"hostLicenseStates"`
 29727  }
 29728  
 29729  func init() {
 29730  	t["FailToEnableSPBM"] = reflect.TypeOf((*FailToEnableSPBM)(nil)).Elem()
 29731  }
 29732  
 29733  type FailToEnableSPBMFault FailToEnableSPBM
 29734  
 29735  func init() {
 29736  	t["FailToEnableSPBMFault"] = reflect.TypeOf((*FailToEnableSPBMFault)(nil)).Elem()
 29737  }
 29738  
 29739  // Thrown when trying to state lock a Fault Tolerance VM, and the
 29740  // other VM in the same Fault Tolerance pair is already locked.
 29741  type FailToLockFaultToleranceVMs struct {
 29742  	RuntimeFault
 29743  
 29744  	// The name of the vm to be locked.
 29745  	VmName string `xml:"vmName" json:"vmName"`
 29746  	// The vm to be locked, this can be a Fault Tolerance primary or secondary VM
 29747  	//
 29748  	// Refers instance of `VirtualMachine`.
 29749  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29750  	// The vm that is already locked, this can be a Fault Tolerance primary or secondary VM
 29751  	//
 29752  	// Refers instance of `VirtualMachine`.
 29753  	AlreadyLockedVm ManagedObjectReference `xml:"alreadyLockedVm" json:"alreadyLockedVm"`
 29754  }
 29755  
 29756  func init() {
 29757  	t["FailToLockFaultToleranceVMs"] = reflect.TypeOf((*FailToLockFaultToleranceVMs)(nil)).Elem()
 29758  }
 29759  
 29760  type FailToLockFaultToleranceVMsFault FailToLockFaultToleranceVMs
 29761  
 29762  func init() {
 29763  	t["FailToLockFaultToleranceVMsFault"] = reflect.TypeOf((*FailToLockFaultToleranceVMsFault)(nil)).Elem()
 29764  }
 29765  
 29766  // This event records that the amount of cluster resources has increased
 29767  // and is now sufficient to satisfy the configured HA failover level.
 29768  type FailoverLevelRestored struct {
 29769  	ClusterEvent
 29770  }
 29771  
 29772  func init() {
 29773  	t["FailoverLevelRestored"] = reflect.TypeOf((*FailoverLevelRestored)(nil)).Elem()
 29774  }
 29775  
 29776  type FailoverNodeInfo struct {
 29777  	DynamicData
 29778  
 29779  	// VCHA Cluster network configuration of the node.
 29780  	//
 29781  	// All cluster communication (state replication, heartbeat,
 29782  	// cluster messages) happens over this network.
 29783  	ClusterIpSettings CustomizationIPSettings `xml:"clusterIpSettings" json:"clusterIpSettings"`
 29784  	// Failover IP address that this node will assume after the failover
 29785  	// to serve client requests.
 29786  	//
 29787  	// Each failover node can have a different
 29788  	// failover IP address.
 29789  	FailoverIp *CustomizationIPSettings `xml:"failoverIp,omitempty" json:"failoverIp,omitempty"`
 29790  	// BIOS UUID for the node.
 29791  	//
 29792  	// It is set only if the VCHA Cluster was
 29793  	// formed using automatic provisioning by the deploy API.
 29794  	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
 29795  }
 29796  
 29797  func init() {
 29798  	t["FailoverNodeInfo"] = reflect.TypeOf((*FailoverNodeInfo)(nil)).Elem()
 29799  }
 29800  
 29801  // Represents the identity of a replication fault domain.
 29802  //
 29803  // Fault domains IDs are globally
 29804  // unique.
 29805  type FaultDomainId struct {
 29806  	DynamicData
 29807  
 29808  	// ID of the fault domain.
 29809  	Id string `xml:"id" json:"id"`
 29810  }
 29811  
 29812  func init() {
 29813  	t["FaultDomainId"] = reflect.TypeOf((*FaultDomainId)(nil)).Elem()
 29814  }
 29815  
 29816  // More than one VM in the same fault tolerance group are placed on the same host
 29817  type FaultToleranceAntiAffinityViolated struct {
 29818  	MigrationFault
 29819  
 29820  	// The name of the host.
 29821  	HostName string `xml:"hostName" json:"hostName"`
 29822  	// The host.
 29823  	//
 29824  	// Refers instance of `HostSystem`.
 29825  	Host ManagedObjectReference `xml:"host" json:"host"`
 29826  }
 29827  
 29828  func init() {
 29829  	t["FaultToleranceAntiAffinityViolated"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolated)(nil)).Elem()
 29830  }
 29831  
 29832  type FaultToleranceAntiAffinityViolatedFault FaultToleranceAntiAffinityViolated
 29833  
 29834  func init() {
 29835  	t["FaultToleranceAntiAffinityViolatedFault"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolatedFault)(nil)).Elem()
 29836  }
 29837  
 29838  // The memory size, reservation, limit or shares of a virtual machine cannot
 29839  // be edited if Fault Tolerance is turned on
 29840  type FaultToleranceCannotEditMem struct {
 29841  	VmConfigFault
 29842  
 29843  	// The name of the VM.
 29844  	VmName string `xml:"vmName" json:"vmName"`
 29845  	// The VM.
 29846  	//
 29847  	// Refers instance of `VirtualMachine`.
 29848  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29849  }
 29850  
 29851  func init() {
 29852  	t["FaultToleranceCannotEditMem"] = reflect.TypeOf((*FaultToleranceCannotEditMem)(nil)).Elem()
 29853  }
 29854  
 29855  type FaultToleranceCannotEditMemFault FaultToleranceCannotEditMem
 29856  
 29857  func init() {
 29858  	t["FaultToleranceCannotEditMemFault"] = reflect.TypeOf((*FaultToleranceCannotEditMemFault)(nil)).Elem()
 29859  }
 29860  
 29861  // FaultToleranceConfigInfo is a data object type containing Fault Tolerance
 29862  // settings for this virtual machine.
 29863  //
 29864  // role, instanceUuids and configPaths contain information about the
 29865  // whole fault tolerance group.
 29866  type FaultToleranceConfigInfo struct {
 29867  	DynamicData
 29868  
 29869  	// The index of the current VM in instanceUuids array starting from 1, so
 29870  	// 1 means that it is the primary VM.
 29871  	Role int32 `xml:"role" json:"role"`
 29872  	// The instanceUuid of all the VMs in this fault tolerance group.
 29873  	//
 29874  	// The
 29875  	// first element is the instanceUuid of the primary VM.
 29876  	InstanceUuids []string `xml:"instanceUuids" json:"instanceUuids"`
 29877  	// The configuration file path for all the VMs in this fault tolerance
 29878  	// group.
 29879  	ConfigPaths []string `xml:"configPaths" json:"configPaths"`
 29880  	// Indicates whether a secondary VM is orphaned (no longer associated with
 29881  	// the primary VM).
 29882  	Orphaned *bool `xml:"orphaned" json:"orphaned,omitempty"`
 29883  }
 29884  
 29885  func init() {
 29886  	t["FaultToleranceConfigInfo"] = reflect.TypeOf((*FaultToleranceConfigInfo)(nil)).Elem()
 29887  }
 29888  
 29889  // FaultToleranceConfigSpec contains information about the metadata file
 29890  // and vmdk files for a fault tolerant VM pair.
 29891  type FaultToleranceConfigSpec struct {
 29892  	DynamicData
 29893  
 29894  	// Metadata file information
 29895  	MetaDataPath *FaultToleranceMetaSpec `xml:"metaDataPath,omitempty" json:"metaDataPath,omitempty"`
 29896  	// Placement information for secondary
 29897  	SecondaryVmSpec *FaultToleranceVMConfigSpec `xml:"secondaryVmSpec,omitempty" json:"secondaryVmSpec,omitempty"`
 29898  	// Indicates whether FT Metro Cluster is enabled/disabled.
 29899  	//
 29900  	// \- If TRUE, FT Metro Cluster is enabled for the VM. An implicit
 29901  	// Anti-HostGroup will be generated from HostGroup defined for FT
 29902  	// primary, then affine the primary with one HostGroup and affine the
 29903  	// secondary with another HostGroup.
 29904  	// \- If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT
 29905  	// primary and secondary will be put in the same HostGroup.
 29906  	MetroFtEnabled *bool `xml:"metroFtEnabled" json:"metroFtEnabled,omitempty" vim:"8.0.3.0"`
 29907  	// Indicate the Host Group (`ClusterHostGroup`) for FT
 29908  	// Metro Cluster enabled Virtual Machine.
 29909  	//
 29910  	// Based on the selected Host Group, FT can divide the hosts in the cluster
 29911  	// into two groups and ensure to place FT primary and FT secondary in
 29912  	// different groups.
 29913  	MetroFtHostGroup string `xml:"metroFtHostGroup,omitempty" json:"metroFtHostGroup,omitempty" vim:"8.0.3.0"`
 29914  }
 29915  
 29916  func init() {
 29917  	t["FaultToleranceConfigSpec"] = reflect.TypeOf((*FaultToleranceConfigSpec)(nil)).Elem()
 29918  }
 29919  
 29920  // Convenience subclass for calling out some named features among the
 29921  // incompatibilities found in CPUID level 1 register ecx for FT vms.
 29922  type FaultToleranceCpuIncompatible struct {
 29923  	CpuIncompatible
 29924  
 29925  	// Flag to indicate CPU model is incompatible.
 29926  	Model bool `xml:"model" json:"model"`
 29927  	// Flag to indicate CPU family is incompatible.
 29928  	Family bool `xml:"family" json:"family"`
 29929  	// Flag to indicate CPU stepping is incompatible.
 29930  	Stepping bool `xml:"stepping" json:"stepping"`
 29931  }
 29932  
 29933  func init() {
 29934  	t["FaultToleranceCpuIncompatible"] = reflect.TypeOf((*FaultToleranceCpuIncompatible)(nil)).Elem()
 29935  }
 29936  
 29937  type FaultToleranceCpuIncompatibleFault FaultToleranceCpuIncompatible
 29938  
 29939  func init() {
 29940  	t["FaultToleranceCpuIncompatibleFault"] = reflect.TypeOf((*FaultToleranceCpuIncompatibleFault)(nil)).Elem()
 29941  }
 29942  
 29943  // FaultToleranceDiskSpec contains disk managed object and destination
 29944  // datastore of disks associated with a VM.
 29945  type FaultToleranceDiskSpec struct {
 29946  	DynamicData
 29947  
 29948  	// Disk Managed Object
 29949  	Disk BaseVirtualDevice `xml:"disk,typeattr" json:"disk"`
 29950  	// Destination location for disk
 29951  	//
 29952  	// Refers instance of `Datastore`.
 29953  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 29954  }
 29955  
 29956  func init() {
 29957  	t["FaultToleranceDiskSpec"] = reflect.TypeOf((*FaultToleranceDiskSpec)(nil)).Elem()
 29958  }
 29959  
 29960  // This data object encapsulates the Datastore for the shared metadata file
 29961  // for a fault tolerant pair of VMs.
 29962  type FaultToleranceMetaSpec struct {
 29963  	DynamicData
 29964  
 29965  	// Datastore for the metadata file
 29966  	//
 29967  	// Refers instance of `Datastore`.
 29968  	MetaDataDatastore ManagedObjectReference `xml:"metaDataDatastore" json:"metaDataDatastore"`
 29969  }
 29970  
 29971  func init() {
 29972  	t["FaultToleranceMetaSpec"] = reflect.TypeOf((*FaultToleranceMetaSpec)(nil)).Elem()
 29973  }
 29974  
 29975  // Fault Tolerance VM requires thick disks
 29976  type FaultToleranceNeedsThickDisk struct {
 29977  	MigrationFault
 29978  
 29979  	// The name of the VM.
 29980  	VmName string `xml:"vmName" json:"vmName"`
 29981  }
 29982  
 29983  func init() {
 29984  	t["FaultToleranceNeedsThickDisk"] = reflect.TypeOf((*FaultToleranceNeedsThickDisk)(nil)).Elem()
 29985  }
 29986  
 29987  type FaultToleranceNeedsThickDiskFault FaultToleranceNeedsThickDisk
 29988  
 29989  func init() {
 29990  	t["FaultToleranceNeedsThickDiskFault"] = reflect.TypeOf((*FaultToleranceNeedsThickDiskFault)(nil)).Elem()
 29991  }
 29992  
 29993  // This fault is thrown when fault tolerance has not been licensed on the
 29994  // source or destination host.
 29995  //
 29996  // It must be licensed on both hosts.
 29997  type FaultToleranceNotLicensed struct {
 29998  	VmFaultToleranceIssue
 29999  
 30000  	// The host name
 30001  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 30002  }
 30003  
 30004  func init() {
 30005  	t["FaultToleranceNotLicensed"] = reflect.TypeOf((*FaultToleranceNotLicensed)(nil)).Elem()
 30006  }
 30007  
 30008  type FaultToleranceNotLicensedFault FaultToleranceNotLicensed
 30009  
 30010  func init() {
 30011  	t["FaultToleranceNotLicensedFault"] = reflect.TypeOf((*FaultToleranceNotLicensedFault)(nil)).Elem()
 30012  }
 30013  
 30014  // The destination host does not have the same build or Fault Tolerance
 30015  // feature version number as the source host.
 30016  type FaultToleranceNotSameBuild struct {
 30017  	MigrationFault
 30018  
 30019  	// The string.
 30020  	Build string `xml:"build" json:"build"`
 30021  }
 30022  
 30023  func init() {
 30024  	t["FaultToleranceNotSameBuild"] = reflect.TypeOf((*FaultToleranceNotSameBuild)(nil)).Elem()
 30025  }
 30026  
 30027  type FaultToleranceNotSameBuildFault FaultToleranceNotSameBuild
 30028  
 30029  func init() {
 30030  	t["FaultToleranceNotSameBuildFault"] = reflect.TypeOf((*FaultToleranceNotSameBuildFault)(nil)).Elem()
 30031  }
 30032  
 30033  // FaultTolerancePrimaryConfigInfo is a data object type containing Fault Tolerance
 30034  // settings for a primary virtual machine in a fault tolerance group
 30035  type FaultTolerancePrimaryConfigInfo struct {
 30036  	FaultToleranceConfigInfo
 30037  
 30038  	// Refers instances of `VirtualMachine`.
 30039  	Secondaries []ManagedObjectReference `xml:"secondaries" json:"secondaries"`
 30040  }
 30041  
 30042  func init() {
 30043  	t["FaultTolerancePrimaryConfigInfo"] = reflect.TypeOf((*FaultTolerancePrimaryConfigInfo)(nil)).Elem()
 30044  }
 30045  
 30046  // This fault is used to report that VirtualCenter did not attempt to power on
 30047  // a Fault Tolerance secondary virtual machine because it was unable to
 30048  // power on the corresponding Fault Tolerance primary virtual machine.
 30049  type FaultTolerancePrimaryPowerOnNotAttempted struct {
 30050  	VmFaultToleranceIssue
 30051  
 30052  	// The secondary virtual machine that was not attempted
 30053  	//
 30054  	// Refers instance of `VirtualMachine`.
 30055  	SecondaryVm ManagedObjectReference `xml:"secondaryVm" json:"secondaryVm"`
 30056  	// The corresponding primary virtual machine
 30057  	//
 30058  	// Refers instance of `VirtualMachine`.
 30059  	PrimaryVm ManagedObjectReference `xml:"primaryVm" json:"primaryVm"`
 30060  }
 30061  
 30062  func init() {
 30063  	t["FaultTolerancePrimaryPowerOnNotAttempted"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttempted)(nil)).Elem()
 30064  }
 30065  
 30066  type FaultTolerancePrimaryPowerOnNotAttemptedFault FaultTolerancePrimaryPowerOnNotAttempted
 30067  
 30068  func init() {
 30069  	t["FaultTolerancePrimaryPowerOnNotAttemptedFault"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttemptedFault)(nil)).Elem()
 30070  }
 30071  
 30072  // FaultToleranceSecondaryConfigInfo is a data object type containing Fault Tolerance
 30073  // settings for a secondary virtual machine in a fault tolerance group
 30074  type FaultToleranceSecondaryConfigInfo struct {
 30075  	FaultToleranceConfigInfo
 30076  
 30077  	// Refers instance of `VirtualMachine`.
 30078  	PrimaryVM ManagedObjectReference `xml:"primaryVM" json:"primaryVM"`
 30079  }
 30080  
 30081  func init() {
 30082  	t["FaultToleranceSecondaryConfigInfo"] = reflect.TypeOf((*FaultToleranceSecondaryConfigInfo)(nil)).Elem()
 30083  }
 30084  
 30085  // FaultToleranceSecondaryOpResult is a data object that reports on
 30086  // the outcome of the `VirtualMachine.CreateSecondaryVM_Task` or
 30087  // `VirtualMachine.EnableSecondaryVM_Task` operation.
 30088  type FaultToleranceSecondaryOpResult struct {
 30089  	DynamicData
 30090  
 30091  	// The Secondary VirtualMachine
 30092  	//
 30093  	// Refers instance of `VirtualMachine`.
 30094  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 30095  	// Whether an attempt was made to power on the secondary.
 30096  	//
 30097  	// If
 30098  	// an attempt was made, `FaultToleranceSecondaryOpResult.powerOnResult` will report the
 30099  	// status of this attempt.
 30100  	PowerOnAttempted bool `xml:"powerOnAttempted" json:"powerOnAttempted"`
 30101  	// The powerOnResult property reports the outcome of powering on the
 30102  	// Secondary VirtualMachine if a power on was required.
 30103  	//
 30104  	// A power on will
 30105  	// be attempted if the Primary Virtual Machine is powered on when the
 30106  	// operation is performed. This object is only reported if `FaultToleranceSecondaryOpResult.powerOnAttempted` is true. If the outcome of the power-on attempt
 30107  	// is not successful, the returned `ClusterPowerOnVmResult`
 30108  	// object will include an instance of `ClusterNotAttemptedVmInfo`
 30109  	// whereas if the attempt was successful, then an instance of
 30110  	// `ClusterAttemptedVmInfo` is returned. When
 30111  	// `ClusterAttemptedVmInfo` is returned, its
 30112  	// `ClusterAttemptedVmInfo.task` property is only set if the cluster
 30113  	// is a HA-only cluster.
 30114  	PowerOnResult *ClusterPowerOnVmResult `xml:"powerOnResult,omitempty" json:"powerOnResult,omitempty"`
 30115  }
 30116  
 30117  func init() {
 30118  	t["FaultToleranceSecondaryOpResult"] = reflect.TypeOf((*FaultToleranceSecondaryOpResult)(nil)).Elem()
 30119  }
 30120  
 30121  // FaultToleranceVMConfigSpec contains information about placement of
 30122  // fault tolerant VM.
 30123  type FaultToleranceVMConfigSpec struct {
 30124  	DynamicData
 30125  
 30126  	// Datastore for the configuration file for the virtual machine, e.g., the
 30127  	// .vmx file.
 30128  	//
 30129  	// This also implicitly defines the configuration directory.
 30130  	//
 30131  	// Refers instance of `Datastore`.
 30132  	VmConfig *ManagedObjectReference `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
 30133  	// Array of disks associated with the VM
 30134  	Disks []FaultToleranceDiskSpec `xml:"disks,omitempty" json:"disks,omitempty"`
 30135  }
 30136  
 30137  func init() {
 30138  	t["FaultToleranceVMConfigSpec"] = reflect.TypeOf((*FaultToleranceVMConfigSpec)(nil)).Elem()
 30139  }
 30140  
 30141  // A FaultToleranceVmNotDasProtected fault occurs when an Fault Tolerance VM
 30142  // is not protected by HA and the operation for terminating the primary VM
 30143  // or secondary VM is invoked.
 30144  type FaultToleranceVmNotDasProtected struct {
 30145  	VimFault
 30146  
 30147  	// The Fault Toelrance primary VM
 30148  	//
 30149  	// Refers instance of `VirtualMachine`.
 30150  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 30151  	// Name of the VM
 30152  	VmName string `xml:"vmName" json:"vmName"`
 30153  }
 30154  
 30155  func init() {
 30156  	t["FaultToleranceVmNotDasProtected"] = reflect.TypeOf((*FaultToleranceVmNotDasProtected)(nil)).Elem()
 30157  }
 30158  
 30159  type FaultToleranceVmNotDasProtectedFault FaultToleranceVmNotDasProtected
 30160  
 30161  func init() {
 30162  	t["FaultToleranceVmNotDasProtectedFault"] = reflect.TypeOf((*FaultToleranceVmNotDasProtectedFault)(nil)).Elem()
 30163  }
 30164  
 30165  // Group of faults associated with Host.
 30166  //
 30167  // This Class is used in e.g.
 30168  // `HostEnterMaintenanceResult`.
 30169  type FaultsByHost struct {
 30170  	DynamicData
 30171  
 30172  	// The Host in the cluster for which faults were generated.
 30173  	//
 30174  	// Refers instance of `HostSystem`.
 30175  	Host ManagedObjectReference `xml:"host" json:"host"`
 30176  	// The array of faults related to the given Host.
 30177  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 30178  }
 30179  
 30180  func init() {
 30181  	t["FaultsByHost"] = reflect.TypeOf((*FaultsByHost)(nil)).Elem()
 30182  }
 30183  
 30184  // VM specific faults.
 30185  //
 30186  // This Class is used in e.g.
 30187  // `HostEnterMaintenanceResult`.
 30188  type FaultsByVM struct {
 30189  	DynamicData
 30190  
 30191  	// The VM for which faults were generated.
 30192  	//
 30193  	// Refers instance of `VirtualMachine`.
 30194  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 30195  	// The array of faults related to the given VM.
 30196  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 30197  }
 30198  
 30199  func init() {
 30200  	t["FaultsByVM"] = reflect.TypeOf((*FaultsByVM)(nil)).Elem()
 30201  }
 30202  
 30203  // This data object type describes an FCoE configuration as it pertains
 30204  // to an underlying physical NIC.
 30205  //
 30206  // Terminology is borrowed from T11's working draft of the Fibre Channel
 30207  // Backbone 5 standard (FC-BB-5). The draft can be found at
 30208  // http://www.t11.org.
 30209  type FcoeConfig struct {
 30210  	DynamicData
 30211  
 30212  	// 802.1p priority class used for FCoE traffic.
 30213  	PriorityClass int32 `xml:"priorityClass" json:"priorityClass"`
 30214  	// Source MAC address used for FCoE traffic.
 30215  	//
 30216  	// This MAC address is associated with the logical construct that is a
 30217  	// physical NIC's associated underlying FCoE Controller, as defined in the
 30218  	// FC-BB-5 standard.
 30219  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where 'x' is
 30220  	// a hexadecimal digit. Valid MAC addresses are unicast addresses.
 30221  	SourceMac string `xml:"sourceMac" json:"sourceMac"`
 30222  	// VLAN ranges associated with this FcoeConfig.
 30223  	VlanRange []FcoeConfigVlanRange `xml:"vlanRange" json:"vlanRange"`
 30224  	// Settable capabilities for this FcoeConfig.
 30225  	Capabilities FcoeConfigFcoeCapabilities `xml:"capabilities" json:"capabilities"`
 30226  	// Indicates whether this FcoeConfig is "active" (has been used in
 30227  	// conjunction with a parent physical network adapter for FCoE
 30228  	// discovery).
 30229  	FcoeActive bool `xml:"fcoeActive" json:"fcoeActive"`
 30230  }
 30231  
 30232  func init() {
 30233  	t["FcoeConfig"] = reflect.TypeOf((*FcoeConfig)(nil)).Elem()
 30234  }
 30235  
 30236  // Flags which indicate what parameters are settable for this FcoeConfig.
 30237  type FcoeConfigFcoeCapabilities struct {
 30238  	DynamicData
 30239  
 30240  	PriorityClass    bool `xml:"priorityClass" json:"priorityClass"`
 30241  	SourceMacAddress bool `xml:"sourceMacAddress" json:"sourceMacAddress"`
 30242  	VlanRange        bool `xml:"vlanRange" json:"vlanRange"`
 30243  }
 30244  
 30245  func init() {
 30246  	t["FcoeConfigFcoeCapabilities"] = reflect.TypeOf((*FcoeConfigFcoeCapabilities)(nil)).Elem()
 30247  }
 30248  
 30249  // An FcoeSpecification contains values relevant to issuing FCoE discovery.
 30250  //
 30251  // Non-mandatory values are denoted '@optional'.
 30252  type FcoeConfigFcoeSpecification struct {
 30253  	DynamicData
 30254  
 30255  	// The name of this FcoeSpecification's underlying PhysicalNic
 30256  	UnderlyingPnic string `xml:"underlyingPnic" json:"underlyingPnic"`
 30257  	// 802.1p priority class to use for FCoE traffic.
 30258  	PriorityClass int32 `xml:"priorityClass,omitempty" json:"priorityClass,omitempty"`
 30259  	// Source MAC address to use for FCoE traffic.
 30260  	//
 30261  	// This MAC address is associated with the logical construct that is a
 30262  	// physical NIC's associated underlying FCoE Controller, as defined in
 30263  	// the FC-BB-5 standard.
 30264  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where 'x'
 30265  	// is a hexadecimal digit. Valid MAC addresses are unicast addresses.
 30266  	SourceMac string `xml:"sourceMac,omitempty" json:"sourceMac,omitempty"`
 30267  	// VLAN ranges to use for FCoE traffic.
 30268  	VlanRange []FcoeConfigVlanRange `xml:"vlanRange,omitempty" json:"vlanRange,omitempty"`
 30269  }
 30270  
 30271  func init() {
 30272  	t["FcoeConfigFcoeSpecification"] = reflect.TypeOf((*FcoeConfigFcoeSpecification)(nil)).Elem()
 30273  }
 30274  
 30275  // Used to represent inclusive intervals of VLAN IDs.
 30276  //
 30277  // Valid VLAN IDs fall within the range \[0,4094\], and the low value of a
 30278  // VlanRange must be less than or equal to the high value.
 30279  type FcoeConfigVlanRange struct {
 30280  	DynamicData
 30281  
 30282  	VlanLow  int32 `xml:"vlanLow" json:"vlanLow"`
 30283  	VlanHigh int32 `xml:"vlanHigh" json:"vlanHigh"`
 30284  }
 30285  
 30286  func init() {
 30287  	t["FcoeConfigVlanRange"] = reflect.TypeOf((*FcoeConfigVlanRange)(nil)).Elem()
 30288  }
 30289  
 30290  // Deprecated as of vSphere API 8.0. Software FCoE not supported.
 30291  //
 30292  // Base class for faults that can be thrown while invoking FCoE management operations.
 30293  type FcoeFault struct {
 30294  	VimFault
 30295  }
 30296  
 30297  func init() {
 30298  	t["FcoeFault"] = reflect.TypeOf((*FcoeFault)(nil)).Elem()
 30299  }
 30300  
 30301  type FcoeFaultFault BaseFcoeFault
 30302  
 30303  func init() {
 30304  	t["FcoeFaultFault"] = reflect.TypeOf((*FcoeFaultFault)(nil)).Elem()
 30305  }
 30306  
 30307  // Deprecated as of vSphere API 8.0. Software FCoE not supported.
 30308  //
 30309  // This fault indicates the given Software Fcoe NIC has no uplink ports
 30310  // that is required for initiating a discovery.
 30311  type FcoeFaultPnicHasNoPortSet struct {
 30312  	FcoeFault
 30313  
 30314  	NicDevice string `xml:"nicDevice" json:"nicDevice"`
 30315  }
 30316  
 30317  func init() {
 30318  	t["FcoeFaultPnicHasNoPortSet"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSet)(nil)).Elem()
 30319  }
 30320  
 30321  type FcoeFaultPnicHasNoPortSetFault FcoeFaultPnicHasNoPortSet
 30322  
 30323  func init() {
 30324  	t["FcoeFaultPnicHasNoPortSetFault"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSetFault)(nil)).Elem()
 30325  }
 30326  
 30327  // The `FeatureEVCMode` data object describes an Enhanced vMotion
 30328  // Compatibility mode for VMFeature.
 30329  //
 30330  // An Feature EVC mode is associated with a set of features. This object
 30331  // is modeled after EVCMode, which is more CPU-centric. Members that
 30332  // are specific to CPU are removed in favor of VMFeature EVC properties.
 30333  // For more information about EVC interaction, see `EVCMode`.
 30334  //
 30335  // The inherited `ElementDescription.key` property is a string value
 30336  // that uniquely identifies an EVC mode. The vCenter Server assigns
 30337  // the key value; the vSphere API uses the key to identify modes
 30338  // in summary and information objects, for example:
 30339  //   - `ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCGraphicsModeKey`
 30340  //   - `HostListSummary*.*HostListSummary.currentEVCGraphicsModeKey`
 30341  //
 30342  // The inherited `Description.label` and `Description.summary`
 30343  // properties are human-readable strings.
 30344  type FeatureEVCMode struct {
 30345  	ElementDescription
 30346  
 30347  	// The masks (modifications to a host's feature capabilities) that limit a
 30348  	// host's capabilities to that of the EVC mode baseline.
 30349  	Mask []HostFeatureMask `xml:"mask,omitempty" json:"mask,omitempty"`
 30350  	// Describes the feature capability baseline associated with the EVC mode.
 30351  	//
 30352  	// On the cluster where a particular EVC mode is configured,
 30353  	// these features capabilities are guaranteed, either because the host
 30354  	// hardware naturally matches those features or because feature masks
 30355  	// are used to mask out differences and enforce a match.
 30356  	Capability []HostFeatureCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 30357  	// The conditions that must be true of a host's feature capabilities in order
 30358  	// for the host to meet the minimum requirements of the EVC mode baseline.
 30359  	Requirement []VirtualMachineFeatureRequirement `xml:"requirement,omitempty" json:"requirement,omitempty"`
 30360  }
 30361  
 30362  func init() {
 30363  	t["FeatureEVCMode"] = reflect.TypeOf((*FeatureEVCMode)(nil)).Elem()
 30364  	minAPIVersionForType["FeatureEVCMode"] = "7.0.1.0"
 30365  }
 30366  
 30367  // The host does not meet feature requirements of the virtual machine.
 30368  type FeatureRequirementsNotMet struct {
 30369  	VirtualHardwareCompatibilityIssue
 30370  
 30371  	// The feature requirements that were not met.
 30372  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 30373  	// The virtual machine whose feature requirements were not met.
 30374  	//
 30375  	// Refers instance of `VirtualMachine`.
 30376  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 30377  	// The host whose capabilities did not meet the virtual machine's feature requirements.
 30378  	//
 30379  	// Refers instance of `HostSystem`.
 30380  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 30381  }
 30382  
 30383  func init() {
 30384  	t["FeatureRequirementsNotMet"] = reflect.TypeOf((*FeatureRequirementsNotMet)(nil)).Elem()
 30385  }
 30386  
 30387  type FeatureRequirementsNotMetFault FeatureRequirementsNotMet
 30388  
 30389  func init() {
 30390  	t["FeatureRequirementsNotMetFault"] = reflect.TypeOf((*FeatureRequirementsNotMetFault)(nil)).Elem()
 30391  }
 30392  
 30393  type FetchAuditRecords FetchAuditRecordsRequestType
 30394  
 30395  func init() {
 30396  	t["FetchAuditRecords"] = reflect.TypeOf((*FetchAuditRecords)(nil)).Elem()
 30397  }
 30398  
 30399  // The parameters of `DiagnosticManager.FetchAuditRecords`.
 30400  type FetchAuditRecordsRequestType struct {
 30401  	This ManagedObjectReference `xml:"_this" json:"-"`
 30402  	// The token to be used for the operation. The first call must
 30403  	// be made without a token. All subsequent calls use the token
 30404  	// returned in AuditRecordStatus.
 30405  	Token string `xml:"token,omitempty" json:"token,omitempty"`
 30406  }
 30407  
 30408  func init() {
 30409  	t["FetchAuditRecordsRequestType"] = reflect.TypeOf((*FetchAuditRecordsRequestType)(nil)).Elem()
 30410  	minAPIVersionForType["FetchAuditRecordsRequestType"] = "7.0.3.0"
 30411  }
 30412  
 30413  type FetchAuditRecordsResponse struct {
 30414  	Returnval DiagnosticManagerAuditRecordResult `xml:"returnval" json:"returnval"`
 30415  }
 30416  
 30417  type FetchDVPortKeys FetchDVPortKeysRequestType
 30418  
 30419  func init() {
 30420  	t["FetchDVPortKeys"] = reflect.TypeOf((*FetchDVPortKeys)(nil)).Elem()
 30421  }
 30422  
 30423  // The parameters of `DistributedVirtualSwitch.FetchDVPortKeys`.
 30424  type FetchDVPortKeysRequestType struct {
 30425  	This ManagedObjectReference `xml:"_this" json:"-"`
 30426  	// The port selection criteria. If unset, the operation
 30427  	// returns the keys of all the ports in the switch.
 30428  	Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty" json:"criteria,omitempty"`
 30429  }
 30430  
 30431  func init() {
 30432  	t["FetchDVPortKeysRequestType"] = reflect.TypeOf((*FetchDVPortKeysRequestType)(nil)).Elem()
 30433  }
 30434  
 30435  type FetchDVPortKeysResponse struct {
 30436  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30437  }
 30438  
 30439  type FetchDVPorts FetchDVPortsRequestType
 30440  
 30441  func init() {
 30442  	t["FetchDVPorts"] = reflect.TypeOf((*FetchDVPorts)(nil)).Elem()
 30443  }
 30444  
 30445  // The parameters of `DistributedVirtualSwitch.FetchDVPorts`.
 30446  type FetchDVPortsRequestType struct {
 30447  	This ManagedObjectReference `xml:"_this" json:"-"`
 30448  	// The port selection criteria. If unset, the operation
 30449  	// returns the keys of all the ports in the portgroup.
 30450  	Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty" json:"criteria,omitempty"`
 30451  }
 30452  
 30453  func init() {
 30454  	t["FetchDVPortsRequestType"] = reflect.TypeOf((*FetchDVPortsRequestType)(nil)).Elem()
 30455  }
 30456  
 30457  type FetchDVPortsResponse struct {
 30458  	Returnval []DistributedVirtualPort `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30459  }
 30460  
 30461  type FetchSystemEventLog FetchSystemEventLogRequestType
 30462  
 30463  func init() {
 30464  	t["FetchSystemEventLog"] = reflect.TypeOf((*FetchSystemEventLog)(nil)).Elem()
 30465  }
 30466  
 30467  type FetchSystemEventLogRequestType struct {
 30468  	This ManagedObjectReference `xml:"_this" json:"-"`
 30469  }
 30470  
 30471  func init() {
 30472  	t["FetchSystemEventLogRequestType"] = reflect.TypeOf((*FetchSystemEventLogRequestType)(nil)).Elem()
 30473  }
 30474  
 30475  type FetchSystemEventLogResponse struct {
 30476  	Returnval []SystemEventInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30477  }
 30478  
 30479  type FetchUserPrivilegeOnEntities FetchUserPrivilegeOnEntitiesRequestType
 30480  
 30481  func init() {
 30482  	t["FetchUserPrivilegeOnEntities"] = reflect.TypeOf((*FetchUserPrivilegeOnEntities)(nil)).Elem()
 30483  }
 30484  
 30485  // The parameters of `AuthorizationManager.FetchUserPrivilegeOnEntities`.
 30486  type FetchUserPrivilegeOnEntitiesRequestType struct {
 30487  	This ManagedObjectReference `xml:"_this" json:"-"`
 30488  	// are the entities to retrieve privileges on
 30489  	//
 30490  	// Required privileges: System.View
 30491  	//
 30492  	// Refers instances of `ManagedEntity`.
 30493  	Entities []ManagedObjectReference `xml:"entities" json:"entities"`
 30494  	// is the user to retrieve privileges for
 30495  	UserName string `xml:"userName" json:"userName"`
 30496  }
 30497  
 30498  func init() {
 30499  	t["FetchUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*FetchUserPrivilegeOnEntitiesRequestType)(nil)).Elem()
 30500  }
 30501  
 30502  type FetchUserPrivilegeOnEntitiesResponse struct {
 30503  	Returnval []UserPrivilegeResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30504  }
 30505  
 30506  // This fault is thrown when an operation attempts to create a file using the name of
 30507  // an existing file.
 30508  type FileAlreadyExists struct {
 30509  	FileFault
 30510  }
 30511  
 30512  func init() {
 30513  	t["FileAlreadyExists"] = reflect.TypeOf((*FileAlreadyExists)(nil)).Elem()
 30514  }
 30515  
 30516  type FileAlreadyExistsFault FileAlreadyExists
 30517  
 30518  func init() {
 30519  	t["FileAlreadyExistsFault"] = reflect.TypeOf((*FileAlreadyExistsFault)(nil)).Elem()
 30520  }
 30521  
 30522  // The virtual machine has a port (either a SerialPort or a ParallelPort) which is
 30523  // backed by a file.
 30524  //
 30525  // This is an error when migrating a virtual machine with the device
 30526  // connected, and can be returned as a subfault of DisallowedMigrationDeviceAttached.
 30527  type FileBackedPortNotSupported struct {
 30528  	DeviceNotSupported
 30529  }
 30530  
 30531  func init() {
 30532  	t["FileBackedPortNotSupported"] = reflect.TypeOf((*FileBackedPortNotSupported)(nil)).Elem()
 30533  }
 30534  
 30535  type FileBackedPortNotSupportedFault FileBackedPortNotSupported
 30536  
 30537  func init() {
 30538  	t["FileBackedPortNotSupportedFault"] = reflect.TypeOf((*FileBackedPortNotSupportedFault)(nil)).Elem()
 30539  }
 30540  
 30541  // Specification used to create a file based virtual disk
 30542  type FileBackedVirtualDiskSpec struct {
 30543  	VirtualDiskSpec
 30544  
 30545  	// Specify the capacity of the virtual disk in Kb.
 30546  	CapacityKb int64 `xml:"capacityKb" json:"capacityKb"`
 30547  	// Virtual Disk Profile requirement.
 30548  	//
 30549  	// Profiles are solution specifics.
 30550  	// Profile Based Storage Management is a vSphere server extension.
 30551  	// The API users who want to provision VMs using Storage Profiles, need to
 30552  	// interact with it.
 30553  	// This is an optional parameter and if user doesn't specify profile,
 30554  	// the default behavior will apply.
 30555  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 30556  	// Encryption options for the new virtual disk.
 30557  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 30558  	// Optional sector format.
 30559  	//
 30560  	// If not specified, an appropriate default format will be choosen by
 30561  	// the storage system. If available, native\_512 is preferred.
 30562  	// For the list of supported values, see `DatastoreSectorFormat_enum`.
 30563  	SectorFormat string `xml:"sectorFormat,omitempty" json:"sectorFormat,omitempty" vim:"9.0.0.0"`
 30564  }
 30565  
 30566  func init() {
 30567  	t["FileBackedVirtualDiskSpec"] = reflect.TypeOf((*FileBackedVirtualDiskSpec)(nil)).Elem()
 30568  }
 30569  
 30570  // The common base type for all file-related exceptions.
 30571  type FileFault struct {
 30572  	VimFault
 30573  
 30574  	// The file in question.
 30575  	File string `xml:"file" json:"file"`
 30576  }
 30577  
 30578  func init() {
 30579  	t["FileFault"] = reflect.TypeOf((*FileFault)(nil)).Elem()
 30580  }
 30581  
 30582  type FileFaultFault BaseFileFault
 30583  
 30584  func init() {
 30585  	t["FileFaultFault"] = reflect.TypeOf((*FileFaultFault)(nil)).Elem()
 30586  }
 30587  
 30588  // This data object type contains rudimentary information about a file in a
 30589  // datastore.
 30590  //
 30591  // The information here is not meant to cover all information in
 30592  // traditional file systems, but rather to provide sufficient information for files
 30593  // that are associated with virtual machines. Derived types describe the known file
 30594  // types for a datastore.
 30595  type FileInfo struct {
 30596  	DynamicData
 30597  
 30598  	// The path relative to the folder path in the search results.
 30599  	Path string `xml:"path" json:"path"`
 30600  	// User friendly name.
 30601  	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
 30602  	// The size of the file in bytes.
 30603  	FileSize int64 `xml:"fileSize,omitempty" json:"fileSize,omitempty"`
 30604  	// The last date and time the file was modified.
 30605  	Modification *time.Time `xml:"modification" json:"modification,omitempty"`
 30606  	// The user name of the owner of the file.
 30607  	Owner string `xml:"owner,omitempty" json:"owner,omitempty"`
 30608  }
 30609  
 30610  func init() {
 30611  	t["FileInfo"] = reflect.TypeOf((*FileInfo)(nil)).Elem()
 30612  }
 30613  
 30614  // The File information available on a particular file on the host that
 30615  // can be fetched.
 30616  //
 30617  // Attempt is made to query and fetch as much information
 30618  // as possible depending on the file system the file is residing on.
 30619  type FileLockInfo struct {
 30620  	DynamicData
 30621  
 30622  	FilePath  string `xml:"filePath" json:"filePath"`
 30623  	Host      string `xml:"host" json:"host"`
 30624  	Mac       string `xml:"mac" json:"mac"`
 30625  	Id        string `xml:"id" json:"id"`
 30626  	WorldName string `xml:"worldName" json:"worldName"`
 30627  	OwnerId   string `xml:"ownerId,omitempty" json:"ownerId,omitempty"`
 30628  	LockMode  string `xml:"lockMode" json:"lockMode"`
 30629  	// Optional future - will be fetched if available.
 30630  	Acquired  *time.Time `xml:"acquired" json:"acquired,omitempty"`
 30631  	Heartbeat *time.Time `xml:"heartbeat" json:"heartbeat,omitempty"`
 30632  	RefCount  int32      `xml:"refCount,omitempty" json:"refCount,omitempty"`
 30633  }
 30634  
 30635  func init() {
 30636  	t["FileLockInfo"] = reflect.TypeOf((*FileLockInfo)(nil)).Elem()
 30637  	minAPIVersionForType["FileLockInfo"] = "8.0.2.0"
 30638  }
 30639  
 30640  type FileLockInfoResult struct {
 30641  	DynamicData
 30642  
 30643  	// FileLockInfo entries populated based on results fetched from host.
 30644  	//
 30645  	// If a single path is provided result should contain a single entry.
 30646  	// For a generic VM name potentially multiple entries could be fetched
 30647  	// and populated. Refer to `FileManager.QueryFileLockInfo` for
 30648  	// more details.
 30649  	LockInfo []FileLockInfo        `xml:"lockInfo,omitempty" json:"lockInfo,omitempty"`
 30650  	Fault    *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 30651  }
 30652  
 30653  func init() {
 30654  	t["FileLockInfoResult"] = reflect.TypeOf((*FileLockInfoResult)(nil)).Elem()
 30655  	minAPIVersionForType["FileLockInfoResult"] = "8.0.2.0"
 30656  }
 30657  
 30658  // Thrown if an attempt is made to lock a file that is already in use.
 30659  type FileLocked struct {
 30660  	FileFault
 30661  }
 30662  
 30663  func init() {
 30664  	t["FileLocked"] = reflect.TypeOf((*FileLocked)(nil)).Elem()
 30665  }
 30666  
 30667  type FileLockedFault FileLocked
 30668  
 30669  func init() {
 30670  	t["FileLockedFault"] = reflect.TypeOf((*FileLockedFault)(nil)).Elem()
 30671  }
 30672  
 30673  // This fault is thrown when an operation fails because the name of the
 30674  // specified file is too long.
 30675  type FileNameTooLong struct {
 30676  	FileFault
 30677  }
 30678  
 30679  func init() {
 30680  	t["FileNameTooLong"] = reflect.TypeOf((*FileNameTooLong)(nil)).Elem()
 30681  }
 30682  
 30683  type FileNameTooLongFault FileNameTooLong
 30684  
 30685  func init() {
 30686  	t["FileNameTooLongFault"] = reflect.TypeOf((*FileNameTooLongFault)(nil)).Elem()
 30687  }
 30688  
 30689  // This fault is thrown when an operation fails because the specified file
 30690  // does not exist.
 30691  type FileNotFound struct {
 30692  	FileFault
 30693  }
 30694  
 30695  func init() {
 30696  	t["FileNotFound"] = reflect.TypeOf((*FileNotFound)(nil)).Elem()
 30697  }
 30698  
 30699  type FileNotFoundFault FileNotFound
 30700  
 30701  func init() {
 30702  	t["FileNotFoundFault"] = reflect.TypeOf((*FileNotFoundFault)(nil)).Elem()
 30703  }
 30704  
 30705  // Thrown if an attempt is made to write to a read-only file.
 30706  type FileNotWritable struct {
 30707  	FileFault
 30708  }
 30709  
 30710  func init() {
 30711  	t["FileNotWritable"] = reflect.TypeOf((*FileNotWritable)(nil)).Elem()
 30712  }
 30713  
 30714  type FileNotWritableFault FileNotWritable
 30715  
 30716  func init() {
 30717  	t["FileNotWritableFault"] = reflect.TypeOf((*FileNotWritableFault)(nil)).Elem()
 30718  }
 30719  
 30720  // The data object type that describes the base query specification.
 30721  //
 30722  // Contains query
 30723  // filters and details that apply to every file. Querying only file details generally
 30724  // does not require opening files and so is an efficient query. Derived types add
 30725  // query parameters specific to the type of file.
 30726  type FileQuery struct {
 30727  	DynamicData
 30728  }
 30729  
 30730  func init() {
 30731  	t["FileQuery"] = reflect.TypeOf((*FileQuery)(nil)).Elem()
 30732  }
 30733  
 30734  // The FileInfo.Details data object type is a set of flags for a search request.
 30735  //
 30736  // This search request specifies which details to return for each matching file.
 30737  // This data object type is here to ensure that there is one flag corresponding to
 30738  // each FileInfo property other than the path name, which a search always returns.
 30739  type FileQueryFlags struct {
 30740  	DynamicData
 30741  
 30742  	// The flag to indicate whether or not the files that match this query
 30743  	// specification are returned along with file type information.
 30744  	//
 30745  	// This field must
 30746  	// be set to return specific details about the file type.
 30747  	FileType bool `xml:"fileType" json:"fileType"`
 30748  	// The flag to indicate whether or not the size of the file is returned.
 30749  	FileSize bool `xml:"fileSize" json:"fileSize"`
 30750  	// The flag to indicate whether or not to return the date and time the file was
 30751  	// last modified.
 30752  	Modification bool `xml:"modification" json:"modification"`
 30753  	// The flag to indicate whether or not to return the file owner.
 30754  	FileOwner *bool `xml:"fileOwner" json:"fileOwner,omitempty"`
 30755  }
 30756  
 30757  func init() {
 30758  	t["FileQueryFlags"] = reflect.TypeOf((*FileQueryFlags)(nil)).Elem()
 30759  }
 30760  
 30761  // This fault is thrown when an operation fails because the file is larger
 30762  // than the maximum file size supported by the datastore.
 30763  type FileTooLarge struct {
 30764  	FileFault
 30765  
 30766  	// The name of the datastore that does not support the file's size.
 30767  	Datastore string `xml:"datastore" json:"datastore"`
 30768  	// The size (in bytes) of the file.
 30769  	FileSize int64 `xml:"fileSize" json:"fileSize"`
 30770  	// The max file size (in bytes) supported on the datastore.
 30771  	MaxFileSize int64 `xml:"maxFileSize,omitempty" json:"maxFileSize,omitempty"`
 30772  }
 30773  
 30774  func init() {
 30775  	t["FileTooLarge"] = reflect.TypeOf((*FileTooLarge)(nil)).Elem()
 30776  }
 30777  
 30778  type FileTooLargeFault FileTooLarge
 30779  
 30780  func init() {
 30781  	t["FileTooLargeFault"] = reflect.TypeOf((*FileTooLargeFault)(nil)).Elem()
 30782  }
 30783  
 30784  // Represents the information about a
 30785  // `GuestFileManager.InitiateFileTransferFromGuest` operation
 30786  // of `GuestFileManager` object.
 30787  //
 30788  // The user can use the URL provided in url property to transfer
 30789  // the file from the guest. The user should send a HTTP GET request to the
 30790  // URL. Entire file content will be returned in the body of the response
 30791  // message.
 30792  type FileTransferInformation struct {
 30793  	DynamicData
 30794  
 30795  	// File attributes of the file that is being transferred from the guest.
 30796  	Attributes BaseGuestFileAttributes `xml:"attributes,typeattr" json:"attributes"`
 30797  	// Total size of the file in bytes.
 30798  	Size int64 `xml:"size" json:"size"`
 30799  	// Specifies the URL to which the user has to send HTTP GET request.
 30800  	//
 30801  	// Multiple GET requests cannot be sent to the URL simultaneously. URL
 30802  	// will become invalid once a successful GET request is sent.
 30803  	//
 30804  	// The host part of the URL is returned as '\*' if the hostname to be used
 30805  	// is the name of the server to which the call was made. For example, if
 30806  	// the call is made to esx-svr-1.domain1.com, and the file is available for
 30807  	// download from
 30808  	// `https://esx-svr-1.domain1.com/guestFile?id=1&token=1234`,
 30809  	// the URL returned may be
 30810  	// `https://&#42;/guestFile?id=1&token=1234`.
 30811  	// The client replaces the asterisk with the server name on which it
 30812  	// invoked the call.
 30813  	//
 30814  	// The URL is valid only for 10 minutes from the time it is generated.
 30815  	// Also, the URL becomes invalid whenever the virtual machine is powered
 30816  	// off, suspended or unregistered.
 30817  	Url string `xml:"url" json:"url"`
 30818  }
 30819  
 30820  func init() {
 30821  	t["FileTransferInformation"] = reflect.TypeOf((*FileTransferInformation)(nil)).Elem()
 30822  }
 30823  
 30824  // This fault is thrown when creating a quiesced snapshot failed
 30825  // because the create snapshot operation exceeded the time limit
 30826  // for holding off I/O in the frozen VM.
 30827  //
 30828  // This indicates that when we attempted to thaw the VM after
 30829  // creating the snapshot, we got an error back indicating that
 30830  // the VM was not frozen anymore. In this case, we roll back
 30831  // the entire snapshot create operation and throw this exception.
 30832  type FilesystemQuiesceFault struct {
 30833  	SnapshotFault
 30834  }
 30835  
 30836  func init() {
 30837  	t["FilesystemQuiesceFault"] = reflect.TypeOf((*FilesystemQuiesceFault)(nil)).Elem()
 30838  }
 30839  
 30840  type FilesystemQuiesceFaultFault FilesystemQuiesceFault
 30841  
 30842  func init() {
 30843  	t["FilesystemQuiesceFaultFault"] = reflect.TypeOf((*FilesystemQuiesceFaultFault)(nil)).Elem()
 30844  }
 30845  
 30846  // A FilterInUse fault indicates that some error has occurred because an
 30847  // IO filter was in use.
 30848  type FilterInUse struct {
 30849  	ResourceInUse
 30850  
 30851  	// Virtual disks that use the filter.
 30852  	Disk []VirtualDiskId `xml:"disk,omitempty" json:"disk,omitempty"`
 30853  }
 30854  
 30855  func init() {
 30856  	t["FilterInUse"] = reflect.TypeOf((*FilterInUse)(nil)).Elem()
 30857  }
 30858  
 30859  type FilterInUseFault FilterInUse
 30860  
 30861  func init() {
 30862  	t["FilterInUseFault"] = reflect.TypeOf((*FilterInUseFault)(nil)).Elem()
 30863  }
 30864  
 30865  type FindAllByDnsName FindAllByDnsNameRequestType
 30866  
 30867  func init() {
 30868  	t["FindAllByDnsName"] = reflect.TypeOf((*FindAllByDnsName)(nil)).Elem()
 30869  }
 30870  
 30871  // The parameters of `SearchIndex.FindAllByDnsName`.
 30872  type FindAllByDnsNameRequestType struct {
 30873  	This ManagedObjectReference `xml:"_this" json:"-"`
 30874  	// If specified, restricts the query to entities in
 30875  	// a particular datacenter. If not specified, the entire inventory is
 30876  	// searched.
 30877  	//
 30878  	// Refers instance of `Datacenter`.
 30879  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30880  	// The fully qualified domain name to find.
 30881  	DnsName string `xml:"dnsName" json:"dnsName"`
 30882  	// If true, search for virtual machines, otherwise search for
 30883  	// hosts.
 30884  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30885  }
 30886  
 30887  func init() {
 30888  	t["FindAllByDnsNameRequestType"] = reflect.TypeOf((*FindAllByDnsNameRequestType)(nil)).Elem()
 30889  }
 30890  
 30891  type FindAllByDnsNameResponse struct {
 30892  	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
 30893  }
 30894  
 30895  type FindAllByIp FindAllByIpRequestType
 30896  
 30897  func init() {
 30898  	t["FindAllByIp"] = reflect.TypeOf((*FindAllByIp)(nil)).Elem()
 30899  }
 30900  
 30901  // The parameters of `SearchIndex.FindAllByIp`.
 30902  type FindAllByIpRequestType struct {
 30903  	This ManagedObjectReference `xml:"_this" json:"-"`
 30904  	// If specified, restricts the query to entities in
 30905  	// a particular datacenter. If not specified, the entire inventory is
 30906  	// searched.
 30907  	//
 30908  	// Refers instance of `Datacenter`.
 30909  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30910  	// The dot-decimal notation formatted IP address to find.
 30911  	Ip string `xml:"ip" json:"ip"`
 30912  	// If true, search for virtual machines, otherwise search for
 30913  	// hosts.
 30914  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30915  }
 30916  
 30917  func init() {
 30918  	t["FindAllByIpRequestType"] = reflect.TypeOf((*FindAllByIpRequestType)(nil)).Elem()
 30919  }
 30920  
 30921  type FindAllByIpResponse struct {
 30922  	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
 30923  }
 30924  
 30925  type FindAllByUuid FindAllByUuidRequestType
 30926  
 30927  func init() {
 30928  	t["FindAllByUuid"] = reflect.TypeOf((*FindAllByUuid)(nil)).Elem()
 30929  }
 30930  
 30931  // The parameters of `SearchIndex.FindAllByUuid`.
 30932  type FindAllByUuidRequestType struct {
 30933  	This ManagedObjectReference `xml:"_this" json:"-"`
 30934  	// If specified, restricts the query to entities in
 30935  	// a particular datacenter. If not specified, the entire inventory is
 30936  	// searched.
 30937  	//
 30938  	// Refers instance of `Datacenter`.
 30939  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30940  	// The UUID to find. If vmSearch is true, the UUID can be either BIOS
 30941  	// or instance UUID.
 30942  	Uuid string `xml:"uuid" json:"uuid"`
 30943  	// If true, search for virtual machines, otherwise search for
 30944  	// hosts.
 30945  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30946  	// Should only be set when vmSearch is true. If specified, search
 30947  	// for virtual machines whose instance UUID matches the given uuid.
 30948  	// Otherwise, search for virtual machines whose BIOS UUID matches the given
 30949  	// uuid.
 30950  	InstanceUuid *bool `xml:"instanceUuid" json:"instanceUuid,omitempty"`
 30951  }
 30952  
 30953  func init() {
 30954  	t["FindAllByUuidRequestType"] = reflect.TypeOf((*FindAllByUuidRequestType)(nil)).Elem()
 30955  }
 30956  
 30957  type FindAllByUuidResponse struct {
 30958  	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
 30959  }
 30960  
 30961  type FindAssociatedProfile FindAssociatedProfileRequestType
 30962  
 30963  func init() {
 30964  	t["FindAssociatedProfile"] = reflect.TypeOf((*FindAssociatedProfile)(nil)).Elem()
 30965  }
 30966  
 30967  // The parameters of `ProfileManager.FindAssociatedProfile`.
 30968  type FindAssociatedProfileRequestType struct {
 30969  	This ManagedObjectReference `xml:"_this" json:"-"`
 30970  	// Entity for which profile is being looked up.
 30971  	//
 30972  	// Refers instance of `ManagedEntity`.
 30973  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 30974  }
 30975  
 30976  func init() {
 30977  	t["FindAssociatedProfileRequestType"] = reflect.TypeOf((*FindAssociatedProfileRequestType)(nil)).Elem()
 30978  }
 30979  
 30980  type FindAssociatedProfileResponse struct {
 30981  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30982  }
 30983  
 30984  type FindByDatastorePath FindByDatastorePathRequestType
 30985  
 30986  func init() {
 30987  	t["FindByDatastorePath"] = reflect.TypeOf((*FindByDatastorePath)(nil)).Elem()
 30988  }
 30989  
 30990  // The parameters of `SearchIndex.FindByDatastorePath`.
 30991  type FindByDatastorePathRequestType struct {
 30992  	This ManagedObjectReference `xml:"_this" json:"-"`
 30993  	// Specifies the datacenter to which the datastore path belongs.
 30994  	//
 30995  	// Refers instance of `Datacenter`.
 30996  	Datacenter ManagedObjectReference `xml:"datacenter" json:"datacenter"`
 30997  	// A datastore path to the .vmx file for the virtual machine.
 30998  	Path string `xml:"path" json:"path"`
 30999  }
 31000  
 31001  func init() {
 31002  	t["FindByDatastorePathRequestType"] = reflect.TypeOf((*FindByDatastorePathRequestType)(nil)).Elem()
 31003  }
 31004  
 31005  type FindByDatastorePathResponse struct {
 31006  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31007  }
 31008  
 31009  type FindByDnsName FindByDnsNameRequestType
 31010  
 31011  func init() {
 31012  	t["FindByDnsName"] = reflect.TypeOf((*FindByDnsName)(nil)).Elem()
 31013  }
 31014  
 31015  // The parameters of `SearchIndex.FindByDnsName`.
 31016  type FindByDnsNameRequestType struct {
 31017  	This ManagedObjectReference `xml:"_this" json:"-"`
 31018  	// If specified, restricts the query to entities in
 31019  	// a particular datacenter. If not specified, the entire inventory is
 31020  	// searched.
 31021  	//
 31022  	// Refers instance of `Datacenter`.
 31023  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 31024  	// The fully qualified domain name to find.
 31025  	DnsName string `xml:"dnsName" json:"dnsName"`
 31026  	// if true, search for virtual machines, otherwise search for
 31027  	// hosts.
 31028  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 31029  }
 31030  
 31031  func init() {
 31032  	t["FindByDnsNameRequestType"] = reflect.TypeOf((*FindByDnsNameRequestType)(nil)).Elem()
 31033  }
 31034  
 31035  type FindByDnsNameResponse struct {
 31036  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31037  }
 31038  
 31039  type FindByInventoryPath FindByInventoryPathRequestType
 31040  
 31041  func init() {
 31042  	t["FindByInventoryPath"] = reflect.TypeOf((*FindByInventoryPath)(nil)).Elem()
 31043  }
 31044  
 31045  // The parameters of `SearchIndex.FindByInventoryPath`.
 31046  type FindByInventoryPathRequestType struct {
 31047  	This ManagedObjectReference `xml:"_this" json:"-"`
 31048  	// The path to the entity.
 31049  	InventoryPath string `xml:"inventoryPath" json:"inventoryPath"`
 31050  }
 31051  
 31052  func init() {
 31053  	t["FindByInventoryPathRequestType"] = reflect.TypeOf((*FindByInventoryPathRequestType)(nil)).Elem()
 31054  }
 31055  
 31056  type FindByInventoryPathResponse struct {
 31057  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31058  }
 31059  
 31060  type FindByIp FindByIpRequestType
 31061  
 31062  func init() {
 31063  	t["FindByIp"] = reflect.TypeOf((*FindByIp)(nil)).Elem()
 31064  }
 31065  
 31066  // The parameters of `SearchIndex.FindByIp`.
 31067  type FindByIpRequestType struct {
 31068  	This ManagedObjectReference `xml:"_this" json:"-"`
 31069  	// If specified, restricts the query to entities in
 31070  	// a particular datacenter. If not specified, the entire inventory is
 31071  	// searched.
 31072  	//
 31073  	// Refers instance of `Datacenter`.
 31074  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 31075  	// The dot-decimal notation formatted IP address to find.
 31076  	Ip string `xml:"ip" json:"ip"`
 31077  	// if true, search for virtual machines, otherwise search for
 31078  	// hosts.
 31079  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 31080  }
 31081  
 31082  func init() {
 31083  	t["FindByIpRequestType"] = reflect.TypeOf((*FindByIpRequestType)(nil)).Elem()
 31084  }
 31085  
 31086  type FindByIpResponse struct {
 31087  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31088  }
 31089  
 31090  type FindByUuid FindByUuidRequestType
 31091  
 31092  func init() {
 31093  	t["FindByUuid"] = reflect.TypeOf((*FindByUuid)(nil)).Elem()
 31094  }
 31095  
 31096  // The parameters of `SearchIndex.FindByUuid`.
 31097  type FindByUuidRequestType struct {
 31098  	This ManagedObjectReference `xml:"_this" json:"-"`
 31099  	// If specified, restricts the query to entities in
 31100  	// a particular datacenter. If not specified, the entire inventory is
 31101  	// searched.
 31102  	//
 31103  	// Refers instance of `Datacenter`.
 31104  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 31105  	// The UUID to find. If vmSearch is true, the uuid can be either BIOS
 31106  	// or instance UUID.
 31107  	Uuid string `xml:"uuid" json:"uuid"`
 31108  	// If true, search for virtual machines, otherwise search for
 31109  	// hosts.
 31110  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 31111  	// Should only be set when vmSearch is true. If specified, search
 31112  	// for virtual machines whose instance UUID matches the given uuid.
 31113  	// Otherwise, search for virtual machines whose BIOS UUID matches the given
 31114  	// uuid.
 31115  	InstanceUuid *bool `xml:"instanceUuid" json:"instanceUuid,omitempty"`
 31116  }
 31117  
 31118  func init() {
 31119  	t["FindByUuidRequestType"] = reflect.TypeOf((*FindByUuidRequestType)(nil)).Elem()
 31120  }
 31121  
 31122  type FindByUuidResponse struct {
 31123  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31124  }
 31125  
 31126  type FindChild FindChildRequestType
 31127  
 31128  func init() {
 31129  	t["FindChild"] = reflect.TypeOf((*FindChild)(nil)).Elem()
 31130  }
 31131  
 31132  // The parameters of `SearchIndex.FindChild`.
 31133  type FindChildRequestType struct {
 31134  	This ManagedObjectReference `xml:"_this" json:"-"`
 31135  	// A reference to a managed entity.
 31136  	//
 31137  	// Refers instance of `ManagedEntity`.
 31138  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 31139  	// The name of the child object.
 31140  	Name string `xml:"name" json:"name"`
 31141  }
 31142  
 31143  func init() {
 31144  	t["FindChildRequestType"] = reflect.TypeOf((*FindChildRequestType)(nil)).Elem()
 31145  }
 31146  
 31147  type FindChildResponse struct {
 31148  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31149  }
 31150  
 31151  type FindExtension FindExtensionRequestType
 31152  
 31153  func init() {
 31154  	t["FindExtension"] = reflect.TypeOf((*FindExtension)(nil)).Elem()
 31155  }
 31156  
 31157  // The parameters of `ExtensionManager.FindExtension`.
 31158  type FindExtensionRequestType struct {
 31159  	This ManagedObjectReference `xml:"_this" json:"-"`
 31160  	// Key to search for.
 31161  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 31162  }
 31163  
 31164  func init() {
 31165  	t["FindExtensionRequestType"] = reflect.TypeOf((*FindExtensionRequestType)(nil)).Elem()
 31166  }
 31167  
 31168  type FindExtensionResponse struct {
 31169  	Returnval *Extension `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31170  }
 31171  
 31172  type FindRulesForVm FindRulesForVmRequestType
 31173  
 31174  func init() {
 31175  	t["FindRulesForVm"] = reflect.TypeOf((*FindRulesForVm)(nil)).Elem()
 31176  }
 31177  
 31178  // The parameters of `ClusterComputeResource.FindRulesForVm`.
 31179  type FindRulesForVmRequestType struct {
 31180  	This ManagedObjectReference `xml:"_this" json:"-"`
 31181  	// The vm whose rules need to be looked up.
 31182  	//
 31183  	// Refers instance of `VirtualMachine`.
 31184  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 31185  }
 31186  
 31187  func init() {
 31188  	t["FindRulesForVmRequestType"] = reflect.TypeOf((*FindRulesForVmRequestType)(nil)).Elem()
 31189  }
 31190  
 31191  type FindRulesForVmResponse struct {
 31192  	Returnval []BaseClusterRuleInfo `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 31193  }
 31194  
 31195  // The `FirewallProfile` data object represents a host firewall configuration.
 31196  //
 31197  // If a profile plug-in defines policies or subprofiles, use the
 31198  // `ApplyProfile.policy` or `ApplyProfile.property`
 31199  // list to access the additional configuration data.
 31200  type FirewallProfile struct {
 31201  	ApplyProfile
 31202  
 31203  	// List of Rulesets that will be configured for the firewall subprofile.
 31204  	//
 31205  	// The rulesets can be enabled or disabled from the profile.
 31206  	Ruleset []FirewallProfileRulesetProfile `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
 31207  }
 31208  
 31209  func init() {
 31210  	t["FirewallProfile"] = reflect.TypeOf((*FirewallProfile)(nil)).Elem()
 31211  }
 31212  
 31213  type FirewallProfileRulesetProfile struct {
 31214  	ApplyProfile
 31215  
 31216  	// Linkable identifier.
 31217  	Key string `xml:"key" json:"key"`
 31218  }
 31219  
 31220  func init() {
 31221  	t["FirewallProfileRulesetProfile"] = reflect.TypeOf((*FirewallProfileRulesetProfile)(nil)).Elem()
 31222  }
 31223  
 31224  // The FloatOption data object type defines the minimum, maximum,
 31225  // and default values for a float option.
 31226  type FloatOption struct {
 31227  	OptionType
 31228  
 31229  	// The minimum value.
 31230  	Min float32 `xml:"min" json:"min"`
 31231  	// The maximum value.
 31232  	Max float32 `xml:"max" json:"max"`
 31233  	// The default value.
 31234  	DefaultValue float32 `xml:"defaultValue" json:"defaultValue"`
 31235  }
 31236  
 31237  func init() {
 31238  	t["FloatOption"] = reflect.TypeOf((*FloatOption)(nil)).Elem()
 31239  }
 31240  
 31241  // This data object type describes a file that is a floppy disk image.
 31242  type FloppyImageFileInfo struct {
 31243  	FileInfo
 31244  }
 31245  
 31246  func init() {
 31247  	t["FloppyImageFileInfo"] = reflect.TypeOf((*FloppyImageFileInfo)(nil)).Elem()
 31248  }
 31249  
 31250  // This data object type describes the query specification for a floppy disk image.
 31251  type FloppyImageFileQuery struct {
 31252  	FileQuery
 31253  }
 31254  
 31255  func init() {
 31256  	t["FloppyImageFileQuery"] = reflect.TypeOf((*FloppyImageFileQuery)(nil)).Elem()
 31257  }
 31258  
 31259  type FolderBatchAddHostsToClusterResult struct {
 31260  	DynamicData
 31261  
 31262  	// List of hosts that were successfully added to the cluster
 31263  	// in the desired state.
 31264  	//
 31265  	// Refers instances of `HostSystem`.
 31266  	HostsAddedToCluster []ManagedObjectReference `xml:"hostsAddedToCluster,omitempty" json:"hostsAddedToCluster,omitempty"`
 31267  	// Contains a fault for each host that failed addition to the inventory.
 31268  	//
 31269  	// A failed host will not be part of hostsAddedToCluster list.
 31270  	HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty" json:"hostsFailedInventoryAdd,omitempty"`
 31271  	// List of hosts that are part of inventory but failed to move to the
 31272  	// cluster in the desired state.
 31273  	//
 31274  	// A failed host will not be part of hostsAddedToCluster list however,
 31275  	// a failed host will be part of inventory as it might have been added
 31276  	// as a standalone host but failed to move to cluster in the desired
 31277  	// state.
 31278  	HostsFailedMoveToCluster []FolderFailedHostResult `xml:"hostsFailedMoveToCluster,omitempty" json:"hostsFailedMoveToCluster,omitempty"`
 31279  }
 31280  
 31281  func init() {
 31282  	t["FolderBatchAddHostsToClusterResult"] = reflect.TypeOf((*FolderBatchAddHostsToClusterResult)(nil)).Elem()
 31283  }
 31284  
 31285  type FolderBatchAddStandaloneHostsResult struct {
 31286  	DynamicData
 31287  
 31288  	// List of hosts that were successfully added as standalone hosts
 31289  	// to the inventory.
 31290  	//
 31291  	// Refers instances of `HostSystem`.
 31292  	AddedHosts []ManagedObjectReference `xml:"addedHosts,omitempty" json:"addedHosts,omitempty"`
 31293  	// Contains a fault for each host that failed to add.
 31294  	//
 31295  	// A failed host
 31296  	// will not be part of addedHosts list.
 31297  	HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty" json:"hostsFailedInventoryAdd,omitempty"`
 31298  }
 31299  
 31300  func init() {
 31301  	t["FolderBatchAddStandaloneHostsResult"] = reflect.TypeOf((*FolderBatchAddStandaloneHostsResult)(nil)).Elem()
 31302  }
 31303  
 31304  // The event argument is a Folder object.
 31305  type FolderEventArgument struct {
 31306  	EntityEventArgument
 31307  
 31308  	// The Folder object.
 31309  	//
 31310  	// Refers instance of `Folder`.
 31311  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
 31312  }
 31313  
 31314  func init() {
 31315  	t["FolderEventArgument"] = reflect.TypeOf((*FolderEventArgument)(nil)).Elem()
 31316  }
 31317  
 31318  // Information of externally managed folder.
 31319  type FolderExternallyManagedFolderInfo struct {
 31320  	DynamicData
 31321  
 31322  	// The ID of the folder in the external system.
 31323  	Id string `xml:"id" json:"id"`
 31324  	// The type of the externally managed folder.
 31325  	//
 31326  	// See `FolderExternallyManagedFolderType_enum` for supported values.
 31327  	Type string `xml:"type" json:"type"`
 31328  }
 31329  
 31330  func init() {
 31331  	t["FolderExternallyManagedFolderInfo"] = reflect.TypeOf((*FolderExternallyManagedFolderInfo)(nil)).Elem()
 31332  	minAPIVersionForType["FolderExternallyManagedFolderInfo"] = "9.0.0.0"
 31333  }
 31334  
 31335  type FolderFailedHostResult struct {
 31336  	DynamicData
 31337  
 31338  	// Host name for which fault belongs to.
 31339  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 31340  	// Host for which fault belongs to.
 31341  	//
 31342  	// Only set when the HostSystem
 31343  	// reference is avaibale as a result of Host being part of inventory.
 31344  	//
 31345  	// Refers instance of `HostSystem`.
 31346  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 31347  	// Message describing context where the failure happened.
 31348  	Context LocalizableMessage `xml:"context" json:"context"`
 31349  	// Exception encountered while operating on this host.
 31350  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 31351  }
 31352  
 31353  func init() {
 31354  	t["FolderFailedHostResult"] = reflect.TypeOf((*FolderFailedHostResult)(nil)).Elem()
 31355  }
 31356  
 31357  // This data object type describes a file that is a folder (directory).
 31358  type FolderFileInfo struct {
 31359  	FileInfo
 31360  }
 31361  
 31362  func init() {
 31363  	t["FolderFileInfo"] = reflect.TypeOf((*FolderFileInfo)(nil)).Elem()
 31364  }
 31365  
 31366  // This data object type describes the query specification for a folder (directory).
 31367  type FolderFileQuery struct {
 31368  	FileQuery
 31369  }
 31370  
 31371  func init() {
 31372  	t["FolderFileQuery"] = reflect.TypeOf((*FolderFileQuery)(nil)).Elem()
 31373  }
 31374  
 31375  type FolderNewHostSpec struct {
 31376  	DynamicData
 31377  
 31378  	// Connection Spec for new host that needs to be added to the inventory.
 31379  	HostCnxSpec HostConnectSpec `xml:"hostCnxSpec" json:"hostCnxSpec"`
 31380  	// LicenseKey.
 31381  	//
 31382  	// See `LicenseManager`. If supplied, new
 31383  	// host will be updated with the license.
 31384  	EsxLicense string `xml:"esxLicense,omitempty" json:"esxLicense,omitempty"`
 31385  }
 31386  
 31387  func init() {
 31388  	t["FolderNewHostSpec"] = reflect.TypeOf((*FolderNewHostSpec)(nil)).Elem()
 31389  }
 31390  
 31391  type FormatVffs FormatVffsRequestType
 31392  
 31393  func init() {
 31394  	t["FormatVffs"] = reflect.TypeOf((*FormatVffs)(nil)).Elem()
 31395  }
 31396  
 31397  // The parameters of `HostStorageSystem.FormatVffs`.
 31398  type FormatVffsRequestType struct {
 31399  	This ManagedObjectReference `xml:"_this" json:"-"`
 31400  	// A data object that describes the VFFS volume
 31401  	// creation specification.
 31402  	CreateSpec HostVffsSpec `xml:"createSpec" json:"createSpec"`
 31403  }
 31404  
 31405  func init() {
 31406  	t["FormatVffsRequestType"] = reflect.TypeOf((*FormatVffsRequestType)(nil)).Elem()
 31407  }
 31408  
 31409  type FormatVffsResponse struct {
 31410  	Returnval HostVffsVolume `xml:"returnval" json:"returnval"`
 31411  }
 31412  
 31413  type FormatVmfs FormatVmfsRequestType
 31414  
 31415  func init() {
 31416  	t["FormatVmfs"] = reflect.TypeOf((*FormatVmfs)(nil)).Elem()
 31417  }
 31418  
 31419  // The parameters of `HostStorageSystem.FormatVmfs`.
 31420  type FormatVmfsRequestType struct {
 31421  	This ManagedObjectReference `xml:"_this" json:"-"`
 31422  	// A data object that describes the VMware File System
 31423  	// (VMFS) creation specification.
 31424  	CreateSpec HostVmfsSpec `xml:"createSpec" json:"createSpec"`
 31425  }
 31426  
 31427  func init() {
 31428  	t["FormatVmfsRequestType"] = reflect.TypeOf((*FormatVmfsRequestType)(nil)).Elem()
 31429  }
 31430  
 31431  type FormatVmfsResponse struct {
 31432  	Returnval HostVmfsVolume `xml:"returnval" json:"returnval"`
 31433  }
 31434  
 31435  // The FtIssuesOnHost fault reports issues that prevent a particular
 31436  // host from being used as the register or power on host for a Fault
 31437  // Tolerance secondary virtual machine
 31438  type FtIssuesOnHost struct {
 31439  	VmFaultToleranceIssue
 31440  
 31441  	// The host which has Fault Tolerance issues.
 31442  	//
 31443  	// Refers instance of `HostSystem`.
 31444  	Host ManagedObjectReference `xml:"host" json:"host"`
 31445  	// Name for the host which has Fault Tolerance issues.
 31446  	HostName string `xml:"hostName" json:"hostName"`
 31447  	// Information on the details of the Fault Tolerance issues
 31448  	Errors []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
 31449  }
 31450  
 31451  func init() {
 31452  	t["FtIssuesOnHost"] = reflect.TypeOf((*FtIssuesOnHost)(nil)).Elem()
 31453  }
 31454  
 31455  type FtIssuesOnHostFault FtIssuesOnHost
 31456  
 31457  func init() {
 31458  	t["FtIssuesOnHostFault"] = reflect.TypeOf((*FtIssuesOnHostFault)(nil)).Elem()
 31459  }
 31460  
 31461  // The virtual machine if powered on or VMotioned, would violate an
 31462  // FT VM-Host rule.
 31463  type FtVmHostRuleViolation struct {
 31464  	VmConfigFault
 31465  
 31466  	// The vm that can not be powered on or VMotioned without violating FT Metro
 31467  	// Cluster placement rule.
 31468  	VmName string `xml:"vmName" json:"vmName"`
 31469  	// The host that the virtual machine can not be powered on without violating
 31470  	// FT Metro Cluster placement rule.
 31471  	HostName string `xml:"hostName" json:"hostName"`
 31472  	// Indicate the Host Group for FT Metro Cluster enabled Virtual Machine.
 31473  	HostGroup string `xml:"hostGroup" json:"hostGroup"`
 31474  }
 31475  
 31476  func init() {
 31477  	t["FtVmHostRuleViolation"] = reflect.TypeOf((*FtVmHostRuleViolation)(nil)).Elem()
 31478  	minAPIVersionForType["FtVmHostRuleViolation"] = "8.0.3.0"
 31479  }
 31480  
 31481  type FtVmHostRuleViolationFault FtVmHostRuleViolation
 31482  
 31483  func init() {
 31484  	t["FtVmHostRuleViolationFault"] = reflect.TypeOf((*FtVmHostRuleViolationFault)(nil)).Elem()
 31485  }
 31486  
 31487  // An operation on a powered-on virtual machine requests a simultaneous change
 31488  // of storage location and execution host, but the host does not have that
 31489  // capability.
 31490  type FullStorageVMotionNotSupported struct {
 31491  	MigrationFeatureNotSupported
 31492  }
 31493  
 31494  func init() {
 31495  	t["FullStorageVMotionNotSupported"] = reflect.TypeOf((*FullStorageVMotionNotSupported)(nil)).Elem()
 31496  }
 31497  
 31498  type FullStorageVMotionNotSupportedFault FullStorageVMotionNotSupported
 31499  
 31500  func init() {
 31501  	t["FullStorageVMotionNotSupportedFault"] = reflect.TypeOf((*FullStorageVMotionNotSupportedFault)(nil)).Elem()
 31502  }
 31503  
 31504  // Deprecated not used since vSphere 6.5.
 31505  //
 31506  // GatewayConnectFault is a base fault type for the faults thrown by a gateway
 31507  // server used to connect to a host.
 31508  type GatewayConnectFault struct {
 31509  	HostConnectFault
 31510  
 31511  	// The type of the gateway used for the connection to the host.
 31512  	GatewayType string `xml:"gatewayType" json:"gatewayType"`
 31513  	// Identifier of the gateway that is used for the connection to the host.
 31514  	GatewayId string `xml:"gatewayId" json:"gatewayId"`
 31515  	// Human-readable information about the host gateway server.
 31516  	GatewayInfo string `xml:"gatewayInfo" json:"gatewayInfo"`
 31517  	// Details of the cause for this fault.
 31518  	//
 31519  	// This is the way in which Host
 31520  	// Gateway servers propagate opaque error messages through vCenter Server.
 31521  	Details *LocalizableMessage `xml:"details,omitempty" json:"details,omitempty"`
 31522  }
 31523  
 31524  func init() {
 31525  	t["GatewayConnectFault"] = reflect.TypeOf((*GatewayConnectFault)(nil)).Elem()
 31526  }
 31527  
 31528  type GatewayConnectFaultFault BaseGatewayConnectFault
 31529  
 31530  func init() {
 31531  	t["GatewayConnectFaultFault"] = reflect.TypeOf((*GatewayConnectFaultFault)(nil)).Elem()
 31532  }
 31533  
 31534  // Deprecated not used since vSphere 6.5.
 31535  //
 31536  // GatewayHostNotReachable is thrown by the gateway used to connect to a host,
 31537  // if an error occurs while establishing a connection to that host.
 31538  //
 31539  // The fault may provide a more detailed message of what caused the problem.
 31540  type GatewayHostNotReachable struct {
 31541  	GatewayToHostConnectFault
 31542  }
 31543  
 31544  func init() {
 31545  	t["GatewayHostNotReachable"] = reflect.TypeOf((*GatewayHostNotReachable)(nil)).Elem()
 31546  }
 31547  
 31548  type GatewayHostNotReachableFault GatewayHostNotReachable
 31549  
 31550  func init() {
 31551  	t["GatewayHostNotReachableFault"] = reflect.TypeOf((*GatewayHostNotReachableFault)(nil)).Elem()
 31552  }
 31553  
 31554  // Deprecated not used since vSphere 6.5.
 31555  //
 31556  // GatewayNotFound is thrown by vCenter Server, if no host gateway with the
 31557  // specified type/id and available resources is known to the vCenter Server.
 31558  type GatewayNotFound struct {
 31559  	GatewayConnectFault
 31560  }
 31561  
 31562  func init() {
 31563  	t["GatewayNotFound"] = reflect.TypeOf((*GatewayNotFound)(nil)).Elem()
 31564  }
 31565  
 31566  type GatewayNotFoundFault GatewayNotFound
 31567  
 31568  func init() {
 31569  	t["GatewayNotFoundFault"] = reflect.TypeOf((*GatewayNotFoundFault)(nil)).Elem()
 31570  }
 31571  
 31572  // Deprecated not used since vSphere 6.5.
 31573  //
 31574  // GatewayNotReachable is thrown by vCenter Server when it fails to establish
 31575  // a connection to the host gateway server.
 31576  //
 31577  // This fault may occur due to
 31578  // network connectivity problems or inability to establish secure connection
 31579  // between the gateway server and vCenter Server.
 31580  type GatewayNotReachable struct {
 31581  	GatewayConnectFault
 31582  }
 31583  
 31584  func init() {
 31585  	t["GatewayNotReachable"] = reflect.TypeOf((*GatewayNotReachable)(nil)).Elem()
 31586  }
 31587  
 31588  type GatewayNotReachableFault GatewayNotReachable
 31589  
 31590  func init() {
 31591  	t["GatewayNotReachableFault"] = reflect.TypeOf((*GatewayNotReachableFault)(nil)).Elem()
 31592  }
 31593  
 31594  // Deprecated not used sine vSphere 6.5.
 31595  //
 31596  // GatewayOperationRefused is thrown by vCenter Server when a gateway server denies to
 31597  // accept more connection due to resource limitation.
 31598  //
 31599  // The fault may occur due
 31600  // to specific configuration of the Gateway server to work with limited
 31601  // resources or due to physical limitation to handle more host connections.
 31602  type GatewayOperationRefused struct {
 31603  	GatewayConnectFault
 31604  }
 31605  
 31606  func init() {
 31607  	t["GatewayOperationRefused"] = reflect.TypeOf((*GatewayOperationRefused)(nil)).Elem()
 31608  }
 31609  
 31610  type GatewayOperationRefusedFault GatewayOperationRefused
 31611  
 31612  func init() {
 31613  	t["GatewayOperationRefusedFault"] = reflect.TypeOf((*GatewayOperationRefusedFault)(nil)).Elem()
 31614  }
 31615  
 31616  // Deprecated not used since vSphere 6.5.
 31617  //
 31618  // GatewayToHostAuthFault is thrown by the gateway used to communicate with a
 31619  // host, if the gateway cannot authenticate to the host with the provided
 31620  // authentication data.
 31621  //
 31622  // The fault provides information, which of the properties given in the
 31623  // authentication data are invalid or if more properties are required.
 31624  //
 31625  // See also `HostGatewaySpec.hostAuthParams`.
 31626  type GatewayToHostAuthFault struct {
 31627  	GatewayToHostConnectFault
 31628  
 31629  	// List of properties that have been provided in the authentication data
 31630  	// but have wrong values.
 31631  	InvalidProperties []string `xml:"invalidProperties" json:"invalidProperties"`
 31632  	// List of properties that do not have their values specified in the
 31633  	// provided authentication data but are required.
 31634  	MissingProperties []string `xml:"missingProperties" json:"missingProperties"`
 31635  }
 31636  
 31637  func init() {
 31638  	t["GatewayToHostAuthFault"] = reflect.TypeOf((*GatewayToHostAuthFault)(nil)).Elem()
 31639  }
 31640  
 31641  type GatewayToHostAuthFaultFault GatewayToHostAuthFault
 31642  
 31643  func init() {
 31644  	t["GatewayToHostAuthFaultFault"] = reflect.TypeOf((*GatewayToHostAuthFaultFault)(nil)).Elem()
 31645  }
 31646  
 31647  // Deprecated not used since vSphere 6.5.
 31648  //
 31649  // GatewayToHostConnectFault is thrown by the gateway used to communicate
 31650  // with a host, if an error occurs in the communication between the gateway and
 31651  // the host.
 31652  //
 31653  // More details may be provided by a subfault.
 31654  type GatewayToHostConnectFault struct {
 31655  	GatewayConnectFault
 31656  
 31657  	// Hostname of the host that the gateway is communicating with.
 31658  	Hostname string `xml:"hostname" json:"hostname"`
 31659  	// Port specified for the connection between the gateway and the host.
 31660  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 31661  }
 31662  
 31663  func init() {
 31664  	t["GatewayToHostConnectFault"] = reflect.TypeOf((*GatewayToHostConnectFault)(nil)).Elem()
 31665  }
 31666  
 31667  type GatewayToHostConnectFaultFault BaseGatewayToHostConnectFault
 31668  
 31669  func init() {
 31670  	t["GatewayToHostConnectFaultFault"] = reflect.TypeOf((*GatewayToHostConnectFaultFault)(nil)).Elem()
 31671  }
 31672  
 31673  // Deprecated not used since vSphere 6.5.
 31674  //
 31675  // GatewayToHostTrustVerifyFault is thrown by the gateway used to communicate
 31676  // with a host, if it cannot establish a trusted connection to the host with
 31677  // the provided host verification token parameter.
 31678  //
 31679  // The fault provides a list of opaque &lt;key,value&gt; properties, which the end
 31680  // user has to verify in order to trust the host and a verification token,
 31681  // which can be used to state that those exact properties are valid.
 31682  //
 31683  // See also `HostGatewaySpec.trustVerificationToken`.
 31684  type GatewayToHostTrustVerifyFault struct {
 31685  	GatewayToHostConnectFault
 31686  
 31687  	// A unique verification token, that can be used to state the the listed
 31688  	// properties are valid.
 31689  	VerificationToken string `xml:"verificationToken" json:"verificationToken"`
 31690  	// A key/value list of properties that need user verification in order
 31691  	// for the gateway to trust the host to succeed.
 31692  	//
 31693  	// For instance the user may
 31694  	// need to verify an SSL thumbprint or a whole certificate.
 31695  	PropertiesToVerify []KeyValue `xml:"propertiesToVerify" json:"propertiesToVerify"`
 31696  }
 31697  
 31698  func init() {
 31699  	t["GatewayToHostTrustVerifyFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFault)(nil)).Elem()
 31700  }
 31701  
 31702  type GatewayToHostTrustVerifyFaultFault GatewayToHostTrustVerifyFault
 31703  
 31704  func init() {
 31705  	t["GatewayToHostTrustVerifyFaultFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFaultFault)(nil)).Elem()
 31706  }
 31707  
 31708  // These are general events.
 31709  type GeneralEvent struct {
 31710  	Event
 31711  
 31712  	// A short form of the message string, not localized.
 31713  	Message string `xml:"message" json:"message"`
 31714  }
 31715  
 31716  func init() {
 31717  	t["GeneralEvent"] = reflect.TypeOf((*GeneralEvent)(nil)).Elem()
 31718  }
 31719  
 31720  // This event is the general error event for a host.
 31721  type GeneralHostErrorEvent struct {
 31722  	GeneralEvent
 31723  }
 31724  
 31725  func init() {
 31726  	t["GeneralHostErrorEvent"] = reflect.TypeOf((*GeneralHostErrorEvent)(nil)).Elem()
 31727  }
 31728  
 31729  // This event is the general information event for a host.
 31730  type GeneralHostInfoEvent struct {
 31731  	GeneralEvent
 31732  }
 31733  
 31734  func init() {
 31735  	t["GeneralHostInfoEvent"] = reflect.TypeOf((*GeneralHostInfoEvent)(nil)).Elem()
 31736  }
 31737  
 31738  // This event is the general warning event for a host.
 31739  type GeneralHostWarningEvent struct {
 31740  	GeneralEvent
 31741  }
 31742  
 31743  func init() {
 31744  	t["GeneralHostWarningEvent"] = reflect.TypeOf((*GeneralHostWarningEvent)(nil)).Elem()
 31745  }
 31746  
 31747  // This event is the general user event type.
 31748  type GeneralUserEvent struct {
 31749  	GeneralEvent
 31750  
 31751  	// The entity on which the event was logged.
 31752  	Entity *ManagedEntityEventArgument `xml:"entity,omitempty" json:"entity,omitempty"`
 31753  }
 31754  
 31755  func init() {
 31756  	t["GeneralUserEvent"] = reflect.TypeOf((*GeneralUserEvent)(nil)).Elem()
 31757  }
 31758  
 31759  // This event is the general error event for a virtual machine.
 31760  type GeneralVmErrorEvent struct {
 31761  	GeneralEvent
 31762  }
 31763  
 31764  func init() {
 31765  	t["GeneralVmErrorEvent"] = reflect.TypeOf((*GeneralVmErrorEvent)(nil)).Elem()
 31766  }
 31767  
 31768  // This event is the general information event for a virtual machine.
 31769  type GeneralVmInfoEvent struct {
 31770  	GeneralEvent
 31771  }
 31772  
 31773  func init() {
 31774  	t["GeneralVmInfoEvent"] = reflect.TypeOf((*GeneralVmInfoEvent)(nil)).Elem()
 31775  }
 31776  
 31777  // This event is the general warning event for a virtual machine.
 31778  type GeneralVmWarningEvent struct {
 31779  	GeneralEvent
 31780  }
 31781  
 31782  func init() {
 31783  	t["GeneralVmWarningEvent"] = reflect.TypeOf((*GeneralVmWarningEvent)(nil)).Elem()
 31784  }
 31785  
 31786  type GenerateCertificateSigningRequest GenerateCertificateSigningRequestRequestType
 31787  
 31788  func init() {
 31789  	t["GenerateCertificateSigningRequest"] = reflect.TypeOf((*GenerateCertificateSigningRequest)(nil)).Elem()
 31790  }
 31791  
 31792  type GenerateCertificateSigningRequestByDn GenerateCertificateSigningRequestByDnRequestType
 31793  
 31794  func init() {
 31795  	t["GenerateCertificateSigningRequestByDn"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDn)(nil)).Elem()
 31796  }
 31797  
 31798  // The parameters of `HostCertificateManager.GenerateCertificateSigningRequestByDn`.
 31799  type GenerateCertificateSigningRequestByDnRequestType struct {
 31800  	This ManagedObjectReference `xml:"_this" json:"-"`
 31801  	// DN to be used as subject in CSR.
 31802  	DistinguishedName string `xml:"distinguishedName" json:"distinguishedName"`
 31803  	// is used to generate CSR for selected certificate kind
 31804  	Spec *HostCertificateManagerCertificateSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
 31805  }
 31806  
 31807  func init() {
 31808  	t["GenerateCertificateSigningRequestByDnRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDnRequestType)(nil)).Elem()
 31809  }
 31810  
 31811  type GenerateCertificateSigningRequestByDnResponse struct {
 31812  	Returnval string `xml:"returnval" json:"returnval"`
 31813  }
 31814  
 31815  // The parameters of `HostCertificateManager.GenerateCertificateSigningRequest`.
 31816  type GenerateCertificateSigningRequestRequestType struct {
 31817  	This ManagedObjectReference `xml:"_this" json:"-"`
 31818  	// if true, use host's
 31819  	// management IP address as CN in the CSR;
 31820  	// otherwise use host's FQDN.
 31821  	UseIpAddressAsCommonName bool `xml:"useIpAddressAsCommonName" json:"useIpAddressAsCommonName"`
 31822  	// is used to generate CSR for selected
 31823  	// certificate kind.
 31824  	Spec *HostCertificateManagerCertificateSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
 31825  }
 31826  
 31827  func init() {
 31828  	t["GenerateCertificateSigningRequestRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestRequestType)(nil)).Elem()
 31829  }
 31830  
 31831  type GenerateCertificateSigningRequestResponse struct {
 31832  	Returnval string `xml:"returnval" json:"returnval"`
 31833  }
 31834  
 31835  type GenerateClientCsr GenerateClientCsrRequestType
 31836  
 31837  func init() {
 31838  	t["GenerateClientCsr"] = reflect.TypeOf((*GenerateClientCsr)(nil)).Elem()
 31839  }
 31840  
 31841  // The parameters of `CryptoManagerKmip.GenerateClientCsr`.
 31842  type GenerateClientCsrRequestType struct {
 31843  	This ManagedObjectReference `xml:"_this" json:"-"`
 31844  	// \[in\] KMIP cluster.
 31845  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 31846  	// \[in\] Certificate sign request.
 31847  	Request *CryptoManagerKmipCertSignRequest `xml:"request,omitempty" json:"request,omitempty" vim:"8.0.1.0"`
 31848  }
 31849  
 31850  func init() {
 31851  	t["GenerateClientCsrRequestType"] = reflect.TypeOf((*GenerateClientCsrRequestType)(nil)).Elem()
 31852  }
 31853  
 31854  type GenerateClientCsrResponse struct {
 31855  	Returnval string `xml:"returnval" json:"returnval"`
 31856  }
 31857  
 31858  type GenerateConfigTaskList GenerateConfigTaskListRequestType
 31859  
 31860  func init() {
 31861  	t["GenerateConfigTaskList"] = reflect.TypeOf((*GenerateConfigTaskList)(nil)).Elem()
 31862  }
 31863  
 31864  // The parameters of `HostProfileManager.GenerateConfigTaskList`.
 31865  type GenerateConfigTaskListRequestType struct {
 31866  	This ManagedObjectReference `xml:"_this" json:"-"`
 31867  	// ConfigSpec which was proposed by
 31868  	// `HostProfile.ExecuteHostProfile` method.
 31869  	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
 31870  	// Host on which the HostProfile application needs to be
 31871  	// carried out.
 31872  	//
 31873  	// Refers instance of `HostSystem`.
 31874  	Host ManagedObjectReference `xml:"host" json:"host"`
 31875  }
 31876  
 31877  func init() {
 31878  	t["GenerateConfigTaskListRequestType"] = reflect.TypeOf((*GenerateConfigTaskListRequestType)(nil)).Elem()
 31879  }
 31880  
 31881  type GenerateConfigTaskListResponse struct {
 31882  	Returnval HostProfileManagerConfigTaskList `xml:"returnval" json:"returnval"`
 31883  }
 31884  
 31885  // The parameters of `HostProfileManager.GenerateHostConfigTaskSpec_Task`.
 31886  type GenerateHostConfigTaskSpecRequestType struct {
 31887  	This ManagedObjectReference `xml:"_this" json:"-"`
 31888  	// List of host data for which configuration task list
 31889  	// needs to be generated. The
 31890  	// `StructuredCustomizations.customizations` value should be
 31891  	// provided only if the host customization data for that host is
 31892  	// invalid. If this property is not provided, the API will use the
 31893  	// host customization data stored in VC and generate task list.
 31894  	HostsInfo []StructuredCustomizations `xml:"hostsInfo,omitempty" json:"hostsInfo,omitempty"`
 31895  }
 31896  
 31897  func init() {
 31898  	t["GenerateHostConfigTaskSpecRequestType"] = reflect.TypeOf((*GenerateHostConfigTaskSpecRequestType)(nil)).Elem()
 31899  }
 31900  
 31901  type GenerateHostConfigTaskSpec_Task GenerateHostConfigTaskSpecRequestType
 31902  
 31903  func init() {
 31904  	t["GenerateHostConfigTaskSpec_Task"] = reflect.TypeOf((*GenerateHostConfigTaskSpec_Task)(nil)).Elem()
 31905  }
 31906  
 31907  type GenerateHostConfigTaskSpec_TaskResponse struct {
 31908  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 31909  }
 31910  
 31911  // The parameters of `HostProfileManager.GenerateHostProfileTaskList_Task`.
 31912  type GenerateHostProfileTaskListRequestType struct {
 31913  	This ManagedObjectReference `xml:"_this" json:"-"`
 31914  	// ConfigSpec which was proposed by
 31915  	// `HostProfile.ExecuteHostProfile` method.
 31916  	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
 31917  	// Host on which the HostProfile application needs to be
 31918  	// carried out.
 31919  	//
 31920  	// Refers instance of `HostSystem`.
 31921  	Host ManagedObjectReference `xml:"host" json:"host"`
 31922  }
 31923  
 31924  func init() {
 31925  	t["GenerateHostProfileTaskListRequestType"] = reflect.TypeOf((*GenerateHostProfileTaskListRequestType)(nil)).Elem()
 31926  }
 31927  
 31928  type GenerateHostProfileTaskList_Task GenerateHostProfileTaskListRequestType
 31929  
 31930  func init() {
 31931  	t["GenerateHostProfileTaskList_Task"] = reflect.TypeOf((*GenerateHostProfileTaskList_Task)(nil)).Elem()
 31932  }
 31933  
 31934  type GenerateHostProfileTaskList_TaskResponse struct {
 31935  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 31936  }
 31937  
 31938  type GenerateKey GenerateKeyRequestType
 31939  
 31940  func init() {
 31941  	t["GenerateKey"] = reflect.TypeOf((*GenerateKey)(nil)).Elem()
 31942  }
 31943  
 31944  // The parameters of `CryptoManagerKmip.GenerateKey`.
 31945  type GenerateKeyRequestType struct {
 31946  	This ManagedObjectReference `xml:"_this" json:"-"`
 31947  	// \[in\] Which provider will generate the key.
 31948  	// If omitted, will use the default key provider.
 31949  	KeyProvider *KeyProviderId `xml:"keyProvider,omitempty" json:"keyProvider,omitempty"`
 31950  	// \[in\] The spec that contains custom attributes key/value pairs.
 31951  	Spec *CryptoManagerKmipCustomAttributeSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
 31952  	// \[in\] The keySpec that contains key generation options.
 31953  	// If unset, key will be generated with default settings
 31954  	// of the key provider.
 31955  	KeySpec *CryptoManagerKmipGenerateKeySpec `xml:"keySpec,omitempty" json:"keySpec,omitempty" vim:"9.0.0.0"`
 31956  }
 31957  
 31958  func init() {
 31959  	t["GenerateKeyRequestType"] = reflect.TypeOf((*GenerateKeyRequestType)(nil)).Elem()
 31960  }
 31961  
 31962  type GenerateKeyResponse struct {
 31963  	Returnval CryptoKeyResult `xml:"returnval" json:"returnval"`
 31964  }
 31965  
 31966  // The parameters of `DiagnosticManager.GenerateLogBundles_Task`.
 31967  type GenerateLogBundlesRequestType struct {
 31968  	This ManagedObjectReference `xml:"_this" json:"-"`
 31969  	// Specifies if the bundle should include the
 31970  	// default server. If called on a VirtualCenter
 31971  	// server, then this means the VirtualCenter
 31972  	// diagnostic files. If called directly on a host,
 31973  	// then includeDefault must be set to true.
 31974  	IncludeDefault bool `xml:"includeDefault" json:"includeDefault"`
 31975  	// Lists hosts that are included. This is only used
 31976  	// when called on VirtualCenter. If called directly
 31977  	// on a host, then this parameter must be empty.
 31978  	//
 31979  	// Refers instances of `HostSystem`.
 31980  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 31981  }
 31982  
 31983  func init() {
 31984  	t["GenerateLogBundlesRequestType"] = reflect.TypeOf((*GenerateLogBundlesRequestType)(nil)).Elem()
 31985  }
 31986  
 31987  type GenerateLogBundles_Task GenerateLogBundlesRequestType
 31988  
 31989  func init() {
 31990  	t["GenerateLogBundles_Task"] = reflect.TypeOf((*GenerateLogBundles_Task)(nil)).Elem()
 31991  }
 31992  
 31993  type GenerateLogBundles_TaskResponse struct {
 31994  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 31995  }
 31996  
 31997  type GenerateSelfSignedClientCert GenerateSelfSignedClientCertRequestType
 31998  
 31999  func init() {
 32000  	t["GenerateSelfSignedClientCert"] = reflect.TypeOf((*GenerateSelfSignedClientCert)(nil)).Elem()
 32001  }
 32002  
 32003  // The parameters of `CryptoManagerKmip.GenerateSelfSignedClientCert`.
 32004  type GenerateSelfSignedClientCertRequestType struct {
 32005  	This ManagedObjectReference `xml:"_this" json:"-"`
 32006  	// \[in\] KMIP cluster.
 32007  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 32008  	// \[in\] Certificate sign request.
 32009  	Request *CryptoManagerKmipCertSignRequest `xml:"request,omitempty" json:"request,omitempty" vim:"8.0.1.0"`
 32010  }
 32011  
 32012  func init() {
 32013  	t["GenerateSelfSignedClientCertRequestType"] = reflect.TypeOf((*GenerateSelfSignedClientCertRequestType)(nil)).Elem()
 32014  }
 32015  
 32016  type GenerateSelfSignedClientCertResponse struct {
 32017  	Returnval string `xml:"returnval" json:"returnval"`
 32018  }
 32019  
 32020  // DRS returns more than one faults for each virtual machine, or DRS returns
 32021  // `VimFault` because of some internal errors.
 32022  type GenericDrsFault struct {
 32023  	VimFault
 32024  
 32025  	// This is an optional field to return the detailed information back to
 32026  	// the client.
 32027  	//
 32028  	// This optional array may consist of the exact fault for
 32029  	// some hosts in the cluster.
 32030  	HostFaults []LocalizedMethodFault `xml:"hostFaults,omitempty" json:"hostFaults,omitempty"`
 32031  }
 32032  
 32033  func init() {
 32034  	t["GenericDrsFault"] = reflect.TypeOf((*GenericDrsFault)(nil)).Elem()
 32035  }
 32036  
 32037  type GenericDrsFaultFault GenericDrsFault
 32038  
 32039  func init() {
 32040  	t["GenericDrsFaultFault"] = reflect.TypeOf((*GenericDrsFaultFault)(nil)).Elem()
 32041  }
 32042  
 32043  // Thrown when a running virtual machine reports an error.
 32044  type GenericVmConfigFault struct {
 32045  	VmConfigFault
 32046  
 32047  	// Message from the virtual machine
 32048  	Reason string `xml:"reason" json:"reason"`
 32049  }
 32050  
 32051  func init() {
 32052  	t["GenericVmConfigFault"] = reflect.TypeOf((*GenericVmConfigFault)(nil)).Elem()
 32053  }
 32054  
 32055  type GenericVmConfigFaultFault GenericVmConfigFault
 32056  
 32057  func init() {
 32058  	t["GenericVmConfigFaultFault"] = reflect.TypeOf((*GenericVmConfigFaultFault)(nil)).Elem()
 32059  }
 32060  
 32061  type GetAlarm GetAlarmRequestType
 32062  
 32063  func init() {
 32064  	t["GetAlarm"] = reflect.TypeOf((*GetAlarm)(nil)).Elem()
 32065  }
 32066  
 32067  // The parameters of `AlarmManager.GetAlarm`.
 32068  type GetAlarmRequestType struct {
 32069  	This ManagedObjectReference `xml:"_this" json:"-"`
 32070  	// The entity. If not set, alarms are returned for
 32071  	// all visible entities.
 32072  	//
 32073  	// Refers instance of `ManagedEntity`.
 32074  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 32075  }
 32076  
 32077  func init() {
 32078  	t["GetAlarmRequestType"] = reflect.TypeOf((*GetAlarmRequestType)(nil)).Elem()
 32079  }
 32080  
 32081  type GetAlarmResponse struct {
 32082  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 32083  }
 32084  
 32085  type GetAlarmState GetAlarmStateRequestType
 32086  
 32087  func init() {
 32088  	t["GetAlarmState"] = reflect.TypeOf((*GetAlarmState)(nil)).Elem()
 32089  }
 32090  
 32091  // The parameters of `AlarmManager.GetAlarmState`.
 32092  type GetAlarmStateRequestType struct {
 32093  	This ManagedObjectReference `xml:"_this" json:"-"`
 32094  	// The entity.
 32095  	//
 32096  	// Required privileges: System.Read
 32097  	//
 32098  	// Refers instance of `ManagedEntity`.
 32099  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 32100  }
 32101  
 32102  func init() {
 32103  	t["GetAlarmStateRequestType"] = reflect.TypeOf((*GetAlarmStateRequestType)(nil)).Elem()
 32104  }
 32105  
 32106  type GetAlarmStateResponse struct {
 32107  	Returnval []AlarmState `xml:"returnval,omitempty" json:"returnval,omitempty"`
 32108  }
 32109  
 32110  type GetCryptoKeyStatus GetCryptoKeyStatusRequestType
 32111  
 32112  func init() {
 32113  	t["GetCryptoKeyStatus"] = reflect.TypeOf((*GetCryptoKeyStatus)(nil)).Elem()
 32114  }
 32115  
 32116  // The parameters of `CryptoManagerHost.GetCryptoKeyStatus`.
 32117  type GetCryptoKeyStatusRequestType struct {
 32118  	This ManagedObjectReference `xml:"_this" json:"-"`
 32119  	// \[in\] Cryptographic keys to query status.
 32120  	Keys []CryptoKeyId `xml:"keys,omitempty" json:"keys,omitempty"`
 32121  }
 32122  
 32123  func init() {
 32124  	t["GetCryptoKeyStatusRequestType"] = reflect.TypeOf((*GetCryptoKeyStatusRequestType)(nil)).Elem()
 32125  	minAPIVersionForType["GetCryptoKeyStatusRequestType"] = "8.0.1.0"
 32126  }
 32127  
 32128  type GetCryptoKeyStatusResponse struct {
 32129  	Returnval []CryptoManagerHostKeyStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
 32130  }
 32131  
 32132  type GetCustomizationSpec GetCustomizationSpecRequestType
 32133  
 32134  func init() {
 32135  	t["GetCustomizationSpec"] = reflect.TypeOf((*GetCustomizationSpec)(nil)).Elem()
 32136  }
 32137  
 32138  // The parameters of `CustomizationSpecManager.GetCustomizationSpec`.
 32139  type GetCustomizationSpecRequestType struct {
 32140  	This ManagedObjectReference `xml:"_this" json:"-"`
 32141  	// Unique name identifying the requested customization specification.
 32142  	Name string `xml:"name" json:"name"`
 32143  }
 32144  
 32145  func init() {
 32146  	t["GetCustomizationSpecRequestType"] = reflect.TypeOf((*GetCustomizationSpecRequestType)(nil)).Elem()
 32147  }
 32148  
 32149  type GetCustomizationSpecResponse struct {
 32150  	Returnval CustomizationSpecItem `xml:"returnval" json:"returnval"`
 32151  }
 32152  
 32153  type GetDefaultKmsCluster GetDefaultKmsClusterRequestType
 32154  
 32155  func init() {
 32156  	t["GetDefaultKmsCluster"] = reflect.TypeOf((*GetDefaultKmsCluster)(nil)).Elem()
 32157  }
 32158  
 32159  // The parameters of `CryptoManagerKmip.GetDefaultKmsCluster`.
 32160  type GetDefaultKmsClusterRequestType struct {
 32161  	This ManagedObjectReference `xml:"_this" json:"-"`
 32162  	// \[in\] The entity where the default KMS cluster to get.
 32163  	// If omitted, then return global default KMS cluster.
 32164  	//
 32165  	// Refers instance of `ManagedEntity`.
 32166  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 32167  	// \[in\] (Optional, default = false) If set to true,
 32168  	// then get the default kms cluster follow the
 32169  	// entity hierarchy. That means if the entity has
 32170  	// no default kms cluster, then try to get from
 32171  	// its parent.
 32172  	DefaultsToParent *bool `xml:"defaultsToParent" json:"defaultsToParent,omitempty"`
 32173  }
 32174  
 32175  func init() {
 32176  	t["GetDefaultKmsClusterRequestType"] = reflect.TypeOf((*GetDefaultKmsClusterRequestType)(nil)).Elem()
 32177  }
 32178  
 32179  type GetDefaultKmsClusterResponse struct {
 32180  	Returnval *KeyProviderId `xml:"returnval,omitempty" json:"returnval,omitempty"`
 32181  }
 32182  
 32183  type GetPublicKey GetPublicKeyRequestType
 32184  
 32185  func init() {
 32186  	t["GetPublicKey"] = reflect.TypeOf((*GetPublicKey)(nil)).Elem()
 32187  }
 32188  
 32189  type GetPublicKeyRequestType struct {
 32190  	This ManagedObjectReference `xml:"_this" json:"-"`
 32191  }
 32192  
 32193  func init() {
 32194  	t["GetPublicKeyRequestType"] = reflect.TypeOf((*GetPublicKeyRequestType)(nil)).Elem()
 32195  }
 32196  
 32197  type GetPublicKeyResponse struct {
 32198  	Returnval string `xml:"returnval" json:"returnval"`
 32199  }
 32200  
 32201  type GetResourceUsage GetResourceUsageRequestType
 32202  
 32203  func init() {
 32204  	t["GetResourceUsage"] = reflect.TypeOf((*GetResourceUsage)(nil)).Elem()
 32205  }
 32206  
 32207  type GetResourceUsageRequestType struct {
 32208  	This ManagedObjectReference `xml:"_this" json:"-"`
 32209  }
 32210  
 32211  func init() {
 32212  	t["GetResourceUsageRequestType"] = reflect.TypeOf((*GetResourceUsageRequestType)(nil)).Elem()
 32213  }
 32214  
 32215  type GetResourceUsageResponse struct {
 32216  	Returnval ClusterResourceUsageSummary `xml:"returnval" json:"returnval"`
 32217  }
 32218  
 32219  type GetSiteInfo GetSiteInfoRequestType
 32220  
 32221  func init() {
 32222  	t["GetSiteInfo"] = reflect.TypeOf((*GetSiteInfo)(nil)).Elem()
 32223  }
 32224  
 32225  type GetSiteInfoRequestType struct {
 32226  	This ManagedObjectReference `xml:"_this" json:"-"`
 32227  }
 32228  
 32229  func init() {
 32230  	t["GetSiteInfoRequestType"] = reflect.TypeOf((*GetSiteInfoRequestType)(nil)).Elem()
 32231  }
 32232  
 32233  type GetSiteInfoResponse struct {
 32234  	Returnval SiteInfo `xml:"returnval" json:"returnval"`
 32235  }
 32236  
 32237  type GetSystemVMsRestrictedDatastores GetSystemVMsRestrictedDatastoresRequestType
 32238  
 32239  func init() {
 32240  	t["GetSystemVMsRestrictedDatastores"] = reflect.TypeOf((*GetSystemVMsRestrictedDatastores)(nil)).Elem()
 32241  }
 32242  
 32243  type GetSystemVMsRestrictedDatastoresRequestType struct {
 32244  	This ManagedObjectReference `xml:"_this" json:"-"`
 32245  }
 32246  
 32247  func init() {
 32248  	t["GetSystemVMsRestrictedDatastoresRequestType"] = reflect.TypeOf((*GetSystemVMsRestrictedDatastoresRequestType)(nil)).Elem()
 32249  }
 32250  
 32251  type GetSystemVMsRestrictedDatastoresResponse struct {
 32252  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 32253  }
 32254  
 32255  type GetVchaClusterHealth GetVchaClusterHealthRequestType
 32256  
 32257  func init() {
 32258  	t["GetVchaClusterHealth"] = reflect.TypeOf((*GetVchaClusterHealth)(nil)).Elem()
 32259  }
 32260  
 32261  type GetVchaClusterHealthRequestType struct {
 32262  	This ManagedObjectReference `xml:"_this" json:"-"`
 32263  }
 32264  
 32265  func init() {
 32266  	t["GetVchaClusterHealthRequestType"] = reflect.TypeOf((*GetVchaClusterHealthRequestType)(nil)).Elem()
 32267  }
 32268  
 32269  type GetVchaClusterHealthResponse struct {
 32270  	Returnval VchaClusterHealth `xml:"returnval" json:"returnval"`
 32271  }
 32272  
 32273  type GetVsanObjExtAttrs GetVsanObjExtAttrsRequestType
 32274  
 32275  func init() {
 32276  	t["GetVsanObjExtAttrs"] = reflect.TypeOf((*GetVsanObjExtAttrs)(nil)).Elem()
 32277  }
 32278  
 32279  // The parameters of `HostVsanInternalSystem.GetVsanObjExtAttrs`.
 32280  type GetVsanObjExtAttrsRequestType struct {
 32281  	This ManagedObjectReference `xml:"_this" json:"-"`
 32282  	// List of object UUIDs.
 32283  	Uuids []string `xml:"uuids" json:"uuids"`
 32284  }
 32285  
 32286  func init() {
 32287  	t["GetVsanObjExtAttrsRequestType"] = reflect.TypeOf((*GetVsanObjExtAttrsRequestType)(nil)).Elem()
 32288  }
 32289  
 32290  type GetVsanObjExtAttrsResponse struct {
 32291  	Returnval string `xml:"returnval" json:"returnval"`
 32292  }
 32293  
 32294  // This event records when Virtual Center server found DVS proxy switches
 32295  // on the host that don't match any DVS defined in Virtual Center.
 32296  type GhostDvsProxySwitchDetectedEvent struct {
 32297  	HostEvent
 32298  
 32299  	// The list of ghost DVS proxy switch uuids that were found.
 32300  	SwitchUuid []string `xml:"switchUuid" json:"switchUuid"`
 32301  }
 32302  
 32303  func init() {
 32304  	t["GhostDvsProxySwitchDetectedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchDetectedEvent)(nil)).Elem()
 32305  }
 32306  
 32307  // This event records when the ghost DVS proxy switches (a.k.a host
 32308  // proxy switches that don't match any DVS defined in Virtual Center)
 32309  // were removed on the host.
 32310  type GhostDvsProxySwitchRemovedEvent struct {
 32311  	HostEvent
 32312  
 32313  	// The list of ghost DVS proxy switch uuid that were removed.
 32314  	SwitchUuid []string `xml:"switchUuid" json:"switchUuid"`
 32315  }
 32316  
 32317  func init() {
 32318  	t["GhostDvsProxySwitchRemovedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchRemovedEvent)(nil)).Elem()
 32319  }
 32320  
 32321  // This event records a change to the global message.
 32322  type GlobalMessageChangedEvent struct {
 32323  	SessionEvent
 32324  
 32325  	// The new message that was set.
 32326  	Message string `xml:"message" json:"message"`
 32327  	// The previous message that was set.
 32328  	PrevMessage string `xml:"prevMessage,omitempty" json:"prevMessage,omitempty"`
 32329  }
 32330  
 32331  func init() {
 32332  	t["GlobalMessageChangedEvent"] = reflect.TypeOf((*GlobalMessageChangedEvent)(nil)).Elem()
 32333  }
 32334  
 32335  // This data object type describes a group of
 32336  // actions that occur when the alarm is triggered.
 32337  //
 32338  // These actions are not
 32339  // necessarily executed in order.
 32340  type GroupAlarmAction struct {
 32341  	AlarmAction
 32342  
 32343  	// The list of alarm actions that occur when the alarm is triggered.
 32344  	Action []BaseAlarmAction `xml:"action,typeattr" json:"action"`
 32345  }
 32346  
 32347  func init() {
 32348  	t["GroupAlarmAction"] = reflect.TypeOf((*GroupAlarmAction)(nil)).Elem()
 32349  }
 32350  
 32351  // Describes the representation of an alias and the subjects
 32352  // that are trusted from that VMware SSO Server.
 32353  type GuestAliases struct {
 32354  	DynamicData
 32355  
 32356  	// The associated VMware SSO Server X.509 certificate, in base64
 32357  	// encoded DER format.
 32358  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 32359  	// A white list of aliases that the in-guest user account trusts;
 32360  	// it can be a subset of the subjects known to the identity
 32361  	// provider.
 32362  	Aliases []GuestAuthAliasInfo `xml:"aliases" json:"aliases"`
 32363  }
 32364  
 32365  func init() {
 32366  	t["GuestAliases"] = reflect.TypeOf((*GuestAliases)(nil)).Elem()
 32367  }
 32368  
 32369  // Describes a subject associated with an X.509 certificate in the alias
 32370  // store.
 32371  type GuestAuthAliasInfo struct {
 32372  	DynamicData
 32373  
 32374  	// The subject.
 32375  	Subject BaseGuestAuthSubject `xml:"subject,typeattr" json:"subject"`
 32376  	// User-supplied data to describe the subject.
 32377  	Comment string `xml:"comment" json:"comment"`
 32378  }
 32379  
 32380  func init() {
 32381  	t["GuestAuthAliasInfo"] = reflect.TypeOf((*GuestAuthAliasInfo)(nil)).Elem()
 32382  }
 32383  
 32384  // The ANY subject.
 32385  //
 32386  // When an in-guest user account is configured
 32387  // to trust an alias using the ANY subject, any vSphere user
 32388  // authenticated by that alias will be allowed to impersonate the
 32389  // in-guest user.
 32390  type GuestAuthAnySubject struct {
 32391  	GuestAuthSubject
 32392  }
 32393  
 32394  func init() {
 32395  	t["GuestAuthAnySubject"] = reflect.TypeOf((*GuestAuthAnySubject)(nil)).Elem()
 32396  }
 32397  
 32398  // A named subject.
 32399  //
 32400  // Grants access to a specific vSphere user with
 32401  // the specified name.
 32402  type GuestAuthNamedSubject struct {
 32403  	GuestAuthSubject
 32404  
 32405  	// The subject name.
 32406  	Name string `xml:"name" json:"name"`
 32407  }
 32408  
 32409  func init() {
 32410  	t["GuestAuthNamedSubject"] = reflect.TypeOf((*GuestAuthNamedSubject)(nil)).Elem()
 32411  }
 32412  
 32413  // A Subject.
 32414  type GuestAuthSubject struct {
 32415  	DynamicData
 32416  }
 32417  
 32418  func init() {
 32419  	t["GuestAuthSubject"] = reflect.TypeOf((*GuestAuthSubject)(nil)).Elem()
 32420  }
 32421  
 32422  // GuestAuthentication is an abstract base class for authentication
 32423  // in the guest.
 32424  type GuestAuthentication struct {
 32425  	DynamicData
 32426  
 32427  	// This is set to true if the client wants an interactive session
 32428  	// in the guest.
 32429  	//
 32430  	// Setting this is supported only for `NamePasswordAuthentication`.
 32431  	InteractiveSession bool `xml:"interactiveSession" json:"interactiveSession"`
 32432  }
 32433  
 32434  func init() {
 32435  	t["GuestAuthentication"] = reflect.TypeOf((*GuestAuthentication)(nil)).Elem()
 32436  }
 32437  
 32438  // Fault is thrown when a call to `GuestAuthManager.AcquireCredentialsInGuest` requires a challenge
 32439  // response in order to authenticate in the guest.
 32440  //
 32441  // The authToken string
 32442  // in serverChallenge contains a base64 encoded challenge token.
 32443  type GuestAuthenticationChallenge struct {
 32444  	GuestOperationsFault
 32445  
 32446  	// Contains the server challenge information
 32447  	ServerChallenge BaseGuestAuthentication `xml:"serverChallenge,typeattr" json:"serverChallenge"`
 32448  	// Contains a session ID number that associates the server response
 32449  	// with the initial request.
 32450  	SessionID int64 `xml:"sessionID" json:"sessionID"`
 32451  }
 32452  
 32453  func init() {
 32454  	t["GuestAuthenticationChallenge"] = reflect.TypeOf((*GuestAuthenticationChallenge)(nil)).Elem()
 32455  }
 32456  
 32457  type GuestAuthenticationChallengeFault GuestAuthenticationChallenge
 32458  
 32459  func init() {
 32460  	t["GuestAuthenticationChallengeFault"] = reflect.TypeOf((*GuestAuthenticationChallengeFault)(nil)).Elem()
 32461  }
 32462  
 32463  // A GuestComponentsOutOfDate exception is thrown when an
 32464  // operation fails because the guest operations agent is out of date and lacks
 32465  // the functionality to execute the operation.
 32466  type GuestComponentsOutOfDate struct {
 32467  	GuestOperationsFault
 32468  }
 32469  
 32470  func init() {
 32471  	t["GuestComponentsOutOfDate"] = reflect.TypeOf((*GuestComponentsOutOfDate)(nil)).Elem()
 32472  }
 32473  
 32474  type GuestComponentsOutOfDateFault GuestComponentsOutOfDate
 32475  
 32476  func init() {
 32477  	t["GuestComponentsOutOfDateFault"] = reflect.TypeOf((*GuestComponentsOutOfDateFault)(nil)).Elem()
 32478  }
 32479  
 32480  // Information about each local virtual disk configured in the
 32481  // guest operating system.
 32482  type GuestDiskInfo struct {
 32483  	DynamicData
 32484  
 32485  	// Name of the virtual disk in the guest operating system.
 32486  	//
 32487  	// For example: C:\\
 32488  	DiskPath string `xml:"diskPath,omitempty" json:"diskPath,omitempty"`
 32489  	// Total capacity of the disk, in bytes.
 32490  	//
 32491  	// This is part of the virtual machine configuration.
 32492  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 32493  	// Free space on the disk, in bytes.
 32494  	//
 32495  	// This is retrieved by VMware Tools.
 32496  	FreeSpace int64 `xml:"freeSpace,omitempty" json:"freeSpace,omitempty"`
 32497  	// Filesystem type, if known.
 32498  	//
 32499  	// For example NTFS or ext3.
 32500  	FilesystemType string `xml:"filesystemType,omitempty" json:"filesystemType,omitempty"`
 32501  	// VirtualDisks backing the guest partition, if known.
 32502  	Mappings []GuestInfoVirtualDiskMapping `xml:"mappings,omitempty" json:"mappings,omitempty"`
 32503  }
 32504  
 32505  func init() {
 32506  	t["GuestDiskInfo"] = reflect.TypeOf((*GuestDiskInfo)(nil)).Elem()
 32507  }
 32508  
 32509  // Different attributes for a guest file.
 32510  //   - Check `GuestPosixFileAttributes`
 32511  //     for Posix guest files.
 32512  //   - Check `GuestWindowsFileAttributes`
 32513  //     for Windows guest files.
 32514  type GuestFileAttributes struct {
 32515  	DynamicData
 32516  
 32517  	// The date and time the file was last modified.
 32518  	//
 32519  	// If this property is not specified when passing a
 32520  	// `GuestFileAttributes` object to
 32521  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32522  	// the default value will be the time when the file is created inside the
 32523  	// guest.
 32524  	ModificationTime *time.Time `xml:"modificationTime" json:"modificationTime,omitempty"`
 32525  	// The date and time the file was last accessed.
 32526  	//
 32527  	// If this property is not specified when passing a
 32528  	// `GuestFileAttributes` object to
 32529  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32530  	// the default value will be the time when the file is created inside the
 32531  	// guest.
 32532  	AccessTime *time.Time `xml:"accessTime" json:"accessTime,omitempty"`
 32533  	// The target for the file if it's a symbolic link.
 32534  	//
 32535  	// This is currently only set for Linux guest operating systems,
 32536  	// but may be supported in the
 32537  	// future on Windows guest operating systems that support symbolic links.
 32538  	// This property gives information about files when returned from
 32539  	// `GuestFileManager.ListFilesInGuest` or
 32540  	// `GuestFileManager.InitiateFileTransferFromGuest`
 32541  	// as part of a `GuestFileAttributes` object.
 32542  	// This property will be ignored when passing a
 32543  	// `GuestFileAttributes` object to
 32544  	// `GuestFileManager.InitiateFileTransferToGuest` or
 32545  	// `GuestFileManager.ChangeFileAttributesInGuest`.
 32546  	// If the file is a symbolic link, then the attributes of the target
 32547  	// are returned, not those of the symbolic link.
 32548  	SymlinkTarget string `xml:"symlinkTarget,omitempty" json:"symlinkTarget,omitempty"`
 32549  }
 32550  
 32551  func init() {
 32552  	t["GuestFileAttributes"] = reflect.TypeOf((*GuestFileAttributes)(nil)).Elem()
 32553  }
 32554  
 32555  type GuestFileInfo struct {
 32556  	DynamicData
 32557  
 32558  	// The complete path to the file
 32559  	Path string `xml:"path" json:"path"`
 32560  	// The file type, one of `GuestFileType_enum`
 32561  	Type string `xml:"type" json:"type"`
 32562  	// The file size in bytes
 32563  	Size int64 `xml:"size" json:"size"`
 32564  	// Different attributes of a file.
 32565  	Attributes BaseGuestFileAttributes `xml:"attributes,typeattr" json:"attributes"`
 32566  }
 32567  
 32568  func init() {
 32569  	t["GuestFileInfo"] = reflect.TypeOf((*GuestFileInfo)(nil)).Elem()
 32570  }
 32571  
 32572  // Information about the guest operating system.
 32573  //
 32574  // Most of this information is collected by VMware Tools.
 32575  // In general, be sure you have VMware Tools installed
 32576  // and that the virtual machine is running when you access this information.
 32577  type GuestInfo struct {
 32578  	DynamicData
 32579  
 32580  	// Deprecated as of vSphere API 4.0 use `GuestInfo.toolsVersionStatus` and
 32581  	// `GuestInfo.toolsRunningStatus`.
 32582  	//
 32583  	// Current status of VMware Tools in the guest operating system, if known.
 32584  	ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty" json:"toolsStatus,omitempty"`
 32585  	// Deprecated as of vSphere API 5.1 use `GuestInfo.toolsVersionStatus2`.
 32586  	//
 32587  	// Current version status of VMware Tools in the guest operating system,
 32588  	// if known.
 32589  	//
 32590  	// The set of possible values is described in
 32591  	// `VirtualMachineToolsVersionStatus_enum` for vSphere API 5.0.
 32592  	ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty" json:"toolsVersionStatus,omitempty"`
 32593  	// Current version status of VMware Tools in the guest operating system,
 32594  	// if known.
 32595  	//
 32596  	// The set of possible values is described in
 32597  	// `VirtualMachineToolsVersionStatus_enum`
 32598  	ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty" json:"toolsVersionStatus2,omitempty"`
 32599  	// Current running status of VMware Tools in the guest operating system,
 32600  	// if known.
 32601  	//
 32602  	// The set of possible values is described in
 32603  	// `VirtualMachineToolsRunningStatus_enum`
 32604  	ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty" json:"toolsRunningStatus,omitempty"`
 32605  	// Current version of VMware Tools, if known.
 32606  	ToolsVersion string `xml:"toolsVersion,omitempty" json:"toolsVersion,omitempty"`
 32607  	// Current installation type of VMware Tools in the guest operating system.
 32608  	//
 32609  	// The set of possible values is described in
 32610  	// `VirtualMachineToolsInstallType_enum`
 32611  	ToolsInstallType string `xml:"toolsInstallType,omitempty" json:"toolsInstallType,omitempty"`
 32612  	// Guest operating system identifier (short name), if known.
 32613  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 32614  	// Guest operating system family, if known.
 32615  	GuestFamily string `xml:"guestFamily,omitempty" json:"guestFamily,omitempty"`
 32616  	// Guest operating system full name, if known.
 32617  	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
 32618  	// Guest OS Detailed data.
 32619  	//
 32620  	// The guest detailed data string is a property list (space separated,
 32621  	// name='value' pairs where the value is embedded in single quotes) of
 32622  	// metadata provided by the guest OS when sufficiently recent tools are
 32623  	// installed. The fields supplied will vary between distributions and
 32624  	// distribution versions. The order of these fields is not guaranteed.
 32625  	//
 32626  	// The guest detailed data string is not available before a virtual machine
 32627  	// is first powered on. The guest must first be booted and a supported
 32628  	// version of tools must be run to record the data (approximately 30-60
 32629  	// seconds after booting). Once the guest detailed data string has been
 32630  	// recorded, it will be available whether the virtual machine is powered off
 32631  	// or on.
 32632  	//
 32633  	// Available fields:
 32634  	// <table summary="Available fields">
 32635  	// <thead>
 32636  	// <tr>
 32637  	// <th>Name</th>
 32638  	// <th>Description</th>
 32639  	// <th>Tools version first available</th>
 32640  	// </tr>
 32641  	// </thead>
 32642  	// <tbody>
 32643  	// <tr>
 32644  	// <td>architecture</td>
 32645  	// <td>'Arm' or 'X86'</td>
 32646  	// <td>11.2.0</td>
 32647  	// </tr>
 32648  	// <tr>
 32649  	// <td>bitness</td>
 32650  	// <td>'32' or '64'</td>
 32651  	// <td>11.2.0</td>
 32652  	// </tr>
 32653  	// <tr>
 32654  	// <td>buildNumber</td>
 32655  	// <td>OS build number</td>
 32656  	// <td>11.2.0</td>
 32657  	// </tr>
 32658  	// <tr>
 32659  	// <td>cpeString</td>
 32660  	// <td>NIST Common Platform Enumeration Specification string, a standardized identifier for the OS</td>
 32661  	// <td>12.2.0</td>
 32662  	// </tr>
 32663  	// <tr>
 32664  	// <td>distroAddlVersion</td>
 32665  	// <td>Longer OS version string that may contain additional info (e.g. version name)</td>
 32666  	// <td>12.2.0</td>
 32667  	// </tr>
 32668  	// <tr>
 32669  	// <td>distroName</td>
 32670  	// <td>OS distribution name</td>
 32671  	// <td>11.2.0</td>
 32672  	// </tr>
 32673  	// <tr>
 32674  	// <td>distroVersion</td>
 32675  	// <td>OS version string</td>
 32676  	// <td>11.2.0</td>
 32677  	// </tr>
 32678  	// <tr>
 32679  	// <td>familyName</td>
 32680  	// <td>OS family name (Windows, Linux, etc.)</td>
 32681  	// <td>11.2.0</td>
 32682  	// </tr>
 32683  	// <tr>
 32684  	// <td>kernelVersion</td>
 32685  	// <td>Linux kernel version, Windows 10+ patch number, or Windows build number</td>
 32686  	// <td>11.2.0</td>
 32687  	// </tr>
 32688  	// <tr>
 32689  	// <td>prettyName</td>
 32690  	// <td>Officially specified distro "pretty name"</td>
 32691  	// <td>11.2.0</td>
 32692  	// </tr>
 32693  	// </tbody>
 32694  	// </table>
 32695  	GuestDetailedData string `xml:"guestDetailedData,omitempty" json:"guestDetailedData,omitempty" vim:"8.0.2.0"`
 32696  	// Hostname of the guest operating system, if known.
 32697  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 32698  	// Primary IP address assigned to the guest operating system, if known.
 32699  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 32700  	// Guest information about network adapters, if known.
 32701  	Net []GuestNicInfo `xml:"net,omitempty" json:"net,omitempty"`
 32702  	// Guest information about IP networking stack, if known.
 32703  	IpStack []GuestStackInfo `xml:"ipStack,omitempty" json:"ipStack,omitempty"`
 32704  	// Guest information about disks.
 32705  	//
 32706  	// You can obtain Linux guest disk information for the following file system
 32707  	// types: Ext2, Ext3, Ext4, ReiserFS, XFS, Btrfs, NTFS, VFAT, UFS, PCFS, HFS,
 32708  	// and MS-DOS.
 32709  	//
 32710  	// NOTE: Installing a more recent version of VMware Tools in the guest may help
 32711  	// obtain disk information for more file system types. Please refer the VMware Tools
 32712  	// User Guide for up-to-date supported file system types.
 32713  	Disk []GuestDiskInfo `xml:"disk,omitempty" json:"disk,omitempty"`
 32714  	// Guest screen resolution info, if known.
 32715  	Screen *GuestScreenInfo `xml:"screen,omitempty" json:"screen,omitempty"`
 32716  	// Operation mode of guest operating system.
 32717  	//
 32718  	// One of:
 32719  	//   - "running" - Guest is running normally.
 32720  	//   - "shuttingdown" - Guest has a pending shutdown command.
 32721  	//   - "resetting" - Guest has a pending reset command.
 32722  	//   - "standby" - Guest has a pending standby command.
 32723  	//   - "notrunning" - Guest is not running.
 32724  	//   - "unknown" - Guest information is not available.
 32725  	GuestState string `xml:"guestState" json:"guestState"`
 32726  	// Application heartbeat status.
 32727  	//
 32728  	// Please see `VirtualMachineAppHeartbeatStatusType_enum`
 32729  	AppHeartbeatStatus string `xml:"appHeartbeatStatus,omitempty" json:"appHeartbeatStatus,omitempty"`
 32730  	// Guest operating system's kernel crash state.
 32731  	//
 32732  	// If true, the guest operating system's kernel has crashed.
 32733  	GuestKernelCrashed *bool `xml:"guestKernelCrashed" json:"guestKernelCrashed,omitempty"`
 32734  	// Application state.
 32735  	//
 32736  	// If vSphere HA is enabled and the vm is configured for Application Monitoring
 32737  	// and this field's value is "appStateNeedReset" then HA will attempt immediately reset
 32738  	// the vm.
 32739  	// There are some system conditions which may delay the immediate reset. The immediate
 32740  	// reset will be performed as soon as allowed by vSphere HA and ESX. If during these
 32741  	// conditions the value is changed to appStateOk the reset will be cancelled.
 32742  	//
 32743  	// See also `GuestInfoAppStateType_enum`.
 32744  	AppState string `xml:"appState,omitempty" json:"appState,omitempty"`
 32745  	// Guest Operations availability.
 32746  	//
 32747  	// If true, the virtual machine is ready to process guest operations.
 32748  	GuestOperationsReady *bool `xml:"guestOperationsReady" json:"guestOperationsReady,omitempty"`
 32749  	// Interactive Guest Operations availability.
 32750  	//
 32751  	// If true, the virtual machine is ready to process guest operations
 32752  	// as the user interacting with the guest desktop.
 32753  	InteractiveGuestOperationsReady *bool `xml:"interactiveGuestOperationsReady" json:"interactiveGuestOperationsReady,omitempty"`
 32754  	// State change support.
 32755  	//
 32756  	// If true, the virtual machine is ready to process soft power operations.
 32757  	GuestStateChangeSupported *bool `xml:"guestStateChangeSupported" json:"guestStateChangeSupported,omitempty"`
 32758  	// A list of namespaces and their corresponding generation numbers.
 32759  	//
 32760  	// Only namespaces with non-zero
 32761  	// `VirtualMachineNamespaceManagerCreateSpec.maxSizeEventsFromGuest`
 32762  	// are guaranteed to be present here.
 32763  	// Use `VirtualMachineNamespaceManager.ListNamespaces` to retrieve list of
 32764  	// namespaces.
 32765  	GenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"generationInfo,omitempty" json:"generationInfo,omitempty"`
 32766  	// The hardware version string for this virtual machine.
 32767  	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty"`
 32768  	// Guest OS Customization status info.
 32769  	CustomizationInfo *GuestInfoCustomizationInfo `xml:"customizationInfo,omitempty" json:"customizationInfo,omitempty" vim:"7.0.2.0"`
 32770  }
 32771  
 32772  func init() {
 32773  	t["GuestInfo"] = reflect.TypeOf((*GuestInfo)(nil)).Elem()
 32774  }
 32775  
 32776  type GuestInfoCustomizationInfo struct {
 32777  	DynamicData
 32778  
 32779  	// The customization status for this VM
 32780  	//
 32781  	// See also `GuestInfoCustomizationStatus_enum`for the list of supported values.
 32782  	CustomizationStatus string `xml:"customizationStatus" json:"customizationStatus"`
 32783  	// The time when the customization process has started inside the
 32784  	// guest OS
 32785  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
 32786  	// The time when the customization process has completed inside the
 32787  	// guest OS
 32788  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 32789  	// Description of the error if there is error for the customization
 32790  	// process inside the guest OS
 32791  	ErrorMsg string `xml:"errorMsg,omitempty" json:"errorMsg,omitempty"`
 32792  }
 32793  
 32794  func init() {
 32795  	t["GuestInfoCustomizationInfo"] = reflect.TypeOf((*GuestInfoCustomizationInfo)(nil)).Elem()
 32796  	minAPIVersionForType["GuestInfoCustomizationInfo"] = "7.0.2.0"
 32797  }
 32798  
 32799  // A data class for the namespace and its corresponding generation number
 32800  // The generation number can be used to track updates to the corresponding
 32801  // namespace.
 32802  //
 32803  // An update to the generation number indicates that the return
 32804  // value of `VirtualMachineNamespaceManager.FetchEventsFromGuest` may have
 32805  // changed.
 32806  type GuestInfoNamespaceGenerationInfo struct {
 32807  	DynamicData
 32808  
 32809  	// The namespace name as the unique key.
 32810  	Key string `xml:"key" json:"key"`
 32811  	// Namespace generation number.
 32812  	//
 32813  	// Generation number is changed whenever
 32814  	// there is new unread event pending from the guest to the VMODL.
 32815  	GenerationNo int32 `xml:"generationNo" json:"generationNo"`
 32816  }
 32817  
 32818  func init() {
 32819  	t["GuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*GuestInfoNamespaceGenerationInfo)(nil)).Elem()
 32820  }
 32821  
 32822  // Describes the virtual disk backing a local guest disk.
 32823  type GuestInfoVirtualDiskMapping struct {
 32824  	DynamicData
 32825  
 32826  	// The key of the VirtualDevice.
 32827  	//
 32828  	// `VirtualDevice.key`
 32829  	Key int32 `xml:"key" json:"key"`
 32830  }
 32831  
 32832  func init() {
 32833  	t["GuestInfoVirtualDiskMapping"] = reflect.TypeOf((*GuestInfoVirtualDiskMapping)(nil)).Elem()
 32834  }
 32835  
 32836  type GuestListFileInfo struct {
 32837  	DynamicData
 32838  
 32839  	// A list of `GuestFileInfo`
 32840  	// data objects containing information for all the matching files.
 32841  	Files []GuestFileInfo `xml:"files,omitempty" json:"files,omitempty"`
 32842  	// The number of files left to be returned.
 32843  	//
 32844  	// If non-zero,
 32845  	// then the next set of files can be returned by calling
 32846  	// ListFiles again with the index set to the number of results
 32847  	// already returned.
 32848  	Remaining int32 `xml:"remaining" json:"remaining"`
 32849  }
 32850  
 32851  func init() {
 32852  	t["GuestListFileInfo"] = reflect.TypeOf((*GuestListFileInfo)(nil)).Elem()
 32853  }
 32854  
 32855  // Represents a mapping between an external subject, as
 32856  // authenticated by a given VMware SSO Server, and an in-guest user.
 32857  type GuestMappedAliases struct {
 32858  	DynamicData
 32859  
 32860  	// The associated VMware SSO Server X.509 certificate, in base64
 32861  	// encoded DER format.
 32862  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 32863  	// The in-guest user associated with the mapping.
 32864  	Username string `xml:"username" json:"username"`
 32865  	// The list of subjects associated with the mapping.
 32866  	Subjects []BaseGuestAuthSubject `xml:"subjects,typeattr" json:"subjects"`
 32867  }
 32868  
 32869  func init() {
 32870  	t["GuestMappedAliases"] = reflect.TypeOf((*GuestMappedAliases)(nil)).Elem()
 32871  }
 32872  
 32873  // A GuestMultipleMappings exception is thrown when an
 32874  // operation fails because the guest alias store mapping file
 32875  // contains multiple conflicting instances of the same certificate
 32876  // and username.
 32877  type GuestMultipleMappings struct {
 32878  	GuestOperationsFault
 32879  }
 32880  
 32881  func init() {
 32882  	t["GuestMultipleMappings"] = reflect.TypeOf((*GuestMultipleMappings)(nil)).Elem()
 32883  }
 32884  
 32885  type GuestMultipleMappingsFault GuestMultipleMappings
 32886  
 32887  func init() {
 32888  	t["GuestMultipleMappingsFault"] = reflect.TypeOf((*GuestMultipleMappingsFault)(nil)).Elem()
 32889  }
 32890  
 32891  // Information about each virtual network adapter
 32892  // configured in the guest operating system.
 32893  type GuestNicInfo struct {
 32894  	DynamicData
 32895  
 32896  	// Name of the virtual switch portgroup or dvPort connected to this adapter.
 32897  	Network string `xml:"network,omitempty" json:"network,omitempty"`
 32898  	// Deprecated as of vSphere API 5.0, use ipConfig property.
 32899  	//
 32900  	// IP addresses of the adapter.
 32901  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 32902  	// MAC address of the adapter.
 32903  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 32904  	// Flag indicating whether or not the virtual device is connected.
 32905  	Connected bool `xml:"connected" json:"connected"`
 32906  	// Link to the corresponding virtual device.
 32907  	DeviceConfigId int32 `xml:"deviceConfigId" json:"deviceConfigId"`
 32908  	// DNS configuration of the adapter.
 32909  	//
 32910  	// This property is set only when Guest OS supports it.
 32911  	// See `GuestStackInfo` dnsConfig for system wide
 32912  	// settings.
 32913  	DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
 32914  	// IP configuration settings of the adapter
 32915  	// See `GuestStackInfo` ipStackConfig for system wide
 32916  	// settings.
 32917  	IpConfig *NetIpConfigInfo `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 32918  	// NetBIOS configuration of the adapter
 32919  	NetBIOSConfig BaseNetBIOSConfigInfo `xml:"netBIOSConfig,omitempty,typeattr" json:"netBIOSConfig,omitempty"`
 32920  }
 32921  
 32922  func init() {
 32923  	t["GuestNicInfo"] = reflect.TypeOf((*GuestNicInfo)(nil)).Elem()
 32924  }
 32925  
 32926  // The common base type for all guest operations faults.
 32927  type GuestOperationsFault struct {
 32928  	VimFault
 32929  }
 32930  
 32931  func init() {
 32932  	t["GuestOperationsFault"] = reflect.TypeOf((*GuestOperationsFault)(nil)).Elem()
 32933  }
 32934  
 32935  type GuestOperationsFaultFault BaseGuestOperationsFault
 32936  
 32937  func init() {
 32938  	t["GuestOperationsFaultFault"] = reflect.TypeOf((*GuestOperationsFaultFault)(nil)).Elem()
 32939  }
 32940  
 32941  // A GuestOperationsUnavailable exception is thrown when an
 32942  // operation fails to contact the guest operations agent
 32943  // running inside the virtual machine.
 32944  type GuestOperationsUnavailable struct {
 32945  	GuestOperationsFault
 32946  }
 32947  
 32948  func init() {
 32949  	t["GuestOperationsUnavailable"] = reflect.TypeOf((*GuestOperationsUnavailable)(nil)).Elem()
 32950  }
 32951  
 32952  type GuestOperationsUnavailableFault GuestOperationsUnavailable
 32953  
 32954  func init() {
 32955  	t["GuestOperationsUnavailableFault"] = reflect.TypeOf((*GuestOperationsUnavailableFault)(nil)).Elem()
 32956  }
 32957  
 32958  // This data object type contains information to describe a
 32959  // particular guest operating system.
 32960  type GuestOsDescriptor struct {
 32961  	DynamicData
 32962  
 32963  	// Identifier (short name) for the guest operating system.
 32964  	Id string `xml:"id" json:"id"`
 32965  	// Family to which this guest operating system belongs.
 32966  	Family string `xml:"family" json:"family"`
 32967  	// Full name of the guest operating system.
 32968  	//
 32969  	// For example, if the value of "id" is "win2000Pro", then
 32970  	// the value of "fullName" is "Windows 2000 Professional".
 32971  	FullName string `xml:"fullName" json:"fullName"`
 32972  	// Maximum number of processors supported for this guest.
 32973  	SupportedMaxCPUs int32 `xml:"supportedMaxCPUs" json:"supportedMaxCPUs"`
 32974  	// Maximum number of sockets supported for this guest.
 32975  	NumSupportedPhysicalSockets int32 `xml:"numSupportedPhysicalSockets,omitempty" json:"numSupportedPhysicalSockets,omitempty"`
 32976  	// Maximum number of cores per socket for this guest.
 32977  	NumSupportedCoresPerSocket int32 `xml:"numSupportedCoresPerSocket,omitempty" json:"numSupportedCoresPerSocket,omitempty"`
 32978  	// Minimum memory requirements supported for this guest, in MB.
 32979  	SupportedMinMemMB int32 `xml:"supportedMinMemMB" json:"supportedMinMemMB"`
 32980  	// Maximum memory requirements supported for this guest, in MB.
 32981  	SupportedMaxMemMB int32 `xml:"supportedMaxMemMB" json:"supportedMaxMemMB"`
 32982  	// Recommended default memory size for this guest, in MB.
 32983  	RecommendedMemMB int32 `xml:"recommendedMemMB" json:"recommendedMemMB"`
 32984  	// Recommended default color depth for this guest.
 32985  	RecommendedColorDepth int32 `xml:"recommendedColorDepth" json:"recommendedColorDepth"`
 32986  	// List of supported disk controller types for this guest.
 32987  	SupportedDiskControllerList []string `xml:"supportedDiskControllerList" json:"supportedDiskControllerList"`
 32988  	// Recommended default SCSI controller type for this guest.
 32989  	RecommendedSCSIController string `xml:"recommendedSCSIController,omitempty" json:"recommendedSCSIController,omitempty"`
 32990  	// Recommended default disk controller type for this guest.
 32991  	RecommendedDiskController string `xml:"recommendedDiskController" json:"recommendedDiskController"`
 32992  	// Number of disks supported for this guest.
 32993  	SupportedNumDisks int32 `xml:"supportedNumDisks" json:"supportedNumDisks"`
 32994  	// Recommended default disk size for this guest, in MB.
 32995  	RecommendedDiskSizeMB int32 `xml:"recommendedDiskSizeMB" json:"recommendedDiskSizeMB"`
 32996  	// Recommended default CD-ROM type for this guest.
 32997  	RecommendedCdromController string `xml:"recommendedCdromController,omitempty" json:"recommendedCdromController,omitempty"`
 32998  	// List of supported ethernet cards for this guest.
 32999  	SupportedEthernetCard []string `xml:"supportedEthernetCard" json:"supportedEthernetCard"`
 33000  	// Recommended default ethernet controller type for this guest.
 33001  	RecommendedEthernetCard string `xml:"recommendedEthernetCard,omitempty" json:"recommendedEthernetCard,omitempty"`
 33002  	// Flag to indicate whether or not this guest can support
 33003  	// a disk configured as a slave.
 33004  	SupportsSlaveDisk *bool `xml:"supportsSlaveDisk" json:"supportsSlaveDisk,omitempty"`
 33005  	// Specifies the CPU feature compatibility masks.
 33006  	CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
 33007  	// Flag that indicates wether the guest requires an SMC (Apple hardware).
 33008  	//
 33009  	// This is logically equivalent to GuestOS = Mac OS
 33010  	SmcRequired *bool `xml:"smcRequired" json:"smcRequired,omitempty"`
 33011  	// Flag to indicate whether or not this guest can support Wake-on-LAN.
 33012  	SupportsWakeOnLan bool `xml:"supportsWakeOnLan" json:"supportsWakeOnLan"`
 33013  	// Flag indicating whether or not this guest supports the virtual
 33014  	// machine interface.
 33015  	SupportsVMI *bool `xml:"supportsVMI" json:"supportsVMI,omitempty"`
 33016  	// Whether the memory size for this guest can be changed
 33017  	// while the virtual machine is running.
 33018  	SupportsMemoryHotAdd *bool `xml:"supportsMemoryHotAdd" json:"supportsMemoryHotAdd,omitempty"`
 33019  	// Whether virtual CPUs can be added to this guest
 33020  	// while the virtual machine is running.
 33021  	SupportsCpuHotAdd *bool `xml:"supportsCpuHotAdd" json:"supportsCpuHotAdd,omitempty"`
 33022  	// Whether virtual CPUs can be removed from this guest
 33023  	// while the virtual machine is running.
 33024  	SupportsCpuHotRemove *bool `xml:"supportsCpuHotRemove" json:"supportsCpuHotRemove,omitempty"`
 33025  	// Supported firmware types for this guest.
 33026  	//
 33027  	// Possible values are described in
 33028  	// `GuestOsDescriptorFirmwareType_enum`
 33029  	SupportedFirmware []string `xml:"supportedFirmware,omitempty" json:"supportedFirmware,omitempty"`
 33030  	// Recommended firmware type for this guest.
 33031  	//
 33032  	// Possible values are described in
 33033  	// `GuestOsDescriptorFirmwareType_enum`
 33034  	RecommendedFirmware string `xml:"recommendedFirmware,omitempty" json:"recommendedFirmware,omitempty"`
 33035  	// List of supported USB controllers for this guest.
 33036  	SupportedUSBControllerList []string `xml:"supportedUSBControllerList,omitempty" json:"supportedUSBControllerList,omitempty"`
 33037  	// Recommended default USB controller type for this guest.
 33038  	RecommendedUSBController string `xml:"recommendedUSBController,omitempty" json:"recommendedUSBController,omitempty"`
 33039  	// Whether this guest supports 3D graphics.
 33040  	Supports3D *bool `xml:"supports3D" json:"supports3D,omitempty"`
 33041  	// Recommended 3D graphics for this guest.
 33042  	Recommended3D *bool `xml:"recommended3D" json:"recommended3D,omitempty"`
 33043  	// Whether SMC (Apple hardware) is recommended for this guest.
 33044  	SmcRecommended *bool `xml:"smcRecommended" json:"smcRecommended,omitempty"`
 33045  	// Whether I/O Controller Hub is recommended for this guest.
 33046  	Ich7mRecommended *bool `xml:"ich7mRecommended" json:"ich7mRecommended,omitempty"`
 33047  	// Whether USB controller is recommended for this guest.
 33048  	UsbRecommended *bool `xml:"usbRecommended" json:"usbRecommended,omitempty"`
 33049  	// Support level of this Guest
 33050  	// Possible values are described in
 33051  	// `GuestOsDescriptorSupportLevel_enum`
 33052  	SupportLevel string `xml:"supportLevel,omitempty" json:"supportLevel,omitempty"`
 33053  	// Whether or not this guest should be allowed for selection
 33054  	// during virtual machine creation.
 33055  	SupportedForCreate *bool `xml:"supportedForCreate" json:"supportedForCreate,omitempty"`
 33056  	// Video RAM size limits supported by this guest, in KB.
 33057  	VRAMSizeInKB *IntOption `xml:"vRAMSizeInKB,omitempty" json:"vRAMSizeInKB,omitempty"`
 33058  	// Maximum number of floppies supported by this guest.
 33059  	NumSupportedFloppyDevices int32 `xml:"numSupportedFloppyDevices,omitempty" json:"numSupportedFloppyDevices,omitempty"`
 33060  	// List of NICs supported by this guest that support Wake-On-Lan.
 33061  	WakeOnLanEthernetCard []string `xml:"wakeOnLanEthernetCard,omitempty" json:"wakeOnLanEthernetCard,omitempty"`
 33062  	// Whether or not this guest can use pvscsi as boot adapter.
 33063  	SupportsPvscsiControllerForBoot *bool `xml:"supportsPvscsiControllerForBoot" json:"supportsPvscsiControllerForBoot,omitempty"`
 33064  	// Whether or not this guest should have disk uuid enabled by default.
 33065  	DiskUuidEnabled *bool `xml:"diskUuidEnabled" json:"diskUuidEnabled,omitempty"`
 33066  	// Whether or not this guest supports hot plug of PCI devices.
 33067  	SupportsHotPlugPCI *bool `xml:"supportsHotPlugPCI" json:"supportsHotPlugPCI,omitempty"`
 33068  	// Whether or not this guest supports Secure Boot.
 33069  	//
 33070  	// If some of the OS
 33071  	// releases that fall under this guest OS descriptor support Secure Boot, it
 33072  	// is reasonable to offer the ability to enable Secure Boot. Only
 33073  	// meaningful when virtual EFI firmware is in use.
 33074  	SupportsSecureBoot *bool `xml:"supportsSecureBoot" json:"supportsSecureBoot,omitempty"`
 33075  	// Whether or not Secure Boot should be enabled by default for this
 33076  	// guest OS.
 33077  	//
 33078  	// If all OS releases that fall under this guest OS descriptor
 33079  	// support Secure Boot and are known to operate correctly with Secure Boot
 33080  	// enabled, it is reasonable to enable it by default. Only meaningful when
 33081  	// virtual EFI firmware is in use.
 33082  	DefaultSecureBoot *bool `xml:"defaultSecureBoot" json:"defaultSecureBoot,omitempty"`
 33083  	// Support of persistent memory (virtual NVDIMM device).
 33084  	//
 33085  	// See also `VirtualNVDIMM`.
 33086  	PersistentMemorySupported *bool `xml:"persistentMemorySupported" json:"persistentMemorySupported,omitempty"`
 33087  	// Minimum persistent memory supported for this guest, in MB.
 33088  	SupportedMinPersistentMemoryMB int64 `xml:"supportedMinPersistentMemoryMB,omitempty" json:"supportedMinPersistentMemoryMB,omitempty"`
 33089  	// Maximum persistent memory supported for this guest, in MB.
 33090  	//
 33091  	// Total size of all the virtual NVDIMM devices should be less
 33092  	// than this value.
 33093  	SupportedMaxPersistentMemoryMB int64 `xml:"supportedMaxPersistentMemoryMB,omitempty" json:"supportedMaxPersistentMemoryMB,omitempty"`
 33094  	// Recommended default persistent memory size for this guest, in MB.
 33095  	RecommendedPersistentMemoryMB int64 `xml:"recommendedPersistentMemoryMB,omitempty" json:"recommendedPersistentMemoryMB,omitempty"`
 33096  	// Support of persistent memory hot-add operation.
 33097  	PersistentMemoryHotAddSupported *bool `xml:"persistentMemoryHotAddSupported" json:"persistentMemoryHotAddSupported,omitempty"`
 33098  	// Support of persistent memory hot-remove operation.
 33099  	PersistentMemoryHotRemoveSupported *bool `xml:"persistentMemoryHotRemoveSupported" json:"persistentMemoryHotRemoveSupported,omitempty"`
 33100  	// Support of virtual NVDIMM cold-growth operation.
 33101  	PersistentMemoryColdGrowthSupported *bool `xml:"persistentMemoryColdGrowthSupported" json:"persistentMemoryColdGrowthSupported,omitempty"`
 33102  	// Virtual NVDIMM cold-growth granularity in MB.
 33103  	PersistentMemoryColdGrowthGranularityMB int64 `xml:"persistentMemoryColdGrowthGranularityMB,omitempty" json:"persistentMemoryColdGrowthGranularityMB,omitempty"`
 33104  	// Support of virtual NVDIMM hot-growth operation.
 33105  	PersistentMemoryHotGrowthSupported *bool `xml:"persistentMemoryHotGrowthSupported" json:"persistentMemoryHotGrowthSupported,omitempty"`
 33106  	// Virtual NVDIMM hot-growth granularity in MB.
 33107  	PersistentMemoryHotGrowthGranularityMB int64 `xml:"persistentMemoryHotGrowthGranularityMB,omitempty" json:"persistentMemoryHotGrowthGranularityMB,omitempty"`
 33108  	// Recommended number of sockets for this guest.
 33109  	NumRecommendedPhysicalSockets int32 `xml:"numRecommendedPhysicalSockets,omitempty" json:"numRecommendedPhysicalSockets,omitempty"`
 33110  	// Recommended number of cores per socket for this guest.
 33111  	NumRecommendedCoresPerSocket int32 `xml:"numRecommendedCoresPerSocket,omitempty" json:"numRecommendedCoresPerSocket,omitempty"`
 33112  	// Support of Intel Virtualization Technology for Directed I/O.
 33113  	VvtdSupported *BoolOption `xml:"vvtdSupported,omitempty" json:"vvtdSupported,omitempty"`
 33114  	// Support of Virtualization-based security.
 33115  	VbsSupported *BoolOption `xml:"vbsSupported,omitempty" json:"vbsSupported,omitempty"`
 33116  	// Support for Intel Software Guard Extensions
 33117  	VsgxSupported *BoolOption `xml:"vsgxSupported,omitempty" json:"vsgxSupported,omitempty"`
 33118  	// Support for Intel Software Guard Extensions remote attestation.
 33119  	VsgxRemoteAttestationSupported *bool `xml:"vsgxRemoteAttestationSupported" json:"vsgxRemoteAttestationSupported,omitempty" vim:"8.0.0.1"`
 33120  	// Support for TPM 2.0.
 33121  	SupportsTPM20 *bool `xml:"supportsTPM20" json:"supportsTPM20,omitempty"`
 33122  	// Support for default vTPM
 33123  	RecommendedTPM20 *bool `xml:"recommendedTPM20" json:"recommendedTPM20,omitempty" vim:"8.0.0.1"`
 33124  	// Support for Virtual Watchdog Timer.
 33125  	VwdtSupported *bool `xml:"vwdtSupported" json:"vwdtSupported,omitempty"`
 33126  }
 33127  
 33128  func init() {
 33129  	t["GuestOsDescriptor"] = reflect.TypeOf((*GuestOsDescriptor)(nil)).Elem()
 33130  }
 33131  
 33132  // A GuestPermissionDenied exception is thrown when an
 33133  // operation fails because the authentication used
 33134  // is insufficient to perform the operation.
 33135  type GuestPermissionDenied struct {
 33136  	GuestOperationsFault
 33137  }
 33138  
 33139  func init() {
 33140  	t["GuestPermissionDenied"] = reflect.TypeOf((*GuestPermissionDenied)(nil)).Elem()
 33141  }
 33142  
 33143  type GuestPermissionDeniedFault GuestPermissionDenied
 33144  
 33145  func init() {
 33146  	t["GuestPermissionDeniedFault"] = reflect.TypeOf((*GuestPermissionDeniedFault)(nil)).Elem()
 33147  }
 33148  
 33149  // Different attributes for Posix guest file.
 33150  type GuestPosixFileAttributes struct {
 33151  	GuestFileAttributes
 33152  
 33153  	// The owner ID.
 33154  	//
 33155  	// If this property is not specified when passing a
 33156  	// `GuestPosixFileAttributes` object to
 33157  	// `GuestFileManager.InitiateFileTransferToGuest`,
 33158  	// the default value will be the owner Id of the user who invoked
 33159  	// the file transfer operation.
 33160  	OwnerId *int32 `xml:"ownerId" json:"ownerId,omitempty"`
 33161  	// The group ID.
 33162  	//
 33163  	// If this property is not specified when passing a
 33164  	// `GuestPosixFileAttributes` object to
 33165  	// `GuestFileManager.InitiateFileTransferToGuest`,
 33166  	// the default value will be the group Id of the user who invoked
 33167  	// the file transfer operation.
 33168  	GroupId *int32 `xml:"groupId" json:"groupId,omitempty"`
 33169  	// The file permissions.
 33170  	//
 33171  	// When creating a file with
 33172  	// `GuestFileManager.InitiateFileTransferToGuest`,
 33173  	// these are in chmod(2) format. When reporting on
 33174  	// existing files, these are in stat(2) format.
 33175  	// If this property is not specified when passing a
 33176  	// `GuestPosixFileAttributes` object to
 33177  	// `GuestFileManager.InitiateFileTransferToGuest`,
 33178  	// the file will be created with 0644 permissions.
 33179  	Permissions int64 `xml:"permissions,omitempty" json:"permissions,omitempty"`
 33180  }
 33181  
 33182  func init() {
 33183  	t["GuestPosixFileAttributes"] = reflect.TypeOf((*GuestPosixFileAttributes)(nil)).Elem()
 33184  }
 33185  
 33186  type GuestProcessInfo struct {
 33187  	DynamicData
 33188  
 33189  	// The process name
 33190  	Name string `xml:"name" json:"name"`
 33191  	// The process ID
 33192  	Pid int64 `xml:"pid" json:"pid"`
 33193  	// The process owner
 33194  	Owner string `xml:"owner" json:"owner"`
 33195  	// The full command line
 33196  	CmdLine string `xml:"cmdLine" json:"cmdLine"`
 33197  	// The start time of the process
 33198  	StartTime time.Time `xml:"startTime" json:"startTime"`
 33199  	// If the process was started using
 33200  	// `GuestProcessManager.StartProgramInGuest`
 33201  	// then the process completion time will be available if
 33202  	// queried within 5 minutes after it completes.
 33203  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 33204  	// If the process was started using
 33205  	// `GuestProcessManager.StartProgramInGuest`
 33206  	// then the process exit code will be available if
 33207  	// queried within 5 minutes after it completes.
 33208  	ExitCode int32 `xml:"exitCode,omitempty" json:"exitCode,omitempty"`
 33209  }
 33210  
 33211  func init() {
 33212  	t["GuestProcessInfo"] = reflect.TypeOf((*GuestProcessInfo)(nil)).Elem()
 33213  }
 33214  
 33215  // A GuestProcessNotFound exception is thrown when an
 33216  // operation fails because the guest process specified does not exist.
 33217  type GuestProcessNotFound struct {
 33218  	GuestOperationsFault
 33219  
 33220  	// The process ID that was not found.
 33221  	Pid int64 `xml:"pid" json:"pid"`
 33222  }
 33223  
 33224  func init() {
 33225  	t["GuestProcessNotFound"] = reflect.TypeOf((*GuestProcessNotFound)(nil)).Elem()
 33226  }
 33227  
 33228  type GuestProcessNotFoundFault GuestProcessNotFound
 33229  
 33230  func init() {
 33231  	t["GuestProcessNotFoundFault"] = reflect.TypeOf((*GuestProcessNotFoundFault)(nil)).Elem()
 33232  }
 33233  
 33234  // This describes the arguments to `GuestProcessManager.StartProgramInGuest`.
 33235  type GuestProgramSpec struct {
 33236  	DynamicData
 33237  
 33238  	// The absolute path to the program to start.
 33239  	//
 33240  	// For Linux guest operating systems, /bin/bash is used to start the
 33241  	// program.
 33242  	//
 33243  	// For Solaris guest operating systems, /bin/bash is used to start
 33244  	// the program if it exists.
 33245  	// Otherwise /bin/sh is used. If /bin/sh is used, then the process ID
 33246  	// returned by `GuestProcessManager.StartProgramInGuest` will be that of the shell used
 33247  	// to start the program, rather than the program itself, due to the
 33248  	// differences in how /bin/sh and /bin/bash work. This PID will
 33249  	// still be usable for watching the process with
 33250  	// `GuestProcessManager.ListProcessesInGuest` to
 33251  	// find its exit code and elapsed time.
 33252  	ProgramPath string `xml:"programPath" json:"programPath"`
 33253  	// The arguments to the program.
 33254  	//
 33255  	// In Linux and Solaris guest operating
 33256  	// systems, the program will be executed by a guest shell.
 33257  	// This allows stdio redirection, but may also
 33258  	// require that characters which must be escaped to the shell also
 33259  	// be escaped on the command line provided.
 33260  	//
 33261  	// For Windows guest operating systems, prefixing the command with
 33262  	// "cmd /c" can provide stdio redirection.
 33263  	Arguments string `xml:"arguments" json:"arguments"`
 33264  	// The absolute path of the working directory for the program to be
 33265  	// run.
 33266  	//
 33267  	// VMware recommends explicitly setting the working directory
 33268  	// for the program to be run. If this value is unset or is an empty
 33269  	// string, the behavior depends on the guest operating system.
 33270  	// For Linux guest operating systems, if this value is unset or is
 33271  	// an empty string, the working directory will be the home directory
 33272  	// of the user associated with the guest authentication.
 33273  	// For other guest operating systems, if this value is unset, the
 33274  	// behavior is unspecified.
 33275  	WorkingDirectory string `xml:"workingDirectory,omitempty" json:"workingDirectory,omitempty"`
 33276  	// An array of environment variables, specified
 33277  	// in the guest OS notation (eg PATH=c:\\bin;c:\\windows\\system32
 33278  	// or LD\_LIBRARY\_PATH=/usr/lib:/lib), to be set for the program
 33279  	// being run.
 33280  	//
 33281  	// Note that these are not additions to the default
 33282  	// environment variables; they define the complete set available to
 33283  	// the program. If none are specified the values are guest dependent.
 33284  	EnvVariables []string `xml:"envVariables,omitempty" json:"envVariables,omitempty"`
 33285  }
 33286  
 33287  func init() {
 33288  	t["GuestProgramSpec"] = reflect.TypeOf((*GuestProgramSpec)(nil)).Elem()
 33289  }
 33290  
 33291  // This describes the registry key name.
 33292  type GuestRegKeyNameSpec struct {
 33293  	DynamicData
 33294  
 33295  	// The full path to a registry key.
 33296  	RegistryPath string `xml:"registryPath" json:"registryPath"`
 33297  	// The wow bitness, one of `GuestRegKeyWowSpec_enum`.
 33298  	WowBitness string `xml:"wowBitness" json:"wowBitness"`
 33299  }
 33300  
 33301  func init() {
 33302  	t["GuestRegKeyNameSpec"] = reflect.TypeOf((*GuestRegKeyNameSpec)(nil)).Elem()
 33303  }
 33304  
 33305  // This describes the registry key record.
 33306  type GuestRegKeyRecordSpec struct {
 33307  	DynamicData
 33308  
 33309  	// The key.
 33310  	Key GuestRegKeySpec `xml:"key" json:"key"`
 33311  	// Any error that occurred while trying to access this key.
 33312  	//
 33313  	// Presence of this fault indicates that a recursive listing failed to
 33314  	// open this key to find keys below it in the tree. This could be a
 33315  	// result of insufficient user permissions within the guest.
 33316  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 33317  }
 33318  
 33319  func init() {
 33320  	t["GuestRegKeyRecordSpec"] = reflect.TypeOf((*GuestRegKeyRecordSpec)(nil)).Elem()
 33321  }
 33322  
 33323  // This describes the registry key.
 33324  type GuestRegKeySpec struct {
 33325  	DynamicData
 33326  
 33327  	// The key name.
 33328  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 33329  	// The user-defined class type of this key.
 33330  	ClassType string `xml:"classType" json:"classType"`
 33331  	// Time stamp of last modification.
 33332  	LastWritten time.Time `xml:"lastWritten" json:"lastWritten"`
 33333  }
 33334  
 33335  func init() {
 33336  	t["GuestRegKeySpec"] = reflect.TypeOf((*GuestRegKeySpec)(nil)).Elem()
 33337  }
 33338  
 33339  // This describes the registry value binary.
 33340  type GuestRegValueBinarySpec struct {
 33341  	GuestRegValueDataSpec
 33342  
 33343  	// The data of the registry value.
 33344  	//
 33345  	// The Windows registry allows this type of value to exist without
 33346  	// having any data associated with it.
 33347  	Value []byte `xml:"value,omitempty" json:"value,omitempty"`
 33348  }
 33349  
 33350  func init() {
 33351  	t["GuestRegValueBinarySpec"] = reflect.TypeOf((*GuestRegValueBinarySpec)(nil)).Elem()
 33352  }
 33353  
 33354  // This describes the registry value data.
 33355  type GuestRegValueDataSpec struct {
 33356  	DynamicData
 33357  }
 33358  
 33359  func init() {
 33360  	t["GuestRegValueDataSpec"] = reflect.TypeOf((*GuestRegValueDataSpec)(nil)).Elem()
 33361  }
 33362  
 33363  // This describes the registry value dword.
 33364  type GuestRegValueDwordSpec struct {
 33365  	GuestRegValueDataSpec
 33366  
 33367  	// The data of the registry value.
 33368  	Value int32 `xml:"value" json:"value"`
 33369  }
 33370  
 33371  func init() {
 33372  	t["GuestRegValueDwordSpec"] = reflect.TypeOf((*GuestRegValueDwordSpec)(nil)).Elem()
 33373  }
 33374  
 33375  // This describes the registry value expand string.
 33376  type GuestRegValueExpandStringSpec struct {
 33377  	GuestRegValueDataSpec
 33378  
 33379  	// The expanded (if applicable) data of the registry value.
 33380  	//
 33381  	// The Windows registry allows this type of value to exist without
 33382  	// having any data associated with it.
 33383  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 33384  }
 33385  
 33386  func init() {
 33387  	t["GuestRegValueExpandStringSpec"] = reflect.TypeOf((*GuestRegValueExpandStringSpec)(nil)).Elem()
 33388  }
 33389  
 33390  // This describes the registry value multi string.
 33391  type GuestRegValueMultiStringSpec struct {
 33392  	GuestRegValueDataSpec
 33393  
 33394  	// The data of the registry value.
 33395  	//
 33396  	// The Windows registry allows this type of value to exist without
 33397  	// having any data associated with it.
 33398  	Value []string `xml:"value,omitempty" json:"value,omitempty"`
 33399  }
 33400  
 33401  func init() {
 33402  	t["GuestRegValueMultiStringSpec"] = reflect.TypeOf((*GuestRegValueMultiStringSpec)(nil)).Elem()
 33403  }
 33404  
 33405  // This describes the registry value name.
 33406  type GuestRegValueNameSpec struct {
 33407  	DynamicData
 33408  
 33409  	// The key name that contains this value.
 33410  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 33411  	// The name of the value.
 33412  	Name string `xml:"name" json:"name"`
 33413  }
 33414  
 33415  func init() {
 33416  	t["GuestRegValueNameSpec"] = reflect.TypeOf((*GuestRegValueNameSpec)(nil)).Elem()
 33417  }
 33418  
 33419  // This describes the registry value qword.
 33420  type GuestRegValueQwordSpec struct {
 33421  	GuestRegValueDataSpec
 33422  
 33423  	// The data of the registry value.
 33424  	Value int64 `xml:"value" json:"value"`
 33425  }
 33426  
 33427  func init() {
 33428  	t["GuestRegValueQwordSpec"] = reflect.TypeOf((*GuestRegValueQwordSpec)(nil)).Elem()
 33429  }
 33430  
 33431  // This describes the registry value.
 33432  type GuestRegValueSpec struct {
 33433  	DynamicData
 33434  
 33435  	// The value name.
 33436  	Name GuestRegValueNameSpec `xml:"name" json:"name"`
 33437  	// The value data.
 33438  	//
 33439  	// Use one of the extended classes to specify data type:
 33440  	// `GuestRegValueDwordSpec`,
 33441  	// `GuestRegValueQwordSpec`,
 33442  	// `GuestRegValueStringSpec`,
 33443  	// `GuestRegValueExpandStringSpec`,
 33444  	// `GuestRegValueMultiStringSpec`,
 33445  	// `GuestRegValueBinarySpec`.
 33446  	Data BaseGuestRegValueDataSpec `xml:"data,typeattr" json:"data"`
 33447  }
 33448  
 33449  func init() {
 33450  	t["GuestRegValueSpec"] = reflect.TypeOf((*GuestRegValueSpec)(nil)).Elem()
 33451  }
 33452  
 33453  // This describes the registry value string.
 33454  type GuestRegValueStringSpec struct {
 33455  	GuestRegValueDataSpec
 33456  
 33457  	// The data of the registry value.
 33458  	//
 33459  	// The Windows registry allows this type of value to exist without
 33460  	// having any data associated with it.
 33461  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 33462  }
 33463  
 33464  func init() {
 33465  	t["GuestRegValueStringSpec"] = reflect.TypeOf((*GuestRegValueStringSpec)(nil)).Elem()
 33466  }
 33467  
 33468  // A GuestRegistryFault exception is thrown when an operation fails
 33469  // because of some errors in accessing/modifying the guest registry.
 33470  type GuestRegistryFault struct {
 33471  	GuestOperationsFault
 33472  
 33473  	// The windows system error number from GetLastError().
 33474  	WindowsSystemErrorCode int64 `xml:"windowsSystemErrorCode" json:"windowsSystemErrorCode"`
 33475  }
 33476  
 33477  func init() {
 33478  	t["GuestRegistryFault"] = reflect.TypeOf((*GuestRegistryFault)(nil)).Elem()
 33479  }
 33480  
 33481  type GuestRegistryFaultFault BaseGuestRegistryFault
 33482  
 33483  func init() {
 33484  	t["GuestRegistryFaultFault"] = reflect.TypeOf((*GuestRegistryFaultFault)(nil)).Elem()
 33485  }
 33486  
 33487  // A GuestRegistryKeyAlreadyExists exception is thrown when an operation fails
 33488  // because the guest registry key specified already exists.
 33489  type GuestRegistryKeyAlreadyExists struct {
 33490  	GuestRegistryKeyFault
 33491  }
 33492  
 33493  func init() {
 33494  	t["GuestRegistryKeyAlreadyExists"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExists)(nil)).Elem()
 33495  }
 33496  
 33497  type GuestRegistryKeyAlreadyExistsFault GuestRegistryKeyAlreadyExists
 33498  
 33499  func init() {
 33500  	t["GuestRegistryKeyAlreadyExistsFault"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExistsFault)(nil)).Elem()
 33501  }
 33502  
 33503  // A GuestRegistryKeyFault exception is thrown when an operation fails
 33504  // because of some errors in accessing/modifying a guest registry key.
 33505  type GuestRegistryKeyFault struct {
 33506  	GuestRegistryFault
 33507  
 33508  	// The full path to the windows registry key.
 33509  	KeyName string `xml:"keyName" json:"keyName"`
 33510  }
 33511  
 33512  func init() {
 33513  	t["GuestRegistryKeyFault"] = reflect.TypeOf((*GuestRegistryKeyFault)(nil)).Elem()
 33514  }
 33515  
 33516  type GuestRegistryKeyFaultFault BaseGuestRegistryKeyFault
 33517  
 33518  func init() {
 33519  	t["GuestRegistryKeyFaultFault"] = reflect.TypeOf((*GuestRegistryKeyFaultFault)(nil)).Elem()
 33520  }
 33521  
 33522  // A GuestRegistryKeyHasSubkeys exception is thrown when an operation fails
 33523  // because the guest registry key has subkeys.
 33524  //
 33525  // If a delete on the key is
 33526  // desired, please use the recursive delete option.
 33527  type GuestRegistryKeyHasSubkeys struct {
 33528  	GuestRegistryKeyFault
 33529  }
 33530  
 33531  func init() {
 33532  	t["GuestRegistryKeyHasSubkeys"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeys)(nil)).Elem()
 33533  }
 33534  
 33535  type GuestRegistryKeyHasSubkeysFault GuestRegistryKeyHasSubkeys
 33536  
 33537  func init() {
 33538  	t["GuestRegistryKeyHasSubkeysFault"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeysFault)(nil)).Elem()
 33539  }
 33540  
 33541  // A GuestRegistryKeyInvalid exception is thrown when an operation fails
 33542  // because the guest registry key specified was not valid (most probably
 33543  // due to an invalid HKEY Root in the key path), or does not exist.
 33544  type GuestRegistryKeyInvalid struct {
 33545  	GuestRegistryKeyFault
 33546  }
 33547  
 33548  func init() {
 33549  	t["GuestRegistryKeyInvalid"] = reflect.TypeOf((*GuestRegistryKeyInvalid)(nil)).Elem()
 33550  }
 33551  
 33552  type GuestRegistryKeyInvalidFault GuestRegistryKeyInvalid
 33553  
 33554  func init() {
 33555  	t["GuestRegistryKeyInvalidFault"] = reflect.TypeOf((*GuestRegistryKeyInvalidFault)(nil)).Elem()
 33556  }
 33557  
 33558  // A GuestRegistryKeyParentVolatile exception is thrown when trying to create
 33559  // a non-volatile registry subkey under a volatile registry parent key.
 33560  type GuestRegistryKeyParentVolatile struct {
 33561  	GuestRegistryKeyFault
 33562  }
 33563  
 33564  func init() {
 33565  	t["GuestRegistryKeyParentVolatile"] = reflect.TypeOf((*GuestRegistryKeyParentVolatile)(nil)).Elem()
 33566  }
 33567  
 33568  type GuestRegistryKeyParentVolatileFault GuestRegistryKeyParentVolatile
 33569  
 33570  func init() {
 33571  	t["GuestRegistryKeyParentVolatileFault"] = reflect.TypeOf((*GuestRegistryKeyParentVolatileFault)(nil)).Elem()
 33572  }
 33573  
 33574  // A GuestRegistryValueFault exception is thrown when an operation fails
 33575  // because of some errors in accessing/modifying a guest registry value.
 33576  type GuestRegistryValueFault struct {
 33577  	GuestRegistryFault
 33578  
 33579  	// The full path to the windows registry key containing the value.
 33580  	KeyName string `xml:"keyName" json:"keyName"`
 33581  	// The name of the value.
 33582  	ValueName string `xml:"valueName" json:"valueName"`
 33583  }
 33584  
 33585  func init() {
 33586  	t["GuestRegistryValueFault"] = reflect.TypeOf((*GuestRegistryValueFault)(nil)).Elem()
 33587  }
 33588  
 33589  type GuestRegistryValueFaultFault BaseGuestRegistryValueFault
 33590  
 33591  func init() {
 33592  	t["GuestRegistryValueFaultFault"] = reflect.TypeOf((*GuestRegistryValueFaultFault)(nil)).Elem()
 33593  }
 33594  
 33595  // A GuestRegistryValueNotFound exception is thrown when an operation fails
 33596  // because the guest registry Value specified was not found.
 33597  type GuestRegistryValueNotFound struct {
 33598  	GuestRegistryValueFault
 33599  }
 33600  
 33601  func init() {
 33602  	t["GuestRegistryValueNotFound"] = reflect.TypeOf((*GuestRegistryValueNotFound)(nil)).Elem()
 33603  }
 33604  
 33605  type GuestRegistryValueNotFoundFault GuestRegistryValueNotFound
 33606  
 33607  func init() {
 33608  	t["GuestRegistryValueNotFoundFault"] = reflect.TypeOf((*GuestRegistryValueNotFoundFault)(nil)).Elem()
 33609  }
 33610  
 33611  // Screen settings
 33612  type GuestScreenInfo struct {
 33613  	DynamicData
 33614  
 33615  	// Width of the screen in pixels.
 33616  	Width int32 `xml:"width" json:"width"`
 33617  	// Height of the screen in pixels.
 33618  	Height int32 `xml:"height" json:"height"`
 33619  }
 33620  
 33621  func init() {
 33622  	t["GuestScreenInfo"] = reflect.TypeOf((*GuestScreenInfo)(nil)).Elem()
 33623  }
 33624  
 33625  // Information about the Internet Protocol stack
 33626  // as configured in the guest operating system.
 33627  type GuestStackInfo struct {
 33628  	DynamicData
 33629  
 33630  	// Client DNS configuration.
 33631  	//
 33632  	// How DNS queries are resolved.
 33633  	DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
 33634  	// IP route table configuration.
 33635  	IpRouteConfig *NetIpRouteConfigInfo `xml:"ipRouteConfig,omitempty" json:"ipRouteConfig,omitempty"`
 33636  	// Report Kernel IP configuration settings.
 33637  	//
 33638  	// The key part contains a unique number in the report.
 33639  	// The value part contains the 'key=value'
 33640  	// as provided by the underlying provider.
 33641  	// For example on Linux, BSD, the
 33642  	// systcl -a output would be reported as:
 33643  	// key='5', value='net.ipv4.tcp\_keepalive\_time = 7200'
 33644  	IpStackConfig []KeyValue `xml:"ipStackConfig,omitempty" json:"ipStackConfig,omitempty"`
 33645  	// Client side DHCP for a given interface.
 33646  	//
 33647  	// This reports only the system wide dhcp client settings.
 33648  	// See NicInfo.IpConfig for per interface settings.
 33649  	// For example on Linux, BSD systems:
 33650  	// Using the file dhclient.conf output would be reported as:
 33651  	// key='1', value='timeout 60;'
 33652  	// key='2', value='reboot 10;'
 33653  	DhcpConfig *NetDhcpConfigInfo `xml:"dhcpConfig,omitempty" json:"dhcpConfig,omitempty"`
 33654  }
 33655  
 33656  func init() {
 33657  	t["GuestStackInfo"] = reflect.TypeOf((*GuestStackInfo)(nil)).Elem()
 33658  }
 33659  
 33660  // Different attributes for a Windows guest file.
 33661  type GuestWindowsFileAttributes struct {
 33662  	GuestFileAttributes
 33663  
 33664  	// The file is hidden.
 33665  	//
 33666  	// If this property is not specified when passing a
 33667  	// `GuestWindowsFileAttributes` object to
 33668  	// `GuestFileManager.InitiateFileTransferToGuest`,
 33669  	// the file will not be set as a hidden file.
 33670  	Hidden *bool `xml:"hidden" json:"hidden,omitempty"`
 33671  	// The file is read-only.
 33672  	//
 33673  	// If this property is not specified when passing a
 33674  	// `GuestWindowsFileAttributes` object to
 33675  	// `GuestFileManager.InitiateFileTransferToGuest`,
 33676  	// the file will not be set as a read-only file.
 33677  	ReadOnly *bool `xml:"readOnly" json:"readOnly,omitempty"`
 33678  	// The date and time the file was created.
 33679  	//
 33680  	// This property gives information about files when returned from
 33681  	// `GuestFileManager.ListFilesInGuest` or
 33682  	// `GuestFileManager.InitiateFileTransferFromGuest`
 33683  	// as part of a `GuestWindowsFileAttributes`
 33684  	// object. This property will be ignored when passing a
 33685  	// `GuestWindowsFileAttributes` object to
 33686  	// `GuestFileManager.InitiateFileTransferToGuest` or
 33687  	// `GuestFileManager.ChangeFileAttributesInGuest`.
 33688  	CreateTime *time.Time `xml:"createTime" json:"createTime,omitempty"`
 33689  }
 33690  
 33691  func init() {
 33692  	t["GuestWindowsFileAttributes"] = reflect.TypeOf((*GuestWindowsFileAttributes)(nil)).Elem()
 33693  }
 33694  
 33695  // This describes the arguments to `GuestProcessManager.StartProgramInGuest` that apply
 33696  // only for Windows guests.
 33697  type GuestWindowsProgramSpec struct {
 33698  	GuestProgramSpec
 33699  
 33700  	// Makes any program window start minimized.
 33701  	StartMinimized bool `xml:"startMinimized" json:"startMinimized"`
 33702  }
 33703  
 33704  func init() {
 33705  	t["GuestWindowsProgramSpec"] = reflect.TypeOf((*GuestWindowsProgramSpec)(nil)).Elem()
 33706  }
 33707  
 33708  // The destination compute resource is HA-enabled, and HA is not running
 33709  // properly.
 33710  //
 33711  // This will cause the following problems:
 33712  // 1\) The VM will not have HA protection.
 33713  // 2\) If this is an intracluster VMotion, HA will not be properly
 33714  // informed that the migration completed. This can have serious
 33715  // consequences to the functioning of HA.
 33716  type HAErrorsAtDest struct {
 33717  	MigrationFault
 33718  }
 33719  
 33720  func init() {
 33721  	t["HAErrorsAtDest"] = reflect.TypeOf((*HAErrorsAtDest)(nil)).Elem()
 33722  }
 33723  
 33724  type HAErrorsAtDestFault HAErrorsAtDest
 33725  
 33726  func init() {
 33727  	t["HAErrorsAtDestFault"] = reflect.TypeOf((*HAErrorsAtDestFault)(nil)).Elem()
 33728  }
 33729  
 33730  type HasMonitoredEntity HasMonitoredEntityRequestType
 33731  
 33732  func init() {
 33733  	t["HasMonitoredEntity"] = reflect.TypeOf((*HasMonitoredEntity)(nil)).Elem()
 33734  }
 33735  
 33736  // The parameters of `HealthUpdateManager.HasMonitoredEntity`.
 33737  type HasMonitoredEntityRequestType struct {
 33738  	This ManagedObjectReference `xml:"_this" json:"-"`
 33739  	// The provider id.
 33740  	ProviderId string `xml:"providerId" json:"providerId"`
 33741  	// An entity of type HostSystem.
 33742  	//
 33743  	// Refers instance of `ManagedEntity`.
 33744  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 33745  }
 33746  
 33747  func init() {
 33748  	t["HasMonitoredEntityRequestType"] = reflect.TypeOf((*HasMonitoredEntityRequestType)(nil)).Elem()
 33749  }
 33750  
 33751  type HasMonitoredEntityResponse struct {
 33752  	Returnval bool `xml:"returnval" json:"returnval"`
 33753  }
 33754  
 33755  type HasPrivilegeOnEntities HasPrivilegeOnEntitiesRequestType
 33756  
 33757  func init() {
 33758  	t["HasPrivilegeOnEntities"] = reflect.TypeOf((*HasPrivilegeOnEntities)(nil)).Elem()
 33759  }
 33760  
 33761  // The parameters of `AuthorizationManager.HasPrivilegeOnEntities`.
 33762  type HasPrivilegeOnEntitiesRequestType struct {
 33763  	This ManagedObjectReference `xml:"_this" json:"-"`
 33764  	// The set of entities on which the privileges are checked.
 33765  	//
 33766  	// Required privileges: System.Read
 33767  	//
 33768  	// Refers instances of `ManagedEntity`.
 33769  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
 33770  	// The session ID to check privileges for. A sesssion ID can be
 33771  	// obtained from `UserSession.key`.
 33772  	SessionId string `xml:"sessionId" json:"sessionId"`
 33773  	// The array of privilege IDs to check.
 33774  	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
 33775  }
 33776  
 33777  func init() {
 33778  	t["HasPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntitiesRequestType)(nil)).Elem()
 33779  }
 33780  
 33781  type HasPrivilegeOnEntitiesResponse struct {
 33782  	Returnval []EntityPrivilege `xml:"returnval,omitempty" json:"returnval,omitempty"`
 33783  }
 33784  
 33785  type HasPrivilegeOnEntity HasPrivilegeOnEntityRequestType
 33786  
 33787  func init() {
 33788  	t["HasPrivilegeOnEntity"] = reflect.TypeOf((*HasPrivilegeOnEntity)(nil)).Elem()
 33789  }
 33790  
 33791  // The parameters of `AuthorizationManager.HasPrivilegeOnEntity`.
 33792  type HasPrivilegeOnEntityRequestType struct {
 33793  	This ManagedObjectReference `xml:"_this" json:"-"`
 33794  	// The entity on which the privileges are checked.
 33795  	//
 33796  	// Required privileges: System.Read
 33797  	//
 33798  	// Refers instance of `ManagedEntity`.
 33799  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 33800  	// The session ID to check privileges for. A sesssion ID can be
 33801  	// obtained from `UserSession.key`.
 33802  	SessionId string `xml:"sessionId" json:"sessionId"`
 33803  	// The array of privilege IDs to check.
 33804  	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
 33805  }
 33806  
 33807  func init() {
 33808  	t["HasPrivilegeOnEntityRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntityRequestType)(nil)).Elem()
 33809  }
 33810  
 33811  type HasPrivilegeOnEntityResponse struct {
 33812  	Returnval []bool `xml:"returnval,omitempty" json:"returnval,omitempty"`
 33813  }
 33814  
 33815  type HasProvider HasProviderRequestType
 33816  
 33817  func init() {
 33818  	t["HasProvider"] = reflect.TypeOf((*HasProvider)(nil)).Elem()
 33819  }
 33820  
 33821  // The parameters of `HealthUpdateManager.HasProvider`.
 33822  type HasProviderRequestType struct {
 33823  	This ManagedObjectReference `xml:"_this" json:"-"`
 33824  	// The provider id.
 33825  	Id string `xml:"id" json:"id"`
 33826  }
 33827  
 33828  func init() {
 33829  	t["HasProviderRequestType"] = reflect.TypeOf((*HasProviderRequestType)(nil)).Elem()
 33830  }
 33831  
 33832  type HasProviderResponse struct {
 33833  	Returnval bool `xml:"returnval" json:"returnval"`
 33834  }
 33835  
 33836  type HasUserPrivilegeOnEntities HasUserPrivilegeOnEntitiesRequestType
 33837  
 33838  func init() {
 33839  	t["HasUserPrivilegeOnEntities"] = reflect.TypeOf((*HasUserPrivilegeOnEntities)(nil)).Elem()
 33840  }
 33841  
 33842  // The parameters of `AuthorizationManager.HasUserPrivilegeOnEntities`.
 33843  type HasUserPrivilegeOnEntitiesRequestType struct {
 33844  	This ManagedObjectReference `xml:"_this" json:"-"`
 33845  	// are the managed objects to check privileges on. If they
 33846  	// refer to managed objects that are not managed entities
 33847  	// the privilege check will be done on the root folder.
 33848  	//
 33849  	// Required privileges: System.View
 33850  	Entities []ManagedObjectReference `xml:"entities" json:"entities"`
 33851  	// is the name of the user to check privileges for. Both
 33852  	// UPN and PreWindows2000LogonName user name formats
 33853  	// are supported.
 33854  	UserName string `xml:"userName" json:"userName"`
 33855  	// is the set of privileges to check for
 33856  	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
 33857  }
 33858  
 33859  func init() {
 33860  	t["HasUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasUserPrivilegeOnEntitiesRequestType)(nil)).Elem()
 33861  }
 33862  
 33863  type HasUserPrivilegeOnEntitiesResponse struct {
 33864  	Returnval []EntityPrivilege `xml:"returnval,omitempty" json:"returnval,omitempty"`
 33865  }
 33866  
 33867  // Describes a single HBR secondary disk migration action.
 33868  //
 33869  // The storage migration
 33870  // action applies either to a single disk or a set of secondary virtual disks.
 33871  type HbrDiskMigrationAction struct {
 33872  	ClusterAction
 33873  
 33874  	// HMS Service specific collection id
 33875  	CollectionId string `xml:"collectionId" json:"collectionId"`
 33876  	// HMS specific name of this collection
 33877  	CollectionName string `xml:"collectionName" json:"collectionName"`
 33878  	// HBR disk ids of secondary disks moved by this action
 33879  	DiskIds []string `xml:"diskIds" json:"diskIds"`
 33880  	// Source datastore.
 33881  	//
 33882  	// Refers instance of `Datastore`.
 33883  	Source ManagedObjectReference `xml:"source" json:"source"`
 33884  	// Destination datastore.
 33885  	//
 33886  	// Refers instance of `Datastore`.
 33887  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 33888  	// The amount of data to be transferred.
 33889  	//
 33890  	// Unit: KB.
 33891  	SizeTransferred int64 `xml:"sizeTransferred" json:"sizeTransferred"`
 33892  	// Space utilization on the source datastore before storage migration.
 33893  	//
 33894  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33895  	// If not set, the value is not available.
 33896  	SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty" json:"spaceUtilSrcBefore,omitempty"`
 33897  	// Space utilization on the destination datastore before storage migration.
 33898  	//
 33899  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33900  	// If not set, the value is not available.
 33901  	SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty" json:"spaceUtilDstBefore,omitempty"`
 33902  	// Expected space utilization on the source datastore after storage migration.
 33903  	//
 33904  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33905  	// If not set, the value is not available.
 33906  	SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty" json:"spaceUtilSrcAfter,omitempty"`
 33907  	// Expected space utilization on the destination datastore after storage migration.
 33908  	//
 33909  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33910  	// If not set, the value is not available.
 33911  	SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty" json:"spaceUtilDstAfter,omitempty"`
 33912  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 33913  	//
 33914  	// I/O latency on the source datastore before storage migration.
 33915  	//
 33916  	// Unit: millisecond.
 33917  	// If not set, the value is not available.
 33918  	IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty" json:"ioLatencySrcBefore,omitempty"`
 33919  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 33920  	//
 33921  	// I/O latency on the destination datastore before storage migration.
 33922  	//
 33923  	// Unit: millisecond.
 33924  	// If not set, the value is not available.
 33925  	IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty" json:"ioLatencyDstBefore,omitempty"`
 33926  }
 33927  
 33928  func init() {
 33929  	t["HbrDiskMigrationAction"] = reflect.TypeOf((*HbrDiskMigrationAction)(nil)).Elem()
 33930  }
 33931  
 33932  // This data object represents the essential information about the
 33933  // state of a given replicated `VirtualMachine`.
 33934  type HbrManagerReplicationVmInfo struct {
 33935  	DynamicData
 33936  
 33937  	// A string representing the current `ReplicationVmState_enum` of the virtual machine.
 33938  	State string `xml:"state" json:"state"`
 33939  	// Progress stats for the current operation.
 33940  	//
 33941  	// Never present if the state is
 33942  	// not "syncing" or "active". If not present while in one of these states,
 33943  	// the host is still gathering initial operation statistics (progress can
 33944  	// be assumed to be 0).
 33945  	ProgressInfo *ReplicationVmProgressInfo `xml:"progressInfo,omitempty" json:"progressInfo,omitempty"`
 33946  	// An optional imageId that identifies the instance being created,
 33947  	// this is the imagId string that is passed to
 33948  	// `HbrManager.HbrCreateInstance_Task` or
 33949  	// `HbrManager.HbrStartOfflineInstance_Task`
 33950  	ImageId string `xml:"imageId,omitempty" json:"imageId,omitempty"`
 33951  	// A MethodFault representing the last replication specific error
 33952  	// that the `VirtualMachine` encountered during a create
 33953  	// instance operation.
 33954  	//
 33955  	// The successful creation of an instance
 33956  	// will clear any error.
 33957  	LastError *LocalizedMethodFault `xml:"lastError,omitempty" json:"lastError,omitempty"`
 33958  }
 33959  
 33960  func init() {
 33961  	t["HbrManagerReplicationVmInfo"] = reflect.TypeOf((*HbrManagerReplicationVmInfo)(nil)).Elem()
 33962  }
 33963  
 33964  // This data object represents the capabilities of a given
 33965  // `VirtualMachine`.
 33966  type HbrManagerVmReplicationCapability struct {
 33967  	DynamicData
 33968  
 33969  	// Refers instance of `VirtualMachine`.
 33970  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 33971  	// A string representing the current `QuiesceMode_enum` of the virtual machine.
 33972  	SupportedQuiesceMode string `xml:"supportedQuiesceMode" json:"supportedQuiesceMode"`
 33973  	// Flag indicating compression support on the host on which this virtual
 33974  	// machine is running.
 33975  	CompressionSupported bool `xml:"compressionSupported" json:"compressionSupported"`
 33976  	// Maximum disk size supported (in bytes) on the host on which this virtual
 33977  	// machine is running.
 33978  	MaxSupportedSourceDiskCapacity int64 `xml:"maxSupportedSourceDiskCapacity" json:"maxSupportedSourceDiskCapacity"`
 33979  	// Minimum rpo supported (in minutes) on the host on which this virtual
 33980  	// machine is running.
 33981  	MinRpo int64 `xml:"minRpo,omitempty" json:"minRpo,omitempty"`
 33982  	// If we are unable to find the VM, we would set this to NotFound fault.
 33983  	//
 33984  	// And, if we are unable to find the host for a given VM, then we would
 33985  	// set this to HostNotReachable fault.
 33986  	// Unset if we are able to fetch the capabilities for the VM.
 33987  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 33988  }
 33989  
 33990  func init() {
 33991  	t["HbrManagerVmReplicationCapability"] = reflect.TypeOf((*HbrManagerVmReplicationCapability)(nil)).Elem()
 33992  }
 33993  
 33994  // The base data type for all different spec operations.
 33995  type HbrReplicationTargetSpec struct {
 33996  	DynamicData
 33997  }
 33998  
 33999  func init() {
 34000  	t["HbrReplicationTargetSpec"] = reflect.TypeOf((*HbrReplicationTargetSpec)(nil)).Elem()
 34001  	minAPIVersionForType["HbrReplicationTargetSpec"] = "9.0.0.0"
 34002  }
 34003  
 34004  // TargetSpec represents the settings of remote target on source host.
 34005  type HbrTargetSpec struct {
 34006  	DynamicData
 34007  
 34008  	// The replication target IP address.
 34009  	TargetIP string `xml:"targetIP" json:"targetIP"`
 34010  	// The target PEM-encoded certificate.
 34011  	Certificate string `xml:"certificate" json:"certificate"`
 34012  }
 34013  
 34014  func init() {
 34015  	t["HbrTargetSpec"] = reflect.TypeOf((*HbrTargetSpec)(nil)).Elem()
 34016  	minAPIVersionForType["HbrTargetSpec"] = "9.0.0.0"
 34017  }
 34018  
 34019  // Defines replace-all specs on source host operation.
 34020  //
 34021  // This operation will
 34022  // remove all existing specs and will replace them with new ones.
 34023  // If specs is empty array, all existing specs will be removed and nothing new
 34024  // will be added.
 34025  type HbrTargetSpecReplacement struct {
 34026  	HbrReplicationTargetSpec
 34027  
 34028  	// Array of all new targets.
 34029  	//
 34030  	// If this is empty array, nothing new will be
 34031  	// configured and all existing ones will be deleted.
 34032  	Spec []HbrTargetSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 34033  }
 34034  
 34035  func init() {
 34036  	t["HbrTargetSpecReplacement"] = reflect.TypeOf((*HbrTargetSpecReplacement)(nil)).Elem()
 34037  	minAPIVersionForType["HbrTargetSpecReplacement"] = "9.0.0.0"
 34038  }
 34039  
 34040  // Event used to report change in health status of VirtualCenter components.
 34041  type HealthStatusChangedEvent struct {
 34042  	Event
 34043  
 34044  	// Unique ID of the VirtualCenter component.
 34045  	ComponentId string `xml:"componentId" json:"componentId"`
 34046  	// Previous health status of the component.
 34047  	OldStatus string `xml:"oldStatus" json:"oldStatus"`
 34048  	// Current health status of the component.
 34049  	NewStatus string `xml:"newStatus" json:"newStatus"`
 34050  	// Component name.
 34051  	ComponentName string `xml:"componentName" json:"componentName"`
 34052  	// Service Id of component.
 34053  	ServiceId string `xml:"serviceId,omitempty" json:"serviceId,omitempty"`
 34054  }
 34055  
 34056  func init() {
 34057  	t["HealthStatusChangedEvent"] = reflect.TypeOf((*HealthStatusChangedEvent)(nil)).Elem()
 34058  }
 34059  
 34060  // The system health runtime information
 34061  type HealthSystemRuntime struct {
 34062  	DynamicData
 34063  
 34064  	// Available system health information
 34065  	SystemHealthInfo *HostSystemHealthInfo `xml:"systemHealthInfo,omitempty" json:"systemHealthInfo,omitempty"`
 34066  	// Available hardware health information
 34067  	HardwareStatusInfo *HostHardwareStatusInfo `xml:"hardwareStatusInfo,omitempty" json:"hardwareStatusInfo,omitempty"`
 34068  }
 34069  
 34070  func init() {
 34071  	t["HealthSystemRuntime"] = reflect.TypeOf((*HealthSystemRuntime)(nil)).Elem()
 34072  }
 34073  
 34074  type HealthUpdate struct {
 34075  	DynamicData
 34076  
 34077  	// The entity on which the health update occurred.
 34078  	//
 34079  	// Only host is supported.
 34080  	//
 34081  	// Refers instance of `ManagedEntity`.
 34082  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 34083  	// The ID of the corresponding HealthUpdateInfo.
 34084  	HealthUpdateInfoId string `xml:"healthUpdateInfoId" json:"healthUpdateInfoId"`
 34085  	// The ID of this particular HealthUpdate instance, for cross-reference
 34086  	// with HealthUpdateProvider logs.
 34087  	Id string `xml:"id" json:"id"`
 34088  	// The current health status.
 34089  	//
 34090  	// Values are of type
 34091  	// `Status`.
 34092  	Status ManagedEntityStatus `xml:"status" json:"status"`
 34093  	// A description of the physical remediation required to resolve this
 34094  	// health update.
 34095  	//
 34096  	// For example, "Replace Fan #3".
 34097  	Remediation string `xml:"remediation" json:"remediation"`
 34098  }
 34099  
 34100  func init() {
 34101  	t["HealthUpdate"] = reflect.TypeOf((*HealthUpdate)(nil)).Elem()
 34102  }
 34103  
 34104  type HealthUpdateInfo struct {
 34105  	DynamicData
 34106  
 34107  	// The identifier provided by the HealthUpdateProvider.
 34108  	//
 34109  	// Identifiers are
 34110  	// required to be unique per HealthUpdateProvider.
 34111  	Id string `xml:"id" json:"id"`
 34112  	// The component type.
 34113  	//
 34114  	// For supported values, see `HealthUpdateInfoComponentType_enum`
 34115  	ComponentType string `xml:"componentType" json:"componentType"`
 34116  	// A description of the change in health.
 34117  	Description string `xml:"description" json:"description"`
 34118  }
 34119  
 34120  func init() {
 34121  	t["HealthUpdateInfo"] = reflect.TypeOf((*HealthUpdateInfo)(nil)).Elem()
 34122  }
 34123  
 34124  // An attempt to enable Enhanced VMotion Compatibility on a cluster has failed
 34125  // because the cluster contains CPUs from more than one vendor.
 34126  type HeterogenousHostsBlockingEVC struct {
 34127  	EVCConfigFault
 34128  }
 34129  
 34130  func init() {
 34131  	t["HeterogenousHostsBlockingEVC"] = reflect.TypeOf((*HeterogenousHostsBlockingEVC)(nil)).Elem()
 34132  }
 34133  
 34134  type HeterogenousHostsBlockingEVCFault HeterogenousHostsBlockingEVC
 34135  
 34136  func init() {
 34137  	t["HeterogenousHostsBlockingEVCFault"] = reflect.TypeOf((*HeterogenousHostsBlockingEVCFault)(nil)).Elem()
 34138  }
 34139  
 34140  // Data structure describing the access mode for a user or group.
 34141  type HostAccessControlEntry struct {
 34142  	DynamicData
 34143  
 34144  	// User or group having the described access mode.
 34145  	//
 34146  	// The format is "login" for local users or "DOMAIN\\login" for users
 34147  	// in a Windows domain.
 34148  	Principal string `xml:"principal" json:"principal"`
 34149  	// True if 'principal' describes a group account, false otherwise.
 34150  	Group bool `xml:"group" json:"group"`
 34151  	// Access mode for the principal.
 34152  	AccessMode HostAccessMode `xml:"accessMode" json:"accessMode"`
 34153  }
 34154  
 34155  func init() {
 34156  	t["HostAccessControlEntry"] = reflect.TypeOf((*HostAccessControlEntry)(nil)).Elem()
 34157  }
 34158  
 34159  // Fault thrown when an attempt is made to adjust resource settings
 34160  // directly on a host that is being managed by VC.
 34161  //
 34162  // VC is currently the
 34163  // source of truth for all resource pools on the host.
 34164  // Examples of methods affected by this are:
 34165  //   - create respool
 34166  //   - update respool
 34167  //   - change VM resource settings.
 34168  type HostAccessRestrictedToManagementServer struct {
 34169  	NotSupported
 34170  
 34171  	// Name/IP of the server currently managing this host.
 34172  	ManagementServer string `xml:"managementServer" json:"managementServer"`
 34173  }
 34174  
 34175  func init() {
 34176  	t["HostAccessRestrictedToManagementServer"] = reflect.TypeOf((*HostAccessRestrictedToManagementServer)(nil)).Elem()
 34177  }
 34178  
 34179  type HostAccessRestrictedToManagementServerFault HostAccessRestrictedToManagementServer
 34180  
 34181  func init() {
 34182  	t["HostAccessRestrictedToManagementServerFault"] = reflect.TypeOf((*HostAccessRestrictedToManagementServerFault)(nil)).Elem()
 34183  }
 34184  
 34185  // This data object type contains common parameters
 34186  // for local account creation.
 34187  //
 34188  // The password and description properties
 34189  // are not supported for group accounts on POSIX hosts.
 34190  type HostAccountSpec struct {
 34191  	DynamicData
 34192  
 34193  	// The ID of the specified account.
 34194  	Id string `xml:"id" json:"id"`
 34195  	// The password for a user or group.
 34196  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 34197  	// The description of the specified account.
 34198  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 34199  }
 34200  
 34201  func init() {
 34202  	t["HostAccountSpec"] = reflect.TypeOf((*HostAccountSpec)(nil)).Elem()
 34203  }
 34204  
 34205  // The `HostActiveDirectory` data object contains
 34206  // Active Directory configuration information for an ESX host.
 34207  //
 34208  // The vSphere API supports Microsoft Active Directory management
 34209  // of authentication for ESX hosts. To integrate an ESX host
 34210  // into an Active Directory environment, you use an Active Directory
 34211  // account that has the authority to add a computer to a domain.
 34212  // The ESX Server locates the Active Directory domain controller.
 34213  // When you use the host profile to configure authentication
 34214  // for an ESX host, you specify the configuration operation (add or remove).
 34215  // To add the host to a domain, specify
 34216  // the domain, and the authorized Active Directory account user name and password.
 34217  // You do not need to specify these parameters to remove the host from a domain
 34218  // because the host has the information it needs to perform the operation.
 34219  // When you call `HostProfileManager.ApplyHostConfig_Task`
 34220  // to apply the configuration, the ESX Server will call the appropriate
 34221  // method (`HostActiveDirectoryAuthentication.JoinDomain_Task`
 34222  // or `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`)
 34223  // on your behalf.
 34224  //
 34225  // Before you call the method to apply the host profile, check to see that the
 34226  // `HostAuthenticationManager*.*HostAuthenticationManager.supportedStore`
 34227  // array contains a `HostActiveDirectoryAuthentication` object.
 34228  // The presence of the Active Directory authentication object indicates
 34229  // that a host is capable of joining a domain.
 34230  // However, if you try to add a host to a domain when the
 34231  // `HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled`
 34232  // property is <code>True</code>, the join method will throw a fault.
 34233  //
 34234  // As an alternative to using the host profile to configure Active Directory
 34235  // authentication for an ESX host, your vSphere client application can call
 34236  // the `HostActiveDirectoryAuthentication` join and leave methods directly
 34237  // to add the host to or remove the host from a domain.
 34238  //
 34239  // To take advantage of ESX host membership in an Active Directory domain,
 34240  // grant permissions on the ESX host to users and groups in Active Directory
 34241  // who should have direct access to management of the ESX host.
 34242  // Use the `UserDirectory*.*UserDirectory.RetrieveUserGroups`
 34243  // method to obtain information about Active Directory users and groups.
 34244  // After retrieving the Active Directory data, you can use the
 34245  // `AuthorizationManager*.*AuthorizationManager.SetEntityPermissions`
 34246  // method to set the `Permission.principal` property
 34247  // to the appropriate user or group.
 34248  //
 34249  // By default, the ESX host assigns the Administrator role to the "ESX Admins" group.
 34250  // If the group does not exist when the host joins the domain, the host will
 34251  // not assign the role. In this case, you must create the "ESX Admins"
 34252  // group in the Active Directory. The host will periodically check the domain controller
 34253  // for the group and will assign the role when the group exists.
 34254  type HostActiveDirectory struct {
 34255  	DynamicData
 34256  
 34257  	// Configuration change operation to apply to the host.
 34258  	//
 34259  	// You can specify
 34260  	// the following values:
 34261  	//   - `add`:
 34262  	//     Add the host to the domain. The ESX Server will use the
 34263  	//     `HostActiveDirectorySpec` information
 34264  	//     (domain, account user name and password) to call
 34265  	//     `HostActiveDirectoryAuthentication.JoinDomain_Task` and optionally
 34266  	//     configure smart card authentication by calling
 34267  	//     `HostActiveDirectoryAuthentication.DisableSmartCardAuthentication`
 34268  	//     and replacing the trust anchors with those provided.
 34269  	//   - `remove`:
 34270  	//     Remove the host from its current domain.
 34271  	//     The ESX Server will call
 34272  	//     `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`, specifying
 34273  	//     <code>True</code> for the <code>force</code> parameter to delete
 34274  	//     existing permissions.
 34275  	//     `HostActiveDirectoryAuthentication.DisableSmartCardAuthentication`
 34276  	//     is also called if smart card authentication is enabled and trust
 34277  	//     anchors are removed.
 34278  	//
 34279  	// See also `HostConfigChangeOperation_enum`.
 34280  	ChangeOperation string `xml:"changeOperation" json:"changeOperation"`
 34281  	// Active Directory domain access information (domain and account
 34282  	// user name and password).
 34283  	Spec *HostActiveDirectorySpec `xml:"spec,omitempty" json:"spec,omitempty"`
 34284  }
 34285  
 34286  func init() {
 34287  	t["HostActiveDirectory"] = reflect.TypeOf((*HostActiveDirectory)(nil)).Elem()
 34288  }
 34289  
 34290  // The `HostActiveDirectoryInfo` data object describes ESX host
 34291  // membership in an Active Directory domain.
 34292  //
 34293  // If the
 34294  // `HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled`
 34295  // property is <code>True</code>, the host is a member of a domain
 34296  // and the ESX Server will set the domain information properties.
 34297  type HostActiveDirectoryInfo struct {
 34298  	HostDirectoryStoreInfo
 34299  
 34300  	// The domain that this host joined.
 34301  	JoinedDomain string `xml:"joinedDomain,omitempty" json:"joinedDomain,omitempty"`
 34302  	// List of domains with which the <code>joinedDomain</code> has a trust.
 34303  	//
 34304  	// The <code>joinedDomain</code> is not included in the
 34305  	// <code>trustedDomain</code> list.
 34306  	TrustedDomain []string `xml:"trustedDomain,omitempty" json:"trustedDomain,omitempty"`
 34307  	// Health information about the domain membership.
 34308  	//
 34309  	// See `HostActiveDirectoryInfoDomainMembershipStatus_enum`.
 34310  	DomainMembershipStatus string `xml:"domainMembershipStatus,omitempty" json:"domainMembershipStatus,omitempty"`
 34311  	// Deprecated as of vSphere API 8.0U3, and there is no replacement for it.
 34312  	//
 34313  	// Whether local smart card authentication is enabled.
 34314  	SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled" json:"smartCardAuthenticationEnabled,omitempty"`
 34315  }
 34316  
 34317  func init() {
 34318  	t["HostActiveDirectoryInfo"] = reflect.TypeOf((*HostActiveDirectoryInfo)(nil)).Elem()
 34319  }
 34320  
 34321  // The `HostActiveDirectorySpec` data object defines
 34322  // properties for Active Directory domain access.
 34323  type HostActiveDirectorySpec struct {
 34324  	DynamicData
 34325  
 34326  	// Domain name.
 34327  	DomainName string `xml:"domainName,omitempty" json:"domainName,omitempty"`
 34328  	// Name of an Active Directory account with the authority
 34329  	// to add a host to the domain.
 34330  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 34331  	// Password for the Active Directory account.
 34332  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 34333  	// If set, the CAM server will be used to join the domain
 34334  	// and the <code>userName</code> and <code>password</code> fields
 34335  	// will be ignored.
 34336  	CamServer string `xml:"camServer,omitempty" json:"camServer,omitempty"`
 34337  	// Thumbprint for the SSL certficate of CAM server
 34338  	Thumbprint string `xml:"thumbprint,omitempty" json:"thumbprint,omitempty"`
 34339  	// PEM-encoded certificate of the CAM server
 34340  	// This field replaces `HostActiveDirectorySpec.thumbprint`.
 34341  	//
 34342  	// If both `HostActiveDirectorySpec.thumbprint`
 34343  	// and `HostActiveDirectorySpec.certificate` fields are set, the `HostActiveDirectorySpec.thumbprint`
 34344  	// should match the `HostActiveDirectorySpec.certificate`.
 34345  	Certificate string `xml:"certificate,omitempty" json:"certificate,omitempty" vim:"8.0.3.0"`
 34346  	// Deprecated as of vSphere API 8.0U3, and there is no replacement for it.
 34347  	//
 34348  	// Support smart card authentication of local users.
 34349  	SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled" json:"smartCardAuthenticationEnabled,omitempty"`
 34350  	// Deprecated as of vSphere API 8.0U3, and there is no replacement for it.
 34351  	//
 34352  	// Trusted root certificates for smart cards.
 34353  	SmartCardTrustAnchors []string `xml:"smartCardTrustAnchors,omitempty" json:"smartCardTrustAnchors,omitempty"`
 34354  }
 34355  
 34356  func init() {
 34357  	t["HostActiveDirectorySpec"] = reflect.TypeOf((*HostActiveDirectorySpec)(nil)).Elem()
 34358  }
 34359  
 34360  // This event records that adding a host failed.
 34361  type HostAddFailedEvent struct {
 34362  	HostEvent
 34363  
 34364  	Hostname string `xml:"hostname" json:"hostname"`
 34365  }
 34366  
 34367  func init() {
 34368  	t["HostAddFailedEvent"] = reflect.TypeOf((*HostAddFailedEvent)(nil)).Elem()
 34369  }
 34370  
 34371  // This event records the addition of a host to VirtualCenter.
 34372  type HostAddedEvent struct {
 34373  	HostEvent
 34374  }
 34375  
 34376  func init() {
 34377  	t["HostAddedEvent"] = reflect.TypeOf((*HostAddedEvent)(nil)).Elem()
 34378  }
 34379  
 34380  // This event records that the permission on the host has been changed such
 34381  // that only the user account used for VirtualCenter operation will have
 34382  // Administrator permission.
 34383  type HostAdminDisableEvent struct {
 34384  	HostEvent
 34385  }
 34386  
 34387  func init() {
 34388  	t["HostAdminDisableEvent"] = reflect.TypeOf((*HostAdminDisableEvent)(nil)).Elem()
 34389  }
 34390  
 34391  // This event records that the administrator permission has been restored.
 34392  type HostAdminEnableEvent struct {
 34393  	HostEvent
 34394  }
 34395  
 34396  func init() {
 34397  	t["HostAdminEnableEvent"] = reflect.TypeOf((*HostAdminEnableEvent)(nil)).Elem()
 34398  }
 34399  
 34400  // The `HostApplyProfile` data object provides access to subprofiles
 34401  // that contain configuration data for different host capabilities.
 34402  //
 34403  // The Profile Engine will use any configuration data that you supply
 34404  // to overwrite the host configuration. See the `HostProfile.ExecuteHostProfile`
 34405  // and `HostProfileManager.ApplyHostConfig_Task` methods.
 34406  type HostApplyProfile struct {
 34407  	ApplyProfile
 34408  
 34409  	// Memory configuration for the host.
 34410  	//
 34411  	// This may not be valid for all versions of the host.
 34412  	Memory *HostMemoryProfile `xml:"memory,omitempty" json:"memory,omitempty"`
 34413  	// Host storage configuration.
 34414  	Storage *StorageProfile `xml:"storage,omitempty" json:"storage,omitempty"`
 34415  	// Network configuration.
 34416  	Network *NetworkProfile `xml:"network,omitempty" json:"network,omitempty"`
 34417  	// Date and time configuration.
 34418  	Datetime *DateTimeProfile `xml:"datetime,omitempty" json:"datetime,omitempty"`
 34419  	// Firewall configuration.
 34420  	Firewall *FirewallProfile `xml:"firewall,omitempty" json:"firewall,omitempty"`
 34421  	// Security Configuration of the host.
 34422  	//
 34423  	// The security subprofile can include data such as administrator passwords.
 34424  	Security *SecurityProfile `xml:"security,omitempty" json:"security,omitempty"`
 34425  	// Host configuration for services.
 34426  	//
 34427  	// Use the `ServiceProfile.key` property
 34428  	// to access a subprofile in the list.
 34429  	Service []ServiceProfile `xml:"service,omitempty" json:"service,omitempty"`
 34430  	// List of subprofiles representing advanced configuration options.
 34431  	//
 34432  	// Use the `OptionProfile.key` property to access a subprofile
 34433  	// in the list.
 34434  	Option []OptionProfile `xml:"option,omitempty" json:"option,omitempty"`
 34435  	// List of subprofiles for user accounts to be configured on the host.
 34436  	//
 34437  	// Use the `UserProfile.key` property to access a subprofile
 34438  	// in the list.
 34439  	UserAccount []UserProfile `xml:"userAccount,omitempty" json:"userAccount,omitempty"`
 34440  	// List of subprofiles for user groups to be configured on the host.
 34441  	//
 34442  	// Use the `UserGroupProfile.key` property to access a subprofile
 34443  	// in the list.
 34444  	UsergroupAccount []UserGroupProfile `xml:"usergroupAccount,omitempty" json:"usergroupAccount,omitempty"`
 34445  	// Authentication Configuration.
 34446  	Authentication *AuthenticationProfile `xml:"authentication,omitempty" json:"authentication,omitempty"`
 34447  }
 34448  
 34449  func init() {
 34450  	t["HostApplyProfile"] = reflect.TypeOf((*HostApplyProfile)(nil)).Elem()
 34451  }
 34452  
 34453  // Data object indicating a device instance has been allocated to a VM.
 34454  type HostAssignableHardwareBinding struct {
 34455  	DynamicData
 34456  
 34457  	// Instance ID of assigned device.
 34458  	InstanceId string `xml:"instanceId" json:"instanceId"`
 34459  	// Virtual machine to which the device is assigned.
 34460  	//
 34461  	// Refers instance of `VirtualMachine`.
 34462  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 34463  }
 34464  
 34465  func init() {
 34466  	t["HostAssignableHardwareBinding"] = reflect.TypeOf((*HostAssignableHardwareBinding)(nil)).Elem()
 34467  }
 34468  
 34469  // The AssignableHardwareConfig data object describes properties
 34470  // of all assignable devices on the host.
 34471  type HostAssignableHardwareConfig struct {
 34472  	DynamicData
 34473  
 34474  	// List of attribute overrides.
 34475  	AttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"attributeOverride,omitempty" json:"attributeOverride,omitempty"`
 34476  }
 34477  
 34478  func init() {
 34479  	t["HostAssignableHardwareConfig"] = reflect.TypeOf((*HostAssignableHardwareConfig)(nil)).Elem()
 34480  }
 34481  
 34482  // An AttributeOverride provides a name-value pair that overrides
 34483  // for a particular instance node a configurable Attribute defined
 34484  // by that device.
 34485  type HostAssignableHardwareConfigAttributeOverride struct {
 34486  	DynamicData
 34487  
 34488  	// Instance ID of the Assignable Hardware instance node where
 34489  	// the attribute specified by name is overridden.
 34490  	InstanceId string `xml:"instanceId" json:"instanceId"`
 34491  	// Name of attribute to override.
 34492  	Name string `xml:"name" json:"name"`
 34493  	// When AssignableHardwareConfig is a returned data object:
 34494  	// Value returned will always be set.
 34495  	//
 34496  	// When AssignableHardwareConfig is used as a parameter to
 34497  	// an operation updating Assignable Hardware configuration:
 34498  	// If value is set, an existing AttributeOverride with matching
 34499  	// instanceId and name will have its value updated; if there is
 34500  	// no existing AttributeOverride that matches, a new
 34501  	// AttributeOverride is created. The type of the value must match
 34502  	// the type of the attribute value being overridden.
 34503  	// If value is not set, an existing AttributeOverride matching
 34504  	// the specified instanceId and name is deleted.
 34505  	Value AnyType `xml:"value,typeattr" json:"value"`
 34506  }
 34507  
 34508  func init() {
 34509  	t["HostAssignableHardwareConfigAttributeOverride"] = reflect.TypeOf((*HostAssignableHardwareConfigAttributeOverride)(nil)).Elem()
 34510  }
 34511  
 34512  // Authentication information for a host managed by a vCenter
 34513  // Server or a vCenter extension to login into other hosts without
 34514  // username/password authentication.
 34515  type HostAuthenticationInfo struct {
 34516  	DynamicData
 34517  
 34518  	// The principal used for the login session
 34519  	Principal string `xml:"principal" json:"principal"`
 34520  	// The tag associated with this registration.
 34521  	//
 34522  	// Owner tags allow
 34523  	// multiple entities to register the same certificate without
 34524  	// interfering with each other on the life cycle of the certificate with
 34525  	// their unique tags.
 34526  	// Each solution must use a unique tag to identify itself.
 34527  	OwnerTag string `xml:"ownerTag" json:"ownerTag"`
 34528  	// Specify the PEM-encoded SSL certificate to register on the host.
 34529  	SslCertificates []string `xml:"sslCertificates,omitempty" json:"sslCertificates,omitempty"`
 34530  }
 34531  
 34532  func init() {
 34533  	t["HostAuthenticationInfo"] = reflect.TypeOf((*HostAuthenticationInfo)(nil)).Elem()
 34534  	minAPIVersionForType["HostAuthenticationInfo"] = "9.0.0.0"
 34535  }
 34536  
 34537  // The `HostAuthenticationManagerInfo` data object provides
 34538  // access to authentication information for the ESX host.
 34539  type HostAuthenticationManagerInfo struct {
 34540  	DynamicData
 34541  
 34542  	// An array containing entries for local authentication and host
 34543  	// Active Directory authentication.
 34544  	//   - `HostLocalAuthenticationInfo` - Local authentication is always enabled.
 34545  	//   - `HostActiveDirectoryInfo` - Host Active Directory authentication information
 34546  	//     includes the name of the domain, membership status,
 34547  	//     and a list of other domains trusted by the membership domain.
 34548  	AuthConfig []BaseHostAuthenticationStoreInfo `xml:"authConfig,typeattr" json:"authConfig"`
 34549  }
 34550  
 34551  func init() {
 34552  	t["HostAuthenticationManagerInfo"] = reflect.TypeOf((*HostAuthenticationManagerInfo)(nil)).Elem()
 34553  }
 34554  
 34555  // The `HostAuthenticationStoreInfo` base class defines status information
 34556  // for local and host Active Directory authentication.
 34557  type HostAuthenticationStoreInfo struct {
 34558  	DynamicData
 34559  
 34560  	// Indicates whether the authentication store is configured.
 34561  	//   - Host Active Directory authentication - <code>enabled</code>
 34562  	//     is <code>True</code> if the host is a member of a domain.
 34563  	//   - Local authentication - <code>enabled</code> is always <code>True</code>.
 34564  	Enabled bool `xml:"enabled" json:"enabled"`
 34565  }
 34566  
 34567  func init() {
 34568  	t["HostAuthenticationStoreInfo"] = reflect.TypeOf((*HostAuthenticationStoreInfo)(nil)).Elem()
 34569  }
 34570  
 34571  // Contains the entire auto-start/auto-stop configuration.
 34572  type HostAutoStartManagerConfig struct {
 34573  	DynamicData
 34574  
 34575  	// System defaults for auto-start/auto-stop.
 34576  	Defaults *AutoStartDefaults `xml:"defaults,omitempty" json:"defaults,omitempty"`
 34577  	// Lists the auto-start/auto-stop configuration.
 34578  	//
 34579  	// If a virtual machine is not
 34580  	// mentioned in this array, it does not participate in auto-start/auto-stop
 34581  	// operations.
 34582  	PowerInfo []AutoStartPowerInfo `xml:"powerInfo,omitempty" json:"powerInfo,omitempty"`
 34583  }
 34584  
 34585  func init() {
 34586  	t["HostAutoStartManagerConfig"] = reflect.TypeOf((*HostAutoStartManagerConfig)(nil)).Elem()
 34587  }
 34588  
 34589  type HostBIOSInfo struct {
 34590  	DynamicData
 34591  
 34592  	// The current BIOS version of the physical chassis
 34593  	BiosVersion string `xml:"biosVersion,omitempty" json:"biosVersion,omitempty"`
 34594  	// The release date for the BIOS.
 34595  	ReleaseDate *time.Time `xml:"releaseDate" json:"releaseDate,omitempty"`
 34596  	// The vendor for the BIOS.
 34597  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 34598  	// BIOS Major Release
 34599  	MajorRelease int32 `xml:"majorRelease,omitempty" json:"majorRelease,omitempty"`
 34600  	// "BIOS Minor Release
 34601  	MinorRelease         int32 `xml:"minorRelease,omitempty" json:"minorRelease,omitempty"`
 34602  	FirmwareMajorRelease int32 `xml:"firmwareMajorRelease,omitempty" json:"firmwareMajorRelease,omitempty"`
 34603  	// Embedded Controller Firmware Minor Release
 34604  	FirmwareMinorRelease int32 `xml:"firmwareMinorRelease,omitempty" json:"firmwareMinorRelease,omitempty"`
 34605  	// Firmware Type of the host.
 34606  	//
 34607  	// The set of supported values is described
 34608  	// in `HostBIOSInfoFirmwareType_enum`
 34609  	FirmwareType string `xml:"firmwareType,omitempty" json:"firmwareType,omitempty" vim:"8.0.2.0"`
 34610  }
 34611  
 34612  func init() {
 34613  	t["HostBIOSInfo"] = reflect.TypeOf((*HostBIOSInfo)(nil)).Elem()
 34614  }
 34615  
 34616  // Block adapter transport information about a SCSI target.
 34617  type HostBlockAdapterTargetTransport struct {
 34618  	HostTargetTransport
 34619  }
 34620  
 34621  func init() {
 34622  	t["HostBlockAdapterTargetTransport"] = reflect.TypeOf((*HostBlockAdapterTargetTransport)(nil)).Elem()
 34623  }
 34624  
 34625  // This data object type describes the host bus adapter that
 34626  // provides block devices.
 34627  type HostBlockHba struct {
 34628  	HostHostBusAdapter
 34629  }
 34630  
 34631  func init() {
 34632  	t["HostBlockHba"] = reflect.TypeOf((*HostBlockHba)(nil)).Elem()
 34633  }
 34634  
 34635  // The `HostBootDevice` data object represents a boot device on the host system.
 34636  type HostBootDevice struct {
 34637  	DynamicData
 34638  
 34639  	// The identifier for the boot device.
 34640  	Key string `xml:"key" json:"key"`
 34641  	// The description of the boot device.
 34642  	Description string `xml:"description" json:"description"`
 34643  }
 34644  
 34645  func init() {
 34646  	t["HostBootDevice"] = reflect.TypeOf((*HostBootDevice)(nil)).Elem()
 34647  }
 34648  
 34649  // This data object represents the boot device information of the host.
 34650  type HostBootDeviceInfo struct {
 34651  	DynamicData
 34652  
 34653  	// The list of boot devices present on the host
 34654  	BootDevices []HostBootDevice `xml:"bootDevices,omitempty" json:"bootDevices,omitempty"`
 34655  	// The key of the current boot device that the host is configured to
 34656  	// boot.
 34657  	//
 34658  	// This property is unset if the current boot device is disabled.
 34659  	CurrentBootDeviceKey string `xml:"currentBootDeviceKey,omitempty" json:"currentBootDeviceKey,omitempty"`
 34660  }
 34661  
 34662  func init() {
 34663  	t["HostBootDeviceInfo"] = reflect.TypeOf((*HostBootDeviceInfo)(nil)).Elem()
 34664  }
 34665  
 34666  // Host solid state drive cache configuration information.
 34667  type HostCacheConfigurationInfo struct {
 34668  	DynamicData
 34669  
 34670  	// Datastore used for swap performance enhancements.
 34671  	//
 34672  	// Refers instance of `Datastore`.
 34673  	Key ManagedObjectReference `xml:"key" json:"key"`
 34674  	// Space allocated on this datastore to implement swap performance
 34675  	// enhancements, in MB.
 34676  	SwapSize int64 `xml:"swapSize" json:"swapSize"`
 34677  }
 34678  
 34679  func init() {
 34680  	t["HostCacheConfigurationInfo"] = reflect.TypeOf((*HostCacheConfigurationInfo)(nil)).Elem()
 34681  }
 34682  
 34683  // Host cache configuration specification.
 34684  type HostCacheConfigurationSpec struct {
 34685  	DynamicData
 34686  
 34687  	// Datastore used for swap performance enhancement.
 34688  	//
 34689  	// Refers instance of `Datastore`.
 34690  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 34691  	// Space to allocate on this datastore to implement swap performance
 34692  	// enhancements, in MB.
 34693  	//
 34694  	// This value should be less or equal to free space
 34695  	// capacity on the datastore `DatastoreSummary.freeSpace`.
 34696  	SwapSize int64 `xml:"swapSize" json:"swapSize"`
 34697  }
 34698  
 34699  func init() {
 34700  	t["HostCacheConfigurationSpec"] = reflect.TypeOf((*HostCacheConfigurationSpec)(nil)).Elem()
 34701  }
 34702  
 34703  // Specifies the capabilities of the particular host.
 34704  //
 34705  // This set of
 34706  // capabilities is referenced in other parts of the API specification
 34707  // to indicate under what circumstances an API will throw a
 34708  // `NotSupported` fault.
 34709  type HostCapability struct {
 34710  	DynamicData
 34711  
 34712  	RecursiveResourcePoolsSupported bool `xml:"recursiveResourcePoolsSupported" json:"recursiveResourcePoolsSupported"`
 34713  	// Flag indicating whether cpu and memory resource configuration is
 34714  	// supported.
 34715  	//
 34716  	// If this is set to false,
 34717  	// `ResourcePool.UpdateConfig`,
 34718  	// `ResourcePool.UpdateChildResourceConfiguration`
 34719  	// cannot be used for changing the cpu/memory resource configurations.
 34720  	CpuMemoryResourceConfigurationSupported bool `xml:"cpuMemoryResourceConfigurationSupported" json:"cpuMemoryResourceConfigurationSupported"`
 34721  	// Flag indicating whether rebooting the host is supported.
 34722  	RebootSupported bool `xml:"rebootSupported" json:"rebootSupported"`
 34723  	// Flag indicating whether the host can be powered off
 34724  	ShutdownSupported bool `xml:"shutdownSupported" json:"shutdownSupported"`
 34725  	// Flag indicating whether you can perform VMotion.
 34726  	VmotionSupported bool `xml:"vmotionSupported" json:"vmotionSupported"`
 34727  	// Flag indicating whether you can put the host in a power down
 34728  	// state, from which it can be powered up automatically.
 34729  	StandbySupported bool `xml:"standbySupported" json:"standbySupported"`
 34730  	// Flag indicating whether the host supports
 34731  	// IPMI (Intelligent Platform Management Interface).
 34732  	//
 34733  	// XXX - Make ipmiSupported optional until there is a compatible hostagent.
 34734  	IpmiSupported *bool `xml:"ipmiSupported" json:"ipmiSupported,omitempty"`
 34735  	// The maximum number of virtual machines that can exist on this host.
 34736  	//
 34737  	// If this capability is not set, the number of virtual machines is
 34738  	// unlimited.
 34739  	MaxSupportedVMs int32 `xml:"maxSupportedVMs,omitempty" json:"maxSupportedVMs,omitempty"`
 34740  	// The maximum number of virtual machines that can be running
 34741  	// simultaneously on this host.
 34742  	//
 34743  	// If this capability is not set, the number of virtual machines
 34744  	// running simultaneously is unlimited.
 34745  	MaxRunningVMs int32 `xml:"maxRunningVMs,omitempty" json:"maxRunningVMs,omitempty"`
 34746  	// The maximum number of virtual CPUs supported per virtual machine.
 34747  	//
 34748  	// If this capability is not set, the number is unlimited.
 34749  	MaxSupportedVcpus int32 `xml:"maxSupportedVcpus,omitempty" json:"maxSupportedVcpus,omitempty"`
 34750  	// The maximum number of registered virtual machines supported by
 34751  	// the host.
 34752  	//
 34753  	// If this limit is exceeded, the management agent will be
 34754  	// at risk of running out of system resources. `configIssue` will be posted on
 34755  	// `HostSystem` in this case.
 34756  	//
 34757  	// If this capability is not set, the number is unknown.
 34758  	MaxRegisteredVMs int32 `xml:"maxRegisteredVMs,omitempty" json:"maxRegisteredVMs,omitempty"`
 34759  	// Flag indicating whether datastore principal user
 34760  	// is supported on the host.
 34761  	DatastorePrincipalSupported bool `xml:"datastorePrincipalSupported" json:"datastorePrincipalSupported"`
 34762  	// Flag indicating whether access to SAN devices is supported.
 34763  	SanSupported bool `xml:"sanSupported" json:"sanSupported"`
 34764  	// Is access to NFS devices supported.
 34765  	NfsSupported bool `xml:"nfsSupported" json:"nfsSupported"`
 34766  	// Is access to iSCSI devices supported.
 34767  	IscsiSupported bool `xml:"iscsiSupported" json:"iscsiSupported"`
 34768  	// Is VLAN Tagging supported.
 34769  	VlanTaggingSupported bool `xml:"vlanTaggingSupported" json:"vlanTaggingSupported"`
 34770  	// Is NIC teaming supported.
 34771  	NicTeamingSupported bool `xml:"nicTeamingSupported" json:"nicTeamingSupported"`
 34772  	// Is high guest memory supported.
 34773  	HighGuestMemSupported bool `xml:"highGuestMemSupported" json:"highGuestMemSupported"`
 34774  	// Is maintenance mode supported
 34775  	MaintenanceModeSupported bool `xml:"maintenanceModeSupported" json:"maintenanceModeSupported"`
 34776  	// Indicates whether this host supports relocation of
 34777  	// suspended virtual machines.
 34778  	//
 34779  	// Must be true on the source
 34780  	// and destination hosts for the relocation to work.
 34781  	SuspendedRelocateSupported bool `xml:"suspendedRelocateSupported" json:"suspendedRelocateSupported"`
 34782  	// Indicates whether this host supports relocation of
 34783  	// virtual machines with snapshots.
 34784  	//
 34785  	// Must be true on the
 34786  	// source and destination hosts for the relocation to work.
 34787  	// Even if this is true, the following conditions must hold:
 34788  	// 1\) All the the vm's files are in one directory prior
 34789  	// to the relocate.
 34790  	// 2\) All of the vm's files will be in one directory
 34791  	// after the relocate.
 34792  	// 3\) The source and destination hosts are the same product
 34793  	// version.
 34794  	RestrictedSnapshotRelocateSupported bool `xml:"restrictedSnapshotRelocateSupported" json:"restrictedSnapshotRelocateSupported"`
 34795  	// Flag indicating whether virtual machine execution on this host involves
 34796  	// a swapfile for each virtual machine.
 34797  	//
 34798  	// If true, the swapfile placement
 34799  	// for a powered-on virtual machine is advertised in its FileLayout by
 34800  	// the `swapFile` property.
 34801  	PerVmSwapFiles bool `xml:"perVmSwapFiles" json:"perVmSwapFiles"`
 34802  	// Flag indicating whether the host supports selecting a datastore that
 34803  	// that may be used to store virtual machine swapfiles.
 34804  	LocalSwapDatastoreSupported bool `xml:"localSwapDatastoreSupported" json:"localSwapDatastoreSupported"`
 34805  	// Flag indicating whether the host supports participating in a VMotion
 34806  	// where the virtual machine swapfile is not visible to the destination.
 34807  	UnsharedSwapVMotionSupported bool `xml:"unsharedSwapVMotionSupported" json:"unsharedSwapVMotionSupported"`
 34808  	// Flag indicating whether background snapshots are supported on this host.
 34809  	BackgroundSnapshotsSupported bool `xml:"backgroundSnapshotsSupported" json:"backgroundSnapshotsSupported"`
 34810  	// Flag to indicate whether the server returns unit numbers in a
 34811  	// pre-assigned range for devices on the PCI bus.
 34812  	//
 34813  	// When the server supports this flag, the device unit number namespace is
 34814  	// partitioned by device type. Different types of devices will sit in
 34815  	// a specific range of unit numbers that may not correspond to physical
 34816  	// slots in the pci bus but present a relative ordering of the devices
 34817  	// with respect to other devices of the same type.
 34818  	// Note that this does not mean that the user can set the relative ordering
 34819  	// between device types, but only allows stable orderings between devices
 34820  	// of the same type. The unit number will now clearly represent an ordering
 34821  	// between devices of the same type.
 34822  	// `VirtualDevice.unitNumber`
 34823  	// This property is only available for devices on the pci controller.
 34824  	PreAssignedPCIUnitNumbersSupported bool `xml:"preAssignedPCIUnitNumbersSupported" json:"preAssignedPCIUnitNumbersSupported"`
 34825  	// Indicates whether the screenshot retrival over https is supported for this host's
 34826  	// virtual machines.
 34827  	//
 34828  	// If true, a screenshot can be retrieved at the HTTPS relative path
 34829  	// _/screen?id=&lt;managed object ID of virtual machine or snapshot&gt;_.
 34830  	// If any of the optional parameters 'top', 'left', 'bottom', and 'right' is
 34831  	// specified, the returned image will be cropped from the rectangle with upper left
 34832  	// corner (left, top) and bottom right corner (right - 1, bottom - 1). These values
 34833  	// default to the top, left, bottom and right edges of the image.
 34834  	// The client must use an authenticated session with privilege
 34835  	// VirtualMachine.Interact.ConsoleInteract on the requested virtual machine or,
 34836  	// in the case of a snapshot, the virtual machine associated with that snapshot.
 34837  	ScreenshotSupported bool `xml:"screenshotSupported" json:"screenshotSupported"`
 34838  	// Indicates whether scaling is supported for screenshots retrieved over https.
 34839  	//
 34840  	// If true, screenshot retrieval supports the additional optional
 34841  	// parameters 'width' and 'height'. After cropping, the returned image will be scaled
 34842  	// to these dimensions. If only one of these parameters is specified, default behavior
 34843  	// is to return an image roughly proportional to the source image.
 34844  	ScaledScreenshotSupported bool `xml:"scaledScreenshotSupported" json:"scaledScreenshotSupported"`
 34845  	// Indicates whether the storage of a powered-on virtual machine may be
 34846  	// relocated.
 34847  	StorageVMotionSupported *bool `xml:"storageVMotionSupported" json:"storageVMotionSupported,omitempty"`
 34848  	// Indicates whether the storage of a powered-on virtual machine may be
 34849  	// relocated while simultaneously changing the execution host of the
 34850  	// virtual machine.
 34851  	VmotionWithStorageVMotionSupported *bool `xml:"vmotionWithStorageVMotionSupported" json:"vmotionWithStorageVMotionSupported,omitempty"`
 34852  	// Indicates whether the network of a powered-on virtual machine can be
 34853  	// changed while simultaneously changing the execution host of the
 34854  	// virtual machine.
 34855  	VmotionAcrossNetworkSupported *bool `xml:"vmotionAcrossNetworkSupported" json:"vmotionAcrossNetworkSupported,omitempty"`
 34856  	// Maximum number of migrating disks allowed of a migrating VM during SVMotion.
 34857  	//
 34858  	// If this capability is not set, then the maximum is considered to be 64.
 34859  	MaxNumDisksSVMotion int32 `xml:"maxNumDisksSVMotion,omitempty" json:"maxNumDisksSVMotion,omitempty"`
 34860  	// Maximum version of vDiskVersion supported by this host.
 34861  	//
 34862  	// If this capability is not set, then the maximum is considered to be 6.
 34863  	MaxVirtualDiskDescVersionSupported int32 `xml:"maxVirtualDiskDescVersionSupported,omitempty" json:"maxVirtualDiskDescVersionSupported,omitempty" vim:"8.0.1.0"`
 34864  	// Indicates whether a dedicated nic can be selected for vSphere Replication
 34865  	// LWD traffic, i.e., from the primary host to the VR server.
 34866  	HbrNicSelectionSupported *bool `xml:"hbrNicSelectionSupported" json:"hbrNicSelectionSupported,omitempty"`
 34867  	// Indicates whether a dedicated nic can be selected for vSphere Replication
 34868  	// NFC traffic, i.e., from the VR server to the secondary host.
 34869  	VrNfcNicSelectionSupported *bool `xml:"vrNfcNicSelectionSupported" json:"vrNfcNicSelectionSupported,omitempty"`
 34870  	// Deprecated as of vSphere API 6.0.
 34871  	//
 34872  	// Indicates whether this host supports record and replay
 34873  	RecordReplaySupported *bool `xml:"recordReplaySupported" json:"recordReplaySupported,omitempty"`
 34874  	// Deprecated as of vSphere API 6.0.
 34875  	//
 34876  	// Indicates whether this host supports Fault Tolerance
 34877  	// There can be many reasons why a host does not support Fault
 34878  	// Tolerance, which includes CPU compatibility, product
 34879  	// compatibility as well as other host configuration settings.
 34880  	//
 34881  	// For specific reasons, look into
 34882  	// `HostCapability.replayCompatibilityIssues` and
 34883  	// `HostCapability.ftCompatibilityIssues`
 34884  	// In releases after vSphere API 5.0, vSphere Servers might not
 34885  	// generate property collector update notifications for this property.
 34886  	// To obtain the latest value of the property, you can use
 34887  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 34888  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 34889  	// an empty string for the version parameter.
 34890  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 34891  	// contain values for this property when some other property on the DataObject changes.
 34892  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 34893  	// version parameter, the value for this property may not be current.
 34894  	FtSupported *bool `xml:"ftSupported" json:"ftSupported,omitempty"`
 34895  	// Deprecated as of vSphere API 4.1, use
 34896  	// `HostCapability.replayCompatibilityIssues`.
 34897  	//
 34898  	// For a host whose CPU doesn't support replay, indicates the reason
 34899  	// for the incompatibility.
 34900  	//
 34901  	// `HostReplayUnsupportedReason_enum`
 34902  	// represents the set of possible values.
 34903  	ReplayUnsupportedReason string `xml:"replayUnsupportedReason,omitempty" json:"replayUnsupportedReason,omitempty"`
 34904  	// Deprecated as of vSphere API 6.0.
 34905  	//
 34906  	// For a host which doesn't support replay, indicates all the reasons
 34907  	// for the incompatibility.
 34908  	//
 34909  	// `HostReplayUnsupportedReason_enum`
 34910  	// lists the set of possible values.
 34911  	ReplayCompatibilityIssues []string `xml:"replayCompatibilityIssues,omitempty" json:"replayCompatibilityIssues,omitempty"`
 34912  	// Indicates whether this host supports smp fault tolerance
 34913  	SmpFtSupported *bool `xml:"smpFtSupported" json:"smpFtSupported,omitempty"`
 34914  	// Deprecated as of vSphere API 6.0.
 34915  	//
 34916  	// For a host which doesn't support Fault Tolerance, indicates all the reasons
 34917  	// for the incompatibility.
 34918  	//
 34919  	// `HostCapabilityFtUnsupportedReason_enum`
 34920  	// lists the set of possible values.
 34921  	FtCompatibilityIssues []string `xml:"ftCompatibilityIssues,omitempty" json:"ftCompatibilityIssues,omitempty"`
 34922  	// For a host which doesn't support smp fault tolerance, indicates all the
 34923  	// reasons for the incompatibility.
 34924  	//
 34925  	// `HostCapabilityFtUnsupportedReason_enum` lists the set of possible
 34926  	// values.
 34927  	SmpFtCompatibilityIssues []string `xml:"smpFtCompatibilityIssues,omitempty" json:"smpFtCompatibilityIssues,omitempty"`
 34928  	// The maximum number of vCPUs allowed for a fault-tolerant virtual machine.
 34929  	MaxVcpusPerFtVm int32 `xml:"maxVcpusPerFtVm,omitempty" json:"maxVcpusPerFtVm,omitempty"`
 34930  	// Flag indicating whether this host supports SSL thumbprint authentication
 34931  	LoginBySSLThumbprintSupported *bool `xml:"loginBySSLThumbprintSupported" json:"loginBySSLThumbprintSupported,omitempty"`
 34932  	// Indicates whether or not cloning a virtual machine from a snapshot
 34933  	// point is allowed.
 34934  	//
 34935  	// This property must be true on the host where the virtual machine
 34936  	// is currently residing. This property need not be true on the
 34937  	// destination host for the clone.
 34938  	//
 34939  	// See also `VirtualMachineCloneSpec.snapshot`.
 34940  	CloneFromSnapshotSupported *bool `xml:"cloneFromSnapshotSupported" json:"cloneFromSnapshotSupported,omitempty"`
 34941  	// Flag indicating whether explicitly creating arbirary configurations of
 34942  	// delta disk backings is supported.
 34943  	//
 34944  	// A delta disk backing is a way to preserve a virtual disk backing
 34945  	// at some point in time. A delta disk backing is a file backing which in
 34946  	// turn points to the original virtual disk backing (the parent). After a delta
 34947  	// disk backing is added, all writes go to the delta disk backing. All reads
 34948  	// first try the delta disk backing and then try the parent backing if needed.
 34949  	//
 34950  	// If this property is false, then delta disk backings can only be implicitly
 34951  	// created through using snapshot operations and two virtual machines cannot
 34952  	// safely share a parent disk backing.
 34953  	//
 34954  	// If this property is true, then delta disk backings can be explicitly created
 34955  	// and managed, and two virtual machines may safely share a parent disk backing.
 34956  	//
 34957  	// In the context above, "safely" means that performing operations on one of the
 34958  	// virtual machines will not affect the operation of the other virtual machine.
 34959  	//
 34960  	// See also `VirtualDiskSparseVer1BackingInfo.parent`, `VirtualDiskSparseVer2BackingInfo.parent`, `VirtualDiskFlatVer1BackingInfo.parent`, `VirtualDiskFlatVer2BackingInfo.parent`, `VirtualDiskRawDiskMappingVer1BackingInfo.parent`, `VirtualMachine.PromoteDisks_Task`, `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.
 34961  	DeltaDiskBackingsSupported *bool `xml:"deltaDiskBackingsSupported" json:"deltaDiskBackingsSupported,omitempty"`
 34962  	// Indicates whether network traffic shaping on a
 34963  	// per virtual machine basis is supported.
 34964  	PerVMNetworkTrafficShapingSupported *bool `xml:"perVMNetworkTrafficShapingSupported" json:"perVMNetworkTrafficShapingSupported,omitempty"`
 34965  	// Flag indicating whether this host supports the integrity measurement using
 34966  	// a TPM device.
 34967  	TpmSupported *bool `xml:"tpmSupported" json:"tpmSupported,omitempty"`
 34968  	// TPM version if supported by this host.
 34969  	TpmVersion string `xml:"tpmVersion,omitempty" json:"tpmVersion,omitempty"`
 34970  	// Flag indicating whether Intel TXT is enabled on this host.
 34971  	//
 34972  	// TPM attestation may be used to definitively determine the Intel TXT
 34973  	// Measured Launch Environment (MLE) details.
 34974  	TxtEnabled *bool `xml:"txtEnabled" json:"txtEnabled,omitempty"`
 34975  	// Deprecated as of vSphere API 6.5 use
 34976  	// `featureCapability`.
 34977  	//
 34978  	// CPU feature set that is supported by the virtualization platform.
 34979  	//
 34980  	// This
 34981  	// feature set may reflect characteristics of the product capabilities and
 34982  	// licensing. For any feature marked '-', reference the
 34983  	// `cpuFeature` array of the host's
 34984  	// HardwareInfo to determine the correct value.
 34985  	SupportedCpuFeature []HostCpuIdInfo `xml:"supportedCpuFeature,omitempty" json:"supportedCpuFeature,omitempty"`
 34986  	// Indicates whether the host supports configuring hardware
 34987  	// virtualization (HV) support for virtual machines.
 34988  	VirtualExecUsageSupported *bool `xml:"virtualExecUsageSupported" json:"virtualExecUsageSupported,omitempty"`
 34989  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 34990  	//
 34991  	// Indicates whether the host supports storage I/O resource
 34992  	// management.
 34993  	StorageIORMSupported *bool `xml:"storageIORMSupported" json:"storageIORMSupported,omitempty"`
 34994  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 34995  	// there is no replacement.
 34996  	//
 34997  	// Indicates whether the host supports network passthrough using
 34998  	// VMDirectPath Gen 2.
 34999  	//
 35000  	// Note that this is a general capability for the host
 35001  	// and is independent of support by a given physical NIC. If false, the
 35002  	// reason(s) for lack of support will be provided in
 35003  	// `HostCapability.vmDirectPathGen2UnsupportedReason` and/or in
 35004  	// `HostCapability.vmDirectPathGen2UnsupportedReasonExtended`.
 35005  	//
 35006  	// See also `PhysicalNic.vmDirectPathGen2Supported`.
 35007  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
 35008  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 35009  	// there is no replacement.
 35010  	//
 35011  	// If `HostCapability.vmDirectPathGen2Supported` is false, this array will be
 35012  	// populated with reasons for the lack of support (chosen from
 35013  	// `HostCapabilityVmDirectPathGen2UnsupportedReason_enum`).
 35014  	//
 35015  	// If there is a reason for
 35016  	// the lack of support that cannot be described by the available constants,
 35017  	// `HostCapability.vmDirectPathGen2UnsupportedReasonExtended` will be populated
 35018  	// with an additional explanation provided by the platform.
 35019  	//
 35020  	// Note that this list of reasons is not guaranteed to be exhaustive.
 35021  	//
 35022  	// If the reason "hostNptIncompatibleProduct" is provided, then that will
 35023  	// be the only provided reason, as the host software is incapable of
 35024  	// providing additional information.
 35025  	VmDirectPathGen2UnsupportedReason []string `xml:"vmDirectPathGen2UnsupportedReason,omitempty" json:"vmDirectPathGen2UnsupportedReason,omitempty"`
 35026  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 35027  	// there is no replacement.
 35028  	//
 35029  	// If `HostCapability.vmDirectPathGen2Supported` is false, this property may
 35030  	// contain an explanation provided by the platform, beyond the reasons (if
 35031  	// any) enumerated in `HostCapability.vmDirectPathGen2UnsupportedReason`.
 35032  	VmDirectPathGen2UnsupportedReasonExtended string `xml:"vmDirectPathGen2UnsupportedReasonExtended,omitempty" json:"vmDirectPathGen2UnsupportedReasonExtended,omitempty"`
 35033  	// List of VMFS major versions supported by the host.
 35034  	SupportedVmfsMajorVersion []int32 `xml:"supportedVmfsMajorVersion,omitempty" json:"supportedVmfsMajorVersion,omitempty"`
 35035  	// Indicates whether the host supports vStorage Hardware
 35036  	// acceleration.
 35037  	VStorageCapable *bool `xml:"vStorageCapable" json:"vStorageCapable,omitempty"`
 35038  	// Indicates whether this host supports unrestricted relocation of virtual
 35039  	// machines with snapshots.
 35040  	//
 35041  	// Only needs to be true on the destination host for
 35042  	// the unrestricted relocation to work. The full snapshot relocation does not
 35043  	// restrict the layout of snapshot files or disks of the virtual machine, nor
 35044  	// its power state. If the virtual machine is powered on, a storage vmotion
 35045  	// will be performed to relocate its snapshots and disks.
 35046  	SnapshotRelayoutSupported *bool `xml:"snapshotRelayoutSupported" json:"snapshotRelayoutSupported,omitempty"`
 35047  	// Indicates whether this host supports ip address based restrictions in
 35048  	// the firewall configuration.
 35049  	FirewallIpRulesSupported *bool `xml:"firewallIpRulesSupported" json:"firewallIpRulesSupported,omitempty"`
 35050  	// Indicates whether this host supports package information in service
 35051  	// configuration.
 35052  	ServicePackageInfoSupported *bool `xml:"servicePackageInfoSupported" json:"servicePackageInfoSupported,omitempty"`
 35053  	// The maximum number of virtual machines that can be run on the host.
 35054  	//
 35055  	// An unset value indicates that the value could not be obtained. In contrast
 35056  	// to `HostCapability.maxRunningVMs`, this value is the minimum of (i) the maximum
 35057  	// number supported by the hardware and (ii) the maximum number permitted by
 35058  	// the host license.
 35059  	MaxHostRunningVms int32 `xml:"maxHostRunningVms,omitempty" json:"maxHostRunningVms,omitempty"`
 35060  	// The maximum number of virtual CPUs that can be run on the host.
 35061  	//
 35062  	// An unset
 35063  	// value indicates that the value could not be obtained. In contrast to
 35064  	// `HostCapability.maxSupportedVcpus`, this value is the minimum of (i) the maximum
 35065  	// number supported by the hardware and (ii) the maximum number permitted by
 35066  	// the host license.
 35067  	MaxHostSupportedVcpus int32 `xml:"maxHostSupportedVcpus,omitempty" json:"maxHostSupportedVcpus,omitempty"`
 35068  	// Indicates whether the host is capable of mounting/unmounting
 35069  	// VMFS datastores.
 35070  	VmfsDatastoreMountCapable *bool `xml:"vmfsDatastoreMountCapable" json:"vmfsDatastoreMountCapable,omitempty"`
 35071  	// Indicates whether the host is capable of accessing a VMFS disk
 35072  	// when there are eight or more hosts accessing the disk already.
 35073  	EightPlusHostVmfsSharedAccessSupported *bool `xml:"eightPlusHostVmfsSharedAccessSupported" json:"eightPlusHostVmfsSharedAccessSupported,omitempty"`
 35074  	// Indicates whether the host supports nested hardware-assisted virtualization.
 35075  	NestedHVSupported *bool `xml:"nestedHVSupported" json:"nestedHVSupported,omitempty"`
 35076  	// Indicates whether the host supports virtual CPU performance counters.
 35077  	VPMCSupported *bool `xml:"vPMCSupported" json:"vPMCSupported,omitempty"`
 35078  	// Indicates whether the host supports VMCI for communication
 35079  	// between virtual machines.
 35080  	InterVMCommunicationThroughVMCISupported *bool `xml:"interVMCommunicationThroughVMCISupported" json:"interVMCommunicationThroughVMCISupported,omitempty"`
 35081  	// Indicates whether the host supports scheduled hardware upgrades.
 35082  	//
 35083  	// See also `VirtualMachineConfigInfo.scheduledHardwareUpgradeInfo`.
 35084  	ScheduledHardwareUpgradeSupported *bool `xml:"scheduledHardwareUpgradeSupported" json:"scheduledHardwareUpgradeSupported,omitempty"`
 35085  	// Indicated whether the host supports feature capabilities
 35086  	// for EVC mode.
 35087  	FeatureCapabilitiesSupported *bool `xml:"featureCapabilitiesSupported" json:"featureCapabilitiesSupported,omitempty"`
 35088  	// Indicates whether the host supports latency sensitivity for the
 35089  	// virtual machines.
 35090  	LatencySensitivitySupported *bool `xml:"latencySensitivitySupported" json:"latencySensitivitySupported,omitempty"`
 35091  	// Indicates that host supports Object-based Storage System and
 35092  	// Storage-Profile based disk provisioning.
 35093  	StoragePolicySupported *bool `xml:"storagePolicySupported" json:"storagePolicySupported,omitempty"`
 35094  	// Indicates if 3D hardware acceleration for virtual machines is supported.
 35095  	Accel3dSupported *bool `xml:"accel3dSupported" json:"accel3dSupported,omitempty"`
 35096  	// Indicates that this host uses a reliable memory aware allocation policy.
 35097  	ReliableMemoryAware *bool `xml:"reliableMemoryAware" json:"reliableMemoryAware,omitempty"`
 35098  	// Indicates whether the host supports Multiple Instance TCP/IP stack
 35099  	MultipleNetworkStackInstanceSupported *bool `xml:"multipleNetworkStackInstanceSupported" json:"multipleNetworkStackInstanceSupported,omitempty"`
 35100  	// Indicates whether the message bus proxy is supported
 35101  	MessageBusProxySupported *bool `xml:"messageBusProxySupported" json:"messageBusProxySupported,omitempty"`
 35102  	// Indicates whether the host supports VSAN functionality.
 35103  	//
 35104  	// See also `HostVsanSystem`.
 35105  	VsanSupported *bool `xml:"vsanSupported" json:"vsanSupported,omitempty"`
 35106  	// Indicates whether the host supports vFlash.
 35107  	VFlashSupported *bool `xml:"vFlashSupported" json:"vFlashSupported,omitempty"`
 35108  	// Whether this host supports HostAccessManager for controlling direct
 35109  	// access to the host and for better lockdown mode management.
 35110  	HostAccessManagerSupported *bool `xml:"hostAccessManagerSupported" json:"hostAccessManagerSupported,omitempty"`
 35111  	// Indicates whether a dedicated nic can be selected for vSphere Provisioning
 35112  	// NFC traffic.
 35113  	ProvisioningNicSelectionSupported *bool `xml:"provisioningNicSelectionSupported" json:"provisioningNicSelectionSupported,omitempty"`
 35114  	// Whether this host supports NFS41 file systems.
 35115  	Nfs41Supported *bool `xml:"nfs41Supported" json:"nfs41Supported,omitempty"`
 35116  	// Whether this host support NFS41 Kerberos 5\* security type.
 35117  	Nfs41Krb5iSupported *bool `xml:"nfs41Krb5iSupported" json:"nfs41Krb5iSupported,omitempty"`
 35118  	// Indicates whether turning on/off local disk LED is supported
 35119  	// on the host.
 35120  	//
 35121  	// See also `HostStorageSystem.TurnDiskLocatorLedOn_Task`, `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
 35122  	TurnDiskLocatorLedSupported *bool `xml:"turnDiskLocatorLedSupported" json:"turnDiskLocatorLedSupported,omitempty"`
 35123  	// Indicates whether this host supports VirtualVolume based Datastore.
 35124  	VirtualVolumeDatastoreSupported *bool `xml:"virtualVolumeDatastoreSupported" json:"virtualVolumeDatastoreSupported,omitempty"`
 35125  	// Indicates whether mark disk as SSD or Non-SSD is supported
 35126  	// on the host.
 35127  	//
 35128  	// See also `HostStorageSystem.MarkAsSsd_Task`, `HostStorageSystem.MarkAsNonSsd_Task`.
 35129  	MarkAsSsdSupported *bool `xml:"markAsSsdSupported" json:"markAsSsdSupported,omitempty"`
 35130  	// Indicates whether mark disk as local or remote is supported
 35131  	// on the host.
 35132  	//
 35133  	// See also `HostStorageSystem.MarkAsLocal_Task`, `HostStorageSystem.MarkAsNonLocal_Task`.
 35134  	MarkAsLocalSupported *bool `xml:"markAsLocalSupported" json:"markAsLocalSupported,omitempty"`
 35135  	// Deprecated as of vSphere API 8.0U3, and there is no replacement for it.
 35136  	//
 35137  	// Indicates whether this host supports local two-factor user
 35138  	// authentication using smart cards.
 35139  	//
 35140  	// See also `HostActiveDirectoryAuthentication.EnableSmartCardAuthentication`.
 35141  	SmartCardAuthenticationSupported *bool `xml:"smartCardAuthenticationSupported" json:"smartCardAuthenticationSupported,omitempty"`
 35142  	// Indicates whether this host supports persistent memory.
 35143  	//
 35144  	// If value is not specified, it should be considered as not supported.
 35145  	PMemSupported *bool `xml:"pMemSupported" json:"pMemSupported,omitempty"`
 35146  	// Indicates whether this host supports snapshots for VMs with virtual
 35147  	// devices backed by persistent memory.
 35148  	//
 35149  	// If value is not specified, it should be considered as not supported.
 35150  	PMemSnapshotSupported *bool `xml:"pMemSnapshotSupported" json:"pMemSnapshotSupported,omitempty"`
 35151  	// Flag indicating whether Cryptographer feature is supported.
 35152  	CryptoSupported *bool `xml:"cryptoSupported" json:"cryptoSupported,omitempty"`
 35153  	// Indicates whether this host supports granular datastore cache update.
 35154  	//
 35155  	// If value is not specified, it should be considered as not supported.
 35156  	OneKVolumeAPIsSupported *bool `xml:"oneKVolumeAPIsSupported" json:"oneKVolumeAPIsSupported,omitempty"`
 35157  	// Flag indicating whether default gateway can be configured on a
 35158  	// vmkernel nic.
 35159  	GatewayOnNicSupported *bool `xml:"gatewayOnNicSupported" json:"gatewayOnNicSupported,omitempty"`
 35160  	// Deprecated as of vSphere API 8.0, and there is no replacement for it.
 35161  	//
 35162  	// Indicate whether this host supports UPIT
 35163  	UpitSupported *bool `xml:"upitSupported" json:"upitSupported,omitempty"`
 35164  	// Indicates whether this host supports hardware-based MMU virtualization.
 35165  	CpuHwMmuSupported *bool `xml:"cpuHwMmuSupported" json:"cpuHwMmuSupported,omitempty"`
 35166  	// Indicates whether this host supports encrypted vMotion.
 35167  	EncryptedVMotionSupported *bool `xml:"encryptedVMotionSupported" json:"encryptedVMotionSupported,omitempty"`
 35168  	// Indicates whether this host supports changing the encryption state
 35169  	// of a virtual disk when the disk is being added or removed from a
 35170  	// virtual machine configuration.
 35171  	EncryptionChangeOnAddRemoveSupported *bool `xml:"encryptionChangeOnAddRemoveSupported" json:"encryptionChangeOnAddRemoveSupported,omitempty"`
 35172  	// Indicates whether this host supports changing the encryption state
 35173  	// of a virtual machine, or virtual disk, while the virtual machine
 35174  	// is powered on.
 35175  	EncryptionHotOperationSupported *bool `xml:"encryptionHotOperationSupported" json:"encryptionHotOperationSupported,omitempty"`
 35176  	// Indicates whether this host supports changing the encryption state
 35177  	// state of a virtual machine, or virtual disk, while the virtual
 35178  	// machine has snapshots present.
 35179  	EncryptionWithSnapshotsSupported *bool `xml:"encryptionWithSnapshotsSupported" json:"encryptionWithSnapshotsSupported,omitempty"`
 35180  	// Indicates whether this host supports enabling Fault Tolerance on
 35181  	// encrypted virtual machines.
 35182  	EncryptionFaultToleranceSupported *bool `xml:"encryptionFaultToleranceSupported" json:"encryptionFaultToleranceSupported,omitempty"`
 35183  	// Indicates whether this host supports suspending, or creating
 35184  	// with-memory snapshots, encrypted virtual machines.
 35185  	EncryptionMemorySaveSupported *bool `xml:"encryptionMemorySaveSupported" json:"encryptionMemorySaveSupported,omitempty"`
 35186  	// Indicates whether this host supports encrypting RDM backed virtual
 35187  	// disks.
 35188  	EncryptionRDMSupported *bool `xml:"encryptionRDMSupported" json:"encryptionRDMSupported,omitempty"`
 35189  	// Indicates whether this host supports encrypting virtual disks with
 35190  	// vFlash cache enabled.
 35191  	EncryptionVFlashSupported *bool `xml:"encryptionVFlashSupported" json:"encryptionVFlashSupported,omitempty"`
 35192  	// Indicates whether this host supports encrypting virtual disks with
 35193  	// Content Based Read Cache (digest disks) enabled.
 35194  	EncryptionCBRCSupported *bool `xml:"encryptionCBRCSupported" json:"encryptionCBRCSupported,omitempty"`
 35195  	// Indicates whether this host supports encrypting virtual disks with
 35196  	// Host Based Replication enabled.
 35197  	EncryptionHBRSupported *bool `xml:"encryptionHBRSupported" json:"encryptionHBRSupported,omitempty"`
 35198  	// Indicates whether this host supports Fault Tolerance VMs that have
 35199  	// specified UEFI firmware.
 35200  	FtEfiSupported *bool `xml:"ftEfiSupported" json:"ftEfiSupported,omitempty"`
 35201  	// Indicates which kind of VMFS unmap method is supported.
 35202  	//
 35203  	// See
 35204  	// `HostCapabilityUnmapMethodSupported_enum`
 35205  	UnmapMethodSupported string `xml:"unmapMethodSupported,omitempty" json:"unmapMethodSupported,omitempty"`
 35206  	// Indicates maximum memory allowed for Fault Tolerance virtual machine.
 35207  	MaxMemMBPerFtVm int32 `xml:"maxMemMBPerFtVm,omitempty" json:"maxMemMBPerFtVm,omitempty"`
 35208  	// Indicates that `VirtualMachineFlagInfo.virtualMmuUsage` is
 35209  	// ignored by the host, always operating as if "on" was selected.
 35210  	VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored" json:"virtualMmuUsageIgnored,omitempty"`
 35211  	// Indicates that `VirtualMachineFlagInfo.virtualExecUsage` is
 35212  	// ignored by the host, always operating as if "hvOn" was selected.
 35213  	VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored" json:"virtualExecUsageIgnored,omitempty"`
 35214  	// Indicates that createDate feature is supported by the host.
 35215  	VmCreateDateSupported *bool `xml:"vmCreateDateSupported" json:"vmCreateDateSupported,omitempty"`
 35216  	// Indicates whether this host supports VMFS-3 EOL.
 35217  	//
 35218  	// If value is not specified, it should be considered as not supported.
 35219  	Vmfs3EOLSupported *bool `xml:"vmfs3EOLSupported" json:"vmfs3EOLSupported,omitempty"`
 35220  	// Indicates whether this host supports VMCP for Fault Tolerance VMs.
 35221  	FtVmcpSupported *bool `xml:"ftVmcpSupported" json:"ftVmcpSupported,omitempty"`
 35222  	// Indicates whether this host supports the LoadESX feature
 35223  	// which allows faster reboots.
 35224  	//
 35225  	// See also `HostLoadEsxManager.QueryLoadEsxSupported`.
 35226  	QuickBootSupported *bool `xml:"quickBootSupported" json:"quickBootSupported,omitempty"`
 35227  	// Indicates whether this host supports encrypted Fault Tolerance.
 35228  	EncryptedFtSupported *bool `xml:"encryptedFtSupported" json:"encryptedFtSupported,omitempty" vim:"7.0.2.0"`
 35229  	// Indicates whether this host supports Assignable Hardware.
 35230  	AssignableHardwareSupported *bool `xml:"assignableHardwareSupported" json:"assignableHardwareSupported,omitempty"`
 35231  	// Indicates whether this host supports suspending virtual machines to memory.
 35232  	SuspendToMemorySupported *bool `xml:"suspendToMemorySupported" json:"suspendToMemorySupported,omitempty" vim:"7.0.2.0"`
 35233  	// Indicates whether this host uses vmFeatures for compatibility checking
 35234  	// of old (&leq;8) virtual hardware version VMs.
 35235  	UseFeatureReqsForOldHWv *bool `xml:"useFeatureReqsForOldHWv" json:"useFeatureReqsForOldHWv,omitempty"`
 35236  	// Indicates whether this host supports marking specified LUN as
 35237  	// perennially reserved.
 35238  	MarkPerenniallyReservedSupported *bool `xml:"markPerenniallyReservedSupported" json:"markPerenniallyReservedSupported,omitempty"`
 35239  	// Indicates whether this host supports HPP path selection policy
 35240  	// settings.
 35241  	HppPspSupported *bool `xml:"hppPspSupported" json:"hppPspSupported,omitempty"`
 35242  	// Indicates whether device rebind without reboot is supported.
 35243  	//
 35244  	// This is
 35245  	// the capability which enables PCI passthrough and SR-IOV configuration
 35246  	// without reboot.
 35247  	DeviceRebindWithoutRebootSupported *bool `xml:"deviceRebindWithoutRebootSupported" json:"deviceRebindWithoutRebootSupported,omitempty"`
 35248  	// Indicates whether this host supports storage policy change.
 35249  	StoragePolicyChangeSupported *bool `xml:"storagePolicyChangeSupported" json:"storagePolicyChangeSupported,omitempty"`
 35250  	// Indicates whether this host supports date time synchronization over
 35251  	// Precision Time Protocol (PTP).
 35252  	PrecisionTimeProtocolSupported *bool `xml:"precisionTimeProtocolSupported" json:"precisionTimeProtocolSupported,omitempty"`
 35253  	// Indicates whether vMotion of a VM with remote devices attached is
 35254  	// supported.
 35255  	//
 35256  	// This applies to CD-ROM and floppy devices backed by a
 35257  	// remote client.
 35258  	RemoteDeviceVMotionSupported *bool `xml:"remoteDeviceVMotionSupported" json:"remoteDeviceVMotionSupported,omitempty"`
 35259  	// The maximum amount of virtual memory supported per virtual machine.
 35260  	//
 35261  	// If this capability is not set, the size is limited by hardware version
 35262  	// of the virtual machine only.
 35263  	MaxSupportedVmMemory int32 `xml:"maxSupportedVmMemory,omitempty" json:"maxSupportedVmMemory,omitempty"`
 35264  	// Indicates if the host supports Assignable Hardware device hints.
 35265  	AhDeviceHintsSupported *bool `xml:"ahDeviceHintsSupported" json:"ahDeviceHintsSupported,omitempty" vim:"7.0.2.0"`
 35266  	// Indicates if access to NVMe over TCP devices is supported.
 35267  	NvmeOverTcpSupported *bool `xml:"nvmeOverTcpSupported" json:"nvmeOverTcpSupported,omitempty" vim:"7.0.3.0"`
 35268  	// Indicates whether NVMe Storage Fabrics Services (StFS) are supported.
 35269  	NvmeStorageFabricServicesSupported *bool `xml:"nvmeStorageFabricServicesSupported" json:"nvmeStorageFabricServicesSupported,omitempty" vim:"7.0.3.0"`
 35270  	// Indicates if setting hardwareLabel using PciPassThrough is supported.
 35271  	AssignHwPciConfigSupported *bool `xml:"assignHwPciConfigSupported" json:"assignHwPciConfigSupported,omitempty" vim:"7.0.2.0"`
 35272  	// Indicates whether advanced timekeeping apis are supported
 35273  	TimeConfigSupported *bool `xml:"timeConfigSupported" json:"timeConfigSupported,omitempty" vim:"7.0.3.0"`
 35274  	// Indicates whether batch NVMe controller connection/disconnection is supported.
 35275  	//
 35276  	// See `HostStorageSystem.ConnectNvmeControllerEx_Task` and
 35277  	// `HostStorageSystem.DisconnectNvmeControllerEx_Task`.
 35278  	NvmeBatchOperationsSupported *bool `xml:"nvmeBatchOperationsSupported" json:"nvmeBatchOperationsSupported,omitempty" vim:"7.0.3.0"`
 35279  	// Indicates whether this host supports failover for VMs with virtual
 35280  	// devices backed by persistent memory.
 35281  	//
 35282  	// If value is not specified, it should be considered as not supported.
 35283  	PMemFailoverSupported *bool `xml:"pMemFailoverSupported" json:"pMemFailoverSupported,omitempty" vim:"7.0.2.0"`
 35284  	// Indicates whether this host supports host configuration encryption.
 35285  	HostConfigEncryptionSupported *bool `xml:"hostConfigEncryptionSupported" json:"hostConfigEncryptionSupported,omitempty" vim:"7.0.2.0"`
 35286  	// Max supported number of SMT (Simultaneous multithreading) threads.
 35287  	//
 35288  	// If value is not specified, it should be considered as not supported.
 35289  	MaxSupportedSimultaneousThreads int32 `xml:"maxSupportedSimultaneousThreads,omitempty" json:"maxSupportedSimultaneousThreads,omitempty" vim:"8.0.0.1"`
 35290  	// Indicates whether this host supports PTP (Precision Time Protocol)
 35291  	// service configuration.
 35292  	//
 35293  	// See `HostPtpConfig`. If value is
 35294  	// not specified, it should be considered as not supported.
 35295  	PtpConfigSupported *bool `xml:"ptpConfigSupported" json:"ptpConfigSupported,omitempty" vim:"7.0.3.0"`
 35296  	// Number of PTP (Precision Time Protocol) ports supported by this
 35297  	// host (See `HostPtpConfig`).
 35298  	//
 35299  	// If this capability is not
 35300  	// set, number of PTP ports in the host is 0.
 35301  	MaxSupportedPtpPorts int32 `xml:"maxSupportedPtpPorts,omitempty" json:"maxSupportedPtpPorts,omitempty" vim:"7.0.3.0"`
 35302  	// Indicates whether this host supports SGX registration.
 35303  	SgxRegistrationSupported *bool `xml:"sgxRegistrationSupported" json:"sgxRegistrationSupported,omitempty" vim:"8.0.0.1"`
 35304  	// Indicates whether this host supports snapshots of VMs configured
 35305  	// with independent vNVDIMMs.
 35306  	//
 35307  	// If value is not specified, it should be considered as not supported.
 35308  	// This support does not depend on `HostCapability.pMemSnapshotSupported`.
 35309  	PMemIndependentSnapshotSupported *bool `xml:"pMemIndependentSnapshotSupported" json:"pMemIndependentSnapshotSupported,omitempty" vim:"7.0.3.0"`
 35310  	// Indicates whether this host's IOMMUs are capable of tracking pages
 35311  	// written by device DMAs using dirty bits in the second-level page
 35312  	// tables.
 35313  	//
 35314  	// If this value is not specified, it should be considered as
 35315  	// not capable.
 35316  	IommuSLDirtyCapable *bool `xml:"iommuSLDirtyCapable" json:"iommuSLDirtyCapable,omitempty" vim:"8.0.0.1"`
 35317  	// Indicates whether vmknic binding is supported over this host.
 35318  	VmknicBindingSupported *bool `xml:"vmknicBindingSupported" json:"vmknicBindingSupported,omitempty" vim:"8.0.1.0"`
 35319  	// Indicates whether ultralow fixed unmap bandwidth is supported on this host.
 35320  	UltralowFixedUnmapSupported *bool `xml:"ultralowFixedUnmapSupported" json:"ultralowFixedUnmapSupported,omitempty" vim:"8.0.0.1"`
 35321  	// Indicates whether mounting of NVMe vvol is supported on this host.
 35322  	NvmeVvolSupported *bool `xml:"nvmeVvolSupported" json:"nvmeVvolSupported,omitempty" vim:"8.0.0.0"`
 35323  	// Indicates whether FPT Hotplug is supported on this host.
 35324  	FptHotplugSupported *bool `xml:"fptHotplugSupported" json:"fptHotplugSupported,omitempty" vim:"8.0.1.0"`
 35325  	// Indicates whether MCONNECT is supported on this host.
 35326  	MconnectSupported *bool `xml:"mconnectSupported" json:"mconnectSupported,omitempty" vim:"8.0.1.0"`
 35327  	// Indicates whether vSAN nic types can be managed by VirtualNicManager.
 35328  	VsanNicMgmtSupported *bool `xml:"vsanNicMgmtSupported" json:"vsanNicMgmtSupported,omitempty" vim:"8.0.2.0"`
 35329  	// Indicates whether vVol NQN is supported on this host.
 35330  	VvolNQNSupported *bool `xml:"vvolNQNSupported" json:"vvolNQNSupported,omitempty" vim:"8.0.2.0"`
 35331  	// Indicates whether "stretched" vVol Storage Container is supported on this host.
 35332  	StretchedSCSupported *bool `xml:"stretchedSCSupported" json:"stretchedSCSupported,omitempty" vim:"8.0.3.0"`
 35333  	// Indicates whether vmknic binding is supported on NFSv41 over this host.
 35334  	VmknicBindingOnNFSv41 *bool `xml:"vmknicBindingOnNFSv41" json:"vmknicBindingOnNFSv41,omitempty" vim:"8.0.3.0"`
 35335  	// Indicates whether VasaProvider Status can be monitored on the host.
 35336  	VpStatusCheckSupported *bool `xml:"vpStatusCheckSupported" json:"vpStatusCheckSupported,omitempty" vim:"8.0.3.0"`
 35337  	// Indicates whether E2E 4KN capability is supported on the host.
 35338  	E2e4knSupported *bool `xml:"e2e4knSupported" json:"e2e4knSupported,omitempty" vim:"9.0.0.0"`
 35339  	// Indicates whether vSAN external vmknic configuration is supported on the host.
 35340  	VsanDedicatedVmkNicSupported *bool `xml:"vsanDedicatedVmkNicSupported" json:"vsanDedicatedVmkNicSupported,omitempty" vim:"9.0.0.0"`
 35341  	// Indicates whether NFS41 NCONNECT is supported on this host.
 35342  	NConnectSupported *bool `xml:"nConnectSupported" json:"nConnectSupported,omitempty" vim:"8.0.3.0"`
 35343  	// Indicates whether user-provided private key installation is supported on this host.
 35344  	UserKeySupported *bool `xml:"userKeySupported" json:"userKeySupported,omitempty" vim:"8.0.3.0"`
 35345  	// Indicates whether non-disruptive certificate management is supported on this host.
 35346  	NdcmSupported *bool `xml:"ndcmSupported" json:"ndcmSupported,omitempty" vim:"8.0.3.0"`
 35347  	// Flag indicating that the firmware reports the use of UEFI Secure
 35348  	// Boot during system boot.
 35349  	//
 35350  	// TPM attestation may be used to definitively determine the boot
 35351  	// time UEFI Secure Boot state and its complete configuration. An
 35352  	// out-of-band management channel may also be considered.
 35353  	UefiSecureBoot *bool `xml:"uefiSecureBoot" json:"uefiSecureBoot,omitempty" vim:"8.0.3.0"`
 35354  	// Indicates whether this host can populate and consume
 35355  	// `VirtualMachineConfigInfo.vmxRuntimeConfig` property.
 35356  	VpxdVmxGenerationSupported *bool `xml:"vpxdVmxGenerationSupported" json:"vpxdVmxGenerationSupported,omitempty" vim:"9.0.0.0"`
 35357  	// Indicates whether this host supports NFS41
 35358  	// encryption using KRB5P protocol.
 35359  	Nfs41Krb5pSupported *bool `xml:"nfs41Krb5pSupported" json:"nfs41Krb5pSupported,omitempty" vim:"9.0.0.0"`
 35360  	// Indicates whether this host supports CIM
 35361  	CimSupported *bool `xml:"cimSupported" json:"cimSupported,omitempty" vim:"9.0.0.0"`
 35362  	// Indicate whether this host supports NPIV
 35363  	NpivSupported *bool `xml:"npivSupported" json:"npivSupported,omitempty" vim:"9.0.0.0"`
 35364  	// Indicates whether this host supports license entitlements
 35365  	EntitlementSupported *bool `xml:"entitlementSupported" json:"entitlementSupported,omitempty" vim:"9.0.0.0"`
 35366  	// Contains the memory overhead info for PodVMs for this host.
 35367  	PodVMOverheadInfo *PodVMOverheadInfo `xml:"podVMOverheadInfo" vim:"9.0.1.0"`
 35368  }
 35369  
 35370  func init() {
 35371  	t["HostCapability"] = reflect.TypeOf((*HostCapability)(nil)).Elem()
 35372  }
 35373  
 35374  // This data object is used to encapsulate the X509 certificate metadata.
 35375  type HostCertificateManagerCertificateInfo struct {
 35376  	DynamicData
 35377  
 35378  	// Certificate kind, if unset the certificate is Machine certificate
 35379  	// The list of supported values can be found in `HostCertificateManagerCertificateKind_enum`
 35380  	Kind string `xml:"kind,omitempty" json:"kind,omitempty" vim:"8.0.1.0"`
 35381  	// The issuer of the certificate.
 35382  	Issuer string `xml:"issuer,omitempty" json:"issuer,omitempty"`
 35383  	// The validity of the certificate.
 35384  	NotBefore *time.Time `xml:"notBefore" json:"notBefore,omitempty"`
 35385  	NotAfter  *time.Time `xml:"notAfter" json:"notAfter,omitempty"`
 35386  	// The subject of the certificate.
 35387  	Subject string `xml:"subject,omitempty" json:"subject,omitempty"`
 35388  	// The status of the certificate in vCenter Server.
 35389  	//
 35390  	// The possible values for status are as
 35391  	// described in `HostCertificateManagerCertificateInfoCertificateStatus_enum`.
 35392  	// If queried directly from an ESX host, the property is set to
 35393  	// `unknown`.
 35394  	Status string `xml:"status" json:"status"`
 35395  }
 35396  
 35397  func init() {
 35398  	t["HostCertificateManagerCertificateInfo"] = reflect.TypeOf((*HostCertificateManagerCertificateInfo)(nil)).Elem()
 35399  }
 35400  
 35401  // Represents certificate specification used for
 35402  // identifying a specific certificate supported by Host.
 35403  type HostCertificateManagerCertificateSpec struct {
 35404  	DynamicData
 35405  
 35406  	// The list of supported values can be found in `HostCertificateManagerCertificateKind_enum`
 35407  	Kind string `xml:"kind" json:"kind"`
 35408  	// List of subject alternative names to be included in the certificate.
 35409  	//
 35410  	// May contain both DNS names and IP addresses.
 35411  	// If unset, the certificate will contain only its CN as a SAN.
 35412  	SubjectAlternativeNames []string `xml:"subjectAlternativeNames,omitempty" json:"subjectAlternativeNames,omitempty" vim:"9.0.0.0"`
 35413  }
 35414  
 35415  func init() {
 35416  	t["HostCertificateManagerCertificateSpec"] = reflect.TypeOf((*HostCertificateManagerCertificateSpec)(nil)).Elem()
 35417  	minAPIVersionForType["HostCertificateManagerCertificateSpec"] = "8.0.1.0"
 35418  }
 35419  
 35420  type HostClearVStorageObjectControlFlags HostClearVStorageObjectControlFlagsRequestType
 35421  
 35422  func init() {
 35423  	t["HostClearVStorageObjectControlFlags"] = reflect.TypeOf((*HostClearVStorageObjectControlFlags)(nil)).Elem()
 35424  }
 35425  
 35426  // The parameters of `HostVStorageObjectManager.HostClearVStorageObjectControlFlags`.
 35427  type HostClearVStorageObjectControlFlagsRequestType struct {
 35428  	This ManagedObjectReference `xml:"_this" json:"-"`
 35429  	// The ID of the virtual storage object.
 35430  	Id ID `xml:"id" json:"id"`
 35431  	// The datastore where the source virtual storage
 35432  	// object is located.
 35433  	//
 35434  	// Required privileges: Datastore.FileManagement
 35435  	//
 35436  	// Refers instance of `Datastore`.
 35437  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 35438  	// control flags enum array to be cleared on the
 35439  	// VStorageObject. All control flags not included
 35440  	// in the array remain intact.
 35441  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 35442  }
 35443  
 35444  func init() {
 35445  	t["HostClearVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*HostClearVStorageObjectControlFlagsRequestType)(nil)).Elem()
 35446  }
 35447  
 35448  type HostClearVStorageObjectControlFlagsResponse struct {
 35449  }
 35450  
 35451  // The parameters of `HostVStorageObjectManager.HostCloneVStorageObject_Task`.
 35452  type HostCloneVStorageObjectRequestType struct {
 35453  	This ManagedObjectReference `xml:"_this" json:"-"`
 35454  	// The ID of the virtual storage object.
 35455  	Id ID `xml:"id" json:"id"`
 35456  	// The datastore where the source virtual storage
 35457  	// object is located.
 35458  	//
 35459  	// Refers instance of `Datastore`.
 35460  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 35461  	// The specification for cloning the virtual storage
 35462  	// object.
 35463  	Spec VslmCloneSpec `xml:"spec" json:"spec"`
 35464  }
 35465  
 35466  func init() {
 35467  	t["HostCloneVStorageObjectRequestType"] = reflect.TypeOf((*HostCloneVStorageObjectRequestType)(nil)).Elem()
 35468  }
 35469  
 35470  type HostCloneVStorageObject_Task HostCloneVStorageObjectRequestType
 35471  
 35472  func init() {
 35473  	t["HostCloneVStorageObject_Task"] = reflect.TypeOf((*HostCloneVStorageObject_Task)(nil)).Elem()
 35474  }
 35475  
 35476  type HostCloneVStorageObject_TaskResponse struct {
 35477  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 35478  }
 35479  
 35480  // This event records a failure to connect to a host
 35481  // due to a failure to set up a management account.
 35482  type HostCnxFailedAccountFailedEvent struct {
 35483  	HostEvent
 35484  }
 35485  
 35486  func init() {
 35487  	t["HostCnxFailedAccountFailedEvent"] = reflect.TypeOf((*HostCnxFailedAccountFailedEvent)(nil)).Elem()
 35488  }
 35489  
 35490  // This event records a failure to connect to a host
 35491  // due to the host being managed by a different VirtualCenter server.
 35492  type HostCnxFailedAlreadyManagedEvent struct {
 35493  	HostEvent
 35494  
 35495  	// The name of the VirtualCenter server that manages the host.
 35496  	ServerName string `xml:"serverName" json:"serverName"`
 35497  }
 35498  
 35499  func init() {
 35500  	t["HostCnxFailedAlreadyManagedEvent"] = reflect.TypeOf((*HostCnxFailedAlreadyManagedEvent)(nil)).Elem()
 35501  }
 35502  
 35503  // This event records a failure to connect to a host
 35504  // due to no response being received from the host agent.
 35505  type HostCnxFailedBadCcagentEvent struct {
 35506  	HostEvent
 35507  }
 35508  
 35509  func init() {
 35510  	t["HostCnxFailedBadCcagentEvent"] = reflect.TypeOf((*HostCnxFailedBadCcagentEvent)(nil)).Elem()
 35511  }
 35512  
 35513  // This event records a failure to connect to a host
 35514  // due to an invalid user name and password combination.
 35515  type HostCnxFailedBadUsernameEvent struct {
 35516  	HostEvent
 35517  }
 35518  
 35519  func init() {
 35520  	t["HostCnxFailedBadUsernameEvent"] = reflect.TypeOf((*HostCnxFailedBadUsernameEvent)(nil)).Elem()
 35521  }
 35522  
 35523  // This event records a failure to connect to a host
 35524  // due to an incompatible client version.
 35525  type HostCnxFailedBadVersionEvent struct {
 35526  	HostEvent
 35527  }
 35528  
 35529  func init() {
 35530  	t["HostCnxFailedBadVersionEvent"] = reflect.TypeOf((*HostCnxFailedBadVersionEvent)(nil)).Elem()
 35531  }
 35532  
 35533  // This event records a failure to connect to a host
 35534  // due to a conflict with an upgrade or installation of the host agent.
 35535  type HostCnxFailedCcagentUpgradeEvent struct {
 35536  	HostEvent
 35537  }
 35538  
 35539  func init() {
 35540  	t["HostCnxFailedCcagentUpgradeEvent"] = reflect.TypeOf((*HostCnxFailedCcagentUpgradeEvent)(nil)).Elem()
 35541  }
 35542  
 35543  // This event records a failure to connect to a host
 35544  // due to an unspecified condition.
 35545  type HostCnxFailedEvent struct {
 35546  	HostEvent
 35547  }
 35548  
 35549  func init() {
 35550  	t["HostCnxFailedEvent"] = reflect.TypeOf((*HostCnxFailedEvent)(nil)).Elem()
 35551  }
 35552  
 35553  // This event records a failure to connect to a host
 35554  // due to a network error.
 35555  type HostCnxFailedNetworkErrorEvent struct {
 35556  	HostEvent
 35557  }
 35558  
 35559  func init() {
 35560  	t["HostCnxFailedNetworkErrorEvent"] = reflect.TypeOf((*HostCnxFailedNetworkErrorEvent)(nil)).Elem()
 35561  }
 35562  
 35563  // This event records a failure to connect to a host
 35564  // due to insufficient account privileges.
 35565  type HostCnxFailedNoAccessEvent struct {
 35566  	HostEvent
 35567  }
 35568  
 35569  func init() {
 35570  	t["HostCnxFailedNoAccessEvent"] = reflect.TypeOf((*HostCnxFailedNoAccessEvent)(nil)).Elem()
 35571  }
 35572  
 35573  // This event records a failure to connect to a host
 35574  // due to a host not being present on the network.
 35575  type HostCnxFailedNoConnectionEvent struct {
 35576  	HostEvent
 35577  }
 35578  
 35579  func init() {
 35580  	t["HostCnxFailedNoConnectionEvent"] = reflect.TypeOf((*HostCnxFailedNoConnectionEvent)(nil)).Elem()
 35581  }
 35582  
 35583  // This event records a failure to connect to a host
 35584  // due to a licensing issue.
 35585  type HostCnxFailedNoLicenseEvent struct {
 35586  	HostEvent
 35587  }
 35588  
 35589  func init() {
 35590  	t["HostCnxFailedNoLicenseEvent"] = reflect.TypeOf((*HostCnxFailedNoLicenseEvent)(nil)).Elem()
 35591  }
 35592  
 35593  // This event records a failure to connect to a host
 35594  // due to a failure to resolve the host name.
 35595  type HostCnxFailedNotFoundEvent struct {
 35596  	HostEvent
 35597  }
 35598  
 35599  func init() {
 35600  	t["HostCnxFailedNotFoundEvent"] = reflect.TypeOf((*HostCnxFailedNotFoundEvent)(nil)).Elem()
 35601  }
 35602  
 35603  // This event records a failure to connect to a host
 35604  // due to a timeout on the connection attempt.
 35605  type HostCnxFailedTimeoutEvent struct {
 35606  	HostEvent
 35607  }
 35608  
 35609  func init() {
 35610  	t["HostCnxFailedTimeoutEvent"] = reflect.TypeOf((*HostCnxFailedTimeoutEvent)(nil)).Elem()
 35611  }
 35612  
 35613  // A HostCommunication fault is thrown if an error happened
 35614  // while communicating to a host.
 35615  //
 35616  // This would typically be
 35617  // due to network connections or server failures.
 35618  type HostCommunication struct {
 35619  	RuntimeFault
 35620  }
 35621  
 35622  func init() {
 35623  	t["HostCommunication"] = reflect.TypeOf((*HostCommunication)(nil)).Elem()
 35624  }
 35625  
 35626  type HostCommunicationFault BaseHostCommunication
 35627  
 35628  func init() {
 35629  	t["HostCommunicationFault"] = reflect.TypeOf((*HostCommunicationFault)(nil)).Elem()
 35630  }
 35631  
 35632  // This event records that a compliance check was triggered
 35633  // on the host.
 35634  type HostComplianceCheckedEvent struct {
 35635  	HostEvent
 35636  
 35637  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 35638  }
 35639  
 35640  func init() {
 35641  	t["HostComplianceCheckedEvent"] = reflect.TypeOf((*HostComplianceCheckedEvent)(nil)).Elem()
 35642  }
 35643  
 35644  // This event records that host is in compliance.
 35645  type HostCompliantEvent struct {
 35646  	HostEvent
 35647  }
 35648  
 35649  func init() {
 35650  	t["HostCompliantEvent"] = reflect.TypeOf((*HostCompliantEvent)(nil)).Elem()
 35651  }
 35652  
 35653  // This event records that a configuration was applied on a host
 35654  type HostConfigAppliedEvent struct {
 35655  	HostEvent
 35656  }
 35657  
 35658  func init() {
 35659  	t["HostConfigAppliedEvent"] = reflect.TypeOf((*HostConfigAppliedEvent)(nil)).Elem()
 35660  }
 35661  
 35662  // This data object type describes types and constants related to the
 35663  // specification of changes to a host configuration.
 35664  type HostConfigChange struct {
 35665  	DynamicData
 35666  }
 35667  
 35668  func init() {
 35669  	t["HostConfigChange"] = reflect.TypeOf((*HostConfigChange)(nil)).Elem()
 35670  }
 35671  
 35672  // Fault to indicate configuration of the host failed.
 35673  //
 35674  // Configuration could have failed because of multiple
 35675  // reasons and individual failures will be reported in
 35676  // \#failure.
 35677  type HostConfigFailed struct {
 35678  	HostConfigFault
 35679  
 35680  	Failure []LocalizedMethodFault `xml:"failure" json:"failure"`
 35681  }
 35682  
 35683  func init() {
 35684  	t["HostConfigFailed"] = reflect.TypeOf((*HostConfigFailed)(nil)).Elem()
 35685  }
 35686  
 35687  type HostConfigFailedFault HostConfigFailed
 35688  
 35689  func init() {
 35690  	t["HostConfigFailedFault"] = reflect.TypeOf((*HostConfigFailedFault)(nil)).Elem()
 35691  }
 35692  
 35693  // Base class for all Host configuration related faults
 35694  type HostConfigFault struct {
 35695  	VimFault
 35696  }
 35697  
 35698  func init() {
 35699  	t["HostConfigFault"] = reflect.TypeOf((*HostConfigFault)(nil)).Elem()
 35700  }
 35701  
 35702  type HostConfigFaultFault BaseHostConfigFault
 35703  
 35704  func init() {
 35705  	t["HostConfigFaultFault"] = reflect.TypeOf((*HostConfigFaultFault)(nil)).Elem()
 35706  }
 35707  
 35708  // This data object type encapsulates a typical set of host configuration
 35709  // information that is useful for displaying and configuring a host.
 35710  //
 35711  // VirtualCenter can retrieve this set of information
 35712  // very efficiently even for a large set of hosts.
 35713  type HostConfigInfo struct {
 35714  	DynamicData
 35715  
 35716  	// A reference to a managed object on a host.
 35717  	//
 35718  	// Refers instance of `HostSystem`.
 35719  	Host ManagedObjectReference `xml:"host" json:"host"`
 35720  	// Information about a product.
 35721  	Product AboutInfo `xml:"product" json:"product"`
 35722  	// Deployment information about the host.
 35723  	DeploymentInfo *HostDeploymentInfo `xml:"deploymentInfo,omitempty" json:"deploymentInfo,omitempty"`
 35724  	// If hyperthreading is supported, this is the CPU configuration for
 35725  	// optimizing hyperthreading.
 35726  	HyperThread *HostHyperThreadScheduleInfo `xml:"hyperThread,omitempty" json:"hyperThread,omitempty"`
 35727  	// Information about the CPU scheduler on the host.
 35728  	CpuScheduler *HostCpuSchedulerInfo `xml:"cpuScheduler,omitempty" json:"cpuScheduler,omitempty" vim:"8.0.3.0"`
 35729  	// Memory configuration.
 35730  	ConsoleReservation *ServiceConsoleReservationInfo `xml:"consoleReservation,omitempty" json:"consoleReservation,omitempty"`
 35731  	// Virtual machine memory configuration.
 35732  	VirtualMachineReservation *VirtualMachineMemoryReservationInfo `xml:"virtualMachineReservation,omitempty" json:"virtualMachineReservation,omitempty"`
 35733  	// Storage system information.
 35734  	StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty" json:"storageDevice,omitempty"`
 35735  	// Storage multipath state information.
 35736  	MultipathState *HostMultipathStateInfo `xml:"multipathState,omitempty" json:"multipathState,omitempty"`
 35737  	// Storage system file system volume information.
 35738  	FileSystemVolume *HostFileSystemVolumeInfo `xml:"fileSystemVolume,omitempty" json:"fileSystemVolume,omitempty"`
 35739  	// Datastore paths of files used by the host system on
 35740  	// mounted volumes, for instance, the COS vmdk file of the
 35741  	// host.
 35742  	//
 35743  	// For information on datastore paths, see `Datastore`.
 35744  	SystemFile []string `xml:"systemFile,omitempty" json:"systemFile,omitempty"`
 35745  	// Network system information.
 35746  	Network *HostNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
 35747  	// Deprecated as of VI API 4.0, use `HostConfigInfo.virtualNicManagerInfo`.
 35748  	//
 35749  	// VMotion system information.
 35750  	Vmotion *HostVMotionInfo `xml:"vmotion,omitempty" json:"vmotion,omitempty"`
 35751  	// VirtualNic manager information.
 35752  	VirtualNicManagerInfo *HostVirtualNicManagerInfo `xml:"virtualNicManagerInfo,omitempty" json:"virtualNicManagerInfo,omitempty"`
 35753  	// Capability vector indicating the available network features.
 35754  	Capabilities *HostNetCapabilities `xml:"capabilities,omitempty" json:"capabilities,omitempty"`
 35755  	// Capability vector indicating available datastore features.
 35756  	DatastoreCapabilities *HostDatastoreSystemCapabilities `xml:"datastoreCapabilities,omitempty" json:"datastoreCapabilities,omitempty"`
 35757  	// Deprecated as of VI API 4.0, the system defaults will be used.
 35758  	//
 35759  	// capabilities to offload operations either to the host or to physical
 35760  	// hardware when a virtual machine is transmitting on a network
 35761  	OffloadCapabilities *HostNetOffloadCapabilities `xml:"offloadCapabilities,omitempty" json:"offloadCapabilities,omitempty"`
 35762  	// Host service configuration.
 35763  	Service *HostServiceInfo `xml:"service,omitempty" json:"service,omitempty"`
 35764  	// Firewall configuration.
 35765  	Firewall *HostFirewallInfo `xml:"firewall,omitempty" json:"firewall,omitempty"`
 35766  	// AutoStart configuration.
 35767  	AutoStart *HostAutoStartManagerConfig `xml:"autoStart,omitempty" json:"autoStart,omitempty"`
 35768  	// The diagnostic partition that will be set as the current
 35769  	// diagnostic partition on the host.
 35770  	ActiveDiagnosticPartition *HostDiagnosticPartition `xml:"activeDiagnosticPartition,omitempty" json:"activeDiagnosticPartition,omitempty"`
 35771  	// Host configuration options as defined by the
 35772  	// `OptionValue` data object type.
 35773  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 35774  	// A list of supported options.
 35775  	OptionDef []OptionDef `xml:"optionDef,omitempty" json:"optionDef,omitempty"`
 35776  	// Datastore principal user
 35777  	DatastorePrincipal string `xml:"datastorePrincipal,omitempty" json:"datastorePrincipal,omitempty"`
 35778  	// Datastore visible to this host that may be used to store virtual
 35779  	// machine swapfiles, for virtual machines executing on this host.
 35780  	//
 35781  	// The
 35782  	// value of this property is set or unset by invoking
 35783  	// `HostDatastoreSystem.UpdateLocalSwapDatastore`.
 35784  	// The policy for using this datastore is determined by the compute
 35785  	// resource configuration's
 35786  	// `vmSwapPlacement`
 35787  	// property in concert with each individual virtual machine configuration's
 35788  	// `swapPlacement` property.
 35789  	//
 35790  	// Note: Using a host-specific swap location may degrade VMotion performance.
 35791  	//
 35792  	// Refers instance of `Datastore`.
 35793  	LocalSwapDatastore *ManagedObjectReference `xml:"localSwapDatastore,omitempty" json:"localSwapDatastore,omitempty"`
 35794  	// The system swap configuration specifies which options are currently
 35795  	// enabled.
 35796  	//
 35797  	// See also `HostSystemSwapConfiguration`.
 35798  	SystemSwapConfiguration *HostSystemSwapConfiguration `xml:"systemSwapConfiguration,omitempty" json:"systemSwapConfiguration,omitempty"`
 35799  	// Reference for the system resource hierarchy, used for configuring
 35800  	// the set of resources reserved to the system and unavailable to
 35801  	// virtual machines.
 35802  	SystemResources *HostSystemResourceInfo `xml:"systemResources,omitempty" json:"systemResources,omitempty"`
 35803  	// Date/Time related configuration
 35804  	DateTimeInfo *HostDateTimeInfo `xml:"dateTimeInfo,omitempty" json:"dateTimeInfo,omitempty"`
 35805  	// Additional flags for a host.
 35806  	Flags *HostFlagInfo `xml:"flags,omitempty" json:"flags,omitempty"`
 35807  	// Deprecated as of vSphere API 6.0, use `HostConfigInfo.lockdownMode`.
 35808  	//
 35809  	// If the flag is true, the permissions on the host have been modified such
 35810  	// that it is only accessible through local console or an authorized
 35811  	// centralized management application.
 35812  	//
 35813  	// This flag is affected by the
 35814  	// `HostSystem.EnterLockdownMode` and
 35815  	// `HostSystem.ExitLockdownMode` operations.
 35816  	//
 35817  	// This flag is supported in VirtualCenter only. The value returned from host
 35818  	// should be ignored.
 35819  	//
 35820  	// See also `HostSystem.EnterLockdownMode`, `HostSystem.ExitLockdownMode`.
 35821  	AdminDisabled *bool `xml:"adminDisabled" json:"adminDisabled,omitempty"`
 35822  	// Indicates the current lockdown mode of the host as reported by
 35823  	// `HostAccessManager.lockdownMode`.
 35824  	//
 35825  	// See also `HostAccessManager.ChangeLockdownMode`.
 35826  	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty"`
 35827  	// IPMI (Intelligent Platform Management Interface) info for the host.
 35828  	Ipmi *HostIpmiInfo `xml:"ipmi,omitempty" json:"ipmi,omitempty"`
 35829  	// Deprecated as of vSphere API 5.0, use `HostConfigInfo.sslThumbprintData` instead.
 35830  	//
 35831  	// SSL Thumbprint info for hosts registered on this host.
 35832  	SslThumbprintInfo *HostSslThumbprintInfo `xml:"sslThumbprintInfo,omitempty" json:"sslThumbprintInfo,omitempty"`
 35833  	// SSL Thumbprints registered on this host.
 35834  	SslThumbprintData []HostSslThumbprintInfo `xml:"sslThumbprintData,omitempty" json:"sslThumbprintData,omitempty"`
 35835  	// Authentication info registered on this host.
 35836  	AuthenticationData []HostAuthenticationInfo `xml:"authenticationData,omitempty" json:"authenticationData,omitempty" vim:"9.0.0.0"`
 35837  	// Full Host Certificate in PEM format, if known
 35838  	Certificate ByteSlice `xml:"certificate,omitempty" json:"certificate,omitempty"`
 35839  	// PCI passthrough information.
 35840  	PciPassthruInfo []BaseHostPciPassthruInfo `xml:"pciPassthruInfo,omitempty,typeattr" json:"pciPassthruInfo,omitempty"`
 35841  	// Current authentication configuration.
 35842  	AuthenticationManagerInfo *HostAuthenticationManagerInfo `xml:"authenticationManagerInfo,omitempty" json:"authenticationManagerInfo,omitempty"`
 35843  	// List of feature-specific version information.
 35844  	//
 35845  	// Each element refers
 35846  	// to the version information for a specific feature.
 35847  	FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty" json:"featureVersion,omitempty"`
 35848  	// Host power management capability.
 35849  	PowerSystemCapability *PowerSystemCapability `xml:"powerSystemCapability,omitempty" json:"powerSystemCapability,omitempty"`
 35850  	// Host power management information.
 35851  	PowerSystemInfo *PowerSystemInfo `xml:"powerSystemInfo,omitempty" json:"powerSystemInfo,omitempty"`
 35852  	// Host solid stats drive cache configuration information.
 35853  	CacheConfigurationInfo []HostCacheConfigurationInfo `xml:"cacheConfigurationInfo,omitempty" json:"cacheConfigurationInfo,omitempty"`
 35854  	// Indicates if a host is wake on lan capable.
 35855  	//
 35856  	// A host is deemed wake on lan capable if there exists at least one
 35857  	// physical network card that is both backing the vmotion interface and
 35858  	// is itself wake on lan capable.
 35859  	WakeOnLanCapable *bool `xml:"wakeOnLanCapable" json:"wakeOnLanCapable,omitempty"`
 35860  	// Array of host feature capabilities.
 35861  	//
 35862  	// This is expected to change
 35863  	// infrequently. It may change while host is in maintenance mode
 35864  	// and between reboots if hardware, firmware, or a device driver
 35865  	// is changed or upgraded.
 35866  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
 35867  	// Array of the feature capabilities that the host has after the
 35868  	// mask has been applied.
 35869  	MaskedFeatureCapability []HostFeatureCapability `xml:"maskedFeatureCapability,omitempty" json:"maskedFeatureCapability,omitempty"`
 35870  	// Host vFlash configuration information
 35871  	VFlashConfigInfo *HostVFlashManagerVFlashConfigInfo `xml:"vFlashConfigInfo,omitempty" json:"vFlashConfigInfo,omitempty"`
 35872  	// VSAN configuration for a host.
 35873  	VsanHostConfig *VsanHostConfigInfo `xml:"vsanHostConfig,omitempty" json:"vsanHostConfig,omitempty"`
 35874  	// List of Windows domains available for user searches, if the underlying
 35875  	// system supports windows domain membership.
 35876  	//
 35877  	// See `UserDirectory.domainList`.
 35878  	DomainList []string `xml:"domainList,omitempty" json:"domainList,omitempty"`
 35879  	// A checksum of overhead computation script.
 35880  	//
 35881  	// (For VMware internal usage only)
 35882  	ScriptCheckSum []byte `xml:"scriptCheckSum,omitempty" json:"scriptCheckSum,omitempty"`
 35883  	// A checksum of host configuration option set.
 35884  	//
 35885  	// (For VMware internal usage only)
 35886  	HostConfigCheckSum []byte `xml:"hostConfigCheckSum,omitempty" json:"hostConfigCheckSum,omitempty"`
 35887  	// A checksum of the Assignable Hardware Description Tree.
 35888  	//
 35889  	// (For VMware internal usage only)
 35890  	DescriptionTreeCheckSum []byte `xml:"descriptionTreeCheckSum,omitempty" json:"descriptionTreeCheckSum,omitempty"`
 35891  	// The list of graphics devices available on this host.
 35892  	GraphicsInfo []HostGraphicsInfo `xml:"graphicsInfo,omitempty" json:"graphicsInfo,omitempty"`
 35893  	// Array of shared passthru GPU types.
 35894  	//
 35895  	// These GPU types may be enabled
 35896  	// when specific host hardware is present.
 35897  	SharedPassthruGpuTypes []string `xml:"sharedPassthruGpuTypes,omitempty" json:"sharedPassthruGpuTypes,omitempty"`
 35898  	// Graphics configuration for a host.
 35899  	GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty" json:"graphicsConfig,omitempty"`
 35900  	// Array of shared passthru GPU capablities.
 35901  	//
 35902  	// See also `HostSharedGpuCapabilities`.
 35903  	SharedGpuCapabilities []HostSharedGpuCapabilities `xml:"sharedGpuCapabilities,omitempty" json:"sharedGpuCapabilities,omitempty"`
 35904  	// Information of the IO Filters installed on the host.
 35905  	//
 35906  	// See `HostIoFilterInfo`.
 35907  	IoFilterInfo []HostIoFilterInfo `xml:"ioFilterInfo,omitempty" json:"ioFilterInfo,omitempty"`
 35908  	// Information on SRIOV device pools present on host.
 35909  	SriovDevicePool []BaseHostSriovDevicePoolInfo `xml:"sriovDevicePool,omitempty,typeattr" json:"sriovDevicePool,omitempty"`
 35910  	// Information describing Assignable Hardware device bindings on host.
 35911  	//
 35912  	// See `HostAssignableHardwareBinding`.
 35913  	AssignableHardwareBinding []HostAssignableHardwareBinding `xml:"assignableHardwareBinding,omitempty" json:"assignableHardwareBinding,omitempty"`
 35914  	// Configured assignable hardware device attributes.
 35915  	AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty" json:"assignableHardwareConfig,omitempty"`
 35916  }
 35917  
 35918  func init() {
 35919  	t["HostConfigInfo"] = reflect.TypeOf((*HostConfigInfo)(nil)).Elem()
 35920  }
 35921  
 35922  // This data object type describes the configuration of a host
 35923  // across products and versions.
 35924  type HostConfigManager struct {
 35925  	DynamicData
 35926  
 35927  	// The CPU scheduler that determines which threads execute on a CPU
 35928  	// at any given time.
 35929  	//
 35930  	// Refers instance of `HostCpuSchedulerSystem`.
 35931  	CpuScheduler *ManagedObjectReference `xml:"cpuScheduler,omitempty" json:"cpuScheduler,omitempty"`
 35932  	// The datastore manager.
 35933  	//
 35934  	// Refers instance of `HostDatastoreSystem`.
 35935  	DatastoreSystem *ManagedObjectReference `xml:"datastoreSystem,omitempty" json:"datastoreSystem,omitempty"`
 35936  	// The memory manager on the host.
 35937  	//
 35938  	// Refers instance of `HostMemorySystem`.
 35939  	MemoryManager *ManagedObjectReference `xml:"memoryManager,omitempty" json:"memoryManager,omitempty"`
 35940  	// The storage configuration.
 35941  	//
 35942  	// Refers instance of `HostStorageSystem`.
 35943  	StorageSystem *ManagedObjectReference `xml:"storageSystem,omitempty" json:"storageSystem,omitempty"`
 35944  	// The network system configuration.
 35945  	//
 35946  	// Refers instance of `HostNetworkSystem`.
 35947  	NetworkSystem *ManagedObjectReference `xml:"networkSystem,omitempty" json:"networkSystem,omitempty"`
 35948  	// Deprecated as of VI API 4.0, use `HostConfigManager.virtualNicManager`
 35949  	// to manage the VMotion configuration of the host.
 35950  	//
 35951  	// The VMotion configuration.
 35952  	//
 35953  	// Refers instance of `HostVMotionSystem`.
 35954  	VmotionSystem *ManagedObjectReference `xml:"vmotionSystem,omitempty" json:"vmotionSystem,omitempty"`
 35955  	// The VirtualNic configuration.
 35956  	//
 35957  	// Refers instance of `HostVirtualNicManager`.
 35958  	VirtualNicManager *ManagedObjectReference `xml:"virtualNicManager,omitempty" json:"virtualNicManager,omitempty"`
 35959  	// The configuration of the host services (for example,
 35960  	// SSH, FTP, and Telnet).
 35961  	//
 35962  	// Refers instance of `HostServiceSystem`.
 35963  	ServiceSystem *ManagedObjectReference `xml:"serviceSystem,omitempty" json:"serviceSystem,omitempty"`
 35964  	// The firewall configuration.
 35965  	//
 35966  	// Refers instance of `HostFirewallSystem`.
 35967  	FirewallSystem *ManagedObjectReference `xml:"firewallSystem,omitempty" json:"firewallSystem,omitempty"`
 35968  	// Advanced options.
 35969  	//
 35970  	// Refers instance of `OptionManager`.
 35971  	AdvancedOption *ManagedObjectReference `xml:"advancedOption,omitempty" json:"advancedOption,omitempty"`
 35972  	// The diagnostic for the ESX Server system.
 35973  	//
 35974  	// Refers instance of `HostDiagnosticSystem`.
 35975  	DiagnosticSystem *ManagedObjectReference `xml:"diagnosticSystem,omitempty" json:"diagnosticSystem,omitempty"`
 35976  	// Auto-start and auto-stop configuration.
 35977  	//
 35978  	// Refers instance of `HostAutoStartManager`.
 35979  	AutoStartManager *ManagedObjectReference `xml:"autoStartManager,omitempty" json:"autoStartManager,omitempty"`
 35980  	// Snmp configuration
 35981  	//
 35982  	// Refers instance of `HostSnmpSystem`.
 35983  	SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty" json:"snmpSystem,omitempty"`
 35984  	// DateTime configuration
 35985  	//
 35986  	// Refers instance of `HostDateTimeSystem`.
 35987  	DateTimeSystem *ManagedObjectReference `xml:"dateTimeSystem,omitempty" json:"dateTimeSystem,omitempty"`
 35988  	// Host patch management.
 35989  	//
 35990  	// Refers instance of `HostPatchManager`.
 35991  	PatchManager *ManagedObjectReference `xml:"patchManager,omitempty" json:"patchManager,omitempty"`
 35992  	// Host image configuration management.
 35993  	//
 35994  	// Refers instance of `HostImageConfigManager`.
 35995  	ImageConfigManager *ManagedObjectReference `xml:"imageConfigManager,omitempty" json:"imageConfigManager,omitempty"`
 35996  	// Boot device order management.
 35997  	//
 35998  	// Refers instance of `HostBootDeviceSystem`.
 35999  	BootDeviceSystem *ManagedObjectReference `xml:"bootDeviceSystem,omitempty" json:"bootDeviceSystem,omitempty"`
 36000  	// Firmware management.
 36001  	//
 36002  	// Refers instance of `HostFirmwareSystem`.
 36003  	FirmwareSystem *ManagedObjectReference `xml:"firmwareSystem,omitempty" json:"firmwareSystem,omitempty"`
 36004  	// System health status manager.
 36005  	//
 36006  	// Refers instance of `HostHealthStatusSystem`.
 36007  	HealthStatusSystem *ManagedObjectReference `xml:"healthStatusSystem,omitempty" json:"healthStatusSystem,omitempty"`
 36008  	// PciDeviceSystem for passthru.
 36009  	//
 36010  	// Refers instance of `HostPciPassthruSystem`.
 36011  	PciPassthruSystem *ManagedObjectReference `xml:"pciPassthruSystem,omitempty" json:"pciPassthruSystem,omitempty"`
 36012  	// License manager
 36013  	//
 36014  	// Refers instance of `LicenseManager`.
 36015  	LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty" json:"licenseManager,omitempty"`
 36016  	// Kernel module configuration management.
 36017  	//
 36018  	// Refers instance of `HostKernelModuleSystem`.
 36019  	KernelModuleSystem *ManagedObjectReference `xml:"kernelModuleSystem,omitempty" json:"kernelModuleSystem,omitempty"`
 36020  	// Authentication method configuration - for example, for Active Directory membership.
 36021  	//
 36022  	// Refers instance of `HostAuthenticationManager`.
 36023  	AuthenticationManager *ManagedObjectReference `xml:"authenticationManager,omitempty" json:"authenticationManager,omitempty"`
 36024  	// Power System manager.
 36025  	//
 36026  	// Refers instance of `HostPowerSystem`.
 36027  	PowerSystem *ManagedObjectReference `xml:"powerSystem,omitempty" json:"powerSystem,omitempty"`
 36028  	// Host solid state drive cache configuration manager.
 36029  	//
 36030  	// Refers instance of `HostCacheConfigurationManager`.
 36031  	CacheConfigurationManager *ManagedObjectReference `xml:"cacheConfigurationManager,omitempty" json:"cacheConfigurationManager,omitempty"`
 36032  	// Esx Agent resource configuration manager
 36033  	//
 36034  	// Refers instance of `HostEsxAgentHostManager`.
 36035  	EsxAgentHostManager *ManagedObjectReference `xml:"esxAgentHostManager,omitempty" json:"esxAgentHostManager,omitempty"`
 36036  	// Iscsi Management Operations managed entity
 36037  	//
 36038  	// Refers instance of `IscsiManager`.
 36039  	IscsiManager *ManagedObjectReference `xml:"iscsiManager,omitempty" json:"iscsiManager,omitempty"`
 36040  	// vFlash Manager
 36041  	//
 36042  	// Refers instance of `HostVFlashManager`.
 36043  	VFlashManager *ManagedObjectReference `xml:"vFlashManager,omitempty" json:"vFlashManager,omitempty"`
 36044  	// VsanSystem managed entity.
 36045  	//
 36046  	// Refers instance of `HostVsanSystem`.
 36047  	VsanSystem *ManagedObjectReference `xml:"vsanSystem,omitempty" json:"vsanSystem,omitempty"`
 36048  	// Common Message Bus proxy service.
 36049  	//
 36050  	// This API shall always be present in vSphere API 6.0 or later.
 36051  	//
 36052  	// Refers instance of `MessageBusProxy`.
 36053  	MessageBusProxy *ManagedObjectReference `xml:"messageBusProxy,omitempty" json:"messageBusProxy,omitempty"`
 36054  	// A user directory managed object.
 36055  	//
 36056  	// Refers instance of `UserDirectory`.
 36057  	UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty" json:"userDirectory,omitempty"`
 36058  	// A manager for host local user accounts.
 36059  	//
 36060  	// Refers instance of `HostLocalAccountManager`.
 36061  	AccountManager *ManagedObjectReference `xml:"accountManager,omitempty" json:"accountManager,omitempty"`
 36062  	// Host access manager
 36063  	//
 36064  	// Refers instance of `HostAccessManager`.
 36065  	HostAccessManager *ManagedObjectReference `xml:"hostAccessManager,omitempty" json:"hostAccessManager,omitempty"`
 36066  	// Host graphics manager.
 36067  	//
 36068  	// Refers instance of `HostGraphicsManager`.
 36069  	GraphicsManager *ManagedObjectReference `xml:"graphicsManager,omitempty" json:"graphicsManager,omitempty"`
 36070  	// VsanInternalSystem managed entity.
 36071  	//
 36072  	// Refers instance of `HostVsanInternalSystem`.
 36073  	VsanInternalSystem *ManagedObjectReference `xml:"vsanInternalSystem,omitempty" json:"vsanInternalSystem,omitempty"`
 36074  	// Host CertificateManager.
 36075  	//
 36076  	// Refers instance of `HostCertificateManager`.
 36077  	CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty" json:"certificateManager,omitempty"`
 36078  	// Host CryptoManager.
 36079  	//
 36080  	// Refers instance of `CryptoManager`.
 36081  	CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty" json:"cryptoManager,omitempty"`
 36082  	// Host Non-Volatile DIMM configuration manager
 36083  	//
 36084  	// Refers instance of `HostNvdimmSystem`.
 36085  	NvdimmSystem *ManagedObjectReference `xml:"nvdimmSystem,omitempty" json:"nvdimmSystem,omitempty"`
 36086  	// Assignable Hardware manager.
 36087  	//
 36088  	// Refers instance of `HostAssignableHardwareManager`.
 36089  	AssignableHardwareManager *ManagedObjectReference `xml:"assignableHardwareManager,omitempty" json:"assignableHardwareManager,omitempty"`
 36090  }
 36091  
 36092  func init() {
 36093  	t["HostConfigManager"] = reflect.TypeOf((*HostConfigManager)(nil)).Elem()
 36094  }
 36095  
 36096  // The `HostConfigSpec` data object provides access to data objects
 36097  // that specify configuration changes to be applied to an ESX host.
 36098  type HostConfigSpec struct {
 36099  	DynamicData
 36100  
 36101  	// Configurations to create NAS datastores.
 36102  	NasDatastore []HostNasVolumeConfig `xml:"nasDatastore,omitempty" json:"nasDatastore,omitempty"`
 36103  	// Network system information.
 36104  	Network *HostNetworkConfig `xml:"network,omitempty" json:"network,omitempty"`
 36105  	// Type selection for different VirtualNics.
 36106  	NicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"nicTypeSelection,omitempty" json:"nicTypeSelection,omitempty"`
 36107  	// Host service configuration.
 36108  	Service []HostServiceConfig `xml:"service,omitempty" json:"service,omitempty"`
 36109  	// Firewall configuration.
 36110  	Firewall *HostFirewallConfig `xml:"firewall,omitempty" json:"firewall,omitempty"`
 36111  	// Host configuration options as defined by the
 36112  	// `OptionValue` data object type.
 36113  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 36114  	// Datastore principal user.
 36115  	DatastorePrincipal string `xml:"datastorePrincipal,omitempty" json:"datastorePrincipal,omitempty"`
 36116  	// Password for the datastore principal.
 36117  	DatastorePrincipalPasswd string `xml:"datastorePrincipalPasswd,omitempty" json:"datastorePrincipalPasswd,omitempty"`
 36118  	// DateTime Configuration.
 36119  	Datetime *HostDateTimeConfig `xml:"datetime,omitempty" json:"datetime,omitempty"`
 36120  	// Storage system information.
 36121  	StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty" json:"storageDevice,omitempty"`
 36122  	// License configuration for the host.
 36123  	License *HostLicenseSpec `xml:"license,omitempty" json:"license,omitempty"`
 36124  	// Security specification.
 36125  	Security *HostSecuritySpec `xml:"security,omitempty" json:"security,omitempty"`
 36126  	// List of users to create/update with new password.
 36127  	UserAccount []BaseHostAccountSpec `xml:"userAccount,omitempty,typeattr" json:"userAccount,omitempty"`
 36128  	// List of users to create/update with new password.
 36129  	UsergroupAccount []BaseHostAccountSpec `xml:"usergroupAccount,omitempty,typeattr" json:"usergroupAccount,omitempty"`
 36130  	// Memory configuration for the host.
 36131  	Memory *HostMemorySpec `xml:"memory,omitempty" json:"memory,omitempty"`
 36132  	// Active Directory configuration change.
 36133  	ActiveDirectory []HostActiveDirectory `xml:"activeDirectory,omitempty" json:"activeDirectory,omitempty"`
 36134  	// Advanced configuration.
 36135  	GenericConfig []KeyAnyValue `xml:"genericConfig,omitempty" json:"genericConfig,omitempty"`
 36136  	// Graphics configuration for a host.
 36137  	GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty" json:"graphicsConfig,omitempty"`
 36138  	// Assignable Hardware configuration for the host
 36139  	AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty" json:"assignableHardwareConfig,omitempty"`
 36140  }
 36141  
 36142  func init() {
 36143  	t["HostConfigSpec"] = reflect.TypeOf((*HostConfigSpec)(nil)).Elem()
 36144  }
 36145  
 36146  // An overview of the key configuration parameters.
 36147  type HostConfigSummary struct {
 36148  	DynamicData
 36149  
 36150  	// The name of the host.
 36151  	Name string `xml:"name" json:"name"`
 36152  	// The port number.
 36153  	Port int32 `xml:"port" json:"port"`
 36154  	// The SSL thumbprint of the host, if known.
 36155  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 36156  	// The SSL certificate of the host, if known.
 36157  	//
 36158  	// Note: `HostConfigSummary.sslThumbprint` and `HostConfigSummary.sslCertificate` parameters are
 36159  	// mutually exclusive, and should never be used simultaneously.
 36160  	SslCertificate string `xml:"sslCertificate,omitempty" json:"sslCertificate,omitempty" vim:"9.0.0.0"`
 36161  	// Information about the software running on the host, if known.
 36162  	//
 36163  	// The current supported hosts are ESX Server 2.0.1 (and later) and VMware Server
 36164  	// 2.0.0 (and later).
 36165  	Product *AboutInfo `xml:"product,omitempty" json:"product,omitempty"`
 36166  	// The flag to indicate whether or not VMotion is enabled on this host.
 36167  	VmotionEnabled bool `xml:"vmotionEnabled" json:"vmotionEnabled"`
 36168  	// The flag to indicate whether or not Fault Tolerance logging is enabled on this host.
 36169  	FaultToleranceEnabled *bool `xml:"faultToleranceEnabled" json:"faultToleranceEnabled,omitempty"`
 36170  	// List of feature-specific version information.
 36171  	//
 36172  	// Each element refers
 36173  	// to the version information for a specific feature.
 36174  	FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty" json:"featureVersion,omitempty"`
 36175  	// Datastore used to deploy Agent VMs on for this host.
 36176  	//
 36177  	// Refers instance of `Datastore`.
 36178  	AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty" json:"agentVmDatastore,omitempty"`
 36179  	// Management network for Agent VMs.
 36180  	//
 36181  	// Refers instance of `Network`.
 36182  	AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty" json:"agentVmNetwork,omitempty"`
 36183  }
 36184  
 36185  func init() {
 36186  	t["HostConfigSummary"] = reflect.TypeOf((*HostConfigSummary)(nil)).Elem()
 36187  }
 36188  
 36189  type HostConfigVFlashCache HostConfigVFlashCacheRequestType
 36190  
 36191  func init() {
 36192  	t["HostConfigVFlashCache"] = reflect.TypeOf((*HostConfigVFlashCache)(nil)).Elem()
 36193  }
 36194  
 36195  // The parameters of `HostVFlashManager.HostConfigVFlashCache`.
 36196  type HostConfigVFlashCacheRequestType struct {
 36197  	This ManagedObjectReference `xml:"_this" json:"-"`
 36198  	// Specification for host cache configuration.
 36199  	Spec HostVFlashManagerVFlashCacheConfigSpec `xml:"spec" json:"spec"`
 36200  }
 36201  
 36202  func init() {
 36203  	t["HostConfigVFlashCacheRequestType"] = reflect.TypeOf((*HostConfigVFlashCacheRequestType)(nil)).Elem()
 36204  }
 36205  
 36206  type HostConfigVFlashCacheResponse struct {
 36207  }
 36208  
 36209  type HostConfigureVFlashResource HostConfigureVFlashResourceRequestType
 36210  
 36211  func init() {
 36212  	t["HostConfigureVFlashResource"] = reflect.TypeOf((*HostConfigureVFlashResource)(nil)).Elem()
 36213  }
 36214  
 36215  // The parameters of `HostVFlashManager.HostConfigureVFlashResource`.
 36216  type HostConfigureVFlashResourceRequestType struct {
 36217  	This ManagedObjectReference `xml:"_this" json:"-"`
 36218  	// the vFlash resource specification.
 36219  	Spec HostVFlashManagerVFlashResourceConfigSpec `xml:"spec" json:"spec"`
 36220  }
 36221  
 36222  func init() {
 36223  	t["HostConfigureVFlashResourceRequestType"] = reflect.TypeOf((*HostConfigureVFlashResourceRequestType)(nil)).Elem()
 36224  }
 36225  
 36226  type HostConfigureVFlashResourceResponse struct {
 36227  }
 36228  
 36229  // A base clase for faults that are related to connecting or
 36230  // adding a host to the inventory.
 36231  type HostConnectFault struct {
 36232  	VimFault
 36233  }
 36234  
 36235  func init() {
 36236  	t["HostConnectFault"] = reflect.TypeOf((*HostConnectFault)(nil)).Elem()
 36237  }
 36238  
 36239  type HostConnectFaultFault BaseHostConnectFault
 36240  
 36241  func init() {
 36242  	t["HostConnectFaultFault"] = reflect.TypeOf((*HostConnectFaultFault)(nil)).Elem()
 36243  }
 36244  
 36245  // This data object type contains information about a single host that can be used by
 36246  // the connection wizard.
 36247  //
 36248  // This can be returned without adding the host to VirtualCenter.
 36249  type HostConnectInfo struct {
 36250  	DynamicData
 36251  
 36252  	// The IP address of the VirtualCenter already managing this host, if any.
 36253  	ServerIp string `xml:"serverIp,omitempty" json:"serverIp,omitempty"`
 36254  	// If the host is already being managed by a vCenter Server, this property
 36255  	// reports true if the host is also part of a vSphere HA enabled cluster.
 36256  	//
 36257  	// If
 36258  	// this is the case, remove or disconnect the host
 36259  	// from this cluster before adding it to another vCenter Server.
 36260  	InDasCluster *bool `xml:"inDasCluster" json:"inDasCluster,omitempty"`
 36261  	// Summary information about the host.
 36262  	//
 36263  	// The status fields and managed object
 36264  	// reference is not set when an object of this type is created. These fields and
 36265  	// references are typically set later when these objects are associated with a host.
 36266  	Host HostListSummary `xml:"host" json:"host"`
 36267  	// The list of virtual machines on the host.
 36268  	Vm []VirtualMachineSummary `xml:"vm,omitempty" json:"vm,omitempty"`
 36269  	// Whether or not the host requires a vimAccountName and password to be set in the
 36270  	// ConnectSpec.
 36271  	//
 36272  	// This is normally only required for VMware Server hosts.
 36273  	VimAccountNameRequired *bool `xml:"vimAccountNameRequired" json:"vimAccountNameRequired,omitempty"`
 36274  	// Whether or not the host supports clustering capabilities such as HA or DRS and
 36275  	// therefore can be added to a cluster.
 36276  	//
 36277  	// If false, the host must be added as a
 36278  	// standalone host.
 36279  	ClusterSupported *bool `xml:"clusterSupported" json:"clusterSupported,omitempty"`
 36280  	// The list of network information for networks configured on this host.
 36281  	Network []BaseHostConnectInfoNetworkInfo `xml:"network,omitempty,typeattr" json:"network,omitempty"`
 36282  	// The list of datastores on the host.
 36283  	Datastore []BaseHostDatastoreConnectInfo `xml:"datastore,omitempty,typeattr" json:"datastore,omitempty"`
 36284  	// License manager information on the host
 36285  	License *HostLicenseConnectInfo `xml:"license,omitempty" json:"license,omitempty"`
 36286  	// Host capabilities.
 36287  	Capability *HostCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 36288  }
 36289  
 36290  func init() {
 36291  	t["HostConnectInfo"] = reflect.TypeOf((*HostConnectInfo)(nil)).Elem()
 36292  }
 36293  
 36294  // The base data object type for information about networks on the host.
 36295  type HostConnectInfoNetworkInfo struct {
 36296  	DynamicData
 36297  
 36298  	// Basic network information, such as network name.
 36299  	//
 36300  	// The managed object reference
 36301  	// is not set.
 36302  	Summary BaseNetworkSummary `xml:"summary,typeattr" json:"summary"`
 36303  }
 36304  
 36305  func init() {
 36306  	t["HostConnectInfoNetworkInfo"] = reflect.TypeOf((*HostConnectInfoNetworkInfo)(nil)).Elem()
 36307  }
 36308  
 36309  // Specifies the parameters needed to add a single host.
 36310  //
 36311  // This includes
 36312  // a small set of optional information about the host configuration.
 36313  // This allows the network and datastore configuration of the host to
 36314  // be synchronized with the naming conventions of the datacenter, as well
 36315  // as the configuration of a vim account (the username/password for the
 36316  // virtual machine files that is created on disk).
 36317  type HostConnectSpec struct {
 36318  	DynamicData
 36319  
 36320  	// The DNS name or IP address of the host.
 36321  	//
 36322  	// (Required for adding
 36323  	// a host.)
 36324  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 36325  	// The port number for the connection.
 36326  	//
 36327  	// If this is not specified,
 36328  	// the default port number is used. For ESX 2.x hosts this is the authd
 36329  	// port (902 by default). For ESX 3.x and above and VMware Server hosts
 36330  	// this is the https port (443 by default).
 36331  	// If this is a reconnect, the port number is unchanged.
 36332  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 36333  	// The thumbprint of the SSL certificate, which the host is
 36334  	// expected to have.
 36335  	//
 36336  	// If this value is set and matches the
 36337  	// certificate thumbprint presented by the host, then the host is
 36338  	// authenticated. If this value is not set or does not match the
 36339  	// certificate thumbprint presented by the host, then the host's
 36340  	// certificate is verified by checking whether it was signed by a
 36341  	// recognized CA.
 36342  	//
 36343  	// The thumbprint is always computed using the SHA1 hash and is
 36344  	// the string representation of that hash in the format:
 36345  	// xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
 36346  	// where, 'x' represents a hexadecimal digit
 36347  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 36348  	// The expected SSL certificate of the host in PEM format.
 36349  	//
 36350  	// This value is a fallback to be used when the certificate provided
 36351  	// by the host can not be verified via a trusted CA. A replacement of
 36352  	// `HostConnectSpec.sslThumbprint`.
 36353  	// Note: `HostConnectSpec.sslThumbprint` and `HostConnectSpec.sslCertificate` parameters are
 36354  	// mutually exclusive, and should never be used simultaneously.
 36355  	SslCertificate string `xml:"sslCertificate,omitempty" json:"sslCertificate,omitempty" vim:"9.0.0.0"`
 36356  	// The administration account on the host.
 36357  	//
 36358  	// (Required for adding
 36359  	// a host.)
 36360  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 36361  	// The password for the administration account.
 36362  	//
 36363  	// (Required for adding
 36364  	// a host.)
 36365  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 36366  	// The folder in which to store the existing virtual machines on the host.
 36367  	//
 36368  	// If this folder is not specified, a default folder is chosen
 36369  	// (and possibly created) by the VirtualCenter. This folder exists (or
 36370  	// is possibly created) on the
 36371  	// VirtualCenter server and is called "Discovered VM".
 36372  	//
 36373  	// Refers instance of `Folder`.
 36374  	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
 36375  	// If this flag is set to "true", then the connection succeeds even
 36376  	// if the host is already being managed by another VirtualCenter server.
 36377  	//
 36378  	// The original VirtualCenter server loses connection to the host.
 36379  	Force bool `xml:"force" json:"force"`
 36380  	// The username to be used for accessing the virtual
 36381  	// machine files on the disk.
 36382  	VimAccountName string `xml:"vimAccountName,omitempty" json:"vimAccountName,omitempty"`
 36383  	// The password to be used with the
 36384  	// `vimAccountName`
 36385  	// property for accessing the virtual
 36386  	// machine files on the disk.
 36387  	VimAccountPassword string `xml:"vimAccountPassword,omitempty" json:"vimAccountPassword,omitempty"`
 36388  	// The IP address of the VirtualCenter server that will manage this host.
 36389  	//
 36390  	// This field can be used to control which IP address the VirtualCenter agent
 36391  	// will send heartbeats to. If it is not set, VirtualCenter will use the local IP
 36392  	// address used when communicating with the host. Setting this field is useful
 36393  	// when the VirtualCenter server is behind a NAT in which case the external NAT
 36394  	// address must be used.
 36395  	ManagementIp string `xml:"managementIp,omitempty" json:"managementIp,omitempty"`
 36396  	// If this is set then the host will be put in the specified lockdown mode
 36397  	// when the host is added and connected.
 36398  	//
 36399  	// It is used only when calling the APIs
 36400  	// `Folder.AddStandaloneHost_Task` with parameter 'addConnected' set to true,
 36401  	// or `ClusterComputeResource.AddHost_Task` with parameter 'asConnected'
 36402  	// set to true.
 36403  	// If the operation to add the host specifies that the host should only be
 36404  	// added but not connected, then the host won't be put in lockdown mode.
 36405  	//
 36406  	// This is equivalent to invoking
 36407  	// `HostAccessManager.ChangeLockdownMode`
 36408  	// immediately after addition and connection to the host succeeds.
 36409  	//
 36410  	// If equal to `lockdownDisabled`
 36411  	// then it is ignored.
 36412  	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty"`
 36413  	// Deprecated not supported since vSphere 6.5.
 36414  	//
 36415  	// Setting for a gateway for communication to the host.
 36416  	//
 36417  	// If set all trafic to the
 36418  	// host will pass through this gateway.
 36419  	HostGateway *HostGatewaySpec `xml:"hostGateway,omitempty" json:"hostGateway,omitempty"`
 36420  }
 36421  
 36422  func init() {
 36423  	t["HostConnectSpec"] = reflect.TypeOf((*HostConnectSpec)(nil)).Elem()
 36424  }
 36425  
 36426  // This event records a successful host connection.
 36427  type HostConnectedEvent struct {
 36428  	HostEvent
 36429  }
 36430  
 36431  func init() {
 36432  	t["HostConnectedEvent"] = reflect.TypeOf((*HostConnectedEvent)(nil)).Elem()
 36433  }
 36434  
 36435  // This event records the loss of a host connection.
 36436  type HostConnectionLostEvent struct {
 36437  	HostEvent
 36438  }
 36439  
 36440  func init() {
 36441  	t["HostConnectionLostEvent"] = reflect.TypeOf((*HostConnectionLostEvent)(nil)).Elem()
 36442  }
 36443  
 36444  // The CpuIdInfo data object type is used to represent the CPU features of
 36445  // a particular host or product, or to specify what the CPU feature
 36446  // requirements are for a particular virtual machine or guest operating
 36447  // system.
 36448  //
 36449  // As of vSphere API 5.1 `FeatureMask` must be
 36450  // used for masking all hosts and is the recommended method for masking
 36451  // virtual machines with hardware version 9 and above (newer). CpuIdInfo
 36452  // should be used only to mask hardware version 8 and lower (older)
 36453  // virtual machines. Although CpuIdInfo can mask all virtual machines
 36454  // regardless of hardware version, its application is limited and has been
 36455  // superceded by FeatureMask.
 36456  //
 36457  // For each register (eax,ebx,ecx,edx), the string is a bit mask of the form:
 36458  //
 36459  //	????:????:????:????:????:????:????:????
 36460  //
 36461  // When used to represent the features of a specific processor package
 36462  // (`HostHardwareInfo.cpuPkg`), the features common to all
 36463  // processors on a host (`HostHardwareInfo.cpuFeature`), or the
 36464  // features supported by a virtualization platform
 36465  // (`HostCapability.supportedCpuFeature`), each bit is either '0'
 36466  // or '1', or '-' for unknown/unspecified. In these feature vectors, the
 36467  // vendor field is never set.
 36468  //
 36469  // Optional values in these feature vectors default to
 36470  // '----:----:----:----:----:----:----:----'.
 36471  //
 36472  // When specifying the required feature set for a virtual machine or a guest
 36473  // operating system, the bits can take on the values as described below, and
 36474  // the vendor field may be set. The total feature requirements for a virtual
 36475  // machine are composed by using any requirements listed in the virtual
 36476  // machine's configuration to override the requirements listed in the
 36477  // descriptor for the virtual machine's guest OS.
 36478  //
 36479  // Bits used for specifying requirements:
 36480  //   - `*x*`: Unused by guest software.
 36481  //   - `*T*`: Feature that the guest software requires to be enabled.
 36482  //   - `*F*`: Feature that the guest software requires to be disabled.
 36483  //   - `*1*`: Feature will be reported as enabled if queried by the guest
 36484  //     software.
 36485  //   - `*0*`: Feature will be reported as disabled if queried by the guest
 36486  //     software.
 36487  //   - `*R*`: Feature will be reported as disabled if queried by the guest
 36488  //     software; however, for VMotion the actual value of this
 36489  //     feature is required to be the same on both hosts.
 36490  //   - `*H*`: Used by guest software. For VMotion the value of this
 36491  //     feature is required to be the same on both hosts.
 36492  //   - `*-*`: This bit type is only used in the requirements stored in
 36493  //     the virtual machine's configuration. It indicates that, for
 36494  //     this bit position, the requirement from the guest OS
 36495  //     descriptor should be used instead.
 36496  //
 36497  // The values 'F' and '1' are rarely used but included for completeness. The
 36498  // '0' and '1' values do not promise a faithful virtualization of these
 36499  // features; whether the features work when forced to 0 or 1 is highly
 36500  // dependent on the guest software.
 36501  //
 36502  // Optional values in the requirements from the virtual machine's
 36503  // configuration default to '----:----:----:----:----:----:----:----'.
 36504  // Optional values in the requirements from the guest OS descriptor default
 36505  // to 'xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'.
 36506  //
 36507  // Once the feature requirements for a virtual machine have been composed
 36508  // from the virtual machine's configuration and guest OS descriptor, the bit
 36509  // types above are used to identify whether or not the virtual machine
 36510  // can be powered on or be migrated with VMotion to a particular host.
 36511  // The rules are as follows:
 36512  //   - `*Power-on*`: Requirements marked as 'T' or 'F' must match bits
 36513  //     '1' or '0', respectively, in the features advertised by the HardwareInfo
 36514  //     of the power-on host.
 36515  //   - `*VMotion*`: Requirements marked as 'T' or 'F' must match bits
 36516  //     '1' or '0', respectively, in the features advertised by the HardwareInfo
 36517  //     of the destination host. Also, at the positions where requirements are
 36518  //     marked 'H' or 'R', the advertised value of that feature for the source
 36519  //     host must match that of the destination host.
 36520  type HostCpuIdInfo struct {
 36521  	DynamicData
 36522  
 36523  	// Level (EAX input to CPUID).
 36524  	Level int32 `xml:"level" json:"level"`
 36525  	// Used if this mask is for a particular vendor.
 36526  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 36527  	// String representing the required EAX bits.
 36528  	Eax string `xml:"eax,omitempty" json:"eax,omitempty"`
 36529  	// String representing the required EBX bits.
 36530  	Ebx string `xml:"ebx,omitempty" json:"ebx,omitempty"`
 36531  	// String representing the required ECX bits.
 36532  	Ecx string `xml:"ecx,omitempty" json:"ecx,omitempty"`
 36533  	// String representing the required EDX bits.
 36534  	Edx string `xml:"edx,omitempty" json:"edx,omitempty"`
 36535  }
 36536  
 36537  func init() {
 36538  	t["HostCpuIdInfo"] = reflect.TypeOf((*HostCpuIdInfo)(nil)).Elem()
 36539  }
 36540  
 36541  // Information about the CPUs.
 36542  type HostCpuInfo struct {
 36543  	DynamicData
 36544  
 36545  	// Number of physical CPU packages on the host.
 36546  	NumCpuPackages int16 `xml:"numCpuPackages" json:"numCpuPackages"`
 36547  	// Number of physical CPU cores on the host.
 36548  	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
 36549  	// Number of physical CPU threads on the host.
 36550  	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
 36551  	// CPU speed per core.
 36552  	//
 36553  	// This might be an averaged value if the speed
 36554  	// is not uniform across all cores. The total CPU speed of the box is
 36555  	// defined as hz \* numCpuCores
 36556  	Hz int64 `xml:"hz" json:"hz"`
 36557  }
 36558  
 36559  func init() {
 36560  	t["HostCpuInfo"] = reflect.TypeOf((*HostCpuInfo)(nil)).Elem()
 36561  }
 36562  
 36563  // Information about a physical CPU package.
 36564  type HostCpuPackage struct {
 36565  	DynamicData
 36566  
 36567  	// Package index, starting from zero.
 36568  	Index int16 `xml:"index" json:"index"`
 36569  	// CPU vendor name, possible names currently are "Intel", "AMD",
 36570  	// "arm", "hygon", or "unknown".
 36571  	Vendor string `xml:"vendor" json:"vendor"`
 36572  	// CPU speed in HZ.
 36573  	Hz int64 `xml:"hz" json:"hz"`
 36574  	// Bus speed in HZ.
 36575  	BusHz int64 `xml:"busHz" json:"busHz"`
 36576  	// String summary description of CPU (for display purposes).
 36577  	Description string `xml:"description" json:"description"`
 36578  	// The logical CPU threads on this package.
 36579  	ThreadId []int16 `xml:"threadId" json:"threadId"`
 36580  	// The CPU feature bit on this particular CPU.
 36581  	//
 36582  	// This is independent of
 36583  	// the product and licensing capabilities.
 36584  	CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty" json:"cpuFeature,omitempty"`
 36585  	// Family ID for the CPU
 36586  	Family int16 `xml:"family,omitempty" json:"family,omitempty" vim:"8.0.3.0"`
 36587  	// Model number of the CPU
 36588  	Model int16 `xml:"model,omitempty" json:"model,omitempty" vim:"8.0.3.0"`
 36589  	// Stepping ID of the CPU
 36590  	Stepping int16 `xml:"stepping,omitempty" json:"stepping,omitempty" vim:"8.0.3.0"`
 36591  }
 36592  
 36593  func init() {
 36594  	t["HostCpuPackage"] = reflect.TypeOf((*HostCpuPackage)(nil)).Elem()
 36595  }
 36596  
 36597  // The CpuPowerManagementInfo data object type describes supported
 36598  // power management and current policy.
 36599  type HostCpuPowerManagementInfo struct {
 36600  	DynamicData
 36601  
 36602  	// Information about current CPU power management policy.
 36603  	CurrentPolicy string `xml:"currentPolicy,omitempty" json:"currentPolicy,omitempty"`
 36604  	// Information about supported CPU power management.
 36605  	HardwareSupport string `xml:"hardwareSupport,omitempty" json:"hardwareSupport,omitempty"`
 36606  }
 36607  
 36608  func init() {
 36609  	t["HostCpuPowerManagementInfo"] = reflect.TypeOf((*HostCpuPowerManagementInfo)(nil)).Elem()
 36610  }
 36611  
 36612  // This data object describes the information related to the CPU scheduler
 36613  // running on the Host.
 36614  type HostCpuSchedulerInfo struct {
 36615  	DynamicData
 36616  
 36617  	// The `policy` active for CPU Scheduling.
 36618  	Policy string `xml:"policy" json:"policy"`
 36619  }
 36620  
 36621  func init() {
 36622  	t["HostCpuSchedulerInfo"] = reflect.TypeOf((*HostCpuSchedulerInfo)(nil)).Elem()
 36623  	minAPIVersionForType["HostCpuSchedulerInfo"] = "8.0.3.0"
 36624  }
 36625  
 36626  // The parameters of `HostVStorageObjectManager.HostCreateDisk_Task`.
 36627  type HostCreateDiskRequestType struct {
 36628  	This ManagedObjectReference `xml:"_this" json:"-"`
 36629  	// The specification of the virtual storage object
 36630  	// to be created.
 36631  	// 2
 36632  	Spec VslmCreateSpec `xml:"spec" json:"spec"`
 36633  }
 36634  
 36635  func init() {
 36636  	t["HostCreateDiskRequestType"] = reflect.TypeOf((*HostCreateDiskRequestType)(nil)).Elem()
 36637  }
 36638  
 36639  type HostCreateDisk_Task HostCreateDiskRequestType
 36640  
 36641  func init() {
 36642  	t["HostCreateDisk_Task"] = reflect.TypeOf((*HostCreateDisk_Task)(nil)).Elem()
 36643  }
 36644  
 36645  type HostCreateDisk_TaskResponse struct {
 36646  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 36647  }
 36648  
 36649  // This event records when HA has been disabled on a host.
 36650  type HostDasDisabledEvent struct {
 36651  	HostEvent
 36652  }
 36653  
 36654  func init() {
 36655  	t["HostDasDisabledEvent"] = reflect.TypeOf((*HostDasDisabledEvent)(nil)).Elem()
 36656  }
 36657  
 36658  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 36659  //
 36660  // This event records when HA is being disabled on a host.
 36661  type HostDasDisablingEvent struct {
 36662  	HostEvent
 36663  }
 36664  
 36665  func init() {
 36666  	t["HostDasDisablingEvent"] = reflect.TypeOf((*HostDasDisablingEvent)(nil)).Elem()
 36667  }
 36668  
 36669  // This event records when HA has been enabled on a host.
 36670  type HostDasEnabledEvent struct {
 36671  	HostEvent
 36672  }
 36673  
 36674  func init() {
 36675  	t["HostDasEnabledEvent"] = reflect.TypeOf((*HostDasEnabledEvent)(nil)).Elem()
 36676  }
 36677  
 36678  // This event records when HA is being enabled on a host.
 36679  type HostDasEnablingEvent struct {
 36680  	HostEvent
 36681  }
 36682  
 36683  func init() {
 36684  	t["HostDasEnablingEvent"] = reflect.TypeOf((*HostDasEnablingEvent)(nil)).Elem()
 36685  }
 36686  
 36687  // Deprecated as of vSphere API 5.0, the Server will generate the `EventEx` event
 36688  // with the `EventEx.eventTypeId` property set to "com.vmware.vc.HA.HostAgentErrorEvent".
 36689  //
 36690  // This event records when there is a HA error on a host.
 36691  type HostDasErrorEvent struct {
 36692  	HostEvent
 36693  
 36694  	Message string `xml:"message,omitempty" json:"message,omitempty"`
 36695  	// The reason for the failure.
 36696  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 36697  }
 36698  
 36699  func init() {
 36700  	t["HostDasErrorEvent"] = reflect.TypeOf((*HostDasErrorEvent)(nil)).Elem()
 36701  }
 36702  
 36703  // Top-level event for host DAS events to extend.
 36704  type HostDasEvent struct {
 36705  	HostEvent
 36706  }
 36707  
 36708  func init() {
 36709  	t["HostDasEvent"] = reflect.TypeOf((*HostDasEvent)(nil)).Elem()
 36710  }
 36711  
 36712  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 36713  //
 36714  // This event records when HA on a host returns to normal after an error.
 36715  type HostDasOkEvent struct {
 36716  	HostEvent
 36717  }
 36718  
 36719  func init() {
 36720  	t["HostDasOkEvent"] = reflect.TypeOf((*HostDasOkEvent)(nil)).Elem()
 36721  }
 36722  
 36723  // DataTransportConnectionInfo contains common information about data transport
 36724  // connections on a host.
 36725  type HostDataTransportConnectionInfo struct {
 36726  	DynamicData
 36727  
 36728  	// Static memory consumption by a connection in bytes like buffer sizes, heap sizes, etc.
 36729  	StaticMemoryConsumed int64 `xml:"staticMemoryConsumed" json:"staticMemoryConsumed"`
 36730  }
 36731  
 36732  func init() {
 36733  	t["HostDataTransportConnectionInfo"] = reflect.TypeOf((*HostDataTransportConnectionInfo)(nil)).Elem()
 36734  	minAPIVersionForType["HostDataTransportConnectionInfo"] = "7.0.3.0"
 36735  }
 36736  
 36737  // This data object type contains the results of a search method for one datastore.
 36738  //
 36739  // A
 36740  // search method typically returns a set of these objects as an array.
 36741  type HostDatastoreBrowserSearchResults struct {
 36742  	DynamicData
 36743  
 36744  	// Datastore contains the results.
 36745  	//
 36746  	// Refers instance of `Datastore`.
 36747  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 36748  	// Relative path to the top-level folder.
 36749  	FolderPath string `xml:"folderPath,omitempty" json:"folderPath,omitempty"`
 36750  	// Set of matching files, if any.
 36751  	File []BaseFileInfo `xml:"file,omitempty,typeattr" json:"file,omitempty"`
 36752  }
 36753  
 36754  func init() {
 36755  	t["HostDatastoreBrowserSearchResults"] = reflect.TypeOf((*HostDatastoreBrowserSearchResults)(nil)).Elem()
 36756  }
 36757  
 36758  // The data object type describes a search for files in one or more datastores.
 36759  //
 36760  // The
 36761  // properties do not include the starting datastore path because that path is a
 36762  // separate parameter to the search method.
 36763  //
 36764  // A SearchSpec contains the query parameters and some global search modifiers.
 36765  type HostDatastoreBrowserSearchSpec struct {
 36766  	DynamicData
 36767  
 36768  	// The set of file types to match, search criteria specific to the file type, and
 36769  	// the amount of detail for a file.
 36770  	//
 36771  	// These search parameters are specific to a file
 36772  	// type, meaning that they can be specified only if the file type to which they
 36773  	// are associated is in the set. A file type cannot appear more than once in the
 36774  	// set.
 36775  	//
 36776  	// If this query object is not present, then all files providing only file level
 36777  	// details are matched.
 36778  	Query []BaseFileQuery `xml:"query,omitempty,typeattr" json:"query,omitempty"`
 36779  	// This object comprises a set of booleans that describe what details to return
 36780  	// for each file.
 36781  	//
 36782  	// The file level details apply globally to all matched files.
 36783  	Details *FileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
 36784  	// This flag indicates whether or not to search using a case insensitive match on
 36785  	// type.
 36786  	//
 36787  	// In general the algorithm used to match file types relies on file
 36788  	// extensions. Although the specific file extensions used are encapsulated by this
 36789  	// API, clients are still allowed to modify the filtering behavior.
 36790  	//
 36791  	// By default, the DatastoreBrowser uses a platform-consistent algorithm to
 36792  	// determine if a file is of a type. Specifically on Linux, where case is
 36793  	// important, the search is case sensitive. On Windows, case is not important, so
 36794  	// the search is case insensitive.
 36795  	//
 36796  	// In an environment with heterogenous platforms, being platform-consistent may
 36797  	// not be desirable. As a result, the default behavior can be overridden by
 36798  	// setting this optional flag.
 36799  	SearchCaseInsensitive *bool `xml:"searchCaseInsensitive" json:"searchCaseInsensitive,omitempty"`
 36800  	// Specifies a list of file patterns that must match for a file to be returned.
 36801  	//
 36802  	// This search property is a filter that applies globally so that only files
 36803  	// matching the specified patterns are returned, regardless of the other search
 36804  	// parameters.
 36805  	MatchPattern []string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 36806  	// By default, files are sorted in alphabetical order regardless of file type.
 36807  	//
 36808  	// If
 36809  	// this flag is set to "true", folders are placed at the start of the list of
 36810  	// results in alphabetical order. The remaining files follow in alphabetical
 36811  	// order.
 36812  	SortFoldersFirst *bool `xml:"sortFoldersFirst" json:"sortFoldersFirst,omitempty"`
 36813  }
 36814  
 36815  func init() {
 36816  	t["HostDatastoreBrowserSearchSpec"] = reflect.TypeOf((*HostDatastoreBrowserSearchSpec)(nil)).Elem()
 36817  }
 36818  
 36819  // The base data object type for information about datastores on the host.
 36820  type HostDatastoreConnectInfo struct {
 36821  	DynamicData
 36822  
 36823  	// Basic datastore information.
 36824  	//
 36825  	// The managed object reference is not set.
 36826  	Summary DatastoreSummary `xml:"summary" json:"summary"`
 36827  }
 36828  
 36829  func init() {
 36830  	t["HostDatastoreConnectInfo"] = reflect.TypeOf((*HostDatastoreConnectInfo)(nil)).Elem()
 36831  }
 36832  
 36833  // This data object type describes a datastore on the host that matches an existing
 36834  // datastore on VirtualCenter that has a different name.
 36835  type HostDatastoreExistsConnectInfo struct {
 36836  	HostDatastoreConnectInfo
 36837  
 36838  	// The name of a matching datastore on VirtualCenter.
 36839  	//
 36840  	// The datastore on the host
 36841  	// will be renamed to this name.
 36842  	NewDatastoreName string `xml:"newDatastoreName" json:"newDatastoreName"`
 36843  }
 36844  
 36845  func init() {
 36846  	t["HostDatastoreExistsConnectInfo"] = reflect.TypeOf((*HostDatastoreExistsConnectInfo)(nil)).Elem()
 36847  }
 36848  
 36849  // This data object type describes a datastore on the host that has the same name as
 36850  // a different datastore on VirtualCenter.
 36851  type HostDatastoreNameConflictConnectInfo struct {
 36852  	HostDatastoreConnectInfo
 36853  
 36854  	// To resolve a conflict with existing datastores, a suggested new name of the
 36855  	// datastore can be provided.
 36856  	NewDatastoreName string `xml:"newDatastoreName" json:"newDatastoreName"`
 36857  }
 36858  
 36859  func init() {
 36860  	t["HostDatastoreNameConflictConnectInfo"] = reflect.TypeOf((*HostDatastoreNameConflictConnectInfo)(nil)).Elem()
 36861  }
 36862  
 36863  // Capability vector indicating the available product features.
 36864  type HostDatastoreSystemCapabilities struct {
 36865  	DynamicData
 36866  
 36867  	// Indicates whether mounting the NFS volume is required to be done as part
 36868  	// of NAS datastore creation.
 36869  	//
 36870  	// If this is set to true, then NAS datastores
 36871  	// cannot be created for currently mounted NFS volumes.
 36872  	NfsMountCreationRequired bool `xml:"nfsMountCreationRequired" json:"nfsMountCreationRequired"`
 36873  	// Indicates whether mounting an NFS volume is supported
 36874  	// when a NAS datastore is created.
 36875  	//
 36876  	// If this option is false,
 36877  	// then NAS datastores corresponding to NFS volumes can be created
 36878  	// only for already mounted NFS volumes.
 36879  	NfsMountCreationSupported bool `xml:"nfsMountCreationSupported" json:"nfsMountCreationSupported"`
 36880  	// Indicates whether local datastores are supported.
 36881  	LocalDatastoreSupported bool `xml:"localDatastoreSupported" json:"localDatastoreSupported"`
 36882  	// Indicates whether vmfs extent expansion is supported.
 36883  	VmfsExtentExpansionSupported *bool `xml:"vmfsExtentExpansionSupported" json:"vmfsExtentExpansionSupported,omitempty"`
 36884  }
 36885  
 36886  func init() {
 36887  	t["HostDatastoreSystemCapabilities"] = reflect.TypeOf((*HostDatastoreSystemCapabilities)(nil)).Elem()
 36888  }
 36889  
 36890  // Contains result of remove datastore request.
 36891  //
 36892  // Used as return value
 36893  // by `HostDatastoreSystem.RemoveDatastoreEx_Task`
 36894  type HostDatastoreSystemDatastoreResult struct {
 36895  	DynamicData
 36896  
 36897  	// Datastore removed
 36898  	//
 36899  	// Refers instance of `Datastore`.
 36900  	Key ManagedObjectReference `xml:"key" json:"key"`
 36901  	// Fault if removal fails
 36902  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 36903  }
 36904  
 36905  func init() {
 36906  	t["HostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*HostDatastoreSystemDatastoreResult)(nil)).Elem()
 36907  }
 36908  
 36909  // Specification for creating Virtual Volumed based datastore.
 36910  type HostDatastoreSystemVvolDatastoreSpec struct {
 36911  	DynamicData
 36912  
 36913  	// Name of the datastore.
 36914  	Name string `xml:"name" json:"name"`
 36915  	// Storage contained Id.
 36916  	//
 36917  	// This is used to retrieve configuration of the
 36918  	// storage container from SMS.
 36919  	ScId string `xml:"scId" json:"scId"`
 36920  }
 36921  
 36922  func init() {
 36923  	t["HostDatastoreSystemVvolDatastoreSpec"] = reflect.TypeOf((*HostDatastoreSystemVvolDatastoreSpec)(nil)).Elem()
 36924  }
 36925  
 36926  // This data object represents the dateTime configuration of the host.
 36927  type HostDateTimeConfig struct {
 36928  	DynamicData
 36929  
 36930  	// The time zone of the host.
 36931  	//
 36932  	// Must be one of the values of
 36933  	// `HostDateTimeSystemTimeZone.key`
 36934  	TimeZone string `xml:"timeZone,omitempty" json:"timeZone,omitempty"`
 36935  	// The NTP configuration on the host.
 36936  	NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty" json:"ntpConfig,omitempty"`
 36937  	// The PTP configuration on the host.
 36938  	PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty" json:"ptpConfig,omitempty" vim:"7.0.3.0"`
 36939  	// Specify which network time configuration to discipline vmkernel clock.
 36940  	//
 36941  	// See `HostDateTimeInfoProtocol_enum` for supported values.
 36942  	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty" vim:"7.0.3.0"`
 36943  	// Bring Time services subsystem up or down.
 36944  	Enabled *bool `xml:"enabled" json:"enabled,omitempty" vim:"7.0.3.0"`
 36945  	// When Network Time service or Precision Time service are enabled
 36946  	// any detecteced failures will result in Events being sent to
 36947  	// Virtual Center.
 36948  	//
 36949  	// Use this setting to disable Time Events.
 36950  	DisableEvents *bool `xml:"disableEvents" json:"disableEvents,omitempty" vim:"7.0.3.0"`
 36951  	// When in PrecisionTimeSync, NTP configuration as set will be
 36952  	// running as backup.
 36953  	//
 36954  	// Use this setting to prevent NTP from becoming
 36955  	// the primary time protocol in the event of a PTP service failure.
 36956  	DisableFallback *bool `xml:"disableFallback" json:"disableFallback,omitempty" vim:"7.0.3.0"`
 36957  	// When this property is present and set true the existing
 36958  	// configuration for Time Services will be reset to factory default.
 36959  	//
 36960  	// The protocol property when set defines the scope of what is reset.
 36961  	// If additional configuration beyond protocol is provided host
 36962  	// will first perform factory reset followed by applying any configuration
 36963  	// present.
 36964  	ResetToFactoryDefaults *bool `xml:"resetToFactoryDefaults" json:"resetToFactoryDefaults,omitempty" vim:"7.0.3.0"`
 36965  }
 36966  
 36967  func init() {
 36968  	t["HostDateTimeConfig"] = reflect.TypeOf((*HostDateTimeConfig)(nil)).Elem()
 36969  }
 36970  
 36971  // This data object represents the dateTime configuration of the host.
 36972  type HostDateTimeInfo struct {
 36973  	DynamicData
 36974  
 36975  	// The time zone of the host.
 36976  	TimeZone HostDateTimeSystemTimeZone `xml:"timeZone" json:"timeZone"`
 36977  	// The system clock synchronization protocol.
 36978  	//
 36979  	// See `HostDateTimeInfoProtocol_enum` for possible values.
 36980  	SystemClockProtocol string `xml:"systemClockProtocol,omitempty" json:"systemClockProtocol,omitempty"`
 36981  	// The NTP configuration on the host.
 36982  	NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty" json:"ntpConfig,omitempty"`
 36983  	// The PTP configuration on the host.
 36984  	PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty" json:"ptpConfig,omitempty" vim:"7.0.3.0"`
 36985  	// Present state of the time services subsystem.
 36986  	Enabled *bool `xml:"enabled" json:"enabled,omitempty" vim:"7.0.3.0"`
 36987  	// When not disabled Network Time service or Precision Time service
 36988  	// will send events to Virtual Center when service fails or recovers.
 36989  	DisableEvents *bool `xml:"disableEvents" json:"disableEvents,omitempty" vim:"7.0.3.0"`
 36990  	// When not disabled, if PrecisionTimeSync is configured, then the
 36991  	// NTP configuration can run as backup.
 36992  	DisableFallback *bool `xml:"disableFallback" json:"disableFallback,omitempty" vim:"7.0.3.0"`
 36993  	// Tracks if NTP is providing time to ESXi due to PTP service failure.
 36994  	//
 36995  	// This is set only if disableFallback is set to false.
 36996  	InFallbackState *bool `xml:"inFallbackState" json:"inFallbackState,omitempty" vim:"7.0.3.0"`
 36997  	// Report true if time is synchronized with remote time source
 36998  	// For PrecisionTimeSync this is obtained from PTP Port Status value.
 36999  	//
 37000  	// For NetworkTimeProtocol this obtained from Leap Indicator value.
 37001  	ServiceSync *bool `xml:"serviceSync" json:"serviceSync,omitempty" vim:"7.0.3.0"`
 37002  	// Timestamp when time services were last in sync with remote clock.
 37003  	//
 37004  	// If not set, time services have never established synchronization.
 37005  	LastSyncTime *time.Time `xml:"lastSyncTime" json:"lastSyncTime,omitempty" vim:"7.0.3.0"`
 37006  	// Provides the NTP server that the host is synced with from the
 37007  	// set of servers configured.
 37008  	RemoteNtpServer string `xml:"remoteNtpServer,omitempty" json:"remoteNtpServer,omitempty" vim:"7.0.3.0"`
 37009  	// Provides the total seconds ntpd process has been running for.
 37010  	NtpRunTime int64 `xml:"ntpRunTime,omitempty" json:"ntpRunTime,omitempty" vim:"7.0.3.0"`
 37011  	// Provides the total seconds ptpd process has been running for.
 37012  	PtpRunTime int64 `xml:"ptpRunTime,omitempty" json:"ptpRunTime,omitempty" vim:"7.0.3.0"`
 37013  	// Provides a duration in simplified, human-readable form
 37014  	// for the lifetime of the ntp service.
 37015  	NtpDuration string `xml:"ntpDuration,omitempty" json:"ntpDuration,omitempty" vim:"7.0.3.0"`
 37016  	// Provides a duration in simplified, human-readable form
 37017  	// for the lifetime of the ptp service.
 37018  	PtpDuration string `xml:"ptpDuration,omitempty" json:"ptpDuration,omitempty" vim:"7.0.3.0"`
 37019  }
 37020  
 37021  func init() {
 37022  	t["HostDateTimeInfo"] = reflect.TypeOf((*HostDateTimeInfo)(nil)).Elem()
 37023  }
 37024  
 37025  type HostDateTimeSystemServiceTestResult struct {
 37026  	DynamicData
 37027  
 37028  	// Value is true if time services are presently working normally.
 37029  	WorkingNormally bool `xml:"workingNormally" json:"workingNormally"`
 37030  	// Returns details of the checks done to verify time services are working.
 37031  	Report []string `xml:"report,omitempty" json:"report,omitempty"`
 37032  }
 37033  
 37034  func init() {
 37035  	t["HostDateTimeSystemServiceTestResult"] = reflect.TypeOf((*HostDateTimeSystemServiceTestResult)(nil)).Elem()
 37036  	minAPIVersionForType["HostDateTimeSystemServiceTestResult"] = "7.0.3.0"
 37037  }
 37038  
 37039  type HostDateTimeSystemTimeZone struct {
 37040  	DynamicData
 37041  
 37042  	// The identifier for the time zone.
 37043  	Key string `xml:"key" json:"key"`
 37044  	// The time zone name.
 37045  	Name string `xml:"name" json:"name"`
 37046  	// Description of the time zone.
 37047  	Description string `xml:"description" json:"description"`
 37048  	// The GMT offset in seconds that is currently applicable to the timezone
 37049  	// (with respect to the current time on the host).
 37050  	GmtOffset int32 `xml:"gmtOffset" json:"gmtOffset"`
 37051  }
 37052  
 37053  func init() {
 37054  	t["HostDateTimeSystemTimeZone"] = reflect.TypeOf((*HostDateTimeSystemTimeZone)(nil)).Elem()
 37055  }
 37056  
 37057  // The parameters of `HostVStorageObjectManager.HostDeleteVStorageObjectEx_Task`.
 37058  type HostDeleteVStorageObjectExRequestType struct {
 37059  	This ManagedObjectReference `xml:"_this" json:"-"`
 37060  	// The ID of the virtual storage object to be deleted.
 37061  	Id ID `xml:"id" json:"id"`
 37062  	// The datastore where the virtual storage object is
 37063  	// located.
 37064  	//
 37065  	// Refers instance of `Datastore`.
 37066  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 37067  }
 37068  
 37069  func init() {
 37070  	t["HostDeleteVStorageObjectExRequestType"] = reflect.TypeOf((*HostDeleteVStorageObjectExRequestType)(nil)).Elem()
 37071  	minAPIVersionForType["HostDeleteVStorageObjectExRequestType"] = "7.0.2.0"
 37072  }
 37073  
 37074  type HostDeleteVStorageObjectEx_Task HostDeleteVStorageObjectExRequestType
 37075  
 37076  func init() {
 37077  	t["HostDeleteVStorageObjectEx_Task"] = reflect.TypeOf((*HostDeleteVStorageObjectEx_Task)(nil)).Elem()
 37078  }
 37079  
 37080  type HostDeleteVStorageObjectEx_TaskResponse struct {
 37081  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 37082  }
 37083  
 37084  // The parameters of `HostVStorageObjectManager.HostDeleteVStorageObject_Task`.
 37085  type HostDeleteVStorageObjectRequestType struct {
 37086  	This ManagedObjectReference `xml:"_this" json:"-"`
 37087  	// The ID of the virtual storage object to be deleted.
 37088  	Id ID `xml:"id" json:"id"`
 37089  	// The datastore where the virtual storage object is
 37090  	// located.
 37091  	//
 37092  	// Refers instance of `Datastore`.
 37093  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 37094  }
 37095  
 37096  func init() {
 37097  	t["HostDeleteVStorageObjectRequestType"] = reflect.TypeOf((*HostDeleteVStorageObjectRequestType)(nil)).Elem()
 37098  }
 37099  
 37100  type HostDeleteVStorageObject_Task HostDeleteVStorageObjectRequestType
 37101  
 37102  func init() {
 37103  	t["HostDeleteVStorageObject_Task"] = reflect.TypeOf((*HostDeleteVStorageObject_Task)(nil)).Elem()
 37104  }
 37105  
 37106  type HostDeleteVStorageObject_TaskResponse struct {
 37107  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 37108  }
 37109  
 37110  // Data object describing the deployment information for a host.
 37111  type HostDeploymentInfo struct {
 37112  	DynamicData
 37113  
 37114  	// Flag indicating if the host was booted from stateless cache.
 37115  	BootedFromStatelessCache *bool `xml:"bootedFromStatelessCache" json:"bootedFromStatelessCache,omitempty"`
 37116  }
 37117  
 37118  func init() {
 37119  	t["HostDeploymentInfo"] = reflect.TypeOf((*HostDeploymentInfo)(nil)).Elem()
 37120  }
 37121  
 37122  // This data object type defines a device on the host.
 37123  type HostDevice struct {
 37124  	DynamicData
 37125  
 37126  	// The name of the device on the host.
 37127  	//
 37128  	// For example,
 37129  	// /dev/cdrom or \\\\serverX\\device\_name.
 37130  	DeviceName string `xml:"deviceName" json:"deviceName"`
 37131  	// Device type when available:
 37132  	// floppy, mouse, cdrom, disk, scsi device, or adapter.
 37133  	DeviceType string `xml:"deviceType" json:"deviceType"`
 37134  }
 37135  
 37136  func init() {
 37137  	t["HostDevice"] = reflect.TypeOf((*HostDevice)(nil)).Elem()
 37138  }
 37139  
 37140  // A dynamic host control protocol (DHCP) service instance serves IP
 37141  // addresses to a single virtual network subnet.
 37142  //
 37143  // The instances may
 37144  // be handled collectively by a single server. This decision can
 37145  // be made during implementation.
 37146  type HostDhcpService struct {
 37147  	DynamicData
 37148  
 37149  	// The instance ID of the DHCP service.
 37150  	Key string `xml:"key" json:"key"`
 37151  	// Configurable properties for the DHCP service.
 37152  	Spec HostDhcpServiceSpec `xml:"spec" json:"spec"`
 37153  }
 37154  
 37155  func init() {
 37156  	t["HostDhcpService"] = reflect.TypeOf((*HostDhcpService)(nil)).Elem()
 37157  }
 37158  
 37159  // This data object type describes the configuration of a DHCP service
 37160  // instance representing both the configured properties
 37161  // on the instance and identification information.
 37162  type HostDhcpServiceConfig struct {
 37163  	DynamicData
 37164  
 37165  	// Indicates the change operation to apply on this configuration
 37166  	// specification.
 37167  	//
 37168  	// See also `HostConfigChangeOperation_enum`.
 37169  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 37170  	// The instance ID of the DHCP service.
 37171  	Key string `xml:"key" json:"key"`
 37172  	// Specification of the DHCP service.
 37173  	Spec HostDhcpServiceSpec `xml:"spec" json:"spec"`
 37174  }
 37175  
 37176  func init() {
 37177  	t["HostDhcpServiceConfig"] = reflect.TypeOf((*HostDhcpServiceConfig)(nil)).Elem()
 37178  }
 37179  
 37180  type HostDhcpServiceSpec struct {
 37181  	DynamicData
 37182  
 37183  	// The name of the virtual switch to which DHCP service is connected.
 37184  	VirtualSwitch string `xml:"virtualSwitch" json:"virtualSwitch"`
 37185  	// The default DHCP lease duration (minutes).
 37186  	DefaultLeaseDuration int32 `xml:"defaultLeaseDuration" json:"defaultLeaseDuration"`
 37187  	// The start of the IP address range served by the DHCP service.
 37188  	LeaseBeginIp string `xml:"leaseBeginIp" json:"leaseBeginIp"`
 37189  	// The end of the IP address range served by the DHCP service.
 37190  	LeaseEndIp string `xml:"leaseEndIp" json:"leaseEndIp"`
 37191  	// The maximum DHCP lease duration (minutes).
 37192  	MaxLeaseDuration int32 `xml:"maxLeaseDuration" json:"maxLeaseDuration"`
 37193  	// A flag to indicate whether or not unlimited DHCP lease
 37194  	// durations are allowed.
 37195  	UnlimitedLease bool `xml:"unlimitedLease" json:"unlimitedLease"`
 37196  	// Subnet served by DHCP service.
 37197  	IpSubnetAddr string `xml:"ipSubnetAddr" json:"ipSubnetAddr"`
 37198  	// Subnet mask of network served by DHCP service.
 37199  	IpSubnetMask string `xml:"ipSubnetMask" json:"ipSubnetMask"`
 37200  }
 37201  
 37202  func init() {
 37203  	t["HostDhcpServiceSpec"] = reflect.TypeOf((*HostDhcpServiceSpec)(nil)).Elem()
 37204  }
 37205  
 37206  // This data object type contains information about an available or active
 37207  // diagnostic partition.
 37208  type HostDiagnosticPartition struct {
 37209  	DynamicData
 37210  
 37211  	// Indicates the storage type of the diagnostic partition.
 37212  	//
 37213  	// See also `DiagnosticPartitionStorageType_enum`.
 37214  	StorageType string `xml:"storageType" json:"storageType"`
 37215  	// Indicates the type of the diagnostic partition.
 37216  	//
 37217  	// See also `DiagnosticPartitionType_enum`.
 37218  	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
 37219  	// The number of slots in the diagnostic partition.
 37220  	Slots int32 `xml:"slots" json:"slots"`
 37221  	// Diagnostic partition identification information.
 37222  	Id HostScsiDiskPartition `xml:"id" json:"id"`
 37223  }
 37224  
 37225  func init() {
 37226  	t["HostDiagnosticPartition"] = reflect.TypeOf((*HostDiagnosticPartition)(nil)).Elem()
 37227  }
 37228  
 37229  // The diagnostic partition create description details what will be done
 37230  // to create a new diagnostic partition on a disk.
 37231  //
 37232  // It contains a CreateSpec
 37233  // that can be submitted to create the partition and information that can
 37234  // be shown to the user.
 37235  type HostDiagnosticPartitionCreateDescription struct {
 37236  	DynamicData
 37237  
 37238  	// Layout describing the format of the disk
 37239  	// In releases after vSphere API 5.0, vSphere Servers might not
 37240  	// generate property collector update notifications for this property.
 37241  	//
 37242  	// To obtain the latest value of the property, you can use
 37243  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 37244  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 37245  	// an empty string for the version parameter.
 37246  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 37247  	// contain values for this property when some other property on the DataObject changes.
 37248  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 37249  	// version parameter, the value for this property may not be current.
 37250  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 37251  	// The UUID of the SCSI disk on which to create the diagnostic partition.
 37252  	//
 37253  	// This disk UUID will match that found in the identification field of the
 37254  	// creation spec.
 37255  	//
 37256  	// See also `HostScsiDisk`, `ScsiLun.uuid`.
 37257  	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
 37258  	// Creation specification for diagnostic partition
 37259  	Spec HostDiagnosticPartitionCreateSpec `xml:"spec" json:"spec"`
 37260  }
 37261  
 37262  func init() {
 37263  	t["HostDiagnosticPartitionCreateDescription"] = reflect.TypeOf((*HostDiagnosticPartitionCreateDescription)(nil)).Elem()
 37264  }
 37265  
 37266  // This data object describes a disk that can be used to create a
 37267  // diagnostic partition.
 37268  type HostDiagnosticPartitionCreateOption struct {
 37269  	DynamicData
 37270  
 37271  	// Indicates the storage type of diagnostic partition to be created.
 37272  	//
 37273  	// See also `DiagnosticPartitionStorageType_enum`.
 37274  	StorageType string `xml:"storageType" json:"storageType"`
 37275  	// Indicates the type of the diagnostic partition to be created.
 37276  	//
 37277  	// See also `DiagnosticPartitionType_enum`.
 37278  	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
 37279  	// The disk which has sufficient free space to contain a diagnostic
 37280  	// partition.
 37281  	Disk HostScsiDisk `xml:"disk" json:"disk"`
 37282  }
 37283  
 37284  func init() {
 37285  	t["HostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*HostDiagnosticPartitionCreateOption)(nil)).Elem()
 37286  }
 37287  
 37288  // The diagnostic create specification is used by the system to create a new
 37289  // diagnostic partition on a SCSI disk.
 37290  type HostDiagnosticPartitionCreateSpec struct {
 37291  	DynamicData
 37292  
 37293  	// Indicates the storage type where the diagnostic partition
 37294  	// will be created.
 37295  	//
 37296  	// See also `DiagnosticPartitionStorageType_enum`.
 37297  	StorageType string `xml:"storageType" json:"storageType"`
 37298  	// Indicates the type of the diagnostic partition to be created.
 37299  	//
 37300  	// See also `DiagnosticPartitionType_enum`.
 37301  	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
 37302  	// Diagnostic partition identification information.
 37303  	Id HostScsiDiskPartition `xml:"id" json:"id"`
 37304  	// Partitioning specification.
 37305  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 37306  	// Indicates if the created diagnostic partition should be made the
 37307  	// active diagnostic partition.
 37308  	//
 37309  	// If not supplied, the system will
 37310  	// decide whether or not the created specification is active.
 37311  	Active *bool `xml:"active" json:"active,omitempty"`
 37312  }
 37313  
 37314  func init() {
 37315  	t["HostDiagnosticPartitionCreateSpec"] = reflect.TypeOf((*HostDiagnosticPartitionCreateSpec)(nil)).Elem()
 37316  }
 37317  
 37318  // This data object type describes the digest information
 37319  type HostDigestInfo struct {
 37320  	DynamicData
 37321  
 37322  	// Method in which the digest value is calculated.
 37323  	//
 37324  	// The set of possible
 37325  	// values is described in `HostDigestInfoDigestMethodType_enum`.
 37326  	DigestMethod string `xml:"digestMethod" json:"digestMethod"`
 37327  	// The variable length byte array containing the digest value calculated by
 37328  	// the specified digestMethod.
 37329  	DigestValue ByteSlice `xml:"digestValue" json:"digestValue"`
 37330  	// The name of the object from which this digest value is calcaulated.
 37331  	ObjectName string `xml:"objectName,omitempty" json:"objectName,omitempty"`
 37332  }
 37333  
 37334  func init() {
 37335  	t["HostDigestInfo"] = reflect.TypeOf((*HostDigestInfo)(nil)).Elem()
 37336  }
 37337  
 37338  // `HostDirectoryStoreInfo` is a base class for objects that
 37339  // provide information about directory-based authentication stores.
 37340  type HostDirectoryStoreInfo struct {
 37341  	HostAuthenticationStoreInfo
 37342  }
 37343  
 37344  func init() {
 37345  	t["HostDirectoryStoreInfo"] = reflect.TypeOf((*HostDirectoryStoreInfo)(nil)).Elem()
 37346  }
 37347  
 37348  // This event records a disconnection from a host.
 37349  type HostDisconnectedEvent struct {
 37350  	HostEvent
 37351  
 37352  	// Reason why the host was disconnected.
 37353  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 37354  }
 37355  
 37356  func init() {
 37357  	t["HostDisconnectedEvent"] = reflect.TypeOf((*HostDisconnectedEvent)(nil)).Elem()
 37358  }
 37359  
 37360  // Disk configuration result returns success or fault of the
 37361  // operation on the disk.
 37362  type HostDiskConfigurationResult struct {
 37363  	DynamicData
 37364  
 37365  	// The device path.
 37366  	//
 37367  	// See `ScsiDisk`
 37368  	DevicePath string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
 37369  	// Flag to indicate if the operation is successful
 37370  	Success *bool `xml:"success" json:"success,omitempty"`
 37371  	// 'fault' would be set if the operation was not successful
 37372  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 37373  }
 37374  
 37375  func init() {
 37376  	t["HostDiskConfigurationResult"] = reflect.TypeOf((*HostDiskConfigurationResult)(nil)).Elem()
 37377  }
 37378  
 37379  // This data object type describes multiple coordinate systems
 37380  // used to refer to a location or size on a disk.
 37381  type HostDiskDimensions struct {
 37382  	DynamicData
 37383  }
 37384  
 37385  func init() {
 37386  	t["HostDiskDimensions"] = reflect.TypeOf((*HostDiskDimensions)(nil)).Elem()
 37387  }
 37388  
 37389  // This data object type describes dimensions using the cylinder,
 37390  // head, sector (CHS) coordinate system.
 37391  //
 37392  // This coordinate system
 37393  // is generally needed for partitioning for legacy reasons. When defining
 37394  // partitions, many partitioning utilities do not function correctly when
 37395  // certain CHS constraints are not met.
 37396  type HostDiskDimensionsChs struct {
 37397  	DynamicData
 37398  
 37399  	// The number of cylinders.
 37400  	Cylinder int64 `xml:"cylinder" json:"cylinder"`
 37401  	// The number of heads per cylinders.
 37402  	Head int32 `xml:"head" json:"head"`
 37403  	// The number of sectors per head.
 37404  	Sector int32 `xml:"sector" json:"sector"`
 37405  }
 37406  
 37407  func init() {
 37408  	t["HostDiskDimensionsChs"] = reflect.TypeOf((*HostDiskDimensionsChs)(nil)).Elem()
 37409  }
 37410  
 37411  // This data object type describes the logical block addressing system
 37412  // that uses block numbers and block sizes to refer to a block.
 37413  //
 37414  // This
 37415  // scheme is employed by SCSI. If a SCSI disk is not involved,
 37416  // then blockSize is 512 bytes.
 37417  type HostDiskDimensionsLba struct {
 37418  	DynamicData
 37419  
 37420  	// The size of the blocks.
 37421  	BlockSize int32 `xml:"blockSize" json:"blockSize"`
 37422  	// The number of blocks.
 37423  	Block int64 `xml:"block" json:"block"`
 37424  }
 37425  
 37426  func init() {
 37427  	t["HostDiskDimensionsLba"] = reflect.TypeOf((*HostDiskDimensionsLba)(nil)).Elem()
 37428  }
 37429  
 37430  // The HostDiskMappingInfo data object type describes
 37431  // a virtual disk mapping to a host disk.
 37432  type HostDiskMappingInfo struct {
 37433  	DynamicData
 37434  
 37435  	// The partition used on the host, if not mapping
 37436  	// to a full disk device.
 37437  	PhysicalPartition *HostDiskMappingPartitionInfo `xml:"physicalPartition,omitempty" json:"physicalPartition,omitempty"`
 37438  	// Host resource name.
 37439  	Name string `xml:"name" json:"name"`
 37440  	// Flag to indicate whether or not the virtual machine has exclusive access
 37441  	// to the host device.
 37442  	Exclusive *bool `xml:"exclusive" json:"exclusive,omitempty"`
 37443  }
 37444  
 37445  func init() {
 37446  	t["HostDiskMappingInfo"] = reflect.TypeOf((*HostDiskMappingInfo)(nil)).Elem()
 37447  }
 37448  
 37449  // The HostDiskMappingOption data object type describes
 37450  // the options for a virtual disk mapping to a host disk.
 37451  type HostDiskMappingOption struct {
 37452  	DynamicData
 37453  
 37454  	// Array of valid partitions on this physical disk.
 37455  	//
 37456  	// There is no default for this array.
 37457  	PhysicalPartition []HostDiskMappingPartitionOption `xml:"physicalPartition,omitempty" json:"physicalPartition,omitempty"`
 37458  	// Host resource name.
 37459  	Name string `xml:"name" json:"name"`
 37460  }
 37461  
 37462  func init() {
 37463  	t["HostDiskMappingOption"] = reflect.TypeOf((*HostDiskMappingOption)(nil)).Elem()
 37464  }
 37465  
 37466  // The PhysicalPartitionInfo data class.
 37467  type HostDiskMappingPartitionInfo struct {
 37468  	DynamicData
 37469  
 37470  	// Partition name.
 37471  	Name string `xml:"name" json:"name"`
 37472  	// Filesystem, if the partition is formatted.
 37473  	FileSystem string `xml:"fileSystem" json:"fileSystem"`
 37474  	// Partition capacity, in KB.
 37475  	CapacityInKb int64 `xml:"capacityInKb" json:"capacityInKb"`
 37476  }
 37477  
 37478  func init() {
 37479  	t["HostDiskMappingPartitionInfo"] = reflect.TypeOf((*HostDiskMappingPartitionInfo)(nil)).Elem()
 37480  }
 37481  
 37482  // The PhysicalPartitionOption data class contains the options
 37483  // for a partition on a physical disk.
 37484  type HostDiskMappingPartitionOption struct {
 37485  	DynamicData
 37486  
 37487  	// Partition name.
 37488  	Name string `xml:"name" json:"name"`
 37489  	// File system, if the partition is formatted.
 37490  	FileSystem string `xml:"fileSystem" json:"fileSystem"`
 37491  	// Partition capacity, in KB.
 37492  	CapacityInKb int64 `xml:"capacityInKb" json:"capacityInKb"`
 37493  }
 37494  
 37495  func init() {
 37496  	t["HostDiskMappingPartitionOption"] = reflect.TypeOf((*HostDiskMappingPartitionOption)(nil)).Elem()
 37497  }
 37498  
 37499  // Information about a single disk partition.
 37500  //
 37501  // A partition is a contiguous
 37502  // set of blocks on a disk that is marked for use. The typeId identifies
 37503  // the purpose of the data in the partition.
 37504  type HostDiskPartitionAttributes struct {
 37505  	DynamicData
 37506  
 37507  	// The partition number.
 37508  	//
 37509  	// Must be a positive integer.
 37510  	Partition int32 `xml:"partition" json:"partition"`
 37511  	// The start sector.
 37512  	StartSector int64 `xml:"startSector" json:"startSector"`
 37513  	// The end sector.
 37514  	EndSector int64 `xml:"endSector" json:"endSector"`
 37515  	// Type of data in the partition.
 37516  	//
 37517  	// If it is a well-known partition type,
 37518  	// it will be one of the defined types. If it is not, then it will be
 37519  	// reported as a hexadecimal number. For example, "none", "vmfs", "linux",
 37520  	// and "0x20" are all valid values.
 37521  	//
 37522  	// See also `HostDiskPartitionInfoType_enum`.
 37523  	Type string `xml:"type" json:"type"`
 37524  	// Globally Unique Identifier of the partition, as defined by the GUID
 37525  	// Partition Table (GPT) format.
 37526  	//
 37527  	// This is available only for GPT formatted
 37528  	// disks.
 37529  	Guid string `xml:"guid,omitempty" json:"guid,omitempty"`
 37530  	// The flag to indicate whether or not the partition is
 37531  	// logical.
 37532  	//
 37533  	// If true, the partition
 37534  	// number should be greater than 4.
 37535  	Logical bool `xml:"logical" json:"logical"`
 37536  	// The attributes on the partition.
 37537  	Attributes byte `xml:"attributes" json:"attributes"`
 37538  	// Partition alignment in bytes.
 37539  	//
 37540  	// If unset, partition alignment value is unknown.
 37541  	PartitionAlignment int64 `xml:"partitionAlignment,omitempty" json:"partitionAlignment,omitempty"`
 37542  }
 37543  
 37544  func init() {
 37545  	t["HostDiskPartitionAttributes"] = reflect.TypeOf((*HostDiskPartitionAttributes)(nil)).Elem()
 37546  }
 37547  
 37548  // A BlockRange data object type describes a contiguous set of blocks
 37549  // on a disk.
 37550  //
 37551  // A BlockRange may describe either a partition or
 37552  // unpartitioned (primordial) blocks on the disk.
 37553  type HostDiskPartitionBlockRange struct {
 37554  	DynamicData
 37555  
 37556  	// Partition number.
 37557  	//
 37558  	// This number is a hint from the server indicating
 37559  	// what the partition number for this block range is if the range
 37560  	// corresponds to a partition. The partition number should correlate to
 37561  	// the one in the partition specification. If sent back to the server,
 37562  	// this property is ignored.
 37563  	Partition int32 `xml:"partition,omitempty" json:"partition,omitempty"`
 37564  	// The type of data in the partition.
 37565  	//
 37566  	// See also `HostDiskPartitionAttributes.type`.
 37567  	Type string `xml:"type" json:"type"`
 37568  	// The starting block address of the disk range.
 37569  	//
 37570  	// The block numbers start
 37571  	// from zero. The range is inclusive of the end address.
 37572  	Start HostDiskDimensionsLba `xml:"start" json:"start"`
 37573  	// The end block address of the disk range.
 37574  	//
 37575  	// The block numbers start
 37576  	// from zero. The range is inclusive of the end address.
 37577  	End HostDiskDimensionsLba `xml:"end" json:"end"`
 37578  }
 37579  
 37580  func init() {
 37581  	t["HostDiskPartitionBlockRange"] = reflect.TypeOf((*HostDiskPartitionBlockRange)(nil)).Elem()
 37582  }
 37583  
 37584  // Information about the partitions on a disk.
 37585  //
 37586  // A DiskPartitionInfo object
 37587  // provides two different views into the partitions on a disk:
 37588  //   - A detailed specification that is used to create the partition
 37589  //     table.
 37590  //   - A convenient view that shows the allocations
 37591  //     of blocks as a contiguous sequence of block ranges.
 37592  //
 37593  // See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.ComputeDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 37594  type HostDiskPartitionInfo struct {
 37595  	DynamicData
 37596  
 37597  	// The device name of the disk to which this partition information
 37598  	// corresponds.
 37599  	DeviceName string `xml:"deviceName" json:"deviceName"`
 37600  	// The detailed disk partition specification.
 37601  	//
 37602  	// Use this specification for
 37603  	// manipulating the file system.
 37604  	//
 37605  	// See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 37606  	Spec HostDiskPartitionSpec `xml:"spec" json:"spec"`
 37607  	// A convenient format for describing disk layout.
 37608  	//
 37609  	// This layout
 37610  	// specification can be converted to a Specification object.
 37611  	//
 37612  	// See also `HostStorageSystem.ComputeDiskPartitionInfo`.
 37613  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 37614  }
 37615  
 37616  func init() {
 37617  	t["HostDiskPartitionInfo"] = reflect.TypeOf((*HostDiskPartitionInfo)(nil)).Elem()
 37618  }
 37619  
 37620  // This data object type describes the disk partition layout
 37621  // specified as a list of ordered BlockRanges.
 37622  //
 37623  // This
 37624  // view of the disk partitions shows the data on the disk as a contiguous
 37625  // set of BlockRanges.
 37626  type HostDiskPartitionLayout struct {
 37627  	DynamicData
 37628  
 37629  	// Total number of blocks on a disk.
 37630  	Total *HostDiskDimensionsLba `xml:"total,omitempty" json:"total,omitempty"`
 37631  	// List of block ranges on the disk.
 37632  	Partition []HostDiskPartitionBlockRange `xml:"partition" json:"partition"`
 37633  }
 37634  
 37635  func init() {
 37636  	t["HostDiskPartitionLayout"] = reflect.TypeOf((*HostDiskPartitionLayout)(nil)).Elem()
 37637  }
 37638  
 37639  // This data object type describes the disk partition table
 37640  // specification used to configure the partitions on a
 37641  // disk.
 37642  //
 37643  // This data object represents the fundamental data needed to specify
 37644  // a partition table.
 37645  type HostDiskPartitionSpec struct {
 37646  	DynamicData
 37647  
 37648  	// Partition format type on the disk.
 37649  	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty"`
 37650  	// Disk dimensions expressed as cylinder, head, sector (CHS)
 37651  	// coordinates.
 37652  	Chs *HostDiskDimensionsChs `xml:"chs,omitempty" json:"chs,omitempty"`
 37653  	// Disk dimensions expressed as a total number of sectors.
 37654  	//
 37655  	// For sector size, see the `HostDiskPartitionSpec.sectorSize` field.
 37656  	TotalSectors int64 `xml:"totalSectors,omitempty" json:"totalSectors,omitempty"`
 37657  	// List of partitions on the disk.
 37658  	Partition []HostDiskPartitionAttributes `xml:"partition,omitempty" json:"partition,omitempty"`
 37659  	// The sector size in bytes.
 37660  	//
 37661  	// The typical values are 512 and 4096.
 37662  	// If unset, the value should be considered 512.
 37663  	SectorSize int32 `xml:"sectorSize,omitempty" json:"sectorSize,omitempty" vim:"9.0.0.0"`
 37664  }
 37665  
 37666  func init() {
 37667  	t["HostDiskPartitionSpec"] = reflect.TypeOf((*HostDiskPartitionSpec)(nil)).Elem()
 37668  }
 37669  
 37670  // This data object type describes the DNS configuration.
 37671  //
 37672  // All IPv4 addresses, subnet addresses, and netmasks are specified using
 37673  // dotted decimal notation. For example, "192.0.2.1".
 37674  // IPv6 addresses are 128-bit addresses represented as
 37675  // eight fields of up to four hexadecimal digits.
 37676  // A colon separates each field (:). For example,
 37677  // 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 37678  // symbol '::' to represent multiple 16-bit groups of
 37679  // contiguous 0's only once in an address as described in RFC 2373.
 37680  type HostDnsConfig struct {
 37681  	DynamicData
 37682  
 37683  	// The flag to indicate whether or not DHCP (dynamic host control
 37684  	// protocol) is used to determine DNS configuration automatically.
 37685  	Dhcp bool `xml:"dhcp" json:"dhcp"`
 37686  	// If DHCP is enabled, the DHCP DNS of the vmkernel nic will override
 37687  	// the system's DNS.
 37688  	//
 37689  	// This field applies to both IPv4 and IPv6 DNS settings
 37690  	// if `ipv6VirtualNicDevice`
 37691  	// is unset, otherwise it is applicable only for IPv4 setting.
 37692  	// This field is ignored if DHCP is disabled by the
 37693  	// `dhcp` property.
 37694  	VirtualNicDevice string `xml:"virtualNicDevice,omitempty" json:"virtualNicDevice,omitempty"`
 37695  	// If DHCP is enabled, the IPv6 DHCP DNS of the vmkernel nic will override
 37696  	// the system's IPv6 DNS.
 37697  	//
 37698  	// This field is ignored if DHCP is disabled by the
 37699  	// `dhcp` property.
 37700  	Ipv6VirtualNicDevice string `xml:"ipv6VirtualNicDevice,omitempty" json:"ipv6VirtualNicDevice,omitempty"`
 37701  	// The host name portion of DNS name.
 37702  	//
 37703  	// For example, "esx01".
 37704  	//
 37705  	// `*Note*`: When DHCP is not enabled, the property can be set
 37706  	// explicitly. When DHCP is enabled, the property reflects the current
 37707  	// DNS configuration, but cannot be set.
 37708  	// The hostName can't have character '.' in it when set explicitly.
 37709  	HostName string `xml:"hostName" json:"hostName"`
 37710  	// The domain name portion of the DNS name.
 37711  	//
 37712  	// For example, "vmware.com".
 37713  	//
 37714  	// `*Note*`: When DHCP is not enabled, the property can be set
 37715  	// explicitly. When DHCP is enabled, the property reflects the current
 37716  	// DNS configuration, but cannot be set.
 37717  	DomainName string `xml:"domainName" json:"domainName"`
 37718  	// The IP addresses of the DNS servers, placed in order of preference.
 37719  	//
 37720  	// `*Note*`: When DHCP is not enabled, the property can be set
 37721  	// explicitly. When DHCP is enabled, the property reflects the current
 37722  	// DNS configuration, but cannot be set.
 37723  	Address []string `xml:"address,omitempty" json:"address,omitempty"`
 37724  	// The domain in which to search for hosts, placed in order of preference.
 37725  	//
 37726  	// `*Note*`: When DHCP is not enabled, the property can be set
 37727  	// explicitly. When DHCP is enabled, the property reflects the current
 37728  	// DNS configuration, but cannot be set.
 37729  	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
 37730  }
 37731  
 37732  func init() {
 37733  	t["HostDnsConfig"] = reflect.TypeOf((*HostDnsConfig)(nil)).Elem()
 37734  }
 37735  
 37736  // Dataobject for configuring the DNS settings on the host.
 37737  type HostDnsConfigSpec struct {
 37738  	HostDnsConfig
 37739  
 37740  	// Choose a Virtual nic based on what it is connected to.
 37741  	VirtualNicConnection *HostVirtualNicConnection `xml:"virtualNicConnection,omitempty" json:"virtualNicConnection,omitempty"`
 37742  	// Choose an IPv6 Virtual nic based on what it is connected to.
 37743  	VirtualNicConnectionV6 *HostVirtualNicConnection `xml:"virtualNicConnectionV6,omitempty" json:"virtualNicConnectionV6,omitempty"`
 37744  }
 37745  
 37746  func init() {
 37747  	t["HostDnsConfigSpec"] = reflect.TypeOf((*HostDnsConfigSpec)(nil)).Elem()
 37748  }
 37749  
 37750  // Provides information about a single Device Virtualization Extensions (DVX)
 37751  // device class.
 37752  type HostDvxClass struct {
 37753  	DynamicData
 37754  
 37755  	// The class name.
 37756  	DeviceClass string `xml:"deviceClass" json:"deviceClass"`
 37757  	// Indicates whether checkpointing is supported.
 37758  	CheckpointSupported bool `xml:"checkpointSupported" json:"checkpointSupported"`
 37759  	// Indicates whether software Direct Memory Access (DMA)
 37760  	// tracing is supported.
 37761  	SwDMATracingSupported bool `xml:"swDMATracingSupported" json:"swDMATracingSupported"`
 37762  	// Indicates whether the devices of this class are SR-IOV NICs.
 37763  	SriovNic bool `xml:"sriovNic" json:"sriovNic"`
 37764  }
 37765  
 37766  func init() {
 37767  	t["HostDvxClass"] = reflect.TypeOf((*HostDvxClass)(nil)).Elem()
 37768  	minAPIVersionForType["HostDvxClass"] = "8.0.0.1"
 37769  }
 37770  
 37771  // This event records the failure to restore some of the administrator's permissions.
 37772  type HostEnableAdminFailedEvent struct {
 37773  	HostEvent
 37774  
 37775  	Permissions []Permission `xml:"permissions" json:"permissions"`
 37776  }
 37777  
 37778  func init() {
 37779  	t["HostEnableAdminFailedEvent"] = reflect.TypeOf((*HostEnableAdminFailedEvent)(nil)).Elem()
 37780  }
 37781  
 37782  // EnterMaintenanceResult is the result returned to the
 37783  // `HostSystem.QueryWhatIfEnterMaintenance` method.
 37784  type HostEnterMaintenanceResult struct {
 37785  	DynamicData
 37786  
 37787  	// VM specific faults that would prevent host from
 37788  	// entering maintenance mode.
 37789  	VmFaults []FaultsByVM `xml:"vmFaults,omitempty" json:"vmFaults,omitempty"`
 37790  	// Host specific faults that would prevent host from
 37791  	// entering maintenance mode.
 37792  	HostFaults []FaultsByHost `xml:"hostFaults,omitempty" json:"hostFaults,omitempty"`
 37793  }
 37794  
 37795  func init() {
 37796  	t["HostEnterMaintenanceResult"] = reflect.TypeOf((*HostEnterMaintenanceResult)(nil)).Elem()
 37797  }
 37798  
 37799  type HostEsxAgentHostManagerConfigInfo struct {
 37800  	DynamicData
 37801  
 37802  	// Datastore used for deploying Agent VMs on this host.
 37803  	//
 37804  	// Refers instance of `Datastore`.
 37805  	AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty" json:"agentVmDatastore,omitempty"`
 37806  	// Management Network for Agent VMs on this host.
 37807  	//
 37808  	// Refers instance of `Network`.
 37809  	AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty" json:"agentVmNetwork,omitempty"`
 37810  }
 37811  
 37812  func init() {
 37813  	t["HostEsxAgentHostManagerConfigInfo"] = reflect.TypeOf((*HostEsxAgentHostManagerConfigInfo)(nil)).Elem()
 37814  }
 37815  
 37816  // These are host-related events.
 37817  type HostEvent struct {
 37818  	Event
 37819  }
 37820  
 37821  func init() {
 37822  	t["HostEvent"] = reflect.TypeOf((*HostEvent)(nil)).Elem()
 37823  }
 37824  
 37825  // The event argument is a Host object.
 37826  type HostEventArgument struct {
 37827  	EntityEventArgument
 37828  
 37829  	// The host object.
 37830  	//
 37831  	// Refers instance of `HostSystem`.
 37832  	Host ManagedObjectReference `xml:"host" json:"host"`
 37833  }
 37834  
 37835  func init() {
 37836  	t["HostEventArgument"] = reflect.TypeOf((*HostEventArgument)(nil)).Elem()
 37837  }
 37838  
 37839  // The parameters of `HostVStorageObjectManager.HostExtendDisk_Task`.
 37840  type HostExtendDiskRequestType struct {
 37841  	This ManagedObjectReference `xml:"_this" json:"-"`
 37842  	// The ID of the virtual disk to be extended.
 37843  	Id ID `xml:"id" json:"id"`
 37844  	// The datastore where the virtual disk is located.
 37845  	//
 37846  	// Refers instance of `Datastore`.
 37847  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 37848  	// The new capacity of the virtual disk in MB.
 37849  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
 37850  }
 37851  
 37852  func init() {
 37853  	t["HostExtendDiskRequestType"] = reflect.TypeOf((*HostExtendDiskRequestType)(nil)).Elem()
 37854  }
 37855  
 37856  type HostExtendDisk_Task HostExtendDiskRequestType
 37857  
 37858  func init() {
 37859  	t["HostExtendDisk_Task"] = reflect.TypeOf((*HostExtendDisk_Task)(nil)).Elem()
 37860  }
 37861  
 37862  type HostExtendDisk_TaskResponse struct {
 37863  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 37864  }
 37865  
 37866  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 37867  //
 37868  // This event records the fact that a host has extra networks not used by
 37869  // other hosts for HA communication
 37870  type HostExtraNetworksEvent struct {
 37871  	HostDasEvent
 37872  
 37873  	// The comma-separated list of extra networks
 37874  	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
 37875  }
 37876  
 37877  func init() {
 37878  	t["HostExtraNetworksEvent"] = reflect.TypeOf((*HostExtraNetworksEvent)(nil)).Elem()
 37879  }
 37880  
 37881  // Data structure for component health information of a virtual machine.
 37882  type HostFaultToleranceManagerComponentHealthInfo struct {
 37883  	DynamicData
 37884  
 37885  	// Whether the virtual machine can access the datastores configured.
 37886  	IsStorageHealthy bool `xml:"isStorageHealthy" json:"isStorageHealthy"`
 37887  	// Whether the virtual machine can access the VM network configured.
 37888  	IsNetworkHealthy bool `xml:"isNetworkHealthy" json:"isNetworkHealthy"`
 37889  }
 37890  
 37891  func init() {
 37892  	t["HostFaultToleranceManagerComponentHealthInfo"] = reflect.TypeOf((*HostFaultToleranceManagerComponentHealthInfo)(nil)).Elem()
 37893  }
 37894  
 37895  // A feature that the host is able to provide at a particular value.
 37896  type HostFeatureCapability struct {
 37897  	DynamicData
 37898  
 37899  	// Accessor name to the feature capability.
 37900  	Key string `xml:"key" json:"key"`
 37901  	// Name of the feature.
 37902  	//
 37903  	// Identical to the key.
 37904  	FeatureName string `xml:"featureName" json:"featureName"`
 37905  	// Opaque value that the feature is capable at.
 37906  	Value string `xml:"value" json:"value"`
 37907  }
 37908  
 37909  func init() {
 37910  	t["HostFeatureCapability"] = reflect.TypeOf((*HostFeatureCapability)(nil)).Elem()
 37911  }
 37912  
 37913  // A mask that is applied to a host feature capability.
 37914  type HostFeatureMask struct {
 37915  	DynamicData
 37916  
 37917  	// Accessor name to the feature mask.
 37918  	Key string `xml:"key" json:"key"`
 37919  	// Name of the feature Identical to the key.
 37920  	FeatureName string `xml:"featureName" json:"featureName"`
 37921  	// Opaque value to change the host feature capability to.
 37922  	//
 37923  	// Masking operation is contained in the value.
 37924  	Value string `xml:"value" json:"value"`
 37925  }
 37926  
 37927  func init() {
 37928  	t["HostFeatureMask"] = reflect.TypeOf((*HostFeatureMask)(nil)).Elem()
 37929  }
 37930  
 37931  // Feature-specific version information for a host
 37932  type HostFeatureVersionInfo struct {
 37933  	DynamicData
 37934  
 37935  	// A unique key that identifies a feature, list of possible values are
 37936  	// specified in `HostFeatureVersionKey_enum`
 37937  	Key string `xml:"key" json:"key"`
 37938  	// The version string of this feature
 37939  	Value string `xml:"value" json:"value"`
 37940  }
 37941  
 37942  func init() {
 37943  	t["HostFeatureVersionInfo"] = reflect.TypeOf((*HostFeatureVersionInfo)(nil)).Elem()
 37944  }
 37945  
 37946  // This data object type describes the Fibre Channel host bus adapter.
 37947  type HostFibreChannelHba struct {
 37948  	HostHostBusAdapter
 37949  
 37950  	// The world wide port name for the adapter.
 37951  	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
 37952  	// The world wide node name for the adapter.
 37953  	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 37954  	// The type of the fiber channel port.
 37955  	PortType FibreChannelPortType `xml:"portType" json:"portType"`
 37956  	// The current operating speed of the adapter in
 37957  	// bits per second.
 37958  	Speed int64 `xml:"speed" json:"speed"`
 37959  }
 37960  
 37961  func init() {
 37962  	t["HostFibreChannelHba"] = reflect.TypeOf((*HostFibreChannelHba)(nil)).Elem()
 37963  }
 37964  
 37965  // This data object type describes the FCoE host bus adapter
 37966  // interface.
 37967  //
 37968  // Terminology is borrowed from T11's working draft of the Fibre Channel
 37969  // Backbone 5 standard (FC-BB-5). The draft can be found at
 37970  // http://www.t11.org.
 37971  type HostFibreChannelOverEthernetHba struct {
 37972  	HostFibreChannelHba
 37973  
 37974  	// The name associated with this FCoE HBA's underlying FcoeNic.
 37975  	UnderlyingNic string `xml:"underlyingNic" json:"underlyingNic"`
 37976  	// Link information that can be used to uniquely identify this FCoE HBA.
 37977  	LinkInfo HostFibreChannelOverEthernetHbaLinkInfo `xml:"linkInfo" json:"linkInfo"`
 37978  	// True if this host bus adapter is a software based FCoE initiator.
 37979  	IsSoftwareFcoe bool `xml:"isSoftwareFcoe" json:"isSoftwareFcoe"`
 37980  	// Deprecated as of vSphere API 8.0. Software FCoE not supported.
 37981  	//
 37982  	// True if this host bus adapter has been marked for removal.
 37983  	MarkedForRemoval *bool `xml:"markedForRemoval" json:"markedForRemoval,omitempty"`
 37984  }
 37985  
 37986  func init() {
 37987  	t["HostFibreChannelOverEthernetHba"] = reflect.TypeOf((*HostFibreChannelOverEthernetHba)(nil)).Elem()
 37988  }
 37989  
 37990  // Represents FCoE link information.
 37991  //
 37992  // The link information represents a VNPort to VFPort Virtual Link, as
 37993  // described in the FC-BB-5 standard, with the addition of the VLAN ID
 37994  // over which a link exists.
 37995  type HostFibreChannelOverEthernetHbaLinkInfo struct {
 37996  	DynamicData
 37997  
 37998  	// VNPort MAC address, as defined by the FC-BB-5 standard.
 37999  	//
 38000  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 38001  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 38002  	// addresses.
 38003  	VnportMac string `xml:"vnportMac" json:"vnportMac"`
 38004  	// FCF MAC address, also known as the VFPort MAC address in the FC-BB-5
 38005  	// standard.
 38006  	//
 38007  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 38008  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 38009  	// addresses.
 38010  	FcfMac string `xml:"fcfMac" json:"fcfMac"`
 38011  	// VLAN ID.
 38012  	//
 38013  	// This field represents the VLAN on which an FCoE HBA was
 38014  	// discovered. Valid numbers fall into the range \[0,4094\].
 38015  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 38016  }
 38017  
 38018  func init() {
 38019  	t["HostFibreChannelOverEthernetHbaLinkInfo"] = reflect.TypeOf((*HostFibreChannelOverEthernetHbaLinkInfo)(nil)).Elem()
 38020  }
 38021  
 38022  // Fibre Channel Over Ethernet transport information about a SCSI target.
 38023  //
 38024  // FCoE transport information is that of: the regular FC World Wide Node
 38025  // and Port Names; the VNPort MAC address and FCF MAC address which
 38026  // constitute a VN\_Port to VF\_Port Virtual Link; and the VLAN on which
 38027  // an FCoE target resides.
 38028  // More FCoE information can be found in the working draft of the T11's
 38029  // Fibre Channel Backbone 5 standard (FC-BB-5). The draft can be found
 38030  // at http://www.t11.org.
 38031  type HostFibreChannelOverEthernetTargetTransport struct {
 38032  	HostFibreChannelTargetTransport
 38033  
 38034  	// VNPort MAC address.
 38035  	//
 38036  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 38037  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 38038  	// addresses.
 38039  	VnportMac string `xml:"vnportMac" json:"vnportMac"`
 38040  	// FCF MAC address.
 38041  	//
 38042  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 38043  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 38044  	// addresses.
 38045  	FcfMac string `xml:"fcfMac" json:"fcfMac"`
 38046  	// VLAN ID.
 38047  	//
 38048  	// Valid VLAN IDs fall within the range \[0,4094\].
 38049  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 38050  }
 38051  
 38052  func init() {
 38053  	t["HostFibreChannelOverEthernetTargetTransport"] = reflect.TypeOf((*HostFibreChannelOverEthernetTargetTransport)(nil)).Elem()
 38054  }
 38055  
 38056  // Fibre Channel transport information about a SCSI target.
 38057  type HostFibreChannelTargetTransport struct {
 38058  	HostTargetTransport
 38059  
 38060  	// The world wide port name of the target.
 38061  	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
 38062  	// The world wide node name of the target.
 38063  	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 38064  }
 38065  
 38066  func init() {
 38067  	t["HostFibreChannelTargetTransport"] = reflect.TypeOf((*HostFibreChannelTargetTransport)(nil)).Elem()
 38068  }
 38069  
 38070  // This data object type contains a single access control
 38071  // entry for a file permissions list.
 38072  type HostFileAccess struct {
 38073  	DynamicData
 38074  
 38075  	// User or group to which the access applies.
 38076  	Who string `xml:"who" json:"who"`
 38077  	// Rights given to the user or group.
 38078  	What string `xml:"what" json:"what"`
 38079  }
 38080  
 38081  func init() {
 38082  	t["HostFileAccess"] = reflect.TypeOf((*HostFileAccess)(nil)).Elem()
 38083  }
 38084  
 38085  // The `HostFileSystemMountInfo` data object describes
 38086  // a host mount point for a file system.
 38087  type HostFileSystemMountInfo struct {
 38088  	DynamicData
 38089  
 38090  	// Information about the mount point.
 38091  	MountInfo HostMountInfo `xml:"mountInfo" json:"mountInfo"`
 38092  	// Information about the mounted volume.
 38093  	Volume BaseHostFileSystemVolume `xml:"volume,typeattr" json:"volume"`
 38094  	// vStorage hardware acceleration support status.
 38095  	//
 38096  	// This property
 38097  	// represents the volume's capability for storage acceleration.
 38098  	// See `FileSystemMountInfoVStorageSupportStatus_enum` for valid
 38099  	// values.
 38100  	//
 38101  	// If the ESX Server supports hardware acceleration, the Server
 38102  	// can offload specific virtual machine management operations
 38103  	// to a storage device with the hardware acceleration feature.
 38104  	// With hardware assistance, the host performs storage operations
 38105  	// faster and consumes less CPU, memory, and storage fabric bandwidth.
 38106  	//
 38107  	// For vSphere 4.0 or earlier hosts, this value will be unset.
 38108  	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty"`
 38109  }
 38110  
 38111  func init() {
 38112  	t["HostFileSystemMountInfo"] = reflect.TypeOf((*HostFileSystemMountInfo)(nil)).Elem()
 38113  }
 38114  
 38115  // Detailed information about a file system.
 38116  //
 38117  // This is a base type for derived types
 38118  // that have more specific details about specific filesystem types.
 38119  //
 38120  // # Typically a FileSystem is exposed as a datatore
 38121  //
 38122  // See also `DatastoreInfo`, `HostVmfsVolume`, `HostNasVolume`, `HostVffsVolume`, `HostLocalFileSystemVolume`
 38123  //
 38124  // However, a FileSystemVolume need not be exposed a datastore., `HostVfatVolume`.
 38125  type HostFileSystemVolume struct {
 38126  	DynamicData
 38127  
 38128  	// FileSystemType of this particular file system
 38129  	// See `HostFileSystemVolumeFileSystemType_enum`
 38130  	Type string `xml:"type" json:"type"`
 38131  	// Name of the file system volume.
 38132  	Name string `xml:"name" json:"name"`
 38133  	// The capacity of the file system volume, in bytes.
 38134  	Capacity int64 `xml:"capacity" json:"capacity"`
 38135  }
 38136  
 38137  func init() {
 38138  	t["HostFileSystemVolume"] = reflect.TypeOf((*HostFileSystemVolume)(nil)).Elem()
 38139  }
 38140  
 38141  // The `HostFileSystemVolumeInfo` data object describes the file system volume
 38142  // information for the host.
 38143  //
 38144  // A file system volume refers to a storage abstraction that allows files
 38145  // to be created and organized. A host can have multiple file system
 38146  // volumes. File system volumes are typically mounted into a file namespace
 38147  // that allows all files in mounted file systems to be addressable from the
 38148  // host.
 38149  //
 38150  // A file system volume is backed by disk storage. It could span one or more
 38151  // disks but need not use an entire disk.
 38152  //
 38153  // A file system volume by definition must be mounted on the file system
 38154  // in order to exist.
 38155  type HostFileSystemVolumeInfo struct {
 38156  	DynamicData
 38157  
 38158  	// The list of supported file system volume types.
 38159  	VolumeTypeList []string `xml:"volumeTypeList,omitempty" json:"volumeTypeList,omitempty"`
 38160  	// The list of file system volumes mounted on the host.
 38161  	MountInfo []HostFileSystemMountInfo `xml:"mountInfo,omitempty" json:"mountInfo,omitempty"`
 38162  }
 38163  
 38164  func init() {
 38165  	t["HostFileSystemVolumeInfo"] = reflect.TypeOf((*HostFileSystemVolumeInfo)(nil)).Elem()
 38166  }
 38167  
 38168  // DataObject used for firewall configuration
 38169  type HostFirewallConfig struct {
 38170  	DynamicData
 38171  
 38172  	// Rules determining firewall settings.
 38173  	Rule []HostFirewallConfigRuleSetConfig `xml:"rule,omitempty" json:"rule,omitempty"`
 38174  	// Default settings for the firewall,
 38175  	// used for ports that are not explicitly opened.
 38176  	DefaultBlockingPolicy HostFirewallDefaultPolicy `xml:"defaultBlockingPolicy" json:"defaultBlockingPolicy"`
 38177  }
 38178  
 38179  func init() {
 38180  	t["HostFirewallConfig"] = reflect.TypeOf((*HostFirewallConfig)(nil)).Elem()
 38181  }
 38182  
 38183  type HostFirewallConfigRuleSetConfig struct {
 38184  	DynamicData
 38185  
 38186  	// Id of the ruleset.
 38187  	RulesetId string `xml:"rulesetId" json:"rulesetId"`
 38188  	// Flag indicating if the specified ruleset should be enabled.
 38189  	Enabled bool `xml:"enabled" json:"enabled"`
 38190  	// The list of allowed ip addresses
 38191  	AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty" json:"allowedHosts,omitempty"`
 38192  }
 38193  
 38194  func init() {
 38195  	t["HostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*HostFirewallConfigRuleSetConfig)(nil)).Elem()
 38196  }
 38197  
 38198  // Default settings for the firewall, used for ports
 38199  // that are not explicitly opened.
 38200  type HostFirewallDefaultPolicy struct {
 38201  	DynamicData
 38202  
 38203  	// Flag indicating whether incoming traffic should be blocked by default.
 38204  	IncomingBlocked *bool `xml:"incomingBlocked" json:"incomingBlocked,omitempty"`
 38205  	// Flag indicating whether outgoing traffic should be blocked by default.
 38206  	OutgoingBlocked *bool `xml:"outgoingBlocked" json:"outgoingBlocked,omitempty"`
 38207  }
 38208  
 38209  func init() {
 38210  	t["HostFirewallDefaultPolicy"] = reflect.TypeOf((*HostFirewallDefaultPolicy)(nil)).Elem()
 38211  }
 38212  
 38213  // Data object describing the firewall configuration.
 38214  type HostFirewallInfo struct {
 38215  	DynamicData
 38216  
 38217  	// Default firewall policy.
 38218  	DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy" json:"defaultPolicy"`
 38219  	// List of configured rulesets.
 38220  	Ruleset []HostFirewallRuleset `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
 38221  }
 38222  
 38223  func init() {
 38224  	t["HostFirewallInfo"] = reflect.TypeOf((*HostFirewallInfo)(nil)).Elem()
 38225  }
 38226  
 38227  // This data object type describes a port (or range of ports),
 38228  // identified by port number(s), direction and protocol.
 38229  //
 38230  // It is
 38231  // used as a convenient way for users to express what ports they
 38232  // want to permit through the firewall.
 38233  type HostFirewallRule struct {
 38234  	DynamicData
 38235  
 38236  	// The port number.
 38237  	Port int32 `xml:"port" json:"port"`
 38238  	// For a port range, the ending port number.
 38239  	EndPort int32 `xml:"endPort,omitempty" json:"endPort,omitempty"`
 38240  	// The port direction.
 38241  	Direction HostFirewallRuleDirection `xml:"direction" json:"direction"`
 38242  	// The port type.
 38243  	PortType HostFirewallRulePortType `xml:"portType,omitempty" json:"portType,omitempty"`
 38244  	// The port protocol.
 38245  	//
 38246  	// Valid values are defined by the
 38247  	// `HostFirewallRuleProtocol_enum` enumeration.
 38248  	Protocol string `xml:"protocol" json:"protocol"`
 38249  }
 38250  
 38251  func init() {
 38252  	t["HostFirewallRule"] = reflect.TypeOf((*HostFirewallRule)(nil)).Elem()
 38253  }
 38254  
 38255  // Data object that describes a single network ruleset that can be
 38256  // allowed or blocked by the firewall using the `HostFirewallSystem` object.
 38257  type HostFirewallRuleset struct {
 38258  	DynamicData
 38259  
 38260  	// Brief identifier for the ruleset.
 38261  	Key string `xml:"key" json:"key"`
 38262  	// Display label for the ruleset.
 38263  	Label string `xml:"label" json:"label"`
 38264  	// Flag indicating whether the ruleset is required and cannot be disabled.
 38265  	Required bool `xml:"required" json:"required"`
 38266  	// List of rules within the ruleset.
 38267  	Rule []HostFirewallRule `xml:"rule" json:"rule"`
 38268  	// Managed service (if any) that uses this ruleset.
 38269  	//
 38270  	// Must be one of
 38271  	// the services listed in `HostServiceInfo.service`.
 38272  	Service string `xml:"service,omitempty" json:"service,omitempty"`
 38273  	// Flag indicating whether the ruleset is enabled.
 38274  	//
 38275  	// If the
 38276  	// ruleset is enabled, all ports specified in the ruleset are
 38277  	// opened by the firewall.
 38278  	Enabled bool `xml:"enabled" json:"enabled"`
 38279  	// List of ipaddress to allow access to the service
 38280  	AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty" json:"allowedHosts,omitempty"`
 38281  	// Flag indicating whether user can enable/disable the firewall ruleset.
 38282  	UserControllable *bool `xml:"userControllable" json:"userControllable,omitempty" vim:"8.0.2.0"`
 38283  	// Flag indicating whether user can modify the allowed IP list of the
 38284  	// firewall ruleset.
 38285  	IpListUserConfigurable *bool `xml:"ipListUserConfigurable" json:"ipListUserConfigurable,omitempty" vim:"8.0.2.0"`
 38286  }
 38287  
 38288  func init() {
 38289  	t["HostFirewallRuleset"] = reflect.TypeOf((*HostFirewallRuleset)(nil)).Elem()
 38290  }
 38291  
 38292  type HostFirewallRulesetIpList struct {
 38293  	DynamicData
 38294  
 38295  	// The list of ipAddresses.
 38296  	//
 38297  	// All IPv4 addresses are specified as strings using dotted
 38298  	// decimal format. For example, "192.0.20.10".
 38299  	// IPv6 addresses are 128-bit addresses represented
 38300  	// as eight fields of up to four hexadecimal digits. A colon separates each
 38301  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 38302  	// also consist of symbol '::' to represent multiple 16-bit groups of
 38303  	// contiguous 0's only once in an address as described in RFC 2373.
 38304  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 38305  	// The list of networks
 38306  	IpNetwork []HostFirewallRulesetIpNetwork `xml:"ipNetwork,omitempty" json:"ipNetwork,omitempty"`
 38307  	// Flag indicating whether the ruleset works for all ip addresses.
 38308  	AllIp bool `xml:"allIp" json:"allIp"`
 38309  }
 38310  
 38311  func init() {
 38312  	t["HostFirewallRulesetIpList"] = reflect.TypeOf((*HostFirewallRulesetIpList)(nil)).Elem()
 38313  }
 38314  
 38315  type HostFirewallRulesetIpNetwork struct {
 38316  	DynamicData
 38317  
 38318  	// The IPv4 or IPv6 network.
 38319  	//
 38320  	// All IPv4 subnet addresses are specified as strings using dotted
 38321  	// decimal format. For example, "192.0.20.0".
 38322  	// IPv6 addresses are 128-bit addresses represented
 38323  	// as eight fields of up to four hexadecimal digits. A colon separates each
 38324  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 38325  	// also consist of symbol '::' to represent multiple 16-bit groups of
 38326  	// contiguous 0's only once in an address as described in RFC 2373.
 38327  	Network string `xml:"network" json:"network"`
 38328  	// The prefix length for the network.
 38329  	//
 38330  	// For example the prefix length for a network 10.20.120/22 is 22
 38331  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 38332  }
 38333  
 38334  func init() {
 38335  	t["HostFirewallRulesetIpNetwork"] = reflect.TypeOf((*HostFirewallRulesetIpNetwork)(nil)).Elem()
 38336  }
 38337  
 38338  // The ruleset update specification.
 38339  type HostFirewallRulesetRulesetSpec struct {
 38340  	DynamicData
 38341  
 38342  	// The list of allowed ip addresses
 38343  	AllowedHosts HostFirewallRulesetIpList `xml:"allowedHosts" json:"allowedHosts"`
 38344  }
 38345  
 38346  func init() {
 38347  	t["HostFirewallRulesetRulesetSpec"] = reflect.TypeOf((*HostFirewallRulesetRulesetSpec)(nil)).Elem()
 38348  }
 38349  
 38350  // The FlagInfo data object type encapsulates the flag settings for a host.
 38351  //
 38352  // These properties are optional since the same structure is used to change
 38353  // the values during an edit or create operation.
 38354  type HostFlagInfo struct {
 38355  	DynamicData
 38356  
 38357  	// Flag to specify whether background snapshots are enabled.
 38358  	BackgroundSnapshotsEnabled *bool `xml:"backgroundSnapshotsEnabled" json:"backgroundSnapshotsEnabled,omitempty"`
 38359  }
 38360  
 38361  func init() {
 38362  	t["HostFlagInfo"] = reflect.TypeOf((*HostFlagInfo)(nil)).Elem()
 38363  }
 38364  
 38365  // When the system detects a copy of a VmfsVolume, it will not be
 38366  // auto-mounted on the host and it will be detected as
 38367  // 'UnresolvedVmfsVolume'.
 38368  //
 38369  // If user decides to keep the original Uuid and mount it on the host,
 38370  // it will have 'forceMounted' flag and 'forceMountedInfo' set.
 38371  // 'ForceMountedInfo' provides additional information specific to
 38372  // user-mounted VmfsVolume.
 38373  type HostForceMountedInfo struct {
 38374  	DynamicData
 38375  
 38376  	// Indicates if the vmfsExtent information persistent across
 38377  	// host reboots.
 38378  	Persist bool `xml:"persist" json:"persist"`
 38379  	// Indicates if the volume is currently mounted on the host
 38380  	Mounted bool `xml:"mounted" json:"mounted"`
 38381  }
 38382  
 38383  func init() {
 38384  	t["HostForceMountedInfo"] = reflect.TypeOf((*HostForceMountedInfo)(nil)).Elem()
 38385  }
 38386  
 38387  // Data object representing the hardware vendor identity
 38388  // for a given hardware component in the host.
 38389  type HostFru struct {
 38390  	DynamicData
 38391  
 38392  	// Report the FRU type if available `HostFruFruType_enum`
 38393  	Type string `xml:"type" json:"type"`
 38394  	// Part Name is used for ordering replacement.
 38395  	PartName string `xml:"partName" json:"partName"`
 38396  	// Part Number is used for ordering replacement.
 38397  	PartNumber string `xml:"partNumber" json:"partNumber"`
 38398  	// The name of the manufacturer.
 38399  	Manufacturer string `xml:"manufacturer" json:"manufacturer"`
 38400  	// The serial number of the part.
 38401  	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 38402  	// The time, if any, when this FRU entry was created by manufacturer.
 38403  	MfgTimeStamp *time.Time `xml:"mfgTimeStamp" json:"mfgTimeStamp,omitempty"`
 38404  }
 38405  
 38406  func init() {
 38407  	t["HostFru"] = reflect.TypeOf((*HostFru)(nil)).Elem()
 38408  	minAPIVersionForType["HostFru"] = "8.0.0.1"
 38409  }
 38410  
 38411  // Deprecated not supported since vSphere 6.5.
 38412  //
 38413  // Settings for a gateway used to communicate with a host.
 38414  type HostGatewaySpec struct {
 38415  	DynamicData
 38416  
 38417  	// The type of the gateway used for the communication to the host.
 38418  	GatewayType string `xml:"gatewayType" json:"gatewayType"`
 38419  	// Identifier of the gateway to be used for communction to the host.
 38420  	//
 38421  	// If
 38422  	// omitted a random gateway of this type will be selected.
 38423  	GatewayId string `xml:"gatewayId,omitempty" json:"gatewayId,omitempty"`
 38424  	// An opaque string that the gateway may need to validate that the host
 38425  	// it connects to is the correct host.
 38426  	TrustVerificationToken string `xml:"trustVerificationToken,omitempty" json:"trustVerificationToken,omitempty"`
 38427  	// Additional opaque authentication data that the gateway may need to
 38428  	// authenticate to the host.
 38429  	HostAuthParams []KeyValue `xml:"hostAuthParams,omitempty" json:"hostAuthParams,omitempty"`
 38430  }
 38431  
 38432  func init() {
 38433  	t["HostGatewaySpec"] = reflect.TypeOf((*HostGatewaySpec)(nil)).Elem()
 38434  }
 38435  
 38436  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 38437  //
 38438  // This event records that hostname -s failed or returned a name containing '.'.
 38439  type HostGetShortNameFailedEvent struct {
 38440  	HostEvent
 38441  }
 38442  
 38443  func init() {
 38444  	t["HostGetShortNameFailedEvent"] = reflect.TypeOf((*HostGetShortNameFailedEvent)(nil)).Elem()
 38445  }
 38446  
 38447  type HostGetVFlashModuleDefaultConfig HostGetVFlashModuleDefaultConfigRequestType
 38448  
 38449  func init() {
 38450  	t["HostGetVFlashModuleDefaultConfig"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfig)(nil)).Elem()
 38451  }
 38452  
 38453  // The parameters of `HostVFlashManager.HostGetVFlashModuleDefaultConfig`.
 38454  type HostGetVFlashModuleDefaultConfigRequestType struct {
 38455  	This ManagedObjectReference `xml:"_this" json:"-"`
 38456  	// Name of the vFlash module
 38457  	VFlashModule string `xml:"vFlashModule" json:"vFlashModule"`
 38458  }
 38459  
 38460  func init() {
 38461  	t["HostGetVFlashModuleDefaultConfigRequestType"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfigRequestType)(nil)).Elem()
 38462  }
 38463  
 38464  type HostGetVFlashModuleDefaultConfigResponse struct {
 38465  	Returnval VirtualDiskVFlashCacheConfigInfo `xml:"returnval" json:"returnval"`
 38466  }
 38467  
 38468  // Data object used for graphics configuration
 38469  type HostGraphicsConfig struct {
 38470  	DynamicData
 38471  
 38472  	// The host default graphics type.
 38473  	//
 38474  	// See `HostGraphicsConfigGraphicsType_enum` for list
 38475  	// of supported values. This default value can be overridden by specifying
 38476  	// graphics type for an individual device. If host supports a single
 38477  	// graphics type, specifying an individual graphics device is optional.
 38478  	HostDefaultGraphicsType string `xml:"hostDefaultGraphicsType" json:"hostDefaultGraphicsType"`
 38479  	// The policy for assigning shared passthrough VMs to a host graphics
 38480  	// device.
 38481  	//
 38482  	// See `HostGraphicsConfigSharedPassthruAssignmentPolicy_enum` for list of
 38483  	// supported values.
 38484  	SharedPassthruAssignmentPolicy string `xml:"sharedPassthruAssignmentPolicy" json:"sharedPassthruAssignmentPolicy"`
 38485  	// Graphics devices and their associated type.
 38486  	DeviceType []HostGraphicsConfigDeviceType `xml:"deviceType,omitempty" json:"deviceType,omitempty"`
 38487  }
 38488  
 38489  func init() {
 38490  	t["HostGraphicsConfig"] = reflect.TypeOf((*HostGraphicsConfig)(nil)).Elem()
 38491  }
 38492  
 38493  // A particular graphics device with its associated type and mode.
 38494  type HostGraphicsConfigDeviceType struct {
 38495  	DynamicData
 38496  
 38497  	// Graphics device identifier (ex.
 38498  	//
 38499  	// PCI ID).
 38500  	DeviceId string `xml:"deviceId" json:"deviceId"`
 38501  	// Graphics type for this device.
 38502  	//
 38503  	// See `HostGraphicsConfigGraphicsType_enum` for list of
 38504  	// supported values.
 38505  	GraphicsType string `xml:"graphicsType" json:"graphicsType"`
 38506  	// vGPU mode for this device.
 38507  	//
 38508  	// See `HostGraphicsConfigVgpuMode_enum` for list of supported
 38509  	// values. If this value is unset, the mode remains unchanged.
 38510  	VgpuMode string `xml:"vgpuMode,omitempty" json:"vgpuMode,omitempty" vim:"8.0.3.0"`
 38511  }
 38512  
 38513  func init() {
 38514  	t["HostGraphicsConfigDeviceType"] = reflect.TypeOf((*HostGraphicsConfigDeviceType)(nil)).Elem()
 38515  }
 38516  
 38517  // This data object type describes information about a single
 38518  // graphics device.
 38519  type HostGraphicsInfo struct {
 38520  	DynamicData
 38521  
 38522  	// The device name.
 38523  	DeviceName string `xml:"deviceName" json:"deviceName"`
 38524  	// The vendor name.
 38525  	VendorName string `xml:"vendorName" json:"vendorName"`
 38526  	// PCI ID of this device composed of "bus:slot.function".
 38527  	PciId string `xml:"pciId" json:"pciId"`
 38528  	// Graphics type for this device.
 38529  	//
 38530  	// See `HostGraphicsInfoGraphicsType_enum` for list
 38531  	// of supported values.
 38532  	GraphicsType string `xml:"graphicsType" json:"graphicsType"`
 38533  	// vGPU mode for this device.
 38534  	//
 38535  	// See `HostGraphicsInfoVgpuMode_enum` for list of supported
 38536  	// values. If vgpuMode is not set, it is treated as value "none".
 38537  	VgpuMode string `xml:"vgpuMode,omitempty" json:"vgpuMode,omitempty" vim:"8.0.3.0"`
 38538  	// Memory capacity of graphics device or zero if not available.
 38539  	MemorySizeInKB int64 `xml:"memorySizeInKB" json:"memorySizeInKB"`
 38540  	// Virtual machines using this graphics device.
 38541  	//
 38542  	// Refers instances of `VirtualMachine`.
 38543  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 38544  }
 38545  
 38546  func init() {
 38547  	t["HostGraphicsInfo"] = reflect.TypeOf((*HostGraphicsInfo)(nil)).Elem()
 38548  }
 38549  
 38550  // Data object describing the operational status of a physical
 38551  // element.
 38552  type HostHardwareElementInfo struct {
 38553  	DynamicData
 38554  
 38555  	// The name of the physical element
 38556  	Name string `xml:"name" json:"name"`
 38557  	// The operational status of the physical element.
 38558  	//
 38559  	// The status is one of
 38560  	// the values specified in HostHardwareElementStatus.
 38561  	//
 38562  	// See also `HostHardwareElementStatus_enum`.
 38563  	Status BaseElementDescription `xml:"status,typeattr" json:"status"`
 38564  }
 38565  
 38566  func init() {
 38567  	t["HostHardwareElementInfo"] = reflect.TypeOf((*HostHardwareElementInfo)(nil)).Elem()
 38568  }
 38569  
 38570  // The HardwareInfo data object type describes the hardware
 38571  // configuration of the host.
 38572  type HostHardwareInfo struct {
 38573  	DynamicData
 38574  
 38575  	// Information about the system as a whole.
 38576  	SystemInfo             HostSystemInfo              `xml:"systemInfo" json:"systemInfo"`
 38577  	CpuPowerManagementInfo *HostCpuPowerManagementInfo `xml:"cpuPowerManagementInfo,omitempty" json:"cpuPowerManagementInfo,omitempty"`
 38578  	// Overall CPU information.
 38579  	CpuInfo HostCpuInfo `xml:"cpuInfo" json:"cpuInfo"`
 38580  	// Information about each of the physical CPU packages on the host.
 38581  	CpuPkg []HostCpuPackage `xml:"cpuPkg" json:"cpuPkg"`
 38582  	// Total amount of physical memory on the host in bytes.
 38583  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 38584  	// Information about the NUMA (non-uniform memory access).
 38585  	NumaInfo *HostNumaInfo `xml:"numaInfo,omitempty" json:"numaInfo,omitempty"`
 38586  	// Presence of System Management Controller, indicates the host is
 38587  	// Apple hardware, and thus capable of running Mac OS guest as VM.
 38588  	SmcPresent *bool `xml:"smcPresent" json:"smcPresent,omitempty"`
 38589  	// The list of Peripheral Component Interconnect (PCI) devices
 38590  	// available on this host.
 38591  	PciDevice []HostPciDevice `xml:"pciDevice,omitempty" json:"pciDevice,omitempty"`
 38592  	// The list of Device Virtualization Extensions (DVX) classes
 38593  	// available on this host.
 38594  	DvxClasses []HostDvxClass `xml:"dvxClasses,omitempty" json:"dvxClasses,omitempty" vim:"8.0.0.1"`
 38595  	// CPU feature set that is supported by the hardware.
 38596  	//
 38597  	// This is the
 38598  	// intersection of the feature sets supported by the individual CPU
 38599  	// packages. This feature set is modified by the
 38600  	// `supportedCpuFeature`
 38601  	// array in the host capabilities to obtain the feature set supported by
 38602  	// the virtualization platform.
 38603  	CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty" json:"cpuFeature,omitempty"`
 38604  	// Information about the system BIOS
 38605  	BiosInfo *HostBIOSInfo `xml:"biosInfo,omitempty" json:"biosInfo,omitempty"`
 38606  	// Information about reliable memory.
 38607  	ReliableMemoryInfo *HostReliableMemoryInfo `xml:"reliableMemoryInfo,omitempty" json:"reliableMemoryInfo,omitempty"`
 38608  	// Persistent memory configuration on this host.
 38609  	PersistentMemoryInfo *HostPersistentMemoryInfo `xml:"persistentMemoryInfo,omitempty" json:"persistentMemoryInfo,omitempty"`
 38610  	// SGX configuration on this host.
 38611  	SgxInfo *HostSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty"`
 38612  	// SEV configuration on this host.
 38613  	SevInfo *HostSevInfo `xml:"sevInfo,omitempty" json:"sevInfo,omitempty" vim:"7.0.1.0"`
 38614  	// Type of memory tiering configured on this host.
 38615  	//
 38616  	// See `HostMemoryTieringType_enum` for
 38617  	// supported values. This field will be unset for legacy hosts as well as
 38618  	// for hosts that don't support memory tiering.
 38619  	MemoryTieringType string `xml:"memoryTieringType,omitempty" json:"memoryTieringType,omitempty" vim:"7.0.3.0"`
 38620  	// Configuration of each memory tier on this host.
 38621  	//
 38622  	// The array is populated in the
 38623  	// order of tiers (ie, tier 0 at array index 0, tier 1 at array index 1,
 38624  	// and so on).
 38625  	MemoryTierInfo []HostMemoryTierInfo `xml:"memoryTierInfo,omitempty" json:"memoryTierInfo,omitempty" vim:"7.0.3.0"`
 38626  	// TDX (Trust Domain Extensions) configuration on this host.
 38627  	TdxInfo *HostTdxInfo `xml:"tdxInfo,omitempty" json:"tdxInfo,omitempty" vim:"9.0.0.0"`
 38628  }
 38629  
 38630  func init() {
 38631  	t["HostHardwareInfo"] = reflect.TypeOf((*HostHardwareInfo)(nil)).Elem()
 38632  }
 38633  
 38634  // Data object representing the status of the
 38635  // hardware components of the host.
 38636  type HostHardwareStatusInfo struct {
 38637  	DynamicData
 38638  
 38639  	// Status of the physical memory
 38640  	MemoryStatusInfo []BaseHostHardwareElementInfo `xml:"memoryStatusInfo,omitempty,typeattr" json:"memoryStatusInfo,omitempty"`
 38641  	// Status of the CPU packages
 38642  	CpuStatusInfo []BaseHostHardwareElementInfo `xml:"cpuStatusInfo,omitempty,typeattr" json:"cpuStatusInfo,omitempty"`
 38643  	// Status of the physical storage system
 38644  	StorageStatusInfo []HostStorageElementInfo `xml:"storageStatusInfo,omitempty" json:"storageStatusInfo,omitempty"`
 38645  	// Status of one or more DPU elements
 38646  	DpuStatusInfo []DpuStatusInfo `xml:"dpuStatusInfo,omitempty" json:"dpuStatusInfo,omitempty" vim:"8.0.0.1"`
 38647  }
 38648  
 38649  func init() {
 38650  	t["HostHardwareStatusInfo"] = reflect.TypeOf((*HostHardwareStatusInfo)(nil)).Elem()
 38651  }
 38652  
 38653  // This data object type summarizes hardware used by the host.
 38654  type HostHardwareSummary struct {
 38655  	DynamicData
 38656  
 38657  	// The hardware vendor identification.
 38658  	Vendor string `xml:"vendor" json:"vendor"`
 38659  	// The system model identification.
 38660  	Model string `xml:"model" json:"model"`
 38661  	// The system family identification.
 38662  	Family string `xml:"family,omitempty" json:"family,omitempty" vim:"9.0.0.0"`
 38663  	// The hardware BIOS identification.
 38664  	Uuid string `xml:"uuid" json:"uuid"`
 38665  	// Other identification information.
 38666  	//
 38667  	// This information may be vendor
 38668  	// specific.
 38669  	OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty" json:"otherIdentifyingInfo,omitempty"`
 38670  	// The physical memory size in bytes.
 38671  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 38672  	// The CPU model.
 38673  	CpuModel string `xml:"cpuModel" json:"cpuModel"`
 38674  	// The speed of the CPU cores.
 38675  	//
 38676  	// This is an average value if there are multiple
 38677  	// speeds. The product of cpuMhz and numCpuCores is approximately equal to the
 38678  	// sum of the MHz for all the individual cores on the host.
 38679  	CpuMhz int32 `xml:"cpuMhz" json:"cpuMhz"`
 38680  	// Number of physical CPU packages on the host.
 38681  	//
 38682  	// Physical CPU packages are chips
 38683  	// that contain one or more processors. Processors contained by a package are
 38684  	// also known as CPU cores. For example, one dual-core package is comprised of
 38685  	// one chip that contains two CPU cores.
 38686  	NumCpuPkgs int16 `xml:"numCpuPkgs" json:"numCpuPkgs"`
 38687  	// Number of physical CPU cores on the host.
 38688  	//
 38689  	// Physical CPU cores are the
 38690  	// processors contained by a CPU package.
 38691  	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
 38692  	// Number of physical CPU threads on the host.
 38693  	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
 38694  	// The number of network adapters.
 38695  	NumNics int32 `xml:"numNics" json:"numNics"`
 38696  	// The number of host bus adapters (HBAs).
 38697  	NumHBAs int32 `xml:"numHBAs" json:"numHBAs"`
 38698  }
 38699  
 38700  func init() {
 38701  	t["HostHardwareSummary"] = reflect.TypeOf((*HostHardwareSummary)(nil)).Elem()
 38702  }
 38703  
 38704  // The host has a component failure and thus can cause issues for VMs running or
 38705  // to be running on it.
 38706  type HostHasComponentFailure struct {
 38707  	VimFault
 38708  
 38709  	// The host that has the component failure.
 38710  	HostName string `xml:"hostName" json:"hostName"`
 38711  	// The type of the component that has failed.
 38712  	//
 38713  	// Values come from `HostHasComponentFailureHostComponentType_enum`.
 38714  	ComponentType string `xml:"componentType" json:"componentType"`
 38715  	// The name of the component that has failed.
 38716  	ComponentName string `xml:"componentName" json:"componentName"`
 38717  }
 38718  
 38719  func init() {
 38720  	t["HostHasComponentFailure"] = reflect.TypeOf((*HostHasComponentFailure)(nil)).Elem()
 38721  }
 38722  
 38723  type HostHasComponentFailureFault HostHasComponentFailure
 38724  
 38725  func init() {
 38726  	t["HostHasComponentFailureFault"] = reflect.TypeOf((*HostHasComponentFailureFault)(nil)).Elem()
 38727  }
 38728  
 38729  // A data object which specifies the parameters needed
 38730  // to create a software host bus adapter of a specific kind.
 38731  type HostHbaCreateSpec struct {
 38732  	DynamicData
 38733  }
 38734  
 38735  func init() {
 38736  	t["HostHbaCreateSpec"] = reflect.TypeOf((*HostHbaCreateSpec)(nil)).Elem()
 38737  	minAPIVersionForType["HostHbaCreateSpec"] = "7.0.3.0"
 38738  }
 38739  
 38740  // This data object type describes the bus adapter for
 38741  // the host.
 38742  //
 38743  // A host bus adapter (HBA) is a hardware
 38744  // or software adapter that connects the host to storage devices.
 38745  type HostHostBusAdapter struct {
 38746  	DynamicData
 38747  
 38748  	// The linkable identifier.
 38749  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 38750  	// The device name of host bus adapter.
 38751  	Device string `xml:"device" json:"device"`
 38752  	// The host bus number.
 38753  	Bus int32 `xml:"bus" json:"bus"`
 38754  	// The operational status of the adapter.
 38755  	//
 38756  	// Valid values include "online",
 38757  	// "offline", "unbound", and "unknown".
 38758  	Status string `xml:"status" json:"status"`
 38759  	// The model name of the host bus adapter.
 38760  	Model string `xml:"model" json:"model"`
 38761  	// The name of the driver.
 38762  	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
 38763  	// The Peripheral Connect Interface (PCI) ID of the device
 38764  	// representing the host bus adapter.
 38765  	Pci string `xml:"pci,omitempty" json:"pci,omitempty"`
 38766  	// The type of protocol supported by the host bus adapter.
 38767  	//
 38768  	// The list of supported values is described in
 38769  	// `HostStorageProtocol_enum`.
 38770  	// When unset, a default value of "scsi" is assumed.
 38771  	StorageProtocol string `xml:"storageProtocol,omitempty" json:"storageProtocol,omitempty"`
 38772  }
 38773  
 38774  func init() {
 38775  	t["HostHostBusAdapter"] = reflect.TypeOf((*HostHostBusAdapter)(nil)).Elem()
 38776  }
 38777  
 38778  // This data object type describes the CpuSchedulerSystem configuration
 38779  // for optimizing hyperthreading.
 38780  //
 38781  // The primary hyperthreading
 38782  // optimization employed by the CpuSchedulerSystem is to utilize
 38783  // hyperthreads as additional schedulable resources. Although
 38784  // hyperthreads provide limited additional concurrency,
 38785  // certain workloads (such as idling) can take advantage of
 38786  // these hyperthreads. This is particularly useful for SMP virtual
 38787  // machines that use gang scheduling. (Gang scheduling refers to a
 38788  // situation in which all of a parallel program's tasks are grouped
 38789  // into a "gang" and concurrently scheduled on distinct
 38790  // processors of a parallel computer system.)
 38791  //
 38792  // Changes to the hyperthreading optimization can take effect only
 38793  // after a system restart. Therefore, while it is possible to change
 38794  // the configuration at any time, the change will take effect only
 38795  // on the next boot.
 38796  type HostHyperThreadScheduleInfo struct {
 38797  	DynamicData
 38798  
 38799  	// The flag to indicate whether or not hyperthreading
 38800  	// optimization is available on the system.
 38801  	//
 38802  	// This property
 38803  	// is set by VMware prior to installation.
 38804  	Available bool `xml:"available" json:"available"`
 38805  	// The flag to indicate whether or not the CPU scheduler is
 38806  	// currently treating
 38807  	// hyperthreads as schedulable resources.
 38808  	//
 38809  	// Setting this property
 38810  	// involves a successful invocation of either the
 38811  	// `enableHyperThreading()` method ("true") or the
 38812  	// `disableHyperthreading()` method
 38813  	// ("false"). The property is set once the system is rebooted.
 38814  	Active bool `xml:"active" json:"active"`
 38815  	// The flag to indicate whether or not the CPU scheduler
 38816  	// should treat hyperthreads as
 38817  	// schedulable resources the next time the CPU scheduler starts.
 38818  	//   - This property is set to "true" by successfully invoking the
 38819  	//     `enableHyperThreading()` method.
 38820  	//   - This property is set to "false" by successfully invoking the
 38821  	//     `disableHyperthreading()` method.
 38822  	Config bool `xml:"config" json:"config"`
 38823  }
 38824  
 38825  func init() {
 38826  	t["HostHyperThreadScheduleInfo"] = reflect.TypeOf((*HostHyperThreadScheduleInfo)(nil)).Elem()
 38827  }
 38828  
 38829  type HostImageConfigGetAcceptance HostImageConfigGetAcceptanceRequestType
 38830  
 38831  func init() {
 38832  	t["HostImageConfigGetAcceptance"] = reflect.TypeOf((*HostImageConfigGetAcceptance)(nil)).Elem()
 38833  }
 38834  
 38835  type HostImageConfigGetAcceptanceRequestType struct {
 38836  	This ManagedObjectReference `xml:"_this" json:"-"`
 38837  }
 38838  
 38839  func init() {
 38840  	t["HostImageConfigGetAcceptanceRequestType"] = reflect.TypeOf((*HostImageConfigGetAcceptanceRequestType)(nil)).Elem()
 38841  }
 38842  
 38843  type HostImageConfigGetAcceptanceResponse struct {
 38844  	Returnval string `xml:"returnval" json:"returnval"`
 38845  }
 38846  
 38847  type HostImageConfigGetProfile HostImageConfigGetProfileRequestType
 38848  
 38849  func init() {
 38850  	t["HostImageConfigGetProfile"] = reflect.TypeOf((*HostImageConfigGetProfile)(nil)).Elem()
 38851  }
 38852  
 38853  type HostImageConfigGetProfileRequestType struct {
 38854  	This ManagedObjectReference `xml:"_this" json:"-"`
 38855  }
 38856  
 38857  func init() {
 38858  	t["HostImageConfigGetProfileRequestType"] = reflect.TypeOf((*HostImageConfigGetProfileRequestType)(nil)).Elem()
 38859  }
 38860  
 38861  type HostImageConfigGetProfileResponse struct {
 38862  	Returnval HostImageProfileSummary `xml:"returnval" json:"returnval"`
 38863  }
 38864  
 38865  // Summary of an image profile
 38866  type HostImageProfileSummary struct {
 38867  	DynamicData
 38868  
 38869  	// The name of the image profile
 38870  	Name string `xml:"name" json:"name"`
 38871  	// The organization publishing the image profile.
 38872  	Vendor string `xml:"vendor" json:"vendor"`
 38873  }
 38874  
 38875  func init() {
 38876  	t["HostImageProfileSummary"] = reflect.TypeOf((*HostImageProfileSummary)(nil)).Elem()
 38877  }
 38878  
 38879  // Host is booted in audit mode.
 38880  type HostInAuditModeEvent struct {
 38881  	HostEvent
 38882  }
 38883  
 38884  func init() {
 38885  	t["HostInAuditModeEvent"] = reflect.TypeOf((*HostInAuditModeEvent)(nil)).Elem()
 38886  }
 38887  
 38888  // Fault indicating that an operation cannot be performed while
 38889  // the host is part of a Windows domain.
 38890  type HostInDomain struct {
 38891  	HostConfigFault
 38892  }
 38893  
 38894  func init() {
 38895  	t["HostInDomain"] = reflect.TypeOf((*HostInDomain)(nil)).Elem()
 38896  }
 38897  
 38898  type HostInDomainFault HostInDomain
 38899  
 38900  func init() {
 38901  	t["HostInDomainFault"] = reflect.TypeOf((*HostInDomainFault)(nil)).Elem()
 38902  }
 38903  
 38904  // This fault is thrown when an attempt is made to configure a fault tolerant
 38905  // virtual machine on a host that is incompatible.
 38906  type HostIncompatibleForFaultTolerance struct {
 38907  	VmFaultToleranceIssue
 38908  
 38909  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 38910  	// The specific reason why the host does not support fault tolerance.
 38911  	//
 38912  	// Values should come from `HostIncompatibleForFaultToleranceReason_enum`.
 38913  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 38914  }
 38915  
 38916  func init() {
 38917  	t["HostIncompatibleForFaultTolerance"] = reflect.TypeOf((*HostIncompatibleForFaultTolerance)(nil)).Elem()
 38918  }
 38919  
 38920  type HostIncompatibleForFaultToleranceFault HostIncompatibleForFaultTolerance
 38921  
 38922  func init() {
 38923  	t["HostIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceFault)(nil)).Elem()
 38924  }
 38925  
 38926  // Deprecated as of vSphere API 6.0.
 38927  //
 38928  // This fault is thrown when an attempt is made record or replay
 38929  // a virtual machine on a host that is incompatible.
 38930  type HostIncompatibleForRecordReplay struct {
 38931  	VimFault
 38932  
 38933  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 38934  	// The specific reason why the host does not support record/replay.
 38935  	//
 38936  	// Values should come from `HostIncompatibleForRecordReplayReason_enum`.
 38937  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 38938  }
 38939  
 38940  func init() {
 38941  	t["HostIncompatibleForRecordReplay"] = reflect.TypeOf((*HostIncompatibleForRecordReplay)(nil)).Elem()
 38942  }
 38943  
 38944  type HostIncompatibleForRecordReplayFault HostIncompatibleForRecordReplay
 38945  
 38946  func init() {
 38947  	t["HostIncompatibleForRecordReplayFault"] = reflect.TypeOf((*HostIncompatibleForRecordReplayFault)(nil)).Elem()
 38948  }
 38949  
 38950  // The parameters of `HostVStorageObjectManager.HostInflateDisk_Task`.
 38951  type HostInflateDiskRequestType struct {
 38952  	This ManagedObjectReference `xml:"_this" json:"-"`
 38953  	// The ID of the virtual disk to be inflated.
 38954  	Id ID `xml:"id" json:"id"`
 38955  	// The datastore where the virtual disk is located.
 38956  	//
 38957  	// Refers instance of `Datastore`.
 38958  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 38959  }
 38960  
 38961  func init() {
 38962  	t["HostInflateDiskRequestType"] = reflect.TypeOf((*HostInflateDiskRequestType)(nil)).Elem()
 38963  }
 38964  
 38965  type HostInflateDisk_Task HostInflateDiskRequestType
 38966  
 38967  func init() {
 38968  	t["HostInflateDisk_Task"] = reflect.TypeOf((*HostInflateDisk_Task)(nil)).Elem()
 38969  }
 38970  
 38971  type HostInflateDisk_TaskResponse struct {
 38972  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 38973  }
 38974  
 38975  // This data object type describes the iSCSI host bus adapter
 38976  // interface.
 38977  type HostInternetScsiHba struct {
 38978  	HostHostBusAdapter
 38979  
 38980  	// True if this host bus adapter is a software based initiator
 38981  	// utilizing the hosting system's existing TCP/IP network connection
 38982  	IsSoftwareBased bool `xml:"isSoftwareBased" json:"isSoftwareBased"`
 38983  	// Can this adapter be disabled
 38984  	CanBeDisabled *bool `xml:"canBeDisabled" json:"canBeDisabled,omitempty"`
 38985  	// Specifies if this iSCSI Adapter requires a bound network
 38986  	// interface to function.
 38987  	NetworkBindingSupport HostInternetScsiHbaNetworkBindingSupportType `xml:"networkBindingSupport,omitempty" json:"networkBindingSupport,omitempty"`
 38988  	// The discovery capabilities for this host bus adapter.
 38989  	DiscoveryCapabilities HostInternetScsiHbaDiscoveryCapabilities `xml:"discoveryCapabilities" json:"discoveryCapabilities"`
 38990  	// The discovery settings for this host bus adapter.
 38991  	DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties" json:"discoveryProperties"`
 38992  	// The authentication capabilities for this host bus adapter.
 38993  	AuthenticationCapabilities HostInternetScsiHbaAuthenticationCapabilities `xml:"authenticationCapabilities" json:"authenticationCapabilities"`
 38994  	// The authentication settings for this host bus adapter.
 38995  	//
 38996  	// All static and discovery targets will inherit the use of these
 38997  	// settings unless their authentication settings are explicitly set.
 38998  	AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties" json:"authenticationProperties"`
 38999  	// The authentication capabilities for this host bus adapter.
 39000  	DigestCapabilities *HostInternetScsiHbaDigestCapabilities `xml:"digestCapabilities,omitempty" json:"digestCapabilities,omitempty"`
 39001  	// The digest settings for this host bus adapter.
 39002  	//
 39003  	// All static and discovery targets will inherit the use of these
 39004  	// properties unless their digest settings are explicitly set.
 39005  	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty"`
 39006  	// The IP capabilities for this host bus adapter.
 39007  	IpCapabilities HostInternetScsiHbaIPCapabilities `xml:"ipCapabilities" json:"ipCapabilities"`
 39008  	// The IP settings for this host bus adapter.
 39009  	IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties" json:"ipProperties"`
 39010  	// A list of supported key/value pair advanced options for the
 39011  	// host bus adapter including their type information.
 39012  	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty"`
 39013  	// A list of the current options settings for the host bus adapter.
 39014  	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty"`
 39015  	// The iSCSI name of this host bus adapter.
 39016  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 39017  	// The iSCSI alias of this host bus adapter.
 39018  	IScsiAlias string `xml:"iScsiAlias,omitempty" json:"iScsiAlias,omitempty"`
 39019  	// The configured iSCSI send target entries.
 39020  	ConfiguredSendTarget []HostInternetScsiHbaSendTarget `xml:"configuredSendTarget,omitempty" json:"configuredSendTarget,omitempty"`
 39021  	// The configured iSCSI static target entries.
 39022  	ConfiguredStaticTarget []HostInternetScsiHbaStaticTarget `xml:"configuredStaticTarget,omitempty" json:"configuredStaticTarget,omitempty"`
 39023  	// The maximum supported link speed of the port in megabits per second.
 39024  	MaxSpeedMb int32 `xml:"maxSpeedMb,omitempty" json:"maxSpeedMb,omitempty"`
 39025  	// The Current operating link speed of the port in megabits per second.
 39026  	CurrentSpeedMb int32 `xml:"currentSpeedMb,omitempty" json:"currentSpeedMb,omitempty"`
 39027  }
 39028  
 39029  func init() {
 39030  	t["HostInternetScsiHba"] = reflect.TypeOf((*HostInternetScsiHba)(nil)).Elem()
 39031  }
 39032  
 39033  // The authentication capabilities for this host bus adapter.
 39034  type HostInternetScsiHbaAuthenticationCapabilities struct {
 39035  	DynamicData
 39036  
 39037  	// True if this host bus adapter supports changing the configuration
 39038  	// state of CHAP authentication.
 39039  	//
 39040  	// CHAP is mandatory, however some
 39041  	// adapter may not allow disabling this authentication method.
 39042  	ChapAuthSettable bool `xml:"chapAuthSettable" json:"chapAuthSettable"`
 39043  	// Always false in this version of the API.
 39044  	Krb5AuthSettable bool `xml:"krb5AuthSettable" json:"krb5AuthSettable"`
 39045  	// Always false in this version of the API.
 39046  	SrpAuthSettable bool `xml:"srpAuthSettable" json:"srpAuthSettable"`
 39047  	// Always false in this version of the API.
 39048  	SpkmAuthSettable bool `xml:"spkmAuthSettable" json:"spkmAuthSettable"`
 39049  	// When chapAuthSettable is TRUE, this describes if Mutual CHAP
 39050  	// configuration is allowed as well.
 39051  	MutualChapSettable *bool `xml:"mutualChapSettable" json:"mutualChapSettable,omitempty"`
 39052  	// When targetChapSettable is TRUE, this describes if
 39053  	// CHAP configuration is allowed on targets associated
 39054  	// with the adapter.
 39055  	TargetChapSettable *bool `xml:"targetChapSettable" json:"targetChapSettable,omitempty"`
 39056  	// When targetMutualChapSettable is TRUE, this describes if
 39057  	// Mutual CHAP configuration is allowed on targets associated
 39058  	// with the adapter.
 39059  	TargetMutualChapSettable *bool `xml:"targetMutualChapSettable" json:"targetMutualChapSettable,omitempty"`
 39060  }
 39061  
 39062  func init() {
 39063  	t["HostInternetScsiHbaAuthenticationCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationCapabilities)(nil)).Elem()
 39064  }
 39065  
 39066  // The authentication settings for this host bus adapter or target.
 39067  type HostInternetScsiHbaAuthenticationProperties struct {
 39068  	DynamicData
 39069  
 39070  	// True if CHAP is currently enabled
 39071  	ChapAuthEnabled bool `xml:"chapAuthEnabled" json:"chapAuthEnabled"`
 39072  	// The CHAP user name if enabled
 39073  	ChapName string `xml:"chapName,omitempty" json:"chapName,omitempty"`
 39074  	// The CHAP secret if enabled
 39075  	ChapSecret string `xml:"chapSecret,omitempty" json:"chapSecret,omitempty"`
 39076  	// The preference for CHAP or non-CHAP protocol if CHAP is enabled
 39077  	ChapAuthenticationType string `xml:"chapAuthenticationType,omitempty" json:"chapAuthenticationType,omitempty"`
 39078  	// CHAP settings are inherited
 39079  	ChapInherited *bool `xml:"chapInherited" json:"chapInherited,omitempty"`
 39080  	// When Mutual-CHAP is enabled, the user name that target needs to
 39081  	// use to authenticate with the initiator
 39082  	MutualChapName string `xml:"mutualChapName,omitempty" json:"mutualChapName,omitempty"`
 39083  	// When Mutual-CHAP is enabled, the secret that target needs to
 39084  	// use to authenticate with the initiator
 39085  	MutualChapSecret string `xml:"mutualChapSecret,omitempty" json:"mutualChapSecret,omitempty"`
 39086  	// The preference for CHAP or non-CHAP protocol if CHAP is enabled
 39087  	MutualChapAuthenticationType string `xml:"mutualChapAuthenticationType,omitempty" json:"mutualChapAuthenticationType,omitempty"`
 39088  	// Mutual-CHAP settings are inherited
 39089  	MutualChapInherited *bool `xml:"mutualChapInherited" json:"mutualChapInherited,omitempty"`
 39090  }
 39091  
 39092  func init() {
 39093  	t["HostInternetScsiHbaAuthenticationProperties"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationProperties)(nil)).Elem()
 39094  }
 39095  
 39096  // The digest capabilities for this host bus adapter.
 39097  type HostInternetScsiHbaDigestCapabilities struct {
 39098  	DynamicData
 39099  
 39100  	// True if this host bus adapter supports the configuration
 39101  	// of the use of header digest.
 39102  	//
 39103  	// Defaults to false, in which
 39104  	// case no header digests will be used.
 39105  	HeaderDigestSettable *bool `xml:"headerDigestSettable" json:"headerDigestSettable,omitempty"`
 39106  	// True if this host bus adapter supports the configuration
 39107  	// of the use of data digest.
 39108  	//
 39109  	// Defaults to false, in which
 39110  	// case no data digests will be used.
 39111  	DataDigestSettable *bool `xml:"dataDigestSettable" json:"dataDigestSettable,omitempty"`
 39112  	// True if configuration of the use of header digest is supported
 39113  	// on the targets associated with the host bus adapter.
 39114  	//
 39115  	// Defaults to
 39116  	// false, in which case no header digests will be used.
 39117  	TargetHeaderDigestSettable *bool `xml:"targetHeaderDigestSettable" json:"targetHeaderDigestSettable,omitempty"`
 39118  	// True if configuration of the use of data digest is supported
 39119  	// on the targets associated with the host bus adapter.
 39120  	//
 39121  	// Defaults to
 39122  	// false, in which case no data digests will be used.
 39123  	TargetDataDigestSettable *bool `xml:"targetDataDigestSettable" json:"targetDataDigestSettable,omitempty"`
 39124  }
 39125  
 39126  func init() {
 39127  	t["HostInternetScsiHbaDigestCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDigestCapabilities)(nil)).Elem()
 39128  }
 39129  
 39130  // The digest settings for this host bus adapter.
 39131  type HostInternetScsiHbaDigestProperties struct {
 39132  	DynamicData
 39133  
 39134  	// The header digest preference if header digest is enabled
 39135  	HeaderDigestType string `xml:"headerDigestType,omitempty" json:"headerDigestType,omitempty"`
 39136  	// Header digest setting is inherited
 39137  	HeaderDigestInherited *bool `xml:"headerDigestInherited" json:"headerDigestInherited,omitempty"`
 39138  	// The data digest preference if data digest is enabled
 39139  	DataDigestType string `xml:"dataDigestType,omitempty" json:"dataDigestType,omitempty"`
 39140  	// Data digest setting is inherited
 39141  	DataDigestInherited *bool `xml:"dataDigestInherited" json:"dataDigestInherited,omitempty"`
 39142  }
 39143  
 39144  func init() {
 39145  	t["HostInternetScsiHbaDigestProperties"] = reflect.TypeOf((*HostInternetScsiHbaDigestProperties)(nil)).Elem()
 39146  }
 39147  
 39148  // The discovery capabilities for this host bus adapter.
 39149  //
 39150  // At least one discovery mode must always be active.
 39151  // Multiple modes may be active at the same time.
 39152  type HostInternetScsiHbaDiscoveryCapabilities struct {
 39153  	DynamicData
 39154  
 39155  	// True if this host bus adapter supports iSNS
 39156  	ISnsDiscoverySettable bool `xml:"iSnsDiscoverySettable" json:"iSnsDiscoverySettable"`
 39157  	// True if this host bus adapter supports SLP
 39158  	SlpDiscoverySettable bool `xml:"slpDiscoverySettable" json:"slpDiscoverySettable"`
 39159  	// True if this host bus adapter supports static discovery
 39160  	StaticTargetDiscoverySettable bool `xml:"staticTargetDiscoverySettable" json:"staticTargetDiscoverySettable"`
 39161  	// True if this host bus adapter supports changing the configuration
 39162  	// state of send targets discovery.
 39163  	//
 39164  	// Send targets is mandatory, however
 39165  	// some adapters may not allow disabling this discovery method.
 39166  	SendTargetsDiscoverySettable bool `xml:"sendTargetsDiscoverySettable" json:"sendTargetsDiscoverySettable"`
 39167  }
 39168  
 39169  func init() {
 39170  	t["HostInternetScsiHbaDiscoveryCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryCapabilities)(nil)).Elem()
 39171  }
 39172  
 39173  // The discovery settings for this host bus adapter.
 39174  //
 39175  // At least one discovery mode must always be active.
 39176  // Multiple modes may be active at the same time.
 39177  type HostInternetScsiHbaDiscoveryProperties struct {
 39178  	DynamicData
 39179  
 39180  	// True if iSNS is currently enabled
 39181  	ISnsDiscoveryEnabled bool `xml:"iSnsDiscoveryEnabled" json:"iSnsDiscoveryEnabled"`
 39182  	// The iSNS discovery method in use when iSNS is enabled.
 39183  	//
 39184  	// Must be one of the values of
 39185  	// `InternetScsiSnsDiscoveryMethod_enum`
 39186  	ISnsDiscoveryMethod string `xml:"iSnsDiscoveryMethod,omitempty" json:"iSnsDiscoveryMethod,omitempty"`
 39187  	// For STATIC iSNS, this is the iSNS server address
 39188  	ISnsHost string `xml:"iSnsHost,omitempty" json:"iSnsHost,omitempty"`
 39189  	// True if SLP is enabled
 39190  	SlpDiscoveryEnabled bool `xml:"slpDiscoveryEnabled" json:"slpDiscoveryEnabled"`
 39191  	// The current SLP discovery method when SLP is enabled.
 39192  	//
 39193  	// Must be one of the values of
 39194  	// `SlpDiscoveryMethod_enum`
 39195  	SlpDiscoveryMethod string `xml:"slpDiscoveryMethod,omitempty" json:"slpDiscoveryMethod,omitempty"`
 39196  	// When the SLP discovery method is set to MANUAL, this property
 39197  	// reflects the hostname, and optionally port number of the SLP DA.
 39198  	SlpHost string `xml:"slpHost,omitempty" json:"slpHost,omitempty"`
 39199  	// True if static target discovery is enabled
 39200  	StaticTargetDiscoveryEnabled bool `xml:"staticTargetDiscoveryEnabled" json:"staticTargetDiscoveryEnabled"`
 39201  	// True if send targets discovery is enabled
 39202  	SendTargetsDiscoveryEnabled bool `xml:"sendTargetsDiscoveryEnabled" json:"sendTargetsDiscoveryEnabled"`
 39203  }
 39204  
 39205  func init() {
 39206  	t["HostInternetScsiHbaDiscoveryProperties"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryProperties)(nil)).Elem()
 39207  }
 39208  
 39209  // The IP Capabilities for the host bus adapter
 39210  type HostInternetScsiHbaIPCapabilities struct {
 39211  	DynamicData
 39212  
 39213  	// True if the host bus adapter supports setting its IPv4 address.
 39214  	AddressSettable bool `xml:"addressSettable" json:"addressSettable"`
 39215  	// True if the host bus adapter supports DHCPv4.
 39216  	IpConfigurationMethodSettable bool `xml:"ipConfigurationMethodSettable" json:"ipConfigurationMethodSettable"`
 39217  	// True if the host bus adapter supports setting its IPv4 subnet mask.
 39218  	SubnetMaskSettable bool `xml:"subnetMaskSettable" json:"subnetMaskSettable"`
 39219  	// True if the host bus adapter supports setting its IPv4 gateway.
 39220  	DefaultGatewaySettable bool `xml:"defaultGatewaySettable" json:"defaultGatewaySettable"`
 39221  	// True if the host bus adapter supports setting its primary DNS.
 39222  	PrimaryDnsServerAddressSettable bool `xml:"primaryDnsServerAddressSettable" json:"primaryDnsServerAddressSettable"`
 39223  	// True if the host bus adapter supports setting its secondary DNS.
 39224  	AlternateDnsServerAddressSettable bool `xml:"alternateDnsServerAddressSettable" json:"alternateDnsServerAddressSettable"`
 39225  	// True if the host bus adapter supports the use of IPv6 addresses
 39226  	Ipv6Supported *bool `xml:"ipv6Supported" json:"ipv6Supported,omitempty"`
 39227  	// True if the host bus adapter supports setting its ARP Redirect value
 39228  	ArpRedirectSettable *bool `xml:"arpRedirectSettable" json:"arpRedirectSettable,omitempty"`
 39229  	// True if the host bus adapter supports setting its MTU, (for Jumbo
 39230  	// Frames, etc)
 39231  	MtuSettable *bool `xml:"mtuSettable" json:"mtuSettable,omitempty"`
 39232  	// True if the discovery and static targets can be configured with
 39233  	// a host name as opposed to an IP address.
 39234  	HostNameAsTargetAddress *bool `xml:"hostNameAsTargetAddress" json:"hostNameAsTargetAddress,omitempty"`
 39235  	// True if the host bus adapter supports setting its name and alias
 39236  	NameAliasSettable *bool `xml:"nameAliasSettable" json:"nameAliasSettable,omitempty"`
 39237  	// True if IPv4 addresssing can be enabled or disabled on the host bus adapter.
 39238  	Ipv4EnableSettable *bool `xml:"ipv4EnableSettable" json:"ipv4EnableSettable,omitempty"`
 39239  	// True if IPv6 addresssing can be enabled or disabled on the host bus adapter.
 39240  	Ipv6EnableSettable *bool `xml:"ipv6EnableSettable" json:"ipv6EnableSettable,omitempty"`
 39241  	// True if the Host bus adapter supports setting IPv6 Prefix Length.
 39242  	Ipv6PrefixLengthSettable *bool `xml:"ipv6PrefixLengthSettable" json:"ipv6PrefixLengthSettable,omitempty"`
 39243  	// Provides the value that user should be using if host bus adapter
 39244  	// does not support changing of prefix length.
 39245  	Ipv6PrefixLength int32 `xml:"ipv6PrefixLength,omitempty" json:"ipv6PrefixLength,omitempty"`
 39246  	// True if the Host bus adapter supports DHCPv6 configuration.
 39247  	Ipv6DhcpConfigurationSettable *bool `xml:"ipv6DhcpConfigurationSettable" json:"ipv6DhcpConfigurationSettable,omitempty"`
 39248  	// True if the Host bus adapter supports setting configuration of its IPv6 link local address
 39249  	// User can specify link local static address if link local auto configuration is set to false.
 39250  	//
 39251  	// link local address usually starts with fe80: and has prefix 64.
 39252  	Ipv6LinkLocalAutoConfigurationSettable *bool `xml:"ipv6LinkLocalAutoConfigurationSettable" json:"ipv6LinkLocalAutoConfigurationSettable,omitempty"`
 39253  	// True if the Host bus adapter supports router advertisement configuration method.
 39254  	//
 39255  	// Note: Currently Qlogic adapter does not support plumbing of any user specified
 39256  	// static address if router advertisement method is enabled.
 39257  	Ipv6RouterAdvertisementConfigurationSettable *bool `xml:"ipv6RouterAdvertisementConfigurationSettable" json:"ipv6RouterAdvertisementConfigurationSettable,omitempty"`
 39258  	// True if the Host bus adapter supports setting its IPv6 default gateway.
 39259  	Ipv6DefaultGatewaySettable *bool `xml:"ipv6DefaultGatewaySettable" json:"ipv6DefaultGatewaySettable,omitempty"`
 39260  	// The maximum number of supported IPv6 static addresses on the
 39261  	// host bus adapter that user can set.
 39262  	Ipv6MaxStaticAddressesSupported int32 `xml:"ipv6MaxStaticAddressesSupported,omitempty" json:"ipv6MaxStaticAddressesSupported,omitempty"`
 39263  }
 39264  
 39265  func init() {
 39266  	t["HostInternetScsiHbaIPCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaIPCapabilities)(nil)).Elem()
 39267  }
 39268  
 39269  // The IP properties for the host bus adapter
 39270  type HostInternetScsiHbaIPProperties struct {
 39271  	DynamicData
 39272  
 39273  	// The MAC address.
 39274  	Mac string `xml:"mac,omitempty" json:"mac,omitempty"`
 39275  	// The current IPv4 address.
 39276  	Address string `xml:"address,omitempty" json:"address,omitempty"`
 39277  	// True if the host bus adapter fetches its IP using DHCP.
 39278  	DhcpConfigurationEnabled bool `xml:"dhcpConfigurationEnabled" json:"dhcpConfigurationEnabled"`
 39279  	// The current IPv4 subnet mask.
 39280  	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
 39281  	// The current IPv4 gateway.
 39282  	DefaultGateway string `xml:"defaultGateway,omitempty" json:"defaultGateway,omitempty"`
 39283  	// The current primary DNS address.
 39284  	PrimaryDnsServerAddress string `xml:"primaryDnsServerAddress,omitempty" json:"primaryDnsServerAddress,omitempty"`
 39285  	// The current secondary DNS address.
 39286  	AlternateDnsServerAddress string `xml:"alternateDnsServerAddress,omitempty" json:"alternateDnsServerAddress,omitempty"`
 39287  	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
 39288  	//
 39289  	// The current IPv6 address.
 39290  	Ipv6Address string `xml:"ipv6Address,omitempty" json:"ipv6Address,omitempty"`
 39291  	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
 39292  	//
 39293  	// The current IPv6 subnet mask.
 39294  	Ipv6SubnetMask string `xml:"ipv6SubnetMask,omitempty" json:"ipv6SubnetMask,omitempty"`
 39295  	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
 39296  	//
 39297  	// The current IPv6 default gateway.
 39298  	Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty" json:"ipv6DefaultGateway,omitempty"`
 39299  	// True if ARP Redirect is enabled
 39300  	ArpRedirectEnabled *bool `xml:"arpRedirectEnabled" json:"arpRedirectEnabled,omitempty"`
 39301  	// True if the host bus adapter supports setting its MTU, (for Jumbo
 39302  	// Frames, etc)
 39303  	// Setting enableJumboFrames and not a numeric mtu value implies
 39304  	// autoselection of appropriate MTU value for Jumbo Frames.
 39305  	Mtu                int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 39306  	JumboFramesEnabled *bool `xml:"jumboFramesEnabled" json:"jumboFramesEnabled,omitempty"`
 39307  	// True if IPv4 is enabled.
 39308  	//
 39309  	// Unset value will keep existing IPv4 enabled state as is.
 39310  	Ipv4Enabled *bool `xml:"ipv4Enabled" json:"ipv4Enabled,omitempty"`
 39311  	// True if IPv6 is enabled.
 39312  	//
 39313  	// Unset value will keep existing IPv6 enabled state as is.
 39314  	Ipv6Enabled *bool `xml:"ipv6Enabled" json:"ipv6Enabled,omitempty"`
 39315  	// IPv6 properties.
 39316  	//
 39317  	// It is set only if { @link #ipv6Enabled } is true.
 39318  	Ipv6properties *HostInternetScsiHbaIPv6Properties `xml:"ipv6properties,omitempty" json:"ipv6properties,omitempty"`
 39319  }
 39320  
 39321  func init() {
 39322  	t["HostInternetScsiHbaIPProperties"] = reflect.TypeOf((*HostInternetScsiHbaIPProperties)(nil)).Elem()
 39323  }
 39324  
 39325  // The IPv6 properties for the host bus adapter.
 39326  type HostInternetScsiHbaIPv6Properties struct {
 39327  	DynamicData
 39328  
 39329  	// There can be multiple IPv6 addressed plumbed onto the Host Bus Adapter.
 39330  	IscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"iscsiIpv6Address,omitempty" json:"iscsiIpv6Address,omitempty"`
 39331  	// True if DHCPv6 is enabled on the host bus adapter.
 39332  	//
 39333  	// User can keep this field unset while changing other IPv6 properties
 39334  	// without altering current DHCP configuration.
 39335  	Ipv6DhcpConfigurationEnabled *bool `xml:"ipv6DhcpConfigurationEnabled" json:"ipv6DhcpConfigurationEnabled,omitempty"`
 39336  	// True if auto configuration of link local address is enabled on the host bus adapter.
 39337  	//
 39338  	// User can keep this field unset while changing other IPv6 properties
 39339  	// without altering current link local auto configuration.
 39340  	Ipv6LinkLocalAutoConfigurationEnabled *bool `xml:"ipv6LinkLocalAutoConfigurationEnabled" json:"ipv6LinkLocalAutoConfigurationEnabled,omitempty"`
 39341  	// True if the router advertisement configuration is enabled on the host bus adapter.
 39342  	//
 39343  	// User can keep this field unset while changing other IPv6 properties
 39344  	// without altering current router advertisement configuration.
 39345  	Ipv6RouterAdvertisementConfigurationEnabled *bool `xml:"ipv6RouterAdvertisementConfigurationEnabled" json:"ipv6RouterAdvertisementConfigurationEnabled,omitempty"`
 39346  	// The current IPv6 default gateway.
 39347  	//
 39348  	// User can keep this field unset while changing other IPv6 properties
 39349  	// without altering current default gateway configuration.
 39350  	Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty" json:"ipv6DefaultGateway,omitempty"`
 39351  }
 39352  
 39353  func init() {
 39354  	t["HostInternetScsiHbaIPv6Properties"] = reflect.TypeOf((*HostInternetScsiHbaIPv6Properties)(nil)).Elem()
 39355  }
 39356  
 39357  // The IPv6 address.
 39358  type HostInternetScsiHbaIscsiIpv6Address struct {
 39359  	DynamicData
 39360  
 39361  	// IPv6 address.
 39362  	Address string `xml:"address" json:"address"`
 39363  	// IPv6 address prefix length.
 39364  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 39365  	// Type of the address.
 39366  	//
 39367  	// See { @Vim::Host::HostBusAdapter::IscsiIpv6Address::AddressConfigurationType }.
 39368  	// Note: While setting IPv6 address, value of origin should be set to static.
 39369  	Origin string `xml:"origin" json:"origin"`
 39370  	// Operation to be performed with the IP address.
 39371  	//
 39372  	// See { @Vim::Host::HostBusAdapter::IscsiIpv6Address::IPv6AddressOperation }.
 39373  	// Note: This field/operation is used only while setting the IPProperties on host bus adapter.
 39374  	// This field would not have any value (Unset) while viewing IPProperties
 39375  	// of the host bus adapter.
 39376  	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
 39377  }
 39378  
 39379  func init() {
 39380  	t["HostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6Address)(nil)).Elem()
 39381  }
 39382  
 39383  // Describes the the value of an iSCSI parameter, and whether
 39384  // the value is being inherited.
 39385  type HostInternetScsiHbaParamValue struct {
 39386  	OptionValue
 39387  
 39388  	// Indicates if the value is inherited from some other source.
 39389  	//
 39390  	// If unset, the value is not inheritable.
 39391  	// isInherited can be modified only if it has already been set.
 39392  	// If value is to being modified, isInherited should be set to true.
 39393  	// Setting isInherited to false will result in the value being
 39394  	// once again inherited from the source.
 39395  	IsInherited *bool `xml:"isInherited" json:"isInherited,omitempty"`
 39396  }
 39397  
 39398  func init() {
 39399  	t["HostInternetScsiHbaParamValue"] = reflect.TypeOf((*HostInternetScsiHbaParamValue)(nil)).Elem()
 39400  }
 39401  
 39402  // The iSCSI send target.
 39403  type HostInternetScsiHbaSendTarget struct {
 39404  	DynamicData
 39405  
 39406  	// The IP address or hostname of the storage device.
 39407  	Address string `xml:"address" json:"address"`
 39408  	// The TCP port of the storage device.
 39409  	//
 39410  	// If not specified, the standard default of 3260 is used.
 39411  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 39412  	// The authentication settings for this discovery target.
 39413  	//
 39414  	// All static targets discovered via this target will inherit the
 39415  	// use of these settings unless the static target's authentication
 39416  	// settings are explicitly set.
 39417  	AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty" json:"authenticationProperties,omitempty"`
 39418  	// The digest settings for this discovery target.
 39419  	//
 39420  	// All static targets discovered via this target will inherit the
 39421  	// use of these settings unless the static target's digest
 39422  	// settings are explicitly set.
 39423  	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty"`
 39424  	// A list of supported key/value pair advanced options for the
 39425  	// host bus adapter including their type information.
 39426  	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty"`
 39427  	// A list of the current options settings for the host bus adapter.
 39428  	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty"`
 39429  	// The device name of the host bus adapter from which settings
 39430  	// can be inherited.
 39431  	Parent string `xml:"parent,omitempty" json:"parent,omitempty"`
 39432  }
 39433  
 39434  func init() {
 39435  	t["HostInternetScsiHbaSendTarget"] = reflect.TypeOf((*HostInternetScsiHbaSendTarget)(nil)).Elem()
 39436  }
 39437  
 39438  // The iSCSI static target.
 39439  type HostInternetScsiHbaStaticTarget struct {
 39440  	DynamicData
 39441  
 39442  	// The IP address or hostname of the storage device.
 39443  	Address string `xml:"address" json:"address"`
 39444  	// The TCP port of the storage device.
 39445  	//
 39446  	// If not specified, the standard default of 3260 is used.
 39447  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 39448  	// The iSCSI name of the storage device.
 39449  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 39450  	// Discovery method
 39451  	// each static target is discovered by some method
 39452  	// define in TargetDiscoveryMethod.
 39453  	DiscoveryMethod string `xml:"discoveryMethod,omitempty" json:"discoveryMethod,omitempty"`
 39454  	// The authentication settings for this target.
 39455  	AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty" json:"authenticationProperties,omitempty"`
 39456  	// The digest settings for this target.
 39457  	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty"`
 39458  	// A list of supported key/value pair advanced options for the
 39459  	// host bus adapter including their type information.
 39460  	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty"`
 39461  	// A list of the current options settings for the host bus adapter.
 39462  	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty"`
 39463  	// The parent entity from which settings can be inherited.
 39464  	//
 39465  	// It can either
 39466  	// be unset, or set to the device name of the host bus adapter or the
 39467  	// name of the SendTarget.
 39468  	Parent string `xml:"parent,omitempty" json:"parent,omitempty"`
 39469  }
 39470  
 39471  func init() {
 39472  	t["HostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*HostInternetScsiHbaStaticTarget)(nil)).Elem()
 39473  }
 39474  
 39475  // A collection of one or more static targets or discovery addresses.
 39476  //
 39477  // At least one of the arrays must be non-empty.
 39478  type HostInternetScsiHbaTargetSet struct {
 39479  	DynamicData
 39480  
 39481  	StaticTargets []HostInternetScsiHbaStaticTarget `xml:"staticTargets,omitempty" json:"staticTargets,omitempty"`
 39482  	SendTargets   []HostInternetScsiHbaSendTarget   `xml:"sendTargets,omitempty" json:"sendTargets,omitempty"`
 39483  }
 39484  
 39485  func init() {
 39486  	t["HostInternetScsiHbaTargetSet"] = reflect.TypeOf((*HostInternetScsiHbaTargetSet)(nil)).Elem()
 39487  }
 39488  
 39489  // Internet SCSI transport information about a SCSI target.
 39490  type HostInternetScsiTargetTransport struct {
 39491  	HostTargetTransport
 39492  
 39493  	// The iSCSI name of the target.
 39494  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 39495  	// The iSCSI alias of the target.
 39496  	IScsiAlias string `xml:"iScsiAlias" json:"iScsiAlias"`
 39497  	// The IP addresses through which the target may be reached.
 39498  	Address []string `xml:"address,omitempty" json:"address,omitempty"`
 39499  }
 39500  
 39501  func init() {
 39502  	t["HostInternetScsiTargetTransport"] = reflect.TypeOf((*HostInternetScsiTargetTransport)(nil)).Elem()
 39503  }
 39504  
 39505  // A HostInventoryFull is thrown if the inventory has reach the max capacity of hosts.
 39506  type HostInventoryFull struct {
 39507  	NotEnoughLicenses
 39508  
 39509  	Capacity int32 `xml:"capacity" json:"capacity"`
 39510  }
 39511  
 39512  func init() {
 39513  	t["HostInventoryFull"] = reflect.TypeOf((*HostInventoryFull)(nil)).Elem()
 39514  }
 39515  
 39516  // This event records if the inventory of hosts has reached capacity.
 39517  type HostInventoryFullEvent struct {
 39518  	LicenseEvent
 39519  
 39520  	Capacity int32 `xml:"capacity" json:"capacity"`
 39521  }
 39522  
 39523  func init() {
 39524  	t["HostInventoryFullEvent"] = reflect.TypeOf((*HostInventoryFullEvent)(nil)).Elem()
 39525  }
 39526  
 39527  type HostInventoryFullFault HostInventoryFull
 39528  
 39529  func init() {
 39530  	t["HostInventoryFullFault"] = reflect.TypeOf((*HostInventoryFullFault)(nil)).Elem()
 39531  }
 39532  
 39533  // Event indicating that the virtual machine inventory
 39534  // file on the host is damaged or unreadable.
 39535  type HostInventoryUnreadableEvent struct {
 39536  	Event
 39537  }
 39538  
 39539  func init() {
 39540  	t["HostInventoryUnreadableEvent"] = reflect.TypeOf((*HostInventoryUnreadableEvent)(nil)).Elem()
 39541  }
 39542  
 39543  // Information about an IO Filter installed on a host.
 39544  //
 39545  // On vLCM managed cluster, this contains information
 39546  // about iofilter at agent level.
 39547  type HostIoFilterInfo struct {
 39548  	IoFilterInfo
 39549  
 39550  	// Whether or not the filter is available for use.
 39551  	Available bool `xml:"available" json:"available"`
 39552  }
 39553  
 39554  func init() {
 39555  	t["HostIoFilterInfo"] = reflect.TypeOf((*HostIoFilterInfo)(nil)).Elem()
 39556  }
 39557  
 39558  // This event records a change in host IP address.
 39559  type HostIpChangedEvent struct {
 39560  	HostEvent
 39561  
 39562  	// Old IP address of the host.
 39563  	OldIP string `xml:"oldIP" json:"oldIP"`
 39564  	// New IP address of the host.
 39565  	NewIP string `xml:"newIP" json:"newIP"`
 39566  }
 39567  
 39568  func init() {
 39569  	t["HostIpChangedEvent"] = reflect.TypeOf((*HostIpChangedEvent)(nil)).Elem()
 39570  }
 39571  
 39572  // The IP configuration.
 39573  type HostIpConfig struct {
 39574  	DynamicData
 39575  
 39576  	// The flag to indicate whether or not DHCP (dynamic host
 39577  	// control protocol) is enabled.
 39578  	//
 39579  	// If this property is set to true,
 39580  	// the ipAddress and the subnetMask strings cannot be set explicitly.
 39581  	Dhcp bool `xml:"dhcp" json:"dhcp"`
 39582  	// The IP address currently used by the network adapter.
 39583  	//
 39584  	// All IP addresses are specified using IPv4 dot notation.
 39585  	// For example, "192.168.0.1". Subnet addresses and netmasks are
 39586  	// specified using the same notation.
 39587  	//
 39588  	// `*Note*`: When DHCP is enabled, this property reflects the
 39589  	// current IP configuration and cannot be set. When DHCP is not
 39590  	// enabled, this property can be set explicitly.
 39591  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 39592  	// The subnet mask.
 39593  	//
 39594  	// `*Note*`: When DHCP is not enabled, this property can be
 39595  	// set explicitly. When DHCP is enabled, this property reflects the
 39596  	// current IP configuration and cannot be set.
 39597  	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
 39598  	// The ipv6 configuration
 39599  	IpV6Config *HostIpConfigIpV6AddressConfiguration `xml:"ipV6Config,omitempty" json:"ipV6Config,omitempty"`
 39600  }
 39601  
 39602  func init() {
 39603  	t["HostIpConfig"] = reflect.TypeOf((*HostIpConfig)(nil)).Elem()
 39604  }
 39605  
 39606  // The ipv6 address specification
 39607  type HostIpConfigIpV6Address struct {
 39608  	DynamicData
 39609  
 39610  	// The ipv6 address.
 39611  	//
 39612  	// When DHCP is enabled, this property
 39613  	// reflects the current IP configuration and cannot be set.
 39614  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 39615  	// The prefix length.
 39616  	//
 39617  	// An ipv6 prefixLength is a decimal value that indicates
 39618  	// the number of contiguous, higher-order bits of the address that make up the
 39619  	// network portion of the address.
 39620  	// For example, 10FA:6604:8136:6502::/64 is a possible IPv6 prefix. The prefix
 39621  	// length in this case is 64.
 39622  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 39623  	// The type of the ipv6 address configuration on the interface.
 39624  	//
 39625  	// This can be one of the types defined my the enum
 39626  	// `HostIpConfigIpV6AddressConfigType_enum`.
 39627  	Origin string `xml:"origin,omitempty" json:"origin,omitempty"`
 39628  	// The state of this ipAddress.
 39629  	//
 39630  	// Can be one of
 39631  	// `HostIpConfigIpV6AddressStatus_enum`
 39632  	DadState string `xml:"dadState,omitempty" json:"dadState,omitempty"`
 39633  	// The time when will this address expire.
 39634  	//
 39635  	// If not set
 39636  	// the address lifetime is unlimited.
 39637  	Lifetime *time.Time `xml:"lifetime" json:"lifetime,omitempty"`
 39638  	// Valid values are "add" and "remove".
 39639  	//
 39640  	// See `HostConfigChangeOperation_enum`.
 39641  	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
 39642  }
 39643  
 39644  func init() {
 39645  	t["HostIpConfigIpV6Address"] = reflect.TypeOf((*HostIpConfigIpV6Address)(nil)).Elem()
 39646  }
 39647  
 39648  // The ipv6 address configuration
 39649  type HostIpConfigIpV6AddressConfiguration struct {
 39650  	DynamicData
 39651  
 39652  	// Ipv6 adrresses configured on the interface.
 39653  	//
 39654  	// The global addresses can be configured
 39655  	// through DHCP, stateless or manual configuration. Link local addresses can be
 39656  	// only configured with the origin set to
 39657  	// `other`.
 39658  	IpV6Address []HostIpConfigIpV6Address `xml:"ipV6Address,omitempty" json:"ipV6Address,omitempty"`
 39659  	// Specify if IPv6 address and routing information information
 39660  	// be enabled or not as per RFC 2462.
 39661  	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
 39662  	// The flag to indicate whether or not DHCP (dynamic host
 39663  	// control protocol) is enabled to obtain an ipV6 address.
 39664  	//
 39665  	// If this property is set to true, an ipV6 address is configured through dhcpV6.
 39666  	DhcpV6Enabled *bool `xml:"dhcpV6Enabled" json:"dhcpV6Enabled,omitempty"`
 39667  }
 39668  
 39669  func init() {
 39670  	t["HostIpConfigIpV6AddressConfiguration"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfiguration)(nil)).Elem()
 39671  }
 39672  
 39673  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 39674  //
 39675  // This event records that the IP address resolution returned different
 39676  // addresses on the host.
 39677  //
 39678  // Please check your host's network configuration.
 39679  type HostIpInconsistentEvent struct {
 39680  	HostEvent
 39681  
 39682  	IpAddress  string `xml:"ipAddress" json:"ipAddress"`
 39683  	IpAddress2 string `xml:"ipAddress2" json:"ipAddress2"`
 39684  }
 39685  
 39686  func init() {
 39687  	t["HostIpInconsistentEvent"] = reflect.TypeOf((*HostIpInconsistentEvent)(nil)).Elem()
 39688  }
 39689  
 39690  // IP Route Configuration.
 39691  //
 39692  // All IPv4 addresses, subnet addresses, and
 39693  // netmasks are specified as strings using dotted decimal notation.
 39694  // For example, "192.0.2.1".
 39695  // IPv6 addresses are 128-bit addresses represented
 39696  // as eight fields of up to four hexadecimal digits. A colon separates each
 39697  // field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 39698  // also consist of symbol '::' to represent multiple 16-bit groups of
 39699  // contiguous 0's only once in an address as described in RFC 2373.
 39700  type HostIpRouteConfig struct {
 39701  	DynamicData
 39702  
 39703  	// The default gateway address.
 39704  	DefaultGateway string `xml:"defaultGateway,omitempty" json:"defaultGateway,omitempty"`
 39705  	// The gateway device.
 39706  	//
 39707  	// This applies to service console gateway only, it
 39708  	// is ignored otherwise.
 39709  	GatewayDevice string `xml:"gatewayDevice,omitempty" json:"gatewayDevice,omitempty"`
 39710  	// The default ipv6 gateway address
 39711  	IpV6DefaultGateway string `xml:"ipV6DefaultGateway,omitempty" json:"ipV6DefaultGateway,omitempty"`
 39712  	// The ipv6 gateway device.
 39713  	//
 39714  	// This applies to service console gateway only, it
 39715  	IpV6GatewayDevice string `xml:"ipV6GatewayDevice,omitempty" json:"ipV6GatewayDevice,omitempty"`
 39716  }
 39717  
 39718  func init() {
 39719  	t["HostIpRouteConfig"] = reflect.TypeOf((*HostIpRouteConfig)(nil)).Elem()
 39720  }
 39721  
 39722  // Dataobject specifying the configuration for IpRoute
 39723  type HostIpRouteConfigSpec struct {
 39724  	HostIpRouteConfig
 39725  
 39726  	// Choose a gateway device based on what the VirtualNic is connected to.
 39727  	//
 39728  	// This applies to service console gateway only, it
 39729  	// is ignored otherwise.
 39730  	GatewayDeviceConnection *HostVirtualNicConnection `xml:"gatewayDeviceConnection,omitempty" json:"gatewayDeviceConnection,omitempty"`
 39731  	// The ipv6 gateway device based on what the VirtualNic is connected to.
 39732  	//
 39733  	// This applies to service console gateway only, it
 39734  	// is ignored otherwise.
 39735  	IpV6GatewayDeviceConnection *HostVirtualNicConnection `xml:"ipV6GatewayDeviceConnection,omitempty" json:"ipV6GatewayDeviceConnection,omitempty"`
 39736  }
 39737  
 39738  func init() {
 39739  	t["HostIpRouteConfigSpec"] = reflect.TypeOf((*HostIpRouteConfigSpec)(nil)).Elem()
 39740  }
 39741  
 39742  // IpRouteEntry.
 39743  //
 39744  // Routing entries are individual static routes which combined
 39745  // with the default route form all of the routing rules for a host.
 39746  type HostIpRouteEntry struct {
 39747  	DynamicData
 39748  
 39749  	// Network of the routing entry
 39750  	// Of the format "10.20.120.0" or "2001:db8::1428:57"
 39751  	Network string `xml:"network" json:"network"`
 39752  	// Prefix length of the network (this is the 22 in 10.20.120.0/22)
 39753  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 39754  	// Gateway for the routing entry
 39755  	Gateway string `xml:"gateway" json:"gateway"`
 39756  	// If available the property indicates the device associated with the
 39757  	// routing entry.
 39758  	//
 39759  	// This property can only be read from the server.
 39760  	// It will be ignored if set by the client.
 39761  	DeviceName string `xml:"deviceName,omitempty" json:"deviceName,omitempty"`
 39762  }
 39763  
 39764  func init() {
 39765  	t["HostIpRouteEntry"] = reflect.TypeOf((*HostIpRouteEntry)(nil)).Elem()
 39766  }
 39767  
 39768  // Routing Entry Operation.
 39769  //
 39770  // Routing entries are individual static routes
 39771  // which combined with the default route form all of the routing rules for
 39772  // a host.
 39773  type HostIpRouteOp struct {
 39774  	DynamicData
 39775  
 39776  	// This property indicates the change operation to apply on
 39777  	// this configuration specification.
 39778  	//
 39779  	// See also `HostConfigChangeOperation_enum`.
 39780  	ChangeOperation string `xml:"changeOperation" json:"changeOperation"`
 39781  	// The routing entry itself
 39782  	Route HostIpRouteEntry `xml:"route" json:"route"`
 39783  }
 39784  
 39785  func init() {
 39786  	t["HostIpRouteOp"] = reflect.TypeOf((*HostIpRouteOp)(nil)).Elem()
 39787  }
 39788  
 39789  // IpRouteEntry.
 39790  //
 39791  // Routing entries are individual static routes which combined
 39792  // with the default route form all of the routing rules for a host.
 39793  type HostIpRouteTableConfig struct {
 39794  	DynamicData
 39795  
 39796  	// The array of Routing ops (routes to be added/removed)
 39797  	IpRoute   []HostIpRouteOp `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 39798  	Ipv6Route []HostIpRouteOp `xml:"ipv6Route,omitempty" json:"ipv6Route,omitempty"`
 39799  }
 39800  
 39801  func init() {
 39802  	t["HostIpRouteTableConfig"] = reflect.TypeOf((*HostIpRouteTableConfig)(nil)).Elem()
 39803  }
 39804  
 39805  // IpRouteTableInfo.
 39806  //
 39807  // This is the list of all static routes on the host
 39808  type HostIpRouteTableInfo struct {
 39809  	DynamicData
 39810  
 39811  	// The array of IpRouteEntry
 39812  	IpRoute   []HostIpRouteEntry `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 39813  	Ipv6Route []HostIpRouteEntry `xml:"ipv6Route,omitempty" json:"ipv6Route,omitempty"`
 39814  }
 39815  
 39816  func init() {
 39817  	t["HostIpRouteTableInfo"] = reflect.TypeOf((*HostIpRouteTableInfo)(nil)).Elem()
 39818  }
 39819  
 39820  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 39821  //
 39822  // This event records that the host's IP address could not be resolved to a short name.
 39823  type HostIpToShortNameFailedEvent struct {
 39824  	HostEvent
 39825  }
 39826  
 39827  func init() {
 39828  	t["HostIpToShortNameFailedEvent"] = reflect.TypeOf((*HostIpToShortNameFailedEvent)(nil)).Elem()
 39829  }
 39830  
 39831  // The IpmiInfo data object contains IPMI (Intelligent Platform Management Interface)
 39832  // and BMC (Baseboard Management Controller) information for the host.
 39833  type HostIpmiInfo struct {
 39834  	DynamicData
 39835  
 39836  	// IP address of the BMC on the host.
 39837  	//
 39838  	// It should be null terminated.
 39839  	BmcIpAddress string `xml:"bmcIpAddress,omitempty" json:"bmcIpAddress,omitempty"`
 39840  	// MAC address of the BMC on the host.
 39841  	//
 39842  	// The MAC address should be of the
 39843  	// form xx:xx:xx:xx:xx:xx where each x is a hex digit. It should be null
 39844  	// terminated.
 39845  	BmcMacAddress string `xml:"bmcMacAddress,omitempty" json:"bmcMacAddress,omitempty"`
 39846  	// User ID for logging into the BMC.
 39847  	//
 39848  	// BMC usernames may be up to 16
 39849  	// characters and must be null terminated. Hence, a login comprises
 39850  	// 17 or fewer characters.
 39851  	Login string `xml:"login,omitempty" json:"login,omitempty"`
 39852  	// Password for logging into the BMC.
 39853  	//
 39854  	// Only used for configuration, returned as unset
 39855  	// while reading. The password can be up to 16 characters and must be null
 39856  	// terminated. Hence, a password comprises 17 or fewer characters.
 39857  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 39858  }
 39859  
 39860  func init() {
 39861  	t["HostIpmiInfo"] = reflect.TypeOf((*HostIpmiInfo)(nil)).Elem()
 39862  }
 39863  
 39864  // This event records that the isolation address could not be pinged.
 39865  //
 39866  // The default isolation address is the service console's default gateway.
 39867  type HostIsolationIpPingFailedEvent struct {
 39868  	HostDasEvent
 39869  
 39870  	IsolationIp string `xml:"isolationIp" json:"isolationIp"`
 39871  }
 39872  
 39873  func init() {
 39874  	t["HostIsolationIpPingFailedEvent"] = reflect.TypeOf((*HostIsolationIpPingFailedEvent)(nil)).Elem()
 39875  }
 39876  
 39877  // Encapsulates information about all licensable resources on the host.
 39878  type HostLicensableResourceInfo struct {
 39879  	DynamicData
 39880  
 39881  	// List of currently supported resources.
 39882  	//
 39883  	// The type of every value is long. The key can be one of `HostLicensableResourceKey_enum`
 39884  	// or arbitrary string.
 39885  	//
 39886  	// NOTE:
 39887  	// The values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0
 39888  	Resource []KeyAnyValue `xml:"resource" json:"resource"`
 39889  }
 39890  
 39891  func init() {
 39892  	t["HostLicensableResourceInfo"] = reflect.TypeOf((*HostLicensableResourceInfo)(nil)).Elem()
 39893  }
 39894  
 39895  // This data object type describes license information stored on the host.
 39896  type HostLicenseConnectInfo struct {
 39897  	DynamicData
 39898  
 39899  	// License information.
 39900  	License LicenseManagerLicenseInfo `xml:"license" json:"license"`
 39901  	// Evaluation information.
 39902  	Evaluation LicenseManagerEvaluationInfo `xml:"evaluation" json:"evaluation"`
 39903  	// Licensable resources information.
 39904  	//
 39905  	// NOTE:
 39906  	// The values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0
 39907  	Resource *HostLicensableResourceInfo `xml:"resource,omitempty" json:"resource,omitempty"`
 39908  }
 39909  
 39910  func init() {
 39911  	t["HostLicenseConnectInfo"] = reflect.TypeOf((*HostLicenseConnectInfo)(nil)).Elem()
 39912  }
 39913  
 39914  // This event records an expired host license.
 39915  type HostLicenseExpiredEvent struct {
 39916  	LicenseEvent
 39917  }
 39918  
 39919  func init() {
 39920  	t["HostLicenseExpiredEvent"] = reflect.TypeOf((*HostLicenseExpiredEvent)(nil)).Elem()
 39921  }
 39922  
 39923  type HostLicenseSpec struct {
 39924  	DynamicData
 39925  
 39926  	// License source to be used
 39927  	Source BaseLicenseSource `xml:"source,omitempty,typeattr" json:"source,omitempty"`
 39928  	// License edition to use
 39929  	EditionKey string `xml:"editionKey,omitempty" json:"editionKey,omitempty"`
 39930  	// Disabled features.
 39931  	//
 39932  	// When an edition is set, all the features in it
 39933  	// are enabled by default. The following parameter gives a finer
 39934  	// control on which features are disabled.
 39935  	DisabledFeatureKey []string `xml:"disabledFeatureKey,omitempty" json:"disabledFeatureKey,omitempty"`
 39936  	// Enabled features
 39937  	EnabledFeatureKey []string `xml:"enabledFeatureKey,omitempty" json:"enabledFeatureKey,omitempty"`
 39938  }
 39939  
 39940  func init() {
 39941  	t["HostLicenseSpec"] = reflect.TypeOf((*HostLicenseSpec)(nil)).Elem()
 39942  }
 39943  
 39944  // This data object type encapsulates a typical set of host information that is useful
 39945  // for list views and summary pages.
 39946  //
 39947  // VirtualCenter can retrieve this information very efficiently, even for a large set
 39948  // of hosts.
 39949  type HostListSummary struct {
 39950  	DynamicData
 39951  
 39952  	// The reference to the host-managed object.
 39953  	//
 39954  	// Refers instance of `HostSystem`.
 39955  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 39956  	// Basic hardware information, if known.
 39957  	Hardware *HostHardwareSummary `xml:"hardware,omitempty" json:"hardware,omitempty"`
 39958  	// Basic runtime information, if known.
 39959  	Runtime *HostRuntimeInfo `xml:"runtime,omitempty" json:"runtime,omitempty"`
 39960  	// Basic configuration information, if known.
 39961  	Config HostConfigSummary `xml:"config" json:"config"`
 39962  	// Basic host statistics.
 39963  	QuickStats HostListSummaryQuickStats `xml:"quickStats" json:"quickStats"`
 39964  	// The overall alarm status of the host.
 39965  	//
 39966  	// In releases after vSphere API 5.0, vSphere Servers might not
 39967  	// generate property collector update notifications for this property.
 39968  	// To obtain the latest value of the property, you can use
 39969  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 39970  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 39971  	// an empty string for the version parameter.
 39972  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 39973  	// contain values for this property when some other property on the DataObject changes.
 39974  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 39975  	// version parameter, the value for this property may not be current.
 39976  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 39977  	// Indicates whether or not the host requires a reboot due to a configuration
 39978  	// change.
 39979  	RebootRequired bool `xml:"rebootRequired" json:"rebootRequired"`
 39980  	// The customized field values.
 39981  	CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr" json:"customValue,omitempty"`
 39982  	// IP address of the VirtualCenter server managing this host, if any.
 39983  	ManagementServerIp string `xml:"managementServerIp,omitempty" json:"managementServerIp,omitempty"`
 39984  	// The most capable Enhanced VMotion Compatibility mode supported by the
 39985  	// host hardware and software; unset if this host cannot participate in
 39986  	// any EVC mode.
 39987  	//
 39988  	// See also `Capability.supportedEVCMode`.
 39989  	MaxEVCModeKey string `xml:"maxEVCModeKey,omitempty" json:"maxEVCModeKey,omitempty"`
 39990  	// The Enhanced VMotion Compatibility mode that is currently in effect
 39991  	// for this host.
 39992  	//
 39993  	// If the host is in a cluster where EVC is active, this
 39994  	// will match the cluster's EVC mode; otherwise this will be unset.
 39995  	//
 39996  	// See also `Capability.supportedEVCMode`.
 39997  	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty"`
 39998  	// The Enhanced VMotion Compatibility Graphics mode that is currently in
 39999  	// effect for this host.
 40000  	//
 40001  	// If the host is in a cluster where EVC is active,
 40002  	// this will match the cluster's EVC Graphics mode; otherwise this will
 40003  	// be unset.
 40004  	//
 40005  	// See also `Capability.supportedEVCGraphicsMode`.
 40006  	CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty" json:"currentEVCGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 40007  	// Gateway configuration, if vCenter server manages the host via a gateway
 40008  	Gateway        *HostListSummaryGatewaySummary `xml:"gateway,omitempty" json:"gateway,omitempty"`
 40009  	TpmAttestation *HostTpmAttestationInfo        `xml:"tpmAttestation,omitempty" json:"tpmAttestation,omitempty"`
 40010  	// The attestation information for the host as retrieved from any Trust
 40011  	// Authority attestation services configured in the host's parent compute
 40012  	// resource.
 40013  	//
 40014  	// This field will be set only if there is any Trust Authority
 40015  	// attestation service configured for the host's parent compute resource,
 40016  	// and unset otherwise.
 40017  	TrustAuthorityAttestationInfos []HostTrustAuthorityAttestationInfo `xml:"trustAuthorityAttestationInfos,omitempty" json:"trustAuthorityAttestationInfos,omitempty" vim:"7.0.1.0"`
 40018  }
 40019  
 40020  func init() {
 40021  	t["HostListSummary"] = reflect.TypeOf((*HostListSummary)(nil)).Elem()
 40022  }
 40023  
 40024  // This data object type describes information about a host gateway server
 40025  // that is used for the connection between vCenter Server and the host.
 40026  //
 40027  // Gateway servers are identified by type and id. In order to use
 40028  // a gateway server it has to be registered with the respective type and id
 40029  // in the vCenter Lookup Service.
 40030  type HostListSummaryGatewaySummary struct {
 40031  	DynamicData
 40032  
 40033  	// The type of the gateway server used for communication with the host.
 40034  	//
 40035  	// This is an opaque string that depends on how the gateway server is
 40036  	// registered with the vCenter Component Manager Service. There might be
 40037  	// several gateway servers for the same type.
 40038  	GatewayType string `xml:"gatewayType" json:"gatewayType"`
 40039  	// Unique ID of the gateway server used for communication with the host.
 40040  	//
 40041  	// This ID must be a unique identifier for the gateway server as
 40042  	// registered in the vCenter Component Manager Service. There must be
 40043  	// only one gateway server with the same ID.
 40044  	GatewayId string `xml:"gatewayId" json:"gatewayId"`
 40045  }
 40046  
 40047  func init() {
 40048  	t["HostListSummaryGatewaySummary"] = reflect.TypeOf((*HostListSummaryGatewaySummary)(nil)).Elem()
 40049  }
 40050  
 40051  // Basic host statistics.
 40052  //
 40053  // Included in the host statistics are fairness scores. Fairness scores are
 40054  // represented in units with relative values, meaning they are evaluated relative to
 40055  // the scores of other hosts. They should not be thought of as having any particular
 40056  // absolute value. Each fairness unit represents an increment of 0.001 in a fairness
 40057  // score. The further the fairness score diverges from 1, the less fair the
 40058  // allocation. Therefore, a fairness score of 990, representing 0.990, is more fair
 40059  // than a fairness score of 1015, which represents 1.015. This is because 1.015 is
 40060  // further from 1 than 0.990.
 40061  type HostListSummaryQuickStats struct {
 40062  	DynamicData
 40063  
 40064  	// Aggregated CPU usage across all cores on the host in MHz.
 40065  	//
 40066  	// This is only
 40067  	// available if the host is connected.
 40068  	OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
 40069  	// Physical memory usage on the host in MB.
 40070  	//
 40071  	// This is only available if the
 40072  	// host is connected.
 40073  	OverallMemoryUsage int32 `xml:"overallMemoryUsage,omitempty" json:"overallMemoryUsage,omitempty"`
 40074  	// The fairness of distributed CPU resource allocation on the host.
 40075  	DistributedCpuFairness int32 `xml:"distributedCpuFairness,omitempty" json:"distributedCpuFairness,omitempty"`
 40076  	// The fairness of distributed memory resource allocation on the host.
 40077  	DistributedMemoryFairness int32 `xml:"distributedMemoryFairness,omitempty" json:"distributedMemoryFairness,omitempty"`
 40078  	// The available capacity in MB.
 40079  	AvailablePMemCapacity int32 `xml:"availablePMemCapacity,omitempty" json:"availablePMemCapacity,omitempty"`
 40080  	// The system uptime of the host in seconds.
 40081  	Uptime int32 `xml:"uptime,omitempty" json:"uptime,omitempty"`
 40082  }
 40083  
 40084  func init() {
 40085  	t["HostListSummaryQuickStats"] = reflect.TypeOf((*HostListSummaryQuickStats)(nil)).Elem()
 40086  }
 40087  
 40088  type HostListVStorageObject HostListVStorageObjectRequestType
 40089  
 40090  func init() {
 40091  	t["HostListVStorageObject"] = reflect.TypeOf((*HostListVStorageObject)(nil)).Elem()
 40092  }
 40093  
 40094  // The parameters of `HostVStorageObjectManager.HostListVStorageObject`.
 40095  type HostListVStorageObjectRequestType struct {
 40096  	This ManagedObjectReference `xml:"_this" json:"-"`
 40097  	// The datastore to query for the virtual storage objects.
 40098  	//
 40099  	// Refers instance of `Datastore`.
 40100  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 40101  }
 40102  
 40103  func init() {
 40104  	t["HostListVStorageObjectRequestType"] = reflect.TypeOf((*HostListVStorageObjectRequestType)(nil)).Elem()
 40105  }
 40106  
 40107  type HostListVStorageObjectResponse struct {
 40108  	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
 40109  }
 40110  
 40111  // The `HostLocalAuthenticationInfo` data object represents
 40112  // local authentication on the ESX host.
 40113  //
 40114  // Local authentication
 40115  // is always enabled.
 40116  type HostLocalAuthenticationInfo struct {
 40117  	HostAuthenticationStoreInfo
 40118  }
 40119  
 40120  func init() {
 40121  	t["HostLocalAuthenticationInfo"] = reflect.TypeOf((*HostLocalAuthenticationInfo)(nil)).Elem()
 40122  }
 40123  
 40124  // Local file system volume.
 40125  type HostLocalFileSystemVolume struct {
 40126  	HostFileSystemVolume
 40127  
 40128  	// The device of the local file system.
 40129  	Device string `xml:"device" json:"device"`
 40130  }
 40131  
 40132  func init() {
 40133  	t["HostLocalFileSystemVolume"] = reflect.TypeOf((*HostLocalFileSystemVolume)(nil)).Elem()
 40134  }
 40135  
 40136  // The specification for creating a new local file system volume.
 40137  type HostLocalFileSystemVolumeSpec struct {
 40138  	DynamicData
 40139  
 40140  	// The device of the local file system.
 40141  	Device string `xml:"device" json:"device"`
 40142  	// The file path on the host where the file system is mounted.
 40143  	LocalPath string `xml:"localPath" json:"localPath"`
 40144  }
 40145  
 40146  func init() {
 40147  	t["HostLocalFileSystemVolumeSpec"] = reflect.TypeOf((*HostLocalFileSystemVolumeSpec)(nil)).Elem()
 40148  }
 40149  
 40150  // This event records when host local port is created to recover from
 40151  // management network connectivity loss.
 40152  type HostLocalPortCreatedEvent struct {
 40153  	DvsEvent
 40154  
 40155  	// The configuration of the new host local port.
 40156  	HostLocalPort DVSHostLocalPortInfo `xml:"hostLocalPort" json:"hostLocalPort"`
 40157  }
 40158  
 40159  func init() {
 40160  	t["HostLocalPortCreatedEvent"] = reflect.TypeOf((*HostLocalPortCreatedEvent)(nil)).Elem()
 40161  }
 40162  
 40163  // File layout spec of a virtual disk.
 40164  //
 40165  // The disk could be either a base-disk
 40166  // or a delta disk.
 40167  type HostLowLevelProvisioningManagerDiskLayoutSpec struct {
 40168  	DynamicData
 40169  
 40170  	// Disk controller type, e.g.
 40171  	//
 40172  	// vim.vm.device.VirtualSCSIController or
 40173  	// vim.vm.device.VirtualIDEController.
 40174  	ControllerType string `xml:"controllerType" json:"controllerType"`
 40175  	// Bus number associated with the controller for this disk.
 40176  	BusNumber int32 `xml:"busNumber" json:"busNumber"`
 40177  	// Unit number of this disk on its controller.
 40178  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
 40179  	// Source disk filename in datastore path.
 40180  	SrcFilename string `xml:"srcFilename" json:"srcFilename"`
 40181  	// Destination filename in datastore path.
 40182  	DstFilename string `xml:"dstFilename" json:"dstFilename"`
 40183  }
 40184  
 40185  func init() {
 40186  	t["HostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem()
 40187  }
 40188  
 40189  type HostLowLevelProvisioningManagerFileDeleteResult struct {
 40190  	DynamicData
 40191  
 40192  	FileName string               `xml:"fileName" json:"fileName"`
 40193  	Fault    LocalizedMethodFault `xml:"fault" json:"fault"`
 40194  }
 40195  
 40196  func init() {
 40197  	t["HostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem()
 40198  }
 40199  
 40200  type HostLowLevelProvisioningManagerFileDeleteSpec struct {
 40201  	DynamicData
 40202  
 40203  	FileName string `xml:"fileName" json:"fileName"`
 40204  	FileType string `xml:"fileType" json:"fileType"`
 40205  }
 40206  
 40207  func init() {
 40208  	t["HostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem()
 40209  }
 40210  
 40211  // A FileReserveResult object describles the information of a file reserved
 40212  // by the ReserveFiles method.
 40213  //
 40214  // This includes the original input ReserveFiles
 40215  // method so that the caller can map the input with the reserved file. All
 40216  // paths will be the complete local path in the url format.
 40217  type HostLowLevelProvisioningManagerFileReserveResult struct {
 40218  	DynamicData
 40219  
 40220  	BaseName     string `xml:"baseName" json:"baseName"`
 40221  	ParentDir    string `xml:"parentDir" json:"parentDir"`
 40222  	ReservedName string `xml:"reservedName" json:"reservedName"`
 40223  }
 40224  
 40225  func init() {
 40226  	t["HostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem()
 40227  }
 40228  
 40229  type HostLowLevelProvisioningManagerFileReserveSpec struct {
 40230  	DynamicData
 40231  
 40232  	BaseName       string `xml:"baseName" json:"baseName"`
 40233  	ParentDir      string `xml:"parentDir" json:"parentDir"`
 40234  	FileType       string `xml:"fileType" json:"fileType"`
 40235  	StorageProfile string `xml:"storageProfile" json:"storageProfile"`
 40236  }
 40237  
 40238  func init() {
 40239  	t["HostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem()
 40240  }
 40241  
 40242  // File layout spec of a snapshot, including path to the vmsn file of the
 40243  // snapshot and the layout of virtual disks when the snapshot was taken.
 40244  type HostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
 40245  	DynamicData
 40246  
 40247  	// The unique identifier of the snapshot
 40248  	Id int32 `xml:"id" json:"id"`
 40249  	// Name of the source snapshot file in datastore path.
 40250  	SrcFilename string `xml:"srcFilename" json:"srcFilename"`
 40251  	// Name of the destination snapshot file in datastore path.
 40252  	DstFilename string `xml:"dstFilename" json:"dstFilename"`
 40253  	// Layout of each virtual disk of the virtual machine when the
 40254  	// snapshot was taken.
 40255  	Disk []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"disk,omitempty" json:"disk,omitempty"`
 40256  }
 40257  
 40258  func init() {
 40259  	t["HostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem()
 40260  }
 40261  
 40262  // The status of a virtual machine migration operation.
 40263  type HostLowLevelProvisioningManagerVmMigrationStatus struct {
 40264  	DynamicData
 40265  
 40266  	// Unique identifier for this operation, currently it's unique
 40267  	// within one virtual center instance.
 40268  	MigrationId int64 `xml:"migrationId" json:"migrationId"`
 40269  	// Manner in which the migration process is performed.
 40270  	//
 40271  	// The set of
 40272  	// possible values is described in
 40273  	// `HostVMotionManagerVMotionType_enum`.
 40274  	Type string `xml:"type" json:"type"`
 40275  	// Whether the virtual machine is the source of the migration.
 40276  	//
 40277  	// For disk only migration, the value is always true.
 40278  	Source bool `xml:"source" json:"source"`
 40279  	// Whether the operation is considered successful.
 40280  	//
 40281  	// A migration
 40282  	// operation is considered successful if its switch over phase has
 40283  	// completed successfully.
 40284  	//
 40285  	// More specifically, for an in-progress migration, it is considered
 40286  	// successful if it has had a sucessful switch over, otherwise it is
 40287  	// considered unsuccessful. Likewise, the status of a completed
 40288  	// migration operation is also based on the switch over completion
 40289  	// status.
 40290  	//
 40291  	// The difference between a completed vs. in-progress migration with
 40292  	// the same consideredSuccessful property is that in the former case
 40293  	// the server is able to complete the clean up process thus leaves
 40294  	// nothing for the recovery process to clean up.
 40295  	ConsideredSuccessful bool `xml:"consideredSuccessful" json:"consideredSuccessful"`
 40296  }
 40297  
 40298  func init() {
 40299  	t["HostLowLevelProvisioningManagerVmMigrationStatus"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmMigrationStatus)(nil)).Elem()
 40300  }
 40301  
 40302  // Virtual machine information that can be used for recovery, for
 40303  // example, to decide whether to register a virtual machine with a
 40304  // server if the virtual machine is currently unregistered.
 40305  //
 40306  // This data
 40307  // object does not contain a complete virtual machine configuration,
 40308  // but a subset of information available from `VirtualMachineConfigInfo`, all of which are available via virtual machine
 40309  // configuration files.
 40310  //
 40311  // The documentation for each property in this data object describes
 40312  // the property in `VirtualMachineConfigInfo` that contains the same
 40313  // information if available.
 40314  type HostLowLevelProvisioningManagerVmRecoveryInfo struct {
 40315  	DynamicData
 40316  
 40317  	// The hardware version of this virtual machine.
 40318  	//
 40319  	// Same as
 40320  	// `VirtualMachineConfigInfo.version`.
 40321  	Version string `xml:"version" json:"version"`
 40322  	// 128-bit SMBIOS UUID of this virtual machine.
 40323  	//
 40324  	// Same as
 40325  	// `VirtualMachineConfigInfo.uuid`.
 40326  	BiosUUID string `xml:"biosUUID" json:"biosUUID"`
 40327  	// VirtualCenter-specific 128-bit UUID of this virtual machine.
 40328  	//
 40329  	// Same
 40330  	// as `VirtualMachineConfigInfo.instanceUuid`.
 40331  	InstanceUUID string `xml:"instanceUUID" json:"instanceUUID"`
 40332  	// Fault Tolerance settings for this virtual machine.
 40333  	//
 40334  	// Same as
 40335  	// `VirtualMachineConfigInfo.ftInfo`. Unset if non FT.
 40336  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
 40337  }
 40338  
 40339  func init() {
 40340  	t["HostLowLevelProvisioningManagerVmRecoveryInfo"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmRecoveryInfo)(nil)).Elem()
 40341  }
 40342  
 40343  // The `HostMaintenanceSpec` data object may be used to specify
 40344  // actions to be taken by a host upon entering maintenance mode.
 40345  //
 40346  // If the `HostMaintenanceSpec` or any of its fields are omitted in a
 40347  // call to `HostSystem.EnterMaintenanceMode_Task`, default actions
 40348  // will be chosen as documented for each field's type.
 40349  //
 40350  // See also `HostSystem.EnterMaintenanceMode_Task`, `VsanHostDecommissionMode`.
 40351  type HostMaintenanceSpec struct {
 40352  	DynamicData
 40353  
 40354  	// The `VsanHostDecommissionMode` for this MaintenanceSpec.
 40355  	VsanMode *VsanHostDecommissionMode `xml:"vsanMode,omitempty" json:"vsanMode,omitempty"`
 40356  	// Maintenance mode reason code.
 40357  	//
 40358  	// See `HostMaintenanceSpecPurpose_enum` for valid values.
 40359  	Purpose string `xml:"purpose,omitempty" json:"purpose,omitempty"`
 40360  }
 40361  
 40362  func init() {
 40363  	t["HostMaintenanceSpec"] = reflect.TypeOf((*HostMaintenanceSpec)(nil)).Elem()
 40364  }
 40365  
 40366  // This class defines healthcheck result of the vSphere Distributed Switch.
 40367  type HostMemberHealthCheckResult struct {
 40368  	DynamicData
 40369  
 40370  	// The summary of health check result.
 40371  	Summary string `xml:"summary,omitempty" json:"summary,omitempty"`
 40372  }
 40373  
 40374  func init() {
 40375  	t["HostMemberHealthCheckResult"] = reflect.TypeOf((*HostMemberHealthCheckResult)(nil)).Elem()
 40376  }
 40377  
 40378  // The `HostMemberRuntimeInfo` data object
 40379  // contains healthcheck and status information about a host
 40380  // member of a distributed virtual switch.
 40381  type HostMemberRuntimeInfo struct {
 40382  	DynamicData
 40383  
 40384  	// The host.
 40385  	//
 40386  	// Refers instance of `HostSystem`.
 40387  	Host ManagedObjectReference `xml:"host" json:"host"`
 40388  	// Host proxy switch status.
 40389  	//
 40390  	// See
 40391  	// `HostComponentState` for valid values.
 40392  	// This property replaces the deprecated
 40393  	// `DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.status`.
 40394  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 40395  	// Additional information regarding the current membership status of the host.
 40396  	//
 40397  	// This property replaces the deprecated
 40398  	// `DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.statusDetail`.
 40399  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
 40400  	// NSX-T component status.
 40401  	NsxtStatus string `xml:"nsxtStatus,omitempty" json:"nsxtStatus,omitempty"`
 40402  	// Additional information regarding the NSX-T component status.
 40403  	NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty" json:"nsxtStatusDetail,omitempty"`
 40404  	// Health check result for the host that joined the distributed virtual switch.
 40405  	HealthCheckResult []BaseHostMemberHealthCheckResult `xml:"healthCheckResult,omitempty,typeattr" json:"healthCheckResult,omitempty"`
 40406  	// Indicate the runtime state of uplink on the host.
 40407  	//
 40408  	// It is only applicable when `DistributedVirtualSwitchHostMemberConfigInfo.networkOffloadingEnabled`
 40409  	// is true.
 40410  	HostUplinkState []DistributedVirtualSwitchHostMemberHostUplinkState `xml:"hostUplinkState,omitempty" json:"hostUplinkState,omitempty" vim:"8.0.3.0"`
 40411  }
 40412  
 40413  func init() {
 40414  	t["HostMemberRuntimeInfo"] = reflect.TypeOf((*HostMemberRuntimeInfo)(nil)).Elem()
 40415  }
 40416  
 40417  // This class defines healthcheck result of a specified Uplink port
 40418  // in vSphere Distributed Switch.
 40419  type HostMemberUplinkHealthCheckResult struct {
 40420  	HostMemberHealthCheckResult
 40421  
 40422  	// The uplink port key.
 40423  	UplinkPortKey string `xml:"uplinkPortKey" json:"uplinkPortKey"`
 40424  }
 40425  
 40426  func init() {
 40427  	t["HostMemberUplinkHealthCheckResult"] = reflect.TypeOf((*HostMemberUplinkHealthCheckResult)(nil)).Elem()
 40428  }
 40429  
 40430  // The `HostMemoryProfile` data object represents
 40431  // memory configuration for the host.
 40432  //
 40433  // This may not be valid all versions of the host.
 40434  //
 40435  // Use the `ApplyProfile.policy` list for access to configuration data
 40436  // for the host memory profile. Use the `ApplyProfile.property` list
 40437  // for access to subprofile configuration data, if any.
 40438  type HostMemoryProfile struct {
 40439  	ApplyProfile
 40440  }
 40441  
 40442  func init() {
 40443  	t["HostMemoryProfile"] = reflect.TypeOf((*HostMemoryProfile)(nil)).Elem()
 40444  }
 40445  
 40446  // DataObject used for configuring the memory setting
 40447  type HostMemorySpec struct {
 40448  	DynamicData
 40449  
 40450  	// Service Console reservation in bytes.
 40451  	ServiceConsoleReservation int64 `xml:"serviceConsoleReservation,omitempty" json:"serviceConsoleReservation,omitempty"`
 40452  }
 40453  
 40454  func init() {
 40455  	t["HostMemorySpec"] = reflect.TypeOf((*HostMemorySpec)(nil)).Elem()
 40456  }
 40457  
 40458  // Information about a memory tier on this host.
 40459  type HostMemoryTierInfo struct {
 40460  	DynamicData
 40461  
 40462  	// Descriptive name for the memory tier.
 40463  	Name string `xml:"name" json:"name"`
 40464  	// Type of the memory tier.
 40465  	//
 40466  	// See `HostMemoryTierType_enum` for supported values.
 40467  	Type string `xml:"type" json:"type"`
 40468  	// Flags pertaining to the memory tier.
 40469  	//
 40470  	// See `HostMemoryTierFlags_enum` for supported
 40471  	// values.
 40472  	Flags []string `xml:"flags,omitempty" json:"flags,omitempty"`
 40473  	// System internal flags pertaining to the memory tier.
 40474  	//
 40475  	// See
 40476  	// `HostMemoryTierInternalFlags_enum` for supported values.
 40477  	InternalFlags []string `xml:"internalFlags,omitempty" json:"internalFlags,omitempty" vim:"8.0.3.0"`
 40478  	// Size of the memory tier in bytes.
 40479  	Size int64 `xml:"size" json:"size"`
 40480  }
 40481  
 40482  func init() {
 40483  	t["HostMemoryTierInfo"] = reflect.TypeOf((*HostMemoryTierInfo)(nil)).Elem()
 40484  	minAPIVersionForType["HostMemoryTierInfo"] = "7.0.3.0"
 40485  }
 40486  
 40487  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 40488  //
 40489  // This event records the fact that a host is missing networks that
 40490  // other hosts are using for HA communication
 40491  type HostMissingNetworksEvent struct {
 40492  	HostDasEvent
 40493  
 40494  	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
 40495  }
 40496  
 40497  func init() {
 40498  	t["HostMissingNetworksEvent"] = reflect.TypeOf((*HostMissingNetworksEvent)(nil)).Elem()
 40499  }
 40500  
 40501  // This event records when host monitoring state has changed.
 40502  type HostMonitoringStateChangedEvent struct {
 40503  	ClusterEvent
 40504  
 40505  	// The service state in
 40506  	// `ClusterDasConfigInfoServiceState_enum`
 40507  	State string `xml:"state" json:"state"`
 40508  	// The previous service state in
 40509  	// `ClusterDasConfigInfoServiceState_enum`
 40510  	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty"`
 40511  }
 40512  
 40513  func init() {
 40514  	t["HostMonitoringStateChangedEvent"] = reflect.TypeOf((*HostMonitoringStateChangedEvent)(nil)).Elem()
 40515  }
 40516  
 40517  // The `HostMountInfo` data object provides information related
 40518  // to a configured mount point.
 40519  //
 40520  // This object does not include information
 40521  // about the mounted file system. (See `HostFileSystemMountInfo`.)
 40522  type HostMountInfo struct {
 40523  	DynamicData
 40524  
 40525  	// Local file path where file system volume is mounted, if applicable.
 40526  	//
 40527  	// This path identifies the file system volume from the point of view
 40528  	// of the host.
 40529  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 40530  	// Access mode to the underlying file system for this host.
 40531  	AccessMode string `xml:"accessMode" json:"accessMode"`
 40532  	// The mount state of this mount point.
 40533  	//
 40534  	// For a discovered
 40535  	// volume, which is mounted, this is true. When this value is
 40536  	// unset, the default value is true.
 40537  	Mounted *bool `xml:"mounted" json:"mounted,omitempty"`
 40538  	// Flag that indicates if the datastore is currently accessible from
 40539  	// the host.
 40540  	//
 40541  	// For the case of a standalone host, this property has the same value as
 40542  	// `DatastoreSummary*.*DatastoreSummary.accessible`.
 40543  	// You can use the `DatastoreSummary` property if the `HostMountInfo`
 40544  	// property is not set. The VirtualCenter Server will always make
 40545  	// sure the `DatastoreSummary` property is set correctly.
 40546  	Accessible *bool `xml:"accessible" json:"accessible,omitempty"`
 40547  	// This optional property for inaccessible reason is reported only if
 40548  	// a datastore becomes inaccessible as reported by
 40549  	// `HostMountInfo.accessible` and
 40550  	// `DatastoreSummary*.*DatastoreSummary.accessible`.
 40551  	//
 40552  	// The values for inaccessible reason are defined in the enum
 40553  	// `HostMountInfoInaccessibleReason_enum`
 40554  	// This helps to determine host specific reason for datastore inaccessibility.
 40555  	// If the datastore becomes accessible following an inaccessible condition,
 40556  	// the property `HostMountInfo.inaccessibleReason` will be unset.
 40557  	InaccessibleReason string `xml:"inaccessibleReason,omitempty" json:"inaccessibleReason,omitempty"`
 40558  	// The name of the vmknic used during mount for NFSv3 datstore.
 40559  	//
 40560  	// Populated by the vmk control layer if the NAS
 40561  	// volume is mounted successfully with a vmknic binding.
 40562  	// In case of NFS v4.1, if vmknic binding is enabled successfully,
 40563  	// then output will be in format {hostip1:vmknic1, hostip2:vmknic2}.
 40564  	// If vmknic binding is not enabled, then vmknicName
 40565  	// will have 'None' string.
 40566  	VmknicName string `xml:"vmknicName,omitempty" json:"vmknicName,omitempty" vim:"8.0.1.0"`
 40567  	// Indicates whether vmknic is active or inactive.
 40568  	//
 40569  	// This field will be populated by vmk control layer during
 40570  	// NAS volume mount, and will be set to true if the
 40571  	// vmknic binding is active.
 40572  	VmknicActive *bool `xml:"vmknicActive" json:"vmknicActive,omitempty" vim:"8.0.1.0"`
 40573  	// The optional property which gives the reason for mount operation
 40574  	// failure of NFS datastore.
 40575  	//
 40576  	// This field is applicable for only those
 40577  	// mounts for which retry mount operation is configured.
 40578  	// The values for the mount failed reason are defined in the enum
 40579  	// `HostMountInfoMountFailedReason_enum`.
 40580  	// If mount operation on NFS volume succeeds in the retry, then
 40581  	// the property `HostMountInfo.mountFailedReason` will be unset.
 40582  	MountFailedReason string `xml:"mountFailedReason,omitempty" json:"mountFailedReason,omitempty" vim:"8.0.0.1"`
 40583  	// Maintained for each Host, it indicates the total number of TCP
 40584  	// connections for the NAS datastore
 40585  	NumTcpConnections int32 `xml:"numTcpConnections,omitempty" json:"numTcpConnections,omitempty" vim:"8.0.1.0"`
 40586  }
 40587  
 40588  func init() {
 40589  	t["HostMountInfo"] = reflect.TypeOf((*HostMountInfo)(nil)).Elem()
 40590  }
 40591  
 40592  // The `HostMultipathInfo` data object describes the multipathing policy
 40593  // configuration to determine the storage failover policies
 40594  // for a SCSI logical unit.
 40595  //
 40596  // The multipathing policy configuration operates on
 40597  // SCSI logical units and the paths to the logical units.
 40598  //
 40599  // Multipath policy configuration is only possible on storage devices
 40600  // provided by the native multipathing plug-store plugin. Storage devices
 40601  // using the native multipathing storage plugin will have an entry
 40602  // in this data object. Storage devices provided by a different
 40603  // storage plugin will not appear in the inventory represented by
 40604  // this data object.
 40605  //
 40606  // Legacy note: In hosts where `HostMultipathStateInfo` is not
 40607  // defined or does not exist on the `HostStorageDeviceInfo` object,
 40608  // only native multipathing exists. That means for these hosts, the
 40609  // MultipathInfo object contains the complete set of LUNs and paths on the LUNs
 40610  // available on the host.
 40611  type HostMultipathInfo struct {
 40612  	DynamicData
 40613  
 40614  	// List of logical units that can be configured for multipathing.
 40615  	Lun []HostMultipathInfoLogicalUnit `xml:"lun,omitempty" json:"lun,omitempty"`
 40616  }
 40617  
 40618  func init() {
 40619  	t["HostMultipathInfo"] = reflect.TypeOf((*HostMultipathInfo)(nil)).Elem()
 40620  }
 40621  
 40622  // The `HostMultipathInfoFixedLogicalUnitPolicy` data object
 40623  // describes a multipathing policy for a logical unit which uses
 40624  // a preferred path whenever possible.
 40625  type HostMultipathInfoFixedLogicalUnitPolicy struct {
 40626  	HostMultipathInfoLogicalUnitPolicy
 40627  
 40628  	// Preferred path used for the `*fixed*` policy.
 40629  	Prefer string `xml:"prefer" json:"prefer"`
 40630  }
 40631  
 40632  func init() {
 40633  	t["HostMultipathInfoFixedLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoFixedLogicalUnitPolicy)(nil)).Elem()
 40634  }
 40635  
 40636  // The `HostMultipathInfoHppLogicalUnitPolicy` data object
 40637  // describes a multipathing policy for a HPP claimed logical unit and
 40638  // its configuration.
 40639  type HostMultipathInfoHppLogicalUnitPolicy struct {
 40640  	HostMultipathInfoLogicalUnitPolicy
 40641  
 40642  	// Byte count on the paths will be used as criteria to switch path
 40643  	// for the device.
 40644  	//
 40645  	// Allowed values 1 to (100\`1024\`1024)
 40646  	// Default Value 10\`1024\`1024
 40647  	Bytes int64 `xml:"bytes,omitempty" json:"bytes,omitempty"`
 40648  	// IOPS count on the paths will be used as criteria to switch path
 40649  	// for the device.
 40650  	//
 40651  	// Allowed values 1 to 10000
 40652  	// Default Value 1000
 40653  	Iops int64 `xml:"iops,omitempty" json:"iops,omitempty"`
 40654  	// The preferred path for the given device.
 40655  	//
 40656  	// If no prefered path is specified by the user, algorithem at ESX
 40657  	// side will choose the random possible path.
 40658  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 40659  	// This value can control at what interval (in ms) the latency of
 40660  	// paths should be evaluated.
 40661  	//
 40662  	// Allowed values 10000 to (300 \* 1000) in ms
 40663  	// Default Value 30 \* 1000
 40664  	LatencyEvalTime int64 `xml:"latencyEvalTime,omitempty" json:"latencyEvalTime,omitempty"`
 40665  	// This value will control how many sample IOs should be issued on
 40666  	// each path to calculate latency of the path.
 40667  	//
 40668  	// Allowed values 16 to 160
 40669  	// Default Value 16
 40670  	SamplingIosPerPath int64 `xml:"samplingIosPerPath,omitempty" json:"samplingIosPerPath,omitempty"`
 40671  }
 40672  
 40673  func init() {
 40674  	t["HostMultipathInfoHppLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoHppLogicalUnitPolicy)(nil)).Elem()
 40675  }
 40676  
 40677  // The `HostMultipathInfoLogicalUnit` data object
 40678  // represents a storage entity that provides disk blocks to a host.
 40679  type HostMultipathInfoLogicalUnit struct {
 40680  	DynamicData
 40681  
 40682  	// Linkable identifier.
 40683  	Key string `xml:"key" json:"key"`
 40684  	// Identifier of LogicalUnit.
 40685  	//
 40686  	// Use this id to configure LogicalUnit multipathing policy using `HostStorageSystem.SetMultipathLunPolicy`.
 40687  	Id string `xml:"id" json:"id"`
 40688  	// SCSI device corresponding to logical unit.
 40689  	Lun string `xml:"lun" json:"lun"`
 40690  	// Array of paths available to access this LogicalUnit.
 40691  	Path []HostMultipathInfoPath `xml:"path" json:"path"`
 40692  	// Policy that the logical unit should use when selecting a path.
 40693  	Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr" json:"policy"`
 40694  	// Policy used to determine how a storage device is accessed.
 40695  	//
 40696  	// This policy
 40697  	// is currently immutable.
 40698  	StorageArrayTypePolicy *HostMultipathInfoLogicalUnitStorageArrayTypePolicy `xml:"storageArrayTypePolicy,omitempty" json:"storageArrayTypePolicy,omitempty"`
 40699  }
 40700  
 40701  func init() {
 40702  	t["HostMultipathInfoLogicalUnit"] = reflect.TypeOf((*HostMultipathInfoLogicalUnit)(nil)).Elem()
 40703  }
 40704  
 40705  // The `HostMultipathInfoLogicalUnitPolicy` data object
 40706  // describes a path selection policy for a device.
 40707  //
 40708  // This policy determines
 40709  // how paths should be utilized when accessing a device.
 40710  type HostMultipathInfoLogicalUnitPolicy struct {
 40711  	DynamicData
 40712  
 40713  	// String representing the path selection policy for a device.
 40714  	//
 40715  	// Use one of the following
 40716  	// strings:
 40717  	// For NMP plugin
 40718  	//   - <code>VMW\_PSP\_FIXED</code> - Use a preferred path whenever possible.
 40719  	//   - <code>VMW\_PSP\_RR</code> - Load balance.
 40720  	//   - <code>VMW\_PSP\_MRU</code> - Use the most recently used path.
 40721  	//
 40722  	// For HPP plugin
 40723  	//   - <code>FIXED</code> - Use a preferred path whenever possible.
 40724  	//   - <code>LB-RR</code> - Load Balance - round robin.
 40725  	//   - <code>LB-IOPS</code> - Load Balance - iops.
 40726  	//   - <code>LB-BYTES</code> - Load Balance - bytes.
 40727  	//   - <code>LB--Latency</code> - Load balance - least latency.
 40728  	//
 40729  	// You can also use the
 40730  	// `HostStorageSystem.QueryPathSelectionPolicyOptions` method
 40731  	// to retrieve the set of valid strings.
 40732  	// Use the key from the resulting structure
 40733  	// `HostPathSelectionPolicyOption`.
 40734  	Policy string `xml:"policy" json:"policy"`
 40735  }
 40736  
 40737  func init() {
 40738  	t["HostMultipathInfoLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitPolicy)(nil)).Elem()
 40739  }
 40740  
 40741  // The `HostMultipathInfoLogicalUnitStorageArrayTypePolicy`
 40742  // data object describes a storage array type policy for
 40743  // for a device.
 40744  //
 40745  // This policy determines how device I/O and management
 40746  // is performed.
 40747  type HostMultipathInfoLogicalUnitStorageArrayTypePolicy struct {
 40748  	DynamicData
 40749  
 40750  	// String indicating the storage array type policy.
 40751  	Policy string `xml:"policy" json:"policy"`
 40752  }
 40753  
 40754  func init() {
 40755  	t["HostMultipathInfoLogicalUnitStorageArrayTypePolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitStorageArrayTypePolicy)(nil)).Elem()
 40756  }
 40757  
 40758  // The `HostMultipathInfoPath` data object
 40759  // is a storage entity that represents a topological path from a
 40760  // host bus adapter to a SCSI logical unit.
 40761  //
 40762  // Each path is unique although each
 40763  // host bus adapter/SCSI logical unit pair can have multiple paths.
 40764  //
 40765  // Path objects are identified by a key. The specifics of how
 40766  // the key is formatted are dependent on the implementation. Example
 40767  // implementations include using strings like "vmhba1:0:0:0".
 40768  type HostMultipathInfoPath struct {
 40769  	DynamicData
 40770  
 40771  	// Identifier of the path.
 40772  	Key string `xml:"key" json:"key"`
 40773  	// Name of path.
 40774  	//
 40775  	// Use this name to configure LogicalUnit multipathing policy using `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
 40776  	Name string `xml:"name" json:"name"`
 40777  	// Deprecated as of VI API 4.0:
 40778  	//   - System reported path states are available in `HostMultipathInfoPath.state`.
 40779  	//   - Paths slated for I/O can be found using `HostMultipathInfoPath.isWorkingPath`.
 40780  	//
 40781  	// State of the path.
 40782  	//
 40783  	// Must be one of the values of
 40784  	// `MultipathState_enum`
 40785  	// <dl>
 40786  	// <dt>active</dt>
 40787  	// <dd>Path can be used for I/O and is currently a working path.</dd>
 40788  	// <dt>standby</dt>
 40789  	// <dd>Path can be used for I/O but is not a working path or can be
 40790  	// used if active paths fail.</dd>
 40791  	// <dt>disabled</dt>
 40792  	// <dd>Path has been administratively disabled.</dd>
 40793  	// <dt>dead</dt>
 40794  	// <dd>Path cannot be used for I/O.</dd>
 40795  	// <dt>unknown</dt>
 40796  	// <dd>Path is in unknown error state.</dd>
 40797  	// </dl>
 40798  	PathState string `xml:"pathState" json:"pathState"`
 40799  	// System-reported state of the path.
 40800  	//
 40801  	// Must be one of the values of
 40802  	// `MultipathState_enum`
 40803  	// <dl>
 40804  	// <dt>active</dt>
 40805  	// <dd>Path can be used for I/O.</dd>
 40806  	// <dt>standby</dt>
 40807  	// <dd>Path can be used for I/O if active paths fail.</dd>
 40808  	// <dt>disabled</dt>
 40809  	// <dd>Path has been administratively disabled.</dd>
 40810  	// <dt>dead</dt>
 40811  	// <dd>Path cannot be used for I/O.</dd>
 40812  	// <dt>unknown</dt>
 40813  	// <dd>Path is in unknown error state.</dd>
 40814  	// </dl>
 40815  	State string `xml:"state,omitempty" json:"state,omitempty"`
 40816  	// A path, managed by a given path selection policy(psp) plugin, is
 40817  	// denoted to be a Working Path if the psp plugin is likely to select the
 40818  	// path for performing I/O in the near future.
 40819  	IsWorkingPath *bool `xml:"isWorkingPath" json:"isWorkingPath,omitempty"`
 40820  	// The host bus adapter at one endpoint of this path.
 40821  	Adapter string `xml:"adapter" json:"adapter"`
 40822  	// The logical unit at one endpoint of this path.
 40823  	Lun string `xml:"lun" json:"lun"`
 40824  	// Transport information for the target end of the path.
 40825  	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
 40826  }
 40827  
 40828  func init() {
 40829  	t["HostMultipathInfoPath"] = reflect.TypeOf((*HostMultipathInfoPath)(nil)).Elem()
 40830  }
 40831  
 40832  // This data object type describes the state of storage paths on the host.
 40833  //
 40834  // All storage paths on the host are enumerated in this data object.
 40835  //
 40836  // The reason all path state information is encapsulated in this data
 40837  // object is because the path may actively change. This data object
 40838  // ensures that a request to gather path state changes only needs to
 40839  // fetch this data object.
 40840  type HostMultipathStateInfo struct {
 40841  	DynamicData
 40842  
 40843  	// List of paths on the system and their path states.
 40844  	Path []HostMultipathStateInfoPath `xml:"path,omitempty" json:"path,omitempty"`
 40845  }
 40846  
 40847  func init() {
 40848  	t["HostMultipathStateInfo"] = reflect.TypeOf((*HostMultipathStateInfo)(nil)).Elem()
 40849  }
 40850  
 40851  // Data object indicating state of storage path for a named path.
 40852  type HostMultipathStateInfoPath struct {
 40853  	DynamicData
 40854  
 40855  	// Name of path.
 40856  	//
 40857  	// Use this name to enable or disable storage paths `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
 40858  	//
 40859  	// In addition to being the identifier for the path state
 40860  	// operations, the name is used to correlate this object to the
 40861  	// corresponding Path object in other contexts.
 40862  	//
 40863  	// See also `HostPlugStoreTopologyPath.name`.
 40864  	Name string `xml:"name" json:"name"`
 40865  	// The state of the path.
 40866  	//
 40867  	// Must be one of the values of
 40868  	// `MultipathState_enum`.
 40869  	PathState string `xml:"pathState" json:"pathState"`
 40870  }
 40871  
 40872  func init() {
 40873  	t["HostMultipathStateInfoPath"] = reflect.TypeOf((*HostMultipathStateInfoPath)(nil)).Elem()
 40874  }
 40875  
 40876  type HostNasVolume struct {
 40877  	HostFileSystemVolume
 40878  
 40879  	// The host that runs the NFS/CIFS server.
 40880  	//
 40881  	// Clients must plan to use remoteHostNames for both NFS v3
 40882  	// as well as NFS v4.1 because this field remoteHost may be
 40883  	// deprecated in future.
 40884  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 40885  	// The remote path of NFS/CIFS mount point.
 40886  	RemotePath string `xml:"remotePath" json:"remotePath"`
 40887  	// In case of CIFS, the user name used while connecting to the server.
 40888  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 40889  	// This field will hold host names (or ip addresses) of all
 40890  	// remote hosts configured for the datastore.
 40891  	//
 40892  	// In case of NFS v3 it will have one hostname which will be
 40893  	// the same value as in remoteHost defined above.
 40894  	// In case of NFS v4.1 if the NFS Client detects additional
 40895  	// hostnames or ip addresses during its negotiations with the
 40896  	// NFS server, those additional host names (connections) will be
 40897  	// added to this list after the datastore is created.
 40898  	// Addition of hostnames to this list is limited to MDS server host names
 40899  	// or the IP addresses. In other words, the Data Server host names IP addresses
 40900  	// will not be appended to this list.
 40901  	RemoteHostNames []string `xml:"remoteHostNames,omitempty" json:"remoteHostNames,omitempty"`
 40902  	// Security type the volume is currently using.
 40903  	//
 40904  	// See `HostNasVolumeSecurityType_enum`
 40905  	SecurityType string `xml:"securityType,omitempty" json:"securityType,omitempty"`
 40906  	// Indicates that this NAS volume is protocol endpoint.
 40907  	//
 40908  	// This
 40909  	// property will be populated if and only if host supports
 40910  	// VirtualVolume based Datastore. Check the host capability
 40911  	// `HostCapability.virtualVolumeDatastoreSupported`.
 40912  	// See `HostProtocolEndpoint`.
 40913  	ProtocolEndpoint *bool `xml:"protocolEndpoint" json:"protocolEndpoint,omitempty"`
 40914  }
 40915  
 40916  func init() {
 40917  	t["HostNasVolume"] = reflect.TypeOf((*HostNasVolume)(nil)).Elem()
 40918  }
 40919  
 40920  // This describes the NAS Volume configuration containing
 40921  // the configurable properties on a NAS Volume
 40922  type HostNasVolumeConfig struct {
 40923  	DynamicData
 40924  
 40925  	// Indicates the change operation to apply on this configuration
 40926  	// specification.
 40927  	//
 40928  	// See also `HostConfigChangeOperation_enum`.
 40929  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 40930  	// The specification volume.
 40931  	Spec *HostNasVolumeSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 40932  }
 40933  
 40934  func init() {
 40935  	t["HostNasVolumeConfig"] = reflect.TypeOf((*HostNasVolumeConfig)(nil)).Elem()
 40936  }
 40937  
 40938  // Specification for creating NAS volume.
 40939  //
 40940  // When mounting a NAS volume on multiple hosts, the same remoteHost and remotePath
 40941  // values should be used on every host, otherwise it will be treated as different
 40942  // datastores. For example, if one host references the remotePath of a NAS volume
 40943  // as "/mnt/mount1" and another references it as "/mnt/mount1/", it will not be
 40944  // recognized as the same datastore.
 40945  type HostNasVolumeSpec struct {
 40946  	DynamicData
 40947  
 40948  	// The host that runs the NFS v3 or CIFS server.
 40949  	//
 40950  	// For NFS v4.1
 40951  	// and beyond use remoteHostNames defined later. The field remotehost
 40952  	// may be deprecated in future for NFS, so clients should plan to use the
 40953  	// property remoteHostNames to send in the host name(s) for both NFS v3
 40954  	// and v4.1
 40955  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 40956  	// The remote path of the NFS mount point.
 40957  	RemotePath string `xml:"remotePath" json:"remotePath"`
 40958  	// The localPath refers to the name of the NAS datastore to be created
 40959  	// using this specification.
 40960  	//
 40961  	// In the case of ESX Server, the datastore name is a component in the
 40962  	// file system path at which the NAS volume can be found. For example,
 40963  	// if localPath is set to "nas\_volume" the created NAS datastore will be
 40964  	// named "nas\_volume" and it can be accessed via the file system path
 40965  	// "/vmfs/volumes/nas\_volume".
 40966  	//
 40967  	// In the case of VMware Server, the localPath will also be used as the
 40968  	// datastore name, but the datastore name may not necessarily be
 40969  	// reflected in the file system path where the NAS volume may be
 40970  	// accessed.
 40971  	LocalPath string `xml:"localPath" json:"localPath"`
 40972  	// Access mode for the mount point.
 40973  	//
 40974  	// Mounting in read-write mode would be successful irregardless on
 40975  	// how the mount point is exported or access permissions. For
 40976  	// example, mounting a volume that is exported as read-only as
 40977  	// readWrite will succeed. Hence, that a readWrite mount succeeds
 40978  	// should not be taken as an indication that all files on a mount
 40979  	// is writable.
 40980  	//
 40981  	// If a file system is mounted readOnly, the system cannot create
 40982  	// or modify any files on the file system. This is mostly useful
 40983  	// for storing ISO images and templates, since a virtual machine
 40984  	// cannot be powered on from a readOnly volume.
 40985  	//
 40986  	// The access mode of a mounted NFS volume can be obtained at
 40987  	// `HostMountInfo.accessMode`.
 40988  	//
 40989  	// See also `HostMountMode_enum`.
 40990  	AccessMode string `xml:"accessMode" json:"accessMode"`
 40991  	// Specifies the type of the the NAS volume.
 40992  	//
 40993  	// Supported types are
 40994  	// `CIFS`,
 40995  	// `NFS`,
 40996  	// `NFS41`
 40997  	// If not specified, defaults to
 40998  	// `NFS`
 40999  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 41000  	// If type is CIFS, the user name to use when connecting to the
 41001  	// CIFS server.
 41002  	//
 41003  	// If type is NFS, this field will be ignored.
 41004  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 41005  	// If type is CIFS, the password to use when connecting to the
 41006  	// CIFS server.
 41007  	//
 41008  	// If type is NFS, this field will be ignored.
 41009  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 41010  	// Hostnames or IP addresses of remote NFS server.
 41011  	//
 41012  	// In case
 41013  	// of NFS v4.1 this may have multiple entries. For NFS v3 the
 41014  	// input should be same in both remoteHost and remoteHostNames.
 41015  	// In case of NFS v4.1, if vmknic binding is enabled,
 41016  	// then input can be in format {hostip1:vmknic1, hostip2:vmknic2}.
 41017  	RemoteHostNames []string `xml:"remoteHostNames,omitempty" json:"remoteHostNames,omitempty"`
 41018  	// Provided during mount indicating what security type,
 41019  	// if any, to use
 41020  	// See `HostNasVolumeSecurityType_enum`
 41021  	SecurityType string `xml:"securityType,omitempty" json:"securityType,omitempty"`
 41022  	// Name of the vmknic to be used by this mount.
 41023  	//
 41024  	// This field will be updated by a client with vmknic that will be used
 41025  	// for NAS volume mount operation for vmknic binding for NFSv3
 41026  	VmknicToBind string `xml:"vmknicToBind,omitempty" json:"vmknicToBind,omitempty" vim:"8.0.1.0"`
 41027  	// Indicates whether a client wants to bind this mount to vmknic.
 41028  	//
 41029  	// This field will be set to true by a client if vmknic should bind
 41030  	// during NAS volume mount operation for NFSv3
 41031  	// else it will be set to false
 41032  	VmknicBound *bool `xml:"vmknicBound" json:"vmknicBound,omitempty" vim:"8.0.1.0"`
 41033  	// Indicates the number of TCP connections for the particular
 41034  	// NFSv3 Server during NAS volume mount operation.
 41035  	//
 41036  	// If unset or set to 0, it defaults to one connection
 41037  	Connections int32 `xml:"connections,omitempty" json:"connections,omitempty" vim:"8.0.1.0"`
 41038  }
 41039  
 41040  func init() {
 41041  	t["HostNasVolumeSpec"] = reflect.TypeOf((*HostNasVolumeSpec)(nil)).Elem()
 41042  }
 41043  
 41044  // NFS user authentication information
 41045  type HostNasVolumeUserInfo struct {
 41046  	DynamicData
 41047  
 41048  	// User name for authentication.
 41049  	User string `xml:"user" json:"user"`
 41050  }
 41051  
 41052  func init() {
 41053  	t["HostNasVolumeUserInfo"] = reflect.TypeOf((*HostNasVolumeUserInfo)(nil)).Elem()
 41054  }
 41055  
 41056  // A network address translation (NAT) service instance provides
 41057  // firewall and network address translation services for a virtual
 41058  // network.
 41059  type HostNatService struct {
 41060  	DynamicData
 41061  
 41062  	// The instance ID of the NAT service.
 41063  	Key string `xml:"key" json:"key"`
 41064  	// The configurable properties for the NatService object.
 41065  	Spec HostNatServiceSpec `xml:"spec" json:"spec"`
 41066  }
 41067  
 41068  func init() {
 41069  	t["HostNatService"] = reflect.TypeOf((*HostNatService)(nil)).Elem()
 41070  }
 41071  
 41072  // This data object type describes the network address
 41073  // translation (NAT) service configuration
 41074  // representing both the configured properties
 41075  // on a NAT Service and identification information.
 41076  type HostNatServiceConfig struct {
 41077  	DynamicData
 41078  
 41079  	// Indicates the change operation to apply on this configuration
 41080  	// specification.
 41081  	//
 41082  	// See also `HostConfigChangeOperation_enum`.
 41083  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 41084  	// The instance ID of the NAT service.
 41085  	Key string `xml:"key" json:"key"`
 41086  	// The specification of the NAT service.
 41087  	Spec HostNatServiceSpec `xml:"spec" json:"spec"`
 41088  }
 41089  
 41090  func init() {
 41091  	t["HostNatServiceConfig"] = reflect.TypeOf((*HostNatServiceConfig)(nil)).Elem()
 41092  }
 41093  
 41094  // This data object type specifies the information for the
 41095  // name servers.
 41096  type HostNatServiceNameServiceSpec struct {
 41097  	DynamicData
 41098  
 41099  	// The flag to indicate whether or not the DNS server should
 41100  	// be automatically detected or specified explicitly.
 41101  	DnsAutoDetect bool `xml:"dnsAutoDetect" json:"dnsAutoDetect"`
 41102  	// The policy to use when multiple DNS addresses are available
 41103  	// on the host.
 41104  	DnsPolicy string `xml:"dnsPolicy" json:"dnsPolicy"`
 41105  	// The number of retries before giving up on a DNS request
 41106  	// from a virtual network.
 41107  	DnsRetries int32 `xml:"dnsRetries" json:"dnsRetries"`
 41108  	// The time (in seconds) before retrying a DNS request to an external
 41109  	// network.
 41110  	DnsTimeout int32 `xml:"dnsTimeout" json:"dnsTimeout"`
 41111  	// The list of DNS servers.
 41112  	DnsNameServer []string `xml:"dnsNameServer,omitempty" json:"dnsNameServer,omitempty"`
 41113  	// The time (in seconds) allotted for queries to the NetBIOS
 41114  	// Datagram Server (NBDS).
 41115  	NbdsTimeout int32 `xml:"nbdsTimeout" json:"nbdsTimeout"`
 41116  	// Number of retries for each query to the NBNS.
 41117  	NbnsRetries int32 `xml:"nbnsRetries" json:"nbnsRetries"`
 41118  	// The time (in seconds) allotted for queries to the NBNS.
 41119  	NbnsTimeout int32 `xml:"nbnsTimeout" json:"nbnsTimeout"`
 41120  }
 41121  
 41122  func init() {
 41123  	t["HostNatServiceNameServiceSpec"] = reflect.TypeOf((*HostNatServiceNameServiceSpec)(nil)).Elem()
 41124  }
 41125  
 41126  // This data object type describes the
 41127  // Network Address Translation (NAT) port forwarding specification.
 41128  type HostNatServicePortForwardSpec struct {
 41129  	DynamicData
 41130  
 41131  	// Either "tcp" or "udp".
 41132  	Type string `xml:"type" json:"type"`
 41133  	// The user-defined name to identify the service being forwarded.
 41134  	//
 41135  	// No white spaces are allowed in the string.
 41136  	Name string `xml:"name" json:"name"`
 41137  	// The port number on the host.
 41138  	//
 41139  	// Network traffic sent to the host on this
 41140  	// TCP/UDP port is forwarded to the guest at the specified IP address
 41141  	// and port.
 41142  	HostPort int32 `xml:"hostPort" json:"hostPort"`
 41143  	// The port number for the guest.
 41144  	//
 41145  	// Network traffic from the host is
 41146  	// forwarded to this port.
 41147  	GuestPort int32 `xml:"guestPort" json:"guestPort"`
 41148  	// The IP address for the guest.
 41149  	//
 41150  	// Network traffic from the host is
 41151  	// forwarded to this IP address.
 41152  	GuestIpAddress string `xml:"guestIpAddress" json:"guestIpAddress"`
 41153  }
 41154  
 41155  func init() {
 41156  	t["HostNatServicePortForwardSpec"] = reflect.TypeOf((*HostNatServicePortForwardSpec)(nil)).Elem()
 41157  }
 41158  
 41159  // This data object type provides the details about the
 41160  // Network Address Translation (NAT) service.
 41161  type HostNatServiceSpec struct {
 41162  	DynamicData
 41163  
 41164  	// The name of the virtual switch to which nat service is connected.
 41165  	VirtualSwitch string `xml:"virtualSwitch" json:"virtualSwitch"`
 41166  	// The flag to indicate whether or not non-passive mode FTP
 41167  	// connections should be allowed.
 41168  	ActiveFtp bool `xml:"activeFtp" json:"activeFtp"`
 41169  	// The flag to indicate whether or not the NAT
 41170  	// Service allows media access control traffic from any
 41171  	// Organizational Unique Identifier (OUI)?
 41172  	// By default, it does not allow traffic that originated
 41173  	// from the host to avoid packet loops.
 41174  	AllowAnyOui bool `xml:"allowAnyOui" json:"allowAnyOui"`
 41175  	// The flag to indicate whether or not the NAT Service
 41176  	// should open a configuration port.
 41177  	ConfigPort bool `xml:"configPort" json:"configPort"`
 41178  	// The IP address that the NAT Service should use on
 41179  	// the virtual network.
 41180  	IpGatewayAddress string `xml:"ipGatewayAddress" json:"ipGatewayAddress"`
 41181  	// The time allotted for UDP packets.
 41182  	UdpTimeout int32 `xml:"udpTimeout" json:"udpTimeout"`
 41183  	// The port forwarding specifications to allow network
 41184  	// connections to be initiated from outside the firewall.
 41185  	PortForward []HostNatServicePortForwardSpec `xml:"portForward,omitempty" json:"portForward,omitempty"`
 41186  	// The configuration of naming services.
 41187  	//
 41188  	// These parameters are
 41189  	// specific to Windows.
 41190  	NameService *HostNatServiceNameServiceSpec `xml:"nameService,omitempty" json:"nameService,omitempty"`
 41191  }
 41192  
 41193  func init() {
 41194  	t["HostNatServiceSpec"] = reflect.TypeOf((*HostNatServiceSpec)(nil)).Elem()
 41195  }
 41196  
 41197  // Capability vector indicating the available product features.
 41198  type HostNetCapabilities struct {
 41199  	DynamicData
 41200  
 41201  	// The flag to indicate whether or not a physical network
 41202  	// adapter's link speed and duplex settings can be changed through
 41203  	// this API.
 41204  	//
 41205  	// For a hosted product, the host uses its physical network
 41206  	// adapters for network connectivity. Configuration of link speed is
 41207  	// done through regular host operations. In ESX Server, the configuration
 41208  	// can be changed through this API.
 41209  	CanSetPhysicalNicLinkSpeed bool `xml:"canSetPhysicalNicLinkSpeed" json:"canSetPhysicalNicLinkSpeed"`
 41210  	// The flag to indicate whether or not network adapter teaming is
 41211  	// available.
 41212  	//
 41213  	// Multiple network adapters can be bridged to a
 41214  	// virtual switch through a BondBridge. Also, network adapter teaming
 41215  	// policies such as failover order and detection are enabled.
 41216  	SupportsNicTeaming bool `xml:"supportsNicTeaming" json:"supportsNicTeaming"`
 41217  	// The available teaming policies if the platform supports network
 41218  	// adapter teaming.
 41219  	NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty" json:"nicTeamingPolicy,omitempty"`
 41220  	// The flag to indicate whether or not VLANs can be configured on
 41221  	// PortGroups attached to VirtualSwitch objects.
 41222  	//
 41223  	// This allows VLANs for virtual machines without requiring special VLAN
 41224  	// capable hardware switches.
 41225  	SupportsVlan bool `xml:"supportsVlan" json:"supportsVlan"`
 41226  	// The flag to indicate whether or not a service
 41227  	// console network adapter
 41228  	// is used or required.
 41229  	//
 41230  	// This means that the system
 41231  	// software has two TCP/IP stacks. As a result, at least two types of
 41232  	// VirtualNics may be created -- the normal VirtualNic and the service
 41233  	// console VirtualNic. If this is not set, then only the VirtualNic type is
 41234  	// supported.
 41235  	UsesServiceConsoleNic bool `xml:"usesServiceConsoleNic" json:"usesServiceConsoleNic"`
 41236  	// The flag to indicate whether or not the host is able
 41237  	// to support
 41238  	// the querying of network hints.
 41239  	SupportsNetworkHints bool `xml:"supportsNetworkHints" json:"supportsNetworkHints"`
 41240  	// The maximum number of port groups supported per virtual switch.
 41241  	//
 41242  	// This property will not be set if this value is unlimited.
 41243  	MaxPortGroupsPerVswitch int32 `xml:"maxPortGroupsPerVswitch,omitempty" json:"maxPortGroupsPerVswitch,omitempty"`
 41244  	// The flag to indicate whether virtual switch configuration is
 41245  	// supported.
 41246  	//
 41247  	// This means that operations to add, remove, update virtual
 41248  	// switches are supported.
 41249  	VswitchConfigSupported bool `xml:"vswitchConfigSupported" json:"vswitchConfigSupported"`
 41250  	// The flag to indicate whether Virtual NIC configuration is supported.
 41251  	//
 41252  	// This means that operations to add, remove, update virtualNic are
 41253  	// supported.
 41254  	VnicConfigSupported bool `xml:"vnicConfigSupported" json:"vnicConfigSupported"`
 41255  	// The flag to indicate whether ip route configuration for the host
 41256  	// is supported.
 41257  	IpRouteConfigSupported bool `xml:"ipRouteConfigSupported" json:"ipRouteConfigSupported"`
 41258  	// The flag to indicate whether DNS configuration for the host is
 41259  	// supported.
 41260  	DnsConfigSupported bool `xml:"dnsConfigSupported" json:"dnsConfigSupported"`
 41261  	// This flag indicates whether or not the host is able to support
 41262  	// dhcp configuration for vnics.
 41263  	DhcpOnVnicSupported bool `xml:"dhcpOnVnicSupported" json:"dhcpOnVnicSupported"`
 41264  	// The flag to indicate whether the host is capable of communicating
 41265  	// using ipv6 protocol
 41266  	IpV6Supported *bool `xml:"ipV6Supported" json:"ipV6Supported,omitempty"`
 41267  	// The flag to indicate whether the host supports Backup NFC NIOC system
 41268  	// traffic, Unset means Backup NFC NIOC system traffic is not supported.
 41269  	BackupNfcNiocSupported *bool `xml:"backupNfcNiocSupported" json:"backupNfcNiocSupported,omitempty" vim:"7.0.1.0"`
 41270  }
 41271  
 41272  func init() {
 41273  	t["HostNetCapabilities"] = reflect.TypeOf((*HostNetCapabilities)(nil)).Elem()
 41274  }
 41275  
 41276  // Deprecated as of VI API 4.0, the system defaults will be used.
 41277  //
 41278  // Offload capabilities are used to optimize virtual machine network
 41279  // performance.
 41280  //
 41281  // When a virtual machine is transmitting on a network,
 41282  // some operations can be offloaded either to the host or to physical
 41283  // hardware. This data object type defines the set of offload capabilities
 41284  // that may be available on a host.
 41285  //
 41286  // This data object type is used both to publish the list of offload capabilities
 41287  // and to contain offload capability policy settings. The network
 41288  // policy logic is built on a two-level inheritance scheme which
 41289  // requires that all settings be optional. As a result, all properties
 41290  // on the NetOffloadCapabilities object must be optional.
 41291  //
 41292  // See also `HostNetworkPolicy`.
 41293  type HostNetOffloadCapabilities struct {
 41294  	DynamicData
 41295  
 41296  	// (Optional) The flag to indicate whether or not checksum
 41297  	// offloading is supported.
 41298  	CsumOffload *bool `xml:"csumOffload" json:"csumOffload,omitempty"`
 41299  	// (Optional) The flag to indicate whether or not TCP segmentation
 41300  	// offloading (TSO) is supported.
 41301  	TcpSegmentation *bool `xml:"tcpSegmentation" json:"tcpSegmentation,omitempty"`
 41302  	// (Optional) The flag to indicate whether or not zero copy
 41303  	// transmits are supported.
 41304  	ZeroCopyXmit *bool `xml:"zeroCopyXmit" json:"zeroCopyXmit,omitempty"`
 41305  }
 41306  
 41307  func init() {
 41308  	t["HostNetOffloadCapabilities"] = reflect.TypeOf((*HostNetOffloadCapabilities)(nil)).Elem()
 41309  }
 41310  
 41311  // This class describes Network Stack Instance configuration
 41312  type HostNetStackInstance struct {
 41313  	DynamicData
 41314  
 41315  	// Key of instance
 41316  	// For instance which created by host, its value should be `HostNetStackInstanceSystemStackKey_enum`.
 41317  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 41318  	// The display name
 41319  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 41320  	// DNS configuration
 41321  	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
 41322  	// IP Route configuration
 41323  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 41324  	// The maximum number of socket connection that are requested on this instance
 41325  	RequestedMaxNumberOfConnections int32 `xml:"requestedMaxNumberOfConnections,omitempty" json:"requestedMaxNumberOfConnections,omitempty"`
 41326  	// The TCP congest control algorithm used by this instance,
 41327  	// See `HostNetStackInstanceCongestionControlAlgorithmType_enum` for valid values.
 41328  	CongestionControlAlgorithm string `xml:"congestionControlAlgorithm,omitempty" json:"congestionControlAlgorithm,omitempty"`
 41329  	// Enable or disable IPv6 protocol on this stack instance.
 41330  	//
 41331  	// This property is not supported currently.
 41332  	IpV6Enabled      *bool                   `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty"`
 41333  	RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty" json:"routeTableConfig,omitempty"`
 41334  	// Owner of this stack instance.
 41335  	//
 41336  	// It is only valid for showing system
 41337  	// net stack instance. The unset means not owned by the system.
 41338  	// See `HostConfigChangeOwner_enum` for supported values.
 41339  	Owner string `xml:"owner,omitempty" json:"owner,omitempty" vim:"9.0.0.0"`
 41340  }
 41341  
 41342  func init() {
 41343  	t["HostNetStackInstance"] = reflect.TypeOf((*HostNetStackInstance)(nil)).Elem()
 41344  }
 41345  
 41346  // This data object type describes networking host configuration data objects.
 41347  //
 41348  // These objects contain only the configuration information for networking.
 41349  // The runtime information is available from the
 41350  // `NetworkInfo` data object type.
 41351  //
 41352  // See also `HostNetworkInfo`.
 41353  type HostNetworkConfig struct {
 41354  	DynamicData
 41355  
 41356  	// Virtual switches configured on the host.
 41357  	Vswitch []HostVirtualSwitchConfig `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 41358  	// Host proxy switches configured on the host.
 41359  	ProxySwitch []HostProxySwitchConfig `xml:"proxySwitch,omitempty" json:"proxySwitch,omitempty"`
 41360  	// Port groups configured on the host.
 41361  	Portgroup []HostPortGroupConfig `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 41362  	// Physical network adapters as seen by the primary operating system.
 41363  	Pnic []PhysicalNicConfig `xml:"pnic,omitempty" json:"pnic,omitempty"`
 41364  	// Virtual network adapters configured for use by the host
 41365  	// operating system network adapter.
 41366  	Vnic []HostVirtualNicConfig `xml:"vnic,omitempty" json:"vnic,omitempty"`
 41367  	// Virtual network adapters configured for use by the Service
 41368  	// Console.
 41369  	ConsoleVnic []HostVirtualNicConfig `xml:"consoleVnic,omitempty" json:"consoleVnic,omitempty"`
 41370  	// Deprecated as of vSphere API 5.5, which is moved to
 41371  	// the default NetStackInstance.
 41372  	//
 41373  	// Client-side DNS configuration for the host.
 41374  	//
 41375  	// The DNS configuration is
 41376  	// global to the entire host.
 41377  	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
 41378  	// Deprecated as of vSphere API 5.5, which is moved to
 41379  	// the default NetStackInstance.
 41380  	//
 41381  	// IP route configuration of the host.
 41382  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 41383  	// IP route configuration of the service console.
 41384  	ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr" json:"consoleIpRouteConfig,omitempty"`
 41385  	// Deprecated as of vSphere API 5.5, which is moved to
 41386  	// the default NetStackInstance.
 41387  	//
 41388  	// IP routing table configuration of the host.
 41389  	RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty" json:"routeTableConfig,omitempty"`
 41390  	// Dynamic Host Control Protocol (DHCP) Service instances configured
 41391  	// on the host.
 41392  	Dhcp []HostDhcpServiceConfig `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 41393  	// Network address translation (NAT) Service instances configured
 41394  	// on the host.
 41395  	Nat []HostNatServiceConfig `xml:"nat,omitempty" json:"nat,omitempty"`
 41396  	// Enable or disable IPv6 protocol on this system.
 41397  	//
 41398  	// This property must be set by itself, no other property can accompany
 41399  	// this change. Following the successful change, the system should be rebooted to
 41400  	// have the change take effect.
 41401  	IpV6Enabled *bool `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty"`
 41402  	// The list of network stack instance spec
 41403  	NetStackSpec []HostNetworkConfigNetStackSpec `xml:"netStackSpec,omitempty" json:"netStackSpec,omitempty"`
 41404  	// Current status of NVDS to VDS migration.
 41405  	//
 41406  	// See `HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum`
 41407  	// for supported values.
 41408  	MigrationStatus string `xml:"migrationStatus,omitempty" json:"migrationStatus,omitempty" vim:"7.0.2.0"`
 41409  }
 41410  
 41411  func init() {
 41412  	t["HostNetworkConfig"] = reflect.TypeOf((*HostNetworkConfig)(nil)).Elem()
 41413  }
 41414  
 41415  // This data type describes Network Stack Spec
 41416  type HostNetworkConfigNetStackSpec struct {
 41417  	DynamicData
 41418  
 41419  	// Network stack instance
 41420  	NetStackInstance HostNetStackInstance `xml:"netStackInstance" json:"netStackInstance"`
 41421  	// Operation type, see
 41422  	// `ConfigSpecOperation_enum` for valid values.
 41423  	//
 41424  	// Only edit operation is supported currently.
 41425  	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
 41426  }
 41427  
 41428  func init() {
 41429  	t["HostNetworkConfigNetStackSpec"] = reflect.TypeOf((*HostNetworkConfigNetStackSpec)(nil)).Elem()
 41430  }
 41431  
 41432  // The result returned by updateNetworkConfig call.
 41433  //
 41434  // See also `HostNetworkSystem.UpdateNetworkConfig`.
 41435  type HostNetworkConfigResult struct {
 41436  	DynamicData
 41437  
 41438  	// Virtual network adapter keys.
 41439  	VnicDevice []string `xml:"vnicDevice,omitempty" json:"vnicDevice,omitempty"`
 41440  	// Service console virtual network adapter keys.
 41441  	ConsoleVnicDevice []string `xml:"consoleVnicDevice,omitempty" json:"consoleVnicDevice,omitempty"`
 41442  }
 41443  
 41444  func init() {
 41445  	t["HostNetworkConfigResult"] = reflect.TypeOf((*HostNetworkConfigResult)(nil)).Elem()
 41446  }
 41447  
 41448  // This data object type describes networking host
 41449  // configuration data objects.
 41450  type HostNetworkInfo struct {
 41451  	DynamicData
 41452  
 41453  	// Virtual switches configured on the host.
 41454  	Vswitch []HostVirtualSwitch `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 41455  	// Proxy switches configured on the host.
 41456  	ProxySwitch []HostProxySwitch `xml:"proxySwitch,omitempty" json:"proxySwitch,omitempty"`
 41457  	// Port groups configured on the host.
 41458  	Portgroup []HostPortGroup `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 41459  	// Physical network adapters as seen by the primary operating system.
 41460  	Pnic []PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
 41461  	// Remote direct memory access devices, if any are present on the host.
 41462  	RdmaDevice []HostRdmaDevice `xml:"rdmaDevice,omitempty" json:"rdmaDevice,omitempty"`
 41463  	// Virtual network adapters configured on the host (hosted products)
 41464  	// or the vmkernel.
 41465  	//
 41466  	// In the hosted architecture, these network adapters are used by the
 41467  	// host to
 41468  	// communicate with the virtual machines running on that host. In the
 41469  	// VMkernel architecture, these virtual network adapters provide the
 41470  	// ESX Server with
 41471  	// external network access through a virtual switch that is bridged to a
 41472  	// physical network adapter. The VMkernel uses these network adapters
 41473  	// for features such as VMotion, NAS, iSCSI, and remote MKS connections.
 41474  	Vnic []HostVirtualNic `xml:"vnic,omitempty" json:"vnic,omitempty"`
 41475  	// Virtual network adapters configured for use by the service console.
 41476  	//
 41477  	// The service
 41478  	// console uses this network access for system management and bootstrapping
 41479  	// services like network boot.
 41480  	// The two sets of virtual network adapters are mutually exclusive.
 41481  	// A virtual network adapter
 41482  	// in this list cannot be used for things like VMotion. Likewise, a
 41483  	// virtual network adapter in the other list cannot be used by the
 41484  	// service console.
 41485  	ConsoleVnic []HostVirtualNic `xml:"consoleVnic,omitempty" json:"consoleVnic,omitempty"`
 41486  	// Deprecated as of vSphere API 5.5, which is moved to
 41487  	// each NetStackInstance. For this property in NetworkInfo,
 41488  	// Get operation will only return its value of default NetStackInstance.
 41489  	//
 41490  	// Client-side DNS configuration.
 41491  	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
 41492  	// Deprecated as of vSphere API 5.5, which is moved to
 41493  	// each NetStackInstance. For this property in NetworkInfo,
 41494  	// Get operation will only return its value of default NetStackInstance.
 41495  	//
 41496  	// IP route configuration.
 41497  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 41498  	// IP route configuration of the service console.
 41499  	ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr" json:"consoleIpRouteConfig,omitempty"`
 41500  	// Deprecated as of vSphere API 5.5, which is moved to
 41501  	// each NetStackInstance. For this property in NetworkInfo,
 41502  	// Get operation will only return its value of default NetStackInstance.
 41503  	//
 41504  	// IP routing table
 41505  	RouteTableInfo *HostIpRouteTableInfo `xml:"routeTableInfo,omitempty" json:"routeTableInfo,omitempty"`
 41506  	// DHCP Service instances configured on the host.
 41507  	Dhcp []HostDhcpService `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 41508  	// NAT service instances configured on the host.
 41509  	Nat []HostNatService `xml:"nat,omitempty" json:"nat,omitempty"`
 41510  	// Enable or disable IPv6 protocol on this system.
 41511  	IpV6Enabled *bool `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty"`
 41512  	// If true then dual IPv4/IPv6 stack enabled else IPv4 only.
 41513  	AtBootIpV6Enabled *bool `xml:"atBootIpV6Enabled" json:"atBootIpV6Enabled,omitempty"`
 41514  	// List of NetStackInstances
 41515  	NetStackInstance []HostNetStackInstance `xml:"netStackInstance,omitempty" json:"netStackInstance,omitempty"`
 41516  	// List of opaque switches configured on the host.
 41517  	OpaqueSwitch []HostOpaqueSwitch `xml:"opaqueSwitch,omitempty" json:"opaqueSwitch,omitempty"`
 41518  	// List of opaque networks
 41519  	OpaqueNetwork []HostOpaqueNetworkInfo `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty"`
 41520  	// The nsx transport node Id
 41521  	NsxTransportNodeId string `xml:"nsxTransportNodeId,omitempty" json:"nsxTransportNodeId,omitempty"`
 41522  	// Whether NSX N-VDS to VDS migration is required
 41523  	NvdsToVdsMigrationRequired *bool `xml:"nvdsToVdsMigrationRequired" json:"nvdsToVdsMigrationRequired,omitempty" vim:"7.0.2.0"`
 41524  	// Current status of NVDS to VDS migration.
 41525  	//
 41526  	// See `HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum`
 41527  	// for supported values.
 41528  	MigrationStatus string `xml:"migrationStatus,omitempty" json:"migrationStatus,omitempty" vim:"7.0.2.0"`
 41529  }
 41530  
 41531  func init() {
 41532  	t["HostNetworkInfo"] = reflect.TypeOf((*HostNetworkInfo)(nil)).Elem()
 41533  }
 41534  
 41535  // This data object type describes network policies that can be configured for
 41536  // both virtual switches and port groups.
 41537  //
 41538  // The policy settings on the
 41539  // port group can inherit policy settings from their containing virtual
 41540  // switch. These policy settings are inherited if
 41541  // the settings on the port group are not set. Since every policy
 41542  // setting on a port group is optional, every individual policy setting
 41543  // can be inherited.
 41544  //
 41545  // By contrast, if a host is capable of implementing a policy setting, every
 41546  // virtual switch has some value assigned to the policy setting. In this
 41547  // case, although all of the policy settings are optional,
 41548  // they always have some value either by inheritance or by direct
 41549  // setting.
 41550  //
 41551  // Policy settings are organized into policy groups such as SecurityPolicy.
 41552  // Policy groups are optional since it is possible that a host may not implement
 41553  // such policies. If a host does not support a policy group, the policy group
 41554  // is not set on both the virtual switches and the port groups.
 41555  //
 41556  // See also `HostNetCapabilities`.
 41557  type HostNetworkPolicy struct {
 41558  	DynamicData
 41559  
 41560  	// The security policy governing ports on this virtual switch.
 41561  	Security *HostNetworkSecurityPolicy `xml:"security,omitempty" json:"security,omitempty"`
 41562  	// The network adapter teaming policy.
 41563  	//
 41564  	// The bridge must be BondBridge
 41565  	// for this property to be valid.
 41566  	NicTeaming *HostNicTeamingPolicy `xml:"nicTeaming,omitempty" json:"nicTeaming,omitempty"`
 41567  	// Deprecated as of VI API 4.0, the system defaults will be used.
 41568  	//
 41569  	// Offload capabilities are used to optimize virtual machine network
 41570  	// performance.
 41571  	//
 41572  	// When a virtual machine is transmitting on a network,
 41573  	// some operations can be offloaded to either the host or the physical
 41574  	// hardware. This policy indicates what networking related operations
 41575  	// should be offloaded.
 41576  	//
 41577  	// All virtual machines using this PortGroup are subject to this
 41578  	// policy. There is no setting for an individual virtual machine
 41579  	// to determine if an operation should be offloaded.
 41580  	OffloadPolicy *HostNetOffloadCapabilities `xml:"offloadPolicy,omitempty" json:"offloadPolicy,omitempty"`
 41581  	// The traffic shaping policy.
 41582  	ShapingPolicy *HostNetworkTrafficShapingPolicy `xml:"shapingPolicy,omitempty" json:"shapingPolicy,omitempty"`
 41583  }
 41584  
 41585  func init() {
 41586  	t["HostNetworkPolicy"] = reflect.TypeOf((*HostNetworkPolicy)(nil)).Elem()
 41587  }
 41588  
 41589  // This data type describes the network resource runtime information
 41590  type HostNetworkResourceRuntime struct {
 41591  	DynamicData
 41592  
 41593  	// The network resource related information on each
 41594  	// physical NIC
 41595  	PnicResourceInfo []HostPnicNetworkResourceInfo `xml:"pnicResourceInfo" json:"pnicResourceInfo"`
 41596  }
 41597  
 41598  func init() {
 41599  	t["HostNetworkResourceRuntime"] = reflect.TypeOf((*HostNetworkResourceRuntime)(nil)).Elem()
 41600  }
 41601  
 41602  // This data object type describes security policy governing ports.
 41603  type HostNetworkSecurityPolicy struct {
 41604  	DynamicData
 41605  
 41606  	// The flag to indicate whether or not all traffic is seen
 41607  	// on the port.
 41608  	AllowPromiscuous *bool `xml:"allowPromiscuous" json:"allowPromiscuous,omitempty"`
 41609  	// The flag to indicate whether or not the Media Access
 41610  	// Control (MAC) address can be changed.
 41611  	MacChanges *bool `xml:"macChanges" json:"macChanges,omitempty"`
 41612  	// The flag to indicate whether or not the virtual network adapter
 41613  	// should be allowed to send network traffic with a different MAC
 41614  	// address than that of the virtual network adapter.
 41615  	ForgedTransmits *bool `xml:"forgedTransmits" json:"forgedTransmits,omitempty"`
 41616  }
 41617  
 41618  func init() {
 41619  	t["HostNetworkSecurityPolicy"] = reflect.TypeOf((*HostNetworkSecurityPolicy)(nil)).Elem()
 41620  }
 41621  
 41622  // This data object type describes traffic shaping policy.
 41623  type HostNetworkTrafficShapingPolicy struct {
 41624  	DynamicData
 41625  
 41626  	// The flag to indicate whether or not traffic shaper is enabled on
 41627  	// the port.
 41628  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 41629  	// The average bandwidth in bits per second if shaping is enabled on
 41630  	// the port.
 41631  	AverageBandwidth int64 `xml:"averageBandwidth,omitempty" json:"averageBandwidth,omitempty"`
 41632  	// The peak bandwidth during bursts in bits per second if traffic
 41633  	// shaping is enabled on the port.
 41634  	PeakBandwidth int64 `xml:"peakBandwidth,omitempty" json:"peakBandwidth,omitempty"`
 41635  	// The maximum burst size allowed in bytes if shaping is enabled on
 41636  	// the port.
 41637  	BurstSize int64 `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
 41638  }
 41639  
 41640  func init() {
 41641  	t["HostNetworkTrafficShapingPolicy"] = reflect.TypeOf((*HostNetworkTrafficShapingPolicy)(nil)).Elem()
 41642  }
 41643  
 41644  // Network information for a network that will be added to VirtualCenter when the
 41645  // host is added.
 41646  type HostNewNetworkConnectInfo struct {
 41647  	HostConnectInfoNetworkInfo
 41648  }
 41649  
 41650  func init() {
 41651  	t["HostNewNetworkConnectInfo"] = reflect.TypeOf((*HostNewNetworkConnectInfo)(nil)).Elem()
 41652  }
 41653  
 41654  // NfcConnectionInfo contains information about an NFC connection on the host.
 41655  type HostNfcConnectionInfo struct {
 41656  	HostDataTransportConnectionInfo
 41657  
 41658  	// NFC streaming memory used by the connection in bytes.
 41659  	StreamingMemoryConsumed int64 `xml:"streamingMemoryConsumed,omitempty" json:"streamingMemoryConsumed,omitempty"`
 41660  }
 41661  
 41662  func init() {
 41663  	t["HostNfcConnectionInfo"] = reflect.TypeOf((*HostNfcConnectionInfo)(nil)).Elem()
 41664  	minAPIVersionForType["HostNfcConnectionInfo"] = "7.0.3.0"
 41665  }
 41666  
 41667  // This data object type describes the network adapter failover
 41668  // detection algorithm for a network adapter team.
 41669  type HostNicFailureCriteria struct {
 41670  	DynamicData
 41671  
 41672  	// Deprecated as of VI API 5.1, this property is not supported.
 41673  	//
 41674  	// To use link speed as the criteria, _checkSpeed_ must be one of
 41675  	// the following values:
 41676  	//   - `*exact*`: Use exact speed to detect link failure.
 41677  	//     `*speed*` is the configured exact speed in megabits per second.
 41678  	//   - `*minimum*`: Use minimum speed to detect failure.
 41679  	//     `*speed*` is the configured minimum speed in megabits per second.
 41680  	//   - **empty string**: Do not use link speed to detect failure.
 41681  	//     `*speed*` is unused in this case.
 41682  	CheckSpeed string `xml:"checkSpeed,omitempty" json:"checkSpeed,omitempty"`
 41683  	// Deprecated as of VI API 5.1, this property is not supported.
 41684  	//
 41685  	// Speed.
 41686  	//
 41687  	// See also `HostNicFailureCriteria.checkSpeed`.
 41688  	Speed int32 `xml:"speed,omitempty" json:"speed,omitempty"`
 41689  	// Deprecated as of VI API 5.1, this property is not supported.
 41690  	//
 41691  	// The flag to indicate whether or not to use the link duplex reported
 41692  	// by the driver as link selection criteria.
 41693  	//
 41694  	// If `*checkDuplex*` is true, then fullDuplex is the configured
 41695  	// duplex mode. The link is considered bad if the link duplex reported
 41696  	// by driver is not the same as fullDuplex.
 41697  	//
 41698  	// If `*checkDuplex*` is false, then fullDuplex is unused, and
 41699  	// link duplexity is not used as a detection method.
 41700  	CheckDuplex *bool `xml:"checkDuplex" json:"checkDuplex,omitempty"`
 41701  	// Deprecated as of VI API 5.1, this property is not supported.
 41702  	//
 41703  	// Full duplex.
 41704  	//
 41705  	// See also `HostNicFailureCriteria.checkDuplex`.
 41706  	FullDuplex *bool `xml:"fullDuplex" json:"fullDuplex,omitempty"`
 41707  	// Deprecated as of VI API 5.1, this property is not supported.
 41708  	//
 41709  	// The flag to indicate whether or not to use link error percentage
 41710  	// to detect failure.
 41711  	//
 41712  	// If `*checkErrorPercent*` is true, then percentage is the configured
 41713  	// error percentage that is tolerated. The link is considered bad
 41714  	// if error rate exceeds percentage.
 41715  	//
 41716  	// If `*checkErrorPercent*` is false, percentage is unused, and
 41717  	// error percentage is not used as a detection method.
 41718  	CheckErrorPercent *bool `xml:"checkErrorPercent" json:"checkErrorPercent,omitempty"`
 41719  	// Deprecated as of VI API 5.1, this property is not supported.
 41720  	//
 41721  	// Percentage.
 41722  	//
 41723  	// See also `HostNicFailureCriteria.checkErrorPercent`.
 41724  	Percentage int32 `xml:"percentage,omitempty" json:"percentage,omitempty"`
 41725  	// The flag to indicate whether or not to enable this property to
 41726  	// enable beacon probing as a method to validate
 41727  	// the link status of a physical network adapter.
 41728  	//
 41729  	// `*checkBeacon*` can be enabled only if the VirtualSwitch has been
 41730  	// configured to use the beacon. Attempting to set `*checkBeacon*`
 41731  	// on a PortGroup or VirtualSwitch that does not have beacon probing
 41732  	// configured for the applicable VirtualSwitch results in an error.
 41733  	//
 41734  	// See also `HostVirtualSwitchBondBridge.beacon`, `HostVirtualSwitchBeaconConfig`.
 41735  	CheckBeacon *bool `xml:"checkBeacon" json:"checkBeacon,omitempty"`
 41736  }
 41737  
 41738  func init() {
 41739  	t["HostNicFailureCriteria"] = reflect.TypeOf((*HostNicFailureCriteria)(nil)).Elem()
 41740  }
 41741  
 41742  // This data object type describes network adapter ordering policy for a
 41743  // network adapter team.
 41744  //
 41745  // A physical network adapter can be in the active
 41746  // list, the standby list, or neither. It cannot be in both lists.
 41747  // For a virtual switch, the NicOrderPolicy property is never null when
 41748  // retrieved from the server. When creating a new virtual switch or
 41749  // updating an existing virtual switch, the NicOrderPolicy can be null,
 41750  // in which case the default NicOrderPolicy from the server will be
 41751  // used.
 41752  // For a portgroup, a null NicOrderPolicy property means the portgroup
 41753  // inherits the policy from its parent. Otherwise, the NicOrderPolicy
 41754  // property defined in the portgroup takes precedence.
 41755  // In all cases where the NicOrderPolicy property is set, an empty
 41756  // activeNic array means there are no active Ethernet adapters in the team. An
 41757  // empty standbyNic array means there are no standby Ethernet adapters.
 41758  type HostNicOrderPolicy struct {
 41759  	DynamicData
 41760  
 41761  	// List of active network adapters used for load balancing.
 41762  	ActiveNic []string `xml:"activeNic,omitempty" json:"activeNic,omitempty"`
 41763  	// Standby network adapters used for failover.
 41764  	StandbyNic []string `xml:"standbyNic,omitempty" json:"standbyNic,omitempty"`
 41765  }
 41766  
 41767  func init() {
 41768  	t["HostNicOrderPolicy"] = reflect.TypeOf((*HostNicOrderPolicy)(nil)).Elem()
 41769  }
 41770  
 41771  // Policy for a network adapter team.
 41772  type HostNicTeamingPolicy struct {
 41773  	DynamicData
 41774  
 41775  	// Network adapter teaming policy includes failover and load balancing,
 41776  	// It can be one of the following:
 41777  	//   - `*loadbalance\_ip*`: route based on ip hash.
 41778  	//   - `*loadbalance\_srcmac*`: route based on source MAC hash.
 41779  	//   - `*loadbalance\_srcid*`: route based on the source of the port ID.
 41780  	//   - `*failover\_explicit*`: use explicit failover order.
 41781  	//
 41782  	// See also `HostNetCapabilities.nicTeamingPolicy`.
 41783  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 41784  	// Deprecated as of VI API 5.1, the system default (true) will be used.
 41785  	//
 41786  	// The flag to indicate whether or not the teaming policy is applied
 41787  	// to inbound frames as well.
 41788  	//
 41789  	// For example, if the policy is explicit failover, a broadcast request goes
 41790  	// through uplink1 and comes back through uplink2. Then if the
 41791  	// reverse policy is set, the frame is dropped when it is
 41792  	// received from
 41793  	// uplink2. This reverse policy is useful to prevent the virtual machine
 41794  	// from getting reflections.
 41795  	ReversePolicy *bool `xml:"reversePolicy" json:"reversePolicy,omitempty"`
 41796  	// Flag to specify whether or not to notify the physical switch
 41797  	// if a link fails.
 41798  	//
 41799  	// If this property is true, ESX Server will
 41800  	// respond to the failure by sending a RARP packet from a different
 41801  	// physical adapter, causing the switch to update its cache.
 41802  	NotifySwitches *bool `xml:"notifySwitches" json:"notifySwitches,omitempty"`
 41803  	// The flag to indicate whether or not to use a rolling policy when
 41804  	// restoring links.
 41805  	//
 41806  	// For example, assume the explicit link order is
 41807  	// (vmnic9, vmnic0), therefore vmnic9 goes down, vmnic0 comes
 41808  	// up. However, when vmnic9 comes backup, if rollingOrder is set
 41809  	// to be true, vmnic0 continues to be used, otherwise, vmnic9
 41810  	// is restored as specified in the explicitly order.
 41811  	RollingOrder *bool `xml:"rollingOrder" json:"rollingOrder,omitempty"`
 41812  	// Failover detection policy for this network adapter team.
 41813  	//
 41814  	// The bridge must be BondBridge for this property to be valid.
 41815  	FailureCriteria *HostNicFailureCriteria `xml:"failureCriteria,omitempty" json:"failureCriteria,omitempty"`
 41816  	// Failover order policy for network adapters on this switch.
 41817  	//
 41818  	// The bridge must be BondBridge for this property to be valid.
 41819  	NicOrder *HostNicOrderPolicy `xml:"nicOrder,omitempty" json:"nicOrder,omitempty"`
 41820  }
 41821  
 41822  func init() {
 41823  	t["HostNicTeamingPolicy"] = reflect.TypeOf((*HostNicTeamingPolicy)(nil)).Elem()
 41824  }
 41825  
 41826  // This event records the fact that a host does not have any available networks
 41827  // for HA communication
 41828  type HostNoAvailableNetworksEvent struct {
 41829  	HostDasEvent
 41830  
 41831  	// The comma-separated list of used networks
 41832  	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
 41833  }
 41834  
 41835  func init() {
 41836  	t["HostNoAvailableNetworksEvent"] = reflect.TypeOf((*HostNoAvailableNetworksEvent)(nil)).Elem()
 41837  }
 41838  
 41839  // This event records the fact that a host does not have any HA-enabled port
 41840  // groups
 41841  type HostNoHAEnabledPortGroupsEvent struct {
 41842  	HostDasEvent
 41843  }
 41844  
 41845  func init() {
 41846  	t["HostNoHAEnabledPortGroupsEvent"] = reflect.TypeOf((*HostNoHAEnabledPortGroupsEvent)(nil)).Elem()
 41847  }
 41848  
 41849  // This event records the fact that a host does not have a redundant
 41850  // management network.
 41851  //
 41852  // It is recommended that host management networks
 41853  // be configured with redundancy.
 41854  type HostNoRedundantManagementNetworkEvent struct {
 41855  	HostDasEvent
 41856  }
 41857  
 41858  func init() {
 41859  	t["HostNoRedundantManagementNetworkEvent"] = reflect.TypeOf((*HostNoRedundantManagementNetworkEvent)(nil)).Elem()
 41860  }
 41861  
 41862  // This event records that host went out of compliance.
 41863  type HostNonCompliantEvent struct {
 41864  	HostEvent
 41865  }
 41866  
 41867  func init() {
 41868  	t["HostNonCompliantEvent"] = reflect.TypeOf((*HostNonCompliantEvent)(nil)).Elem()
 41869  }
 41870  
 41871  // A HostNotConnected fault is thrown if a method needs
 41872  // to communicate with a host that has been disconnected in
 41873  // VirtualCenter.
 41874  type HostNotConnected struct {
 41875  	HostCommunication
 41876  }
 41877  
 41878  func init() {
 41879  	t["HostNotConnected"] = reflect.TypeOf((*HostNotConnected)(nil)).Elem()
 41880  }
 41881  
 41882  type HostNotConnectedFault HostNotConnected
 41883  
 41884  func init() {
 41885  	t["HostNotConnectedFault"] = reflect.TypeOf((*HostNotConnectedFault)(nil)).Elem()
 41886  }
 41887  
 41888  // This event records that the host is not a cluster member.
 41889  type HostNotInClusterEvent struct {
 41890  	HostDasEvent
 41891  }
 41892  
 41893  func init() {
 41894  	t["HostNotInClusterEvent"] = reflect.TypeOf((*HostNotInClusterEvent)(nil)).Elem()
 41895  }
 41896  
 41897  // A HostNotReachable fault is thrown if the server was unable
 41898  // to communicate with the host
 41899  type HostNotReachable struct {
 41900  	HostCommunication
 41901  }
 41902  
 41903  func init() {
 41904  	t["HostNotReachable"] = reflect.TypeOf((*HostNotReachable)(nil)).Elem()
 41905  }
 41906  
 41907  type HostNotReachableFault HostNotReachable
 41908  
 41909  func init() {
 41910  	t["HostNotReachableFault"] = reflect.TypeOf((*HostNotReachableFault)(nil)).Elem()
 41911  }
 41912  
 41913  // Configuration information for the NTP (Network Time Protocol) service.
 41914  type HostNtpConfig struct {
 41915  	DynamicData
 41916  
 41917  	// List of time servers, specified as either IP addresses or
 41918  	// fully qualified domain names (FQDNs).
 41919  	//
 41920  	// Each entry may optionally
 41921  	// specify one or more space separated 'server' ntp.conf command options.
 41922  	// Any comments appended to an entry after a '#' will not be retained.
 41923  	// To reset any previously configured servers, submit an NtpConfig
 41924  	// without the server or configFile property set to method
 41925  	// `HostDateTimeSystem.UpdateDateTimeConfig`
 41926  	Server []string `xml:"server,omitempty" json:"server,omitempty"`
 41927  	// Content of ntp.conf host configuration file, split by lines for ntpd version 4.2.8.
 41928  	//
 41929  	// Comment lines start with comment marker '#' as per ntp.conf are kept.
 41930  	// When submitting a new ntp commands to this property via
 41931  	// `HostDateTimeSystem.UpdateDateTimeConfig` method, any 'restrict'
 41932  	// or 'drift' commands will be ignored as the those are set to fixed defaults.
 41933  	ConfigFile []string `xml:"configFile,omitempty" json:"configFile,omitempty"`
 41934  }
 41935  
 41936  func init() {
 41937  	t["HostNtpConfig"] = reflect.TypeOf((*HostNtpConfig)(nil)).Elem()
 41938  }
 41939  
 41940  // Information about NUMA (non-uniform memory access).
 41941  type HostNumaInfo struct {
 41942  	DynamicData
 41943  
 41944  	// Deprecated as of vSphere API 5.1, this property is always
 41945  	// set to "NUMA".
 41946  	//
 41947  	// The type of NUMA technology.
 41948  	Type string `xml:"type" json:"type"`
 41949  	// The number of NUMA nodes on the host.
 41950  	//
 41951  	// The value is 0 if the
 41952  	// host is not NUMA-capable.
 41953  	NumNodes int32 `xml:"numNodes" json:"numNodes"`
 41954  	// Information about each of the NUMA nodes on the host.
 41955  	//
 41956  	// The array is empty if the host is not NUMA-capable.
 41957  	NumaNode []HostNumaNode `xml:"numaNode,omitempty" json:"numaNode,omitempty"`
 41958  }
 41959  
 41960  func init() {
 41961  	t["HostNumaInfo"] = reflect.TypeOf((*HostNumaInfo)(nil)).Elem()
 41962  }
 41963  
 41964  // Information about a single NUMA node.
 41965  type HostNumaNode struct {
 41966  	DynamicData
 41967  
 41968  	// Zero-based NUMA ID for the node.
 41969  	TypeId byte `xml:"typeId" json:"typeId"`
 41970  	// Information about each of the CPUs associated with the node.
 41971  	CpuID []int16 `xml:"cpuID" json:"cpuID"`
 41972  	// The total amount of memory in this NUMA node, in bytes.
 41973  	MemorySize int64 `xml:"memorySize,omitempty" json:"memorySize,omitempty" vim:"8.0.0.0"`
 41974  	// Deprecated as of vSphere 8.0, this property is always set to
 41975  	// zero. The memory of a NUMA node is not necessarily a single
 41976  	// physically contiguous range.
 41977  	//
 41978  	// Beginning memory range for this NUMA node.
 41979  	MemoryRangeBegin int64 `xml:"memoryRangeBegin" json:"memoryRangeBegin"`
 41980  	// Deprecated as of vSphere 8.0, this property is replaced by
 41981  	// `HostNumaNode.memorySize` and is set to the same value. The memory of
 41982  	// a NUMA node is not necessarily a single physically contiguous
 41983  	// range.
 41984  	//
 41985  	// Length of the memory range for this node in bytes, that is, the amount
 41986  	// of memory on the node.
 41987  	MemoryRangeLength int64 `xml:"memoryRangeLength" json:"memoryRangeLength"`
 41988  	// Information about each of the pci devices associated with the node.
 41989  	//
 41990  	// The string is of SBDF format, "Segment:Bus:Device.Function".
 41991  	PciId []string `xml:"pciId,omitempty" json:"pciId,omitempty"`
 41992  }
 41993  
 41994  func init() {
 41995  	t["HostNumaNode"] = reflect.TypeOf((*HostNumaNode)(nil)).Elem()
 41996  }
 41997  
 41998  // Base class for numeric sensor information.
 41999  type HostNumericSensorInfo struct {
 42000  	DynamicData
 42001  
 42002  	// The name of the physical element associated with the sensor
 42003  	// It consists of a string of the form:
 42004  	// "description --- state/identifer".
 42005  	Name string `xml:"name" json:"name"`
 42006  	// The health state of the of the element indicated by the sensor.
 42007  	//
 42008  	// This property is populated only for sensors that support threshold
 42009  	// settings and for discrete sensors using control file.
 42010  	//
 42011  	// See also `HostNumericSensorHealthState_enum`.
 42012  	HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr" json:"healthState,omitempty"`
 42013  	// The current reading of the element indicated by the sensor.
 42014  	//
 42015  	// The actual
 42016  	// sensor reading is obtained by multiplying the current reading by the
 42017  	// scale factor.
 42018  	CurrentReading int64 `xml:"currentReading" json:"currentReading"`
 42019  	// The unit multiplier for the values returned by the sensor.
 42020  	//
 42021  	// All values
 42022  	// returned by the sensor are current reading \* 10 raised to the power of
 42023  	// the UnitModifier. If no unitModifier applies the value returned is 0.
 42024  	UnitModifier int32 `xml:"unitModifier" json:"unitModifier"`
 42025  	// The base units in which the sensor reading is specified.
 42026  	//
 42027  	// If rateUnits
 42028  	// is set the units of the current reading is further qualified by the
 42029  	// rateUnits. Otherwise the value returned is 'unspecified'.
 42030  	//
 42031  	// See also `HostNumericSensorInfo.rateUnits`.
 42032  	BaseUnits string `xml:"baseUnits" json:"baseUnits"`
 42033  	// The rate units in which the sensor reading is specified.
 42034  	//
 42035  	// For example if
 42036  	// the baseUnits is Volts and the rateUnits is per second the value
 42037  	// returned by the sensor are in Volts/second. If no rate applies
 42038  	// the value returned is 'none'.
 42039  	RateUnits string `xml:"rateUnits,omitempty" json:"rateUnits,omitempty"`
 42040  	// The type of the sensor.
 42041  	//
 42042  	// If the sensor type is set to Other the sensor
 42043  	// name can be used to further identify the type of sensor. The sensor
 42044  	// units can also be used to further implicitly determine the type of the
 42045  	// sensor.
 42046  	//
 42047  	// See also `HostNumericSensorType_enum`.
 42048  	SensorType string `xml:"sensorType" json:"sensorType"`
 42049  	// A unique sensor identifier.
 42050  	//
 42051  	// A four part value consisting of:
 42052  	// BMC device.Entity ID.Instance.SensorNumber
 42053  	// Can be used to match a NumericSensorInfo object to
 42054  	// esxcli hardware ipmi sdr list
 42055  	Id string `xml:"id,omitempty" json:"id,omitempty"`
 42056  	// The IPMI Sensor/probe that is reporting this event.
 42057  	//
 42058  	// Use this value
 42059  	// to locate System Event Log (SEL) entries for this Sensor. It is also
 42060  	// reported in 'id' in string format. This property is intended to
 42061  	// be used with vim.host.SystemEventInfo.sensorNumber
 42062  	SensorNumber int64 `xml:"sensorNumber,omitempty" json:"sensorNumber,omitempty" vim:"8.0.0.1"`
 42063  	// Reports the ISO 8601 Timestamp when this sensor was last updated by
 42064  	// management controller if the this sensor is capable of tracking
 42065  	// when it was last updated.
 42066  	TimeStamp string `xml:"timeStamp,omitempty" json:"timeStamp,omitempty"`
 42067  	// The FRU this sensor monitors if any.
 42068  	Fru *HostFru `xml:"fru,omitempty" json:"fru,omitempty" vim:"8.0.0.1"`
 42069  }
 42070  
 42071  func init() {
 42072  	t["HostNumericSensorInfo"] = reflect.TypeOf((*HostNumericSensorInfo)(nil)).Elem()
 42073  }
 42074  
 42075  // Specifies the parameters necessary to connect to a regular NVME over Fabrics
 42076  // controller.
 42077  //
 42078  // Here the transportParameters are used to establish a transport level
 42079  // connection to the specified controller. For reference, see:
 42080  //   - "NVM Express over Fabrics 1.0", Section 3.3,
 42081  //     "Connect command and response"
 42082  type HostNvmeConnectSpec struct {
 42083  	HostNvmeSpec
 42084  
 42085  	// NVME Qualified Name of the NVM subsystem to connect to.
 42086  	//
 42087  	// Corresponds to the SUBNQN field in the Connect command as
 42088  	// referenced above.
 42089  	Subnqn string `xml:"subnqn" json:"subnqn"`
 42090  	// ID of the controller to connect to within the NVM subsystem.
 42091  	//
 42092  	// This field corresponds to CNTLID in the Connect command.
 42093  	// Its usage depends on whether the NVM Subsystem supports
 42094  	// a static or dynamic controller model.
 42095  	// In the static model, a number of controllers
 42096  	// may be exposed. A connection to a specific one may be requested
 42097  	// by specifying its controller ID (which is unique only within the
 42098  	// NVM subsystem). If a value of 0xFFFE (65534 in decimal) is provided,
 42099  	// any one of the controllers may be allocated for the connection. In
 42100  	// the static model a value of 0xFFFF (65535 in decimal) or above is
 42101  	// invalid.
 42102  	// In the dynamic model, the NVM Subsystem will dynamically allocate
 42103  	// a controller. Any value other than 0xFFFF (65535 in decimal) specified
 42104  	// will be consider invalid.
 42105  	// If the controllerId is unset, it defaults to 0xFFFF (the value used in
 42106  	// the dynamic model).
 42107  	// Whether the NVM subsystem supports the dynamic or static model can be
 42108  	// determined by examining the corresponding
 42109  	// `HostNvmeDiscoveryLogEntry` returned for it.
 42110  	ControllerId int32 `xml:"controllerId,omitempty" json:"controllerId,omitempty"`
 42111  	// Size of the admin queue which will be created once connection
 42112  	// is established.
 42113  	//
 42114  	// This field corresponds to SQSIZE in the Connect command (see above).
 42115  	// If unset, it defaults to a reasonable value which may vary between
 42116  	// releases (currently 16).
 42117  	AdminQueueSize int32 `xml:"adminQueueSize,omitempty" json:"adminQueueSize,omitempty"`
 42118  	// Timeout for the keep alive feature in seconds.
 42119  	//
 42120  	// This field corresponds to KATO in the Connect command (see above).
 42121  	// If unset, it defaults to a reasonable value which may vary between
 42122  	// releases (currently 30 seconds).
 42123  	// For further information, see:
 42124  	//   - "NVM Express 1.3", Section 5.21.1.15, "Keep Alive Timer"
 42125  	KeepAliveTimeout int32 `xml:"keepAliveTimeout,omitempty" json:"keepAliveTimeout,omitempty"`
 42126  }
 42127  
 42128  func init() {
 42129  	t["HostNvmeConnectSpec"] = reflect.TypeOf((*HostNvmeConnectSpec)(nil)).Elem()
 42130  }
 42131  
 42132  // This data object represents an NVME controller.
 42133  //
 42134  // Some terminology is borrowed from the NVM Express over Fabrics
 42135  // and the NVM Express 1.3 specifications, which are available
 42136  // at the following address:
 42137  // https://nvmexpress.org/resources/specifications/
 42138  type HostNvmeController struct {
 42139  	DynamicData
 42140  
 42141  	// The linkable identifier.
 42142  	Key string `xml:"key" json:"key"`
 42143  	// The controller number uniquely identifies the NVME Controller
 42144  	// within its HostSystem.
 42145  	//
 42146  	// This should not be confused with Controller ID (see
 42147  	// "NVM Express over Fabrics 1.0", Section 4.2, "Controller model"
 42148  	// for details), which only serves as an identifier
 42149  	// within a particular NVME subsystem.
 42150  	ControllerNumber int32 `xml:"controllerNumber" json:"controllerNumber"`
 42151  	// The NVME subsystem qualified name.
 42152  	//
 42153  	// Each NVME controller is associated with an NVME subsystem
 42154  	// which can present a collection of controllers to the adapter.
 42155  	// For more details, refer to:
 42156  	//   - "NVM Express over Fabrics 1.0", Section 1.5.2,
 42157  	//     "NVM Subsystem".
 42158  	Subnqn string `xml:"subnqn" json:"subnqn"`
 42159  	// Name of the controller.
 42160  	//
 42161  	// Each controller has a name. For NVME over Fabrics controllers,
 42162  	// it is generated when the controller is connected to an NVME
 42163  	// over Fabrics adapter.
 42164  	Name string `xml:"name" json:"name"`
 42165  	// Associated NVME over Fabrics host bus adapter.
 42166  	//
 42167  	// A controller is associated with exactly one host at a time through
 42168  	// an NVME over Fabrics host bus adapter.
 42169  	AssociatedAdapter string `xml:"associatedAdapter" json:"associatedAdapter"`
 42170  	// The transport type supported by the controller.
 42171  	//
 42172  	// The set of possible values is described in `HostNvmeTransportType_enum`.
 42173  	// For details, see:
 42174  	//   - "NVM Express over Fabrics 1.0", Section 1.5.1,
 42175  	//     "Fabrics and Transports".
 42176  	TransportType string `xml:"transportType" json:"transportType"`
 42177  	// Indicates whether fused operations are supported by the controller.
 42178  	//
 42179  	// An NVME controller may support fused operations. This is required
 42180  	// to support shared storage, otherwise data corruption may occur.
 42181  	// For more details, see:
 42182  	//   - "NVM Express 1.3", Section 6.2, "Fused Operations".
 42183  	FusedOperationSupported bool `xml:"fusedOperationSupported" json:"fusedOperationSupported"`
 42184  	// The number of I/O queues allocated for the controller.
 42185  	NumberOfQueues int32 `xml:"numberOfQueues" json:"numberOfQueues"`
 42186  	// The size of each of the I/O queues.
 42187  	//
 42188  	// This will not be greater than the Maximum Queue Entries Supported
 42189  	// (mqes) value for the controller. For more information, see:
 42190  	//   - "NVM Express 1.3", section 3.1, "Register definition".
 42191  	QueueSize int32 `xml:"queueSize" json:"queueSize"`
 42192  	// List of NVME namespaces attached to the controller.
 42193  	//
 42194  	// Namespaces provide access to a non-volatile storage medium
 42195  	// which is part of the NVM subsystem. For an overview, see:
 42196  	//   - "NVM Express over Fabrics 1.0", Section 1.5.2,
 42197  	//     "NVM Subsystem".
 42198  	//   - "NVM Express 1.3", section 6.1, "Namespaces".
 42199  	AttachedNamespace []HostNvmeNamespace `xml:"attachedNamespace,omitempty" json:"attachedNamespace,omitempty"`
 42200  	// The vendor ID of the controller, if available.
 42201  	VendorId string `xml:"vendorId,omitempty" json:"vendorId,omitempty"`
 42202  	// The model name of the controller, if available.
 42203  	Model string `xml:"model,omitempty" json:"model,omitempty"`
 42204  	// The serial number of the controller, if available.
 42205  	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 42206  	// The firmware version of the controller, if available.
 42207  	FirmwareVersion string `xml:"firmwareVersion,omitempty" json:"firmwareVersion,omitempty"`
 42208  }
 42209  
 42210  func init() {
 42211  	t["HostNvmeController"] = reflect.TypeOf((*HostNvmeController)(nil)).Elem()
 42212  }
 42213  
 42214  // Specifies the parameters necessary to disconnect an NVME controller
 42215  // from a given NVME over Fabrics adapter.
 42216  type HostNvmeDisconnectSpec struct {
 42217  	DynamicData
 42218  
 42219  	// The device name of the NVME over Fabrics host bus adapter.
 42220  	HbaName string `xml:"hbaName" json:"hbaName"`
 42221  	// NVME Qualified Name of the NVM subsystem to disconnect from.
 42222  	//
 42223  	// If controllerNumber is not specified, the subsystem qualified
 42224  	// name has to be specified and any controllers exposed by that
 42225  	// subsystem will be disconnected from the specified adapter. This
 42226  	// is particularly convenient for the dynamic controller model, where
 42227  	// the mapping subsystemNQN &lt;-&gt; ctrlNumber is expected to be 1:1.
 42228  	// If controllerNumber is also specified, this value is ignored.
 42229  	Subnqn string `xml:"subnqn,omitempty" json:"subnqn,omitempty"`
 42230  	// Controller number of the controller to be disconnected.
 42231  	//
 42232  	// If this value is set, the subsystemQualifiedName can be left unset
 42233  	// and the controller whose controllerNumber field matches this value
 42234  	// will be disconnected from the specified adapter.
 42235  	// If this value is not set, subsystemQualifiedName must be set.
 42236  	ControllerNumber int32 `xml:"controllerNumber,omitempty" json:"controllerNumber,omitempty"`
 42237  }
 42238  
 42239  func init() {
 42240  	t["HostNvmeDisconnectSpec"] = reflect.TypeOf((*HostNvmeDisconnectSpec)(nil)).Elem()
 42241  }
 42242  
 42243  // Specifies the parameters necessary to connect to a Discovery Service and
 42244  // retrieve a Discovery Log Page.
 42245  //
 42246  // Here the transportParameters are used to establish a transport level
 42247  // connection to a Discovery Controller. Further details can be found here:
 42248  //   - "NVM Express over Fabrics 1.0", Section 5, "Discovery service"
 42249  type HostNvmeDiscoverSpec struct {
 42250  	HostNvmeSpec
 42251  
 42252  	// Indicates whether the specified adapter should automatically be
 42253  	// connected to all the discovered controllers.
 42254  	//
 42255  	// It is possible to automatically connect to all discovered controllers.
 42256  	// This will only be attempted if this flag is set to true. Whether the
 42257  	// connection attempt for an entry succeeded can then be determined
 42258  	// via the corresponding `HostNvmeDiscoveryLogEntry.connected` field.
 42259  	AutoConnect *bool `xml:"autoConnect" json:"autoConnect,omitempty"`
 42260  	// If set to true, this flag indicates we are connecting to a root/central
 42261  	// discovery controller (RDC/CDC).
 42262  	//
 42263  	// This will create a persistent connection between the host and the
 42264  	// root discovery controller, thus enabling some advanced features.
 42265  	RootDiscoveryController *bool `xml:"rootDiscoveryController" json:"rootDiscoveryController,omitempty" vim:"7.0.3.0"`
 42266  }
 42267  
 42268  func init() {
 42269  	t["HostNvmeDiscoverSpec"] = reflect.TypeOf((*HostNvmeDiscoverSpec)(nil)).Elem()
 42270  }
 42271  
 42272  // This data object represents the Discovery Log returned by
 42273  // an NVME over Fabrics Discovery controller.
 42274  //
 42275  // The Discovery Log consists of pages which contain a number
 42276  // of entries. It provides an inventory of NVM subsystems with
 42277  // which the host may attempt to form an association through
 42278  // an NVME over Fabrics adapter. For details, see:
 42279  //   - "NVM Express over Fabrics 1.0", Section 5.3,
 42280  //     Discovery Log Page
 42281  type HostNvmeDiscoveryLog struct {
 42282  	DynamicData
 42283  
 42284  	// The list of entries that make up the Discovery Log.
 42285  	Entry []HostNvmeDiscoveryLogEntry `xml:"entry,omitempty" json:"entry,omitempty"`
 42286  	// Indicates whether the NvmeDiscoveryLog object completely
 42287  	// represents the underlying Discovery Log returned by the
 42288  	// controller.
 42289  	//
 42290  	// It is possible some of the entries returned by the Discovery
 42291  	// Controller contain unsupported transport types or data that
 42292  	// cannot be interpreted - in that case, those entries will be
 42293  	// skipped and the log will be marked as incomplete.
 42294  	Complete bool `xml:"complete" json:"complete"`
 42295  }
 42296  
 42297  func init() {
 42298  	t["HostNvmeDiscoveryLog"] = reflect.TypeOf((*HostNvmeDiscoveryLog)(nil)).Elem()
 42299  }
 42300  
 42301  // This data object represents a single entry in the Discovery
 42302  // Log returned by a Discovery controller.
 42303  type HostNvmeDiscoveryLogEntry struct {
 42304  	DynamicData
 42305  
 42306  	// NVME Qualified name of the discovered subsystem.
 42307  	//
 42308  	// Corresponds to the SUBNQN field in the Discovery Log
 42309  	// Page Entry as specified by the NVME over Fabrics spec.
 42310  	Subnqn string `xml:"subnqn" json:"subnqn"`
 42311  	// NVM Subsystem type.
 42312  	//
 42313  	// Corresponds to the SUBTYPE field in the Discovery Log
 42314  	// Page Entry as specified by the NVME over Fabrics spec.
 42315  	// The set of supported values is described in
 42316  	// `HostNvmeDiscoveryLogSubsystemType_enum`.
 42317  	SubsystemType string `xml:"subsystemType" json:"subsystemType"`
 42318  	// NVM subsystem port ID.
 42319  	//
 42320  	// Corresponds to the PORTID field in the Discovery Log
 42321  	// Page Entry as specified by the NVME over Fabrics spec.
 42322  	// For an overview, see:
 42323  	//   - "NVM Express over Fabrics 1.0", Section 1.5.2,
 42324  	//     NVM Subsystem
 42325  	SubsystemPortId int32 `xml:"subsystemPortId" json:"subsystemPortId"`
 42326  	// NVME Controller ID within the NVM subsystem.
 42327  	//
 42328  	// Corresponds to the CNTLID field in the Discovery Log
 42329  	// Page Entry as specified by the NVME over Fabrics spec.
 42330  	// In the static controller model, this field may be set
 42331  	// to a specific controller ID which can be used to connect
 42332  	// to that particular controller. It could also be set
 42333  	// to 0xFFFE (65534 in decimal), in which case the controller
 42334  	// ID will be allocated when a connection is established.
 42335  	// In the dynamic controller model, this field shall be set
 42336  	// to 0xFFFF (65535 in decimal).
 42337  	// Note that this is different from the controllerNumber
 42338  	// `HostNvmeController.controllerNumber`,
 42339  	// which is the unique identifier of the NVMe controller
 42340  	// within the entire host and is allocated only after a
 42341  	// connection is established.
 42342  	ControllerId int32 `xml:"controllerId" json:"controllerId"`
 42343  	// The maximum size of the Admin Submission Queue.
 42344  	//
 42345  	// Corresponds to the ASQSZ field in the Discovery Log
 42346  	// Page Entry as specified by the NVME over Fabrics spec.
 42347  	// This applies to all controllers within the NVM Subsystem.
 42348  	// When establishing a connection, the value of
 42349  	// `HostNvmeConnectSpec.adminQueueSize` may not exceed
 42350  	// this value.
 42351  	AdminQueueMaxSize int32 `xml:"adminQueueMaxSize" json:"adminQueueMaxSize"`
 42352  	// Transport specific parameters necessary to establish
 42353  	// a connection.
 42354  	//
 42355  	// Different types of fabrics transports and different
 42356  	// means to specify a connection target may be supported.
 42357  	// The transport specific parameters object is constructed
 42358  	// based on the data in the Transport Type (TRTYPE),
 42359  	// Address Family (ADRFAM), Transport Service Identifier
 42360  	// (TRSVCID), Transport Address (TRADDR) and Transport
 42361  	// Specific Address Subtype (TSAS) fields in the Discovery
 42362  	// Log Page Entry as specified by the NVME over Fabrics spec.
 42363  	// When connecting to the controller represented by this
 42364  	// Discovery Log Page Entry, the transport specific
 42365  	// parameters can be passed directly as
 42366  	// `HostNvmeSpec.transportParameters`.
 42367  	TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr" json:"transportParameters"`
 42368  	// The requirements for NVME Transport.
 42369  	//
 42370  	// Corresponds to the TREQ field in the Discovery Log
 42371  	// Page Entry as specified by the NVME over Fabrics spec
 42372  	// The set of possible values is described in
 42373  	// `HostNvmeDiscoveryLogTransportRequirements_enum`
 42374  	TransportRequirements string `xml:"transportRequirements" json:"transportRequirements"`
 42375  	// Indicates whether the controller represented
 42376  	// by this Discovery Log Page Entry is already connected
 42377  	// to the adapter through which the discovery is initiated.
 42378  	Connected bool `xml:"connected" json:"connected"`
 42379  }
 42380  
 42381  func init() {
 42382  	t["HostNvmeDiscoveryLogEntry"] = reflect.TypeOf((*HostNvmeDiscoveryLogEntry)(nil)).Elem()
 42383  }
 42384  
 42385  // This data object represents an NVM Express Namespace.
 42386  //
 42387  // In the NVME model, the underlying non-volatile storage medium
 42388  // is exposed via namespaces. For further information, see:
 42389  //   - "NVM Express over Fabrics 1.0", Section 1.5.2,
 42390  //     "NVM Subsystem".
 42391  //   - "NVM Express 1.3", section 6.1, "Namespaces".
 42392  type HostNvmeNamespace struct {
 42393  	DynamicData
 42394  
 42395  	// The linkable identifier.
 42396  	//
 42397  	// This is a unique identifier of the NVME namespace within
 42398  	// the host system.
 42399  	Key string `xml:"key" json:"key"`
 42400  	// The name of the namespace.
 42401  	//
 42402  	// The name identifies the underlying storage exposed
 42403  	// by the NvmeNamespace. In multipath scenarios, two
 42404  	// namespaces can have the same name if they expose the
 42405  	// same underlying storage through different NVME controllers.
 42406  	Name string `xml:"name" json:"name"`
 42407  	// The namespace ID is an identifier used by an NVME controller
 42408  	// to provide access to a namespace.
 42409  	//
 42410  	// The namespace ID is only unique among the namespaces
 42411  	// attached to the same controller. For details, see:
 42412  	//   - "NVM Express 1.3", section 6.1, "Namespaces".
 42413  	Id int32 `xml:"id" json:"id"`
 42414  	// Block size of the namespace in bytes.
 42415  	//
 42416  	// Namespaces are comprised of a number of logical blocks with
 42417  	// a fixed size - the smallest units of data that may be
 42418  	// read or written by the NVME controller.
 42419  	BlockSize int32 `xml:"blockSize" json:"blockSize"`
 42420  	// The maximum number of logical blocks that may be allocated
 42421  	// in the namespace at any point in time.
 42422  	//
 42423  	// Corresponds to the NCAP field in the Identify Namespace data
 42424  	// structure:
 42425  	//   - "NVM Express 1.3", Section 5.15, Figure 114,
 42426  	//     "Identify Namespace Data Structure"
 42427  	CapacityInBlocks int64 `xml:"capacityInBlocks" json:"capacityInBlocks"`
 42428  }
 42429  
 42430  func init() {
 42431  	t["HostNvmeNamespace"] = reflect.TypeOf((*HostNvmeNamespace)(nil)).Elem()
 42432  }
 42433  
 42434  // This data object represents the raw transport specific parameters
 42435  // returned in a Discovery Log Page Entry, when they cannot be
 42436  // interpreted as one of the known common types of parameters.
 42437  //
 42438  // For details, see:
 42439  //   - "NVM Express over Fabrics 1.0", Section 5.3,
 42440  //     Discovery Log Page
 42441  type HostNvmeOpaqueTransportParameters struct {
 42442  	HostNvmeTransportParameters
 42443  
 42444  	// The transport type.
 42445  	//
 42446  	// Corresponds to the TRTYPE field in the Discovery Log Page Entry
 42447  	// as specified by the NVME over Fabrics spec.
 42448  	// The set of possible values is desribed in `HostNvmeTransportType_enum`.
 42449  	Trtype string `xml:"trtype" json:"trtype"`
 42450  	// The transport address.
 42451  	//
 42452  	// Corresponds to the TRADDR field in the Discovery Log Page Entry
 42453  	// as specified by the NVME over Fabrics spec.
 42454  	Traddr string `xml:"traddr" json:"traddr"`
 42455  	// Indicates the address family of the address specified above.
 42456  	//
 42457  	// Corresponds to the ADRFAM field in the Discovery Log Page Entry
 42458  	// as specified by the NVME over Fabrics spec.
 42459  	// The set of supported values is described in
 42460  	// `HostNvmeTransportParametersNvmeAddressFamily_enum`.
 42461  	Adrfam string `xml:"adrfam" json:"adrfam"`
 42462  	// Transport service identifier.
 42463  	//
 42464  	// Corresponds to the TRSVCID field in the Discovery Log Page Entry
 42465  	// as specified by the NVME over Fabrics spec.
 42466  	// Its interpretation varies depending on the transport type.
 42467  	Trsvcid string `xml:"trsvcid" json:"trsvcid"`
 42468  	// Transport specific address subtype.
 42469  	//
 42470  	// Corresponds to the TSAS field in the Discovery Log Page Entry
 42471  	// as specified by the NVME over Fabrics spec.
 42472  	// Its interpretation varies depending on the transport type.
 42473  	Tsas []byte `xml:"tsas" json:"tsas"`
 42474  }
 42475  
 42476  func init() {
 42477  	t["HostNvmeOpaqueTransportParameters"] = reflect.TypeOf((*HostNvmeOpaqueTransportParameters)(nil)).Elem()
 42478  }
 42479  
 42480  // This data object represents the transport specific parameters
 42481  // necessary to establish an NVME over Fibre Channel connection.
 42482  type HostNvmeOverFibreChannelParameters struct {
 42483  	HostNvmeTransportParameters
 42484  
 42485  	// The world wide node name for the connection target.
 42486  	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 42487  	// The world wide port name for the connection target.
 42488  	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
 42489  }
 42490  
 42491  func init() {
 42492  	t["HostNvmeOverFibreChannelParameters"] = reflect.TypeOf((*HostNvmeOverFibreChannelParameters)(nil)).Elem()
 42493  }
 42494  
 42495  // This data object represents the transport specific parameters
 42496  // necessary to establish an NVME over RDMA connection.
 42497  type HostNvmeOverRdmaParameters struct {
 42498  	HostNvmeTransportParameters
 42499  
 42500  	// The address of the connection target.
 42501  	Address string `xml:"address" json:"address"`
 42502  	// Indicates the type of the address specified above.
 42503  	//
 42504  	// If unset, it is assumed to be an IPv4 address. The set of possible
 42505  	// values is described in
 42506  	// `HostNvmeTransportParametersNvmeAddressFamily_enum`.
 42507  	// Note that not all of the address families may be supported for
 42508  	// establishing a connection over RDMA.
 42509  	AddressFamily string `xml:"addressFamily,omitempty" json:"addressFamily,omitempty"`
 42510  	// The port number of the RDMA target port.
 42511  	//
 42512  	// When IPv4/IPv6 is used as address family above, the port number
 42513  	// needs to be specified. If this field is unset, a default
 42514  	// value of 4420 is assumed as per the IANA assignment:
 42515  	// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
 42516  	PortNumber int32 `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
 42517  }
 42518  
 42519  func init() {
 42520  	t["HostNvmeOverRdmaParameters"] = reflect.TypeOf((*HostNvmeOverRdmaParameters)(nil)).Elem()
 42521  }
 42522  
 42523  // This data object represents the transport specific parameters
 42524  // necessary to establish an NVME over TCP connection.
 42525  type HostNvmeOverTcpParameters struct {
 42526  	HostNvmeTransportParameters
 42527  
 42528  	// The address of the connection target.
 42529  	//
 42530  	// It is expected to be an IPv4 or IPv6 address.
 42531  	Address string `xml:"address" json:"address"`
 42532  	// The port number of the TCP target port.
 42533  	//
 42534  	// If this field is unset, the default value of 8009
 42535  	// is assumed as per the IANA assignment:
 42536  	// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
 42537  	PortNumber int32 `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
 42538  	// Digest verification parameter.
 42539  	//
 42540  	// When used in a discovery or connect spec, this parameter specifies
 42541  	// the requested digest verification setting. The list of supported values is
 42542  	// described in `HostDigestVerificationSetting_enum`. If unset,
 42543  	// a default value of disabled is assumed.
 42544  	// For details, see:
 42545  	//   - NVM Express Technical Proposal 8000 - NVMe/TCP Transport,
 42546  	//     Section 7.4.10.2, "Initialize Connection Request PDU (ICReq)" - DGST field.
 42547  	//
 42548  	// When part of `HostNvmeDiscoveryLogEntry`, this value is unset.
 42549  	DigestVerification string `xml:"digestVerification,omitempty" json:"digestVerification,omitempty"`
 42550  }
 42551  
 42552  func init() {
 42553  	t["HostNvmeOverTcpParameters"] = reflect.TypeOf((*HostNvmeOverTcpParameters)(nil)).Elem()
 42554  	minAPIVersionForType["HostNvmeOverTcpParameters"] = "7.0.3.0"
 42555  }
 42556  
 42557  // Specifies the main parameters needed when connecting to
 42558  // an NVMe over Fabrics controller or Discovery Service.
 42559  type HostNvmeSpec struct {
 42560  	DynamicData
 42561  
 42562  	// The device name of the NVME over Fabrics host bus adapter.
 42563  	HbaName string `xml:"hbaName" json:"hbaName"`
 42564  	// Transport specific information necessary to connect to the controller.
 42565  	TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr" json:"transportParameters"`
 42566  }
 42567  
 42568  func init() {
 42569  	t["HostNvmeSpec"] = reflect.TypeOf((*HostNvmeSpec)(nil)).Elem()
 42570  }
 42571  
 42572  // This data object type describes the NVME topology information.
 42573  //
 42574  // The data objects in this data object type model the NVME storage objects
 42575  // from a topological point of view. The NVME topological view organizes
 42576  // objects by NVME interface, which contains connected controllers,
 42577  // which in turn contain attached namespaces.
 42578  //
 42579  // Only storage adapters which support the NVME protocol will be represented
 42580  // as NVME interfaces in this data object. In particular, an NVME interface
 42581  // will be created for each NVME over Fabrics adapter in the system.
 42582  //
 42583  // Note that it is possible for an adapter to be represented by both
 42584  // an NVME interface in the NVME topology and a SCSI interface in the SCSI
 42585  // topology. This can happen when an adapter supporting the NVME protocol is
 42586  // also presented as a SCSI adapter and SCSI to NVME translation is performed.
 42587  type HostNvmeTopology struct {
 42588  	DynamicData
 42589  
 42590  	// The list of NVME interfaces (could be empty).
 42591  	Adapter []HostNvmeTopologyInterface `xml:"adapter,omitempty" json:"adapter,omitempty"`
 42592  }
 42593  
 42594  func init() {
 42595  	t["HostNvmeTopology"] = reflect.TypeOf((*HostNvmeTopology)(nil)).Elem()
 42596  }
 42597  
 42598  // This data object describes the NVME interface that is
 42599  // associated with a list of connected NVME controllers.
 42600  type HostNvmeTopologyInterface struct {
 42601  	DynamicData
 42602  
 42603  	// The identifier for the NVME interface.
 42604  	Key string `xml:"key" json:"key"`
 42605  	// The link to data for the NVME interface.
 42606  	Adapter string `xml:"adapter" json:"adapter"`
 42607  	// The list of connected NVME controllers.
 42608  	//
 42609  	// This list can be empty if am NVME interface is not connected
 42610  	// to any controllers. Each NvmeController object contains
 42611  	// a list of its attached NVME namespaces in
 42612  	// `HostNvmeController.attachedNamespace`.
 42613  	ConnectedController []HostNvmeController `xml:"connectedController,omitempty" json:"connectedController,omitempty"`
 42614  }
 42615  
 42616  func init() {
 42617  	t["HostNvmeTopologyInterface"] = reflect.TypeOf((*HostNvmeTopologyInterface)(nil)).Elem()
 42618  }
 42619  
 42620  // This data object represents the transport specific parameters
 42621  // necessary to establish an NVM Express over Fabrics connection.
 42622  //
 42623  // For some further information, see:
 42624  //   - "NVM Express over Fabrics 1.0", Section 1.5.7, "Connection"
 42625  type HostNvmeTransportParameters struct {
 42626  	DynamicData
 42627  }
 42628  
 42629  func init() {
 42630  	t["HostNvmeTransportParameters"] = reflect.TypeOf((*HostNvmeTransportParameters)(nil)).Elem()
 42631  }
 42632  
 42633  // Information on opaque networks that are available on the host.
 42634  type HostOpaqueNetworkInfo struct {
 42635  	DynamicData
 42636  
 42637  	// The ID of the opaque network.
 42638  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 42639  	// The name of the opaque network.
 42640  	OpaqueNetworkName string `xml:"opaqueNetworkName" json:"opaqueNetworkName"`
 42641  	// The type of the opaque network.
 42642  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 42643  	// IDs of networking zones that back the opaque network.
 42644  	PnicZone []string `xml:"pnicZone,omitempty" json:"pnicZone,omitempty"`
 42645  	// The capability of the opaque network.
 42646  	//
 42647  	// Refer `OpaqueNetworkCapability`
 42648  	Capability *OpaqueNetworkCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 42649  	// Extra NSX specific properties for opaque networks.
 42650  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 42651  }
 42652  
 42653  func init() {
 42654  	t["HostOpaqueNetworkInfo"] = reflect.TypeOf((*HostOpaqueNetworkInfo)(nil)).Elem()
 42655  }
 42656  
 42657  // The OpaqueSwitch contains basic information about virtual switches that are
 42658  // managed by a management plane outside of vSphere.
 42659  type HostOpaqueSwitch struct {
 42660  	DynamicData
 42661  
 42662  	// The opaque switch ID.
 42663  	Key string `xml:"key" json:"key"`
 42664  	// The opaque switch name.
 42665  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 42666  	// The set of physical network adapters associated with this switch.
 42667  	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 42668  	// The IDs of networking zones associated with this switch.
 42669  	PnicZone []HostOpaqueSwitchPhysicalNicZone `xml:"pnicZone,omitempty" json:"pnicZone,omitempty"`
 42670  	// Opaque switch status.
 42671  	//
 42672  	// See
 42673  	// `OpaqueSwitchState` for valid values.
 42674  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 42675  	// List of VTEPs associated with this switch.
 42676  	Vtep []HostVirtualNic `xml:"vtep,omitempty" json:"vtep,omitempty"`
 42677  	// Extra NSX specific properties for opaque switch.
 42678  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 42679  	// Array of host specific feature capabilities that the switch has.
 42680  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
 42681  }
 42682  
 42683  func init() {
 42684  	t["HostOpaqueSwitch"] = reflect.TypeOf((*HostOpaqueSwitch)(nil)).Elem()
 42685  }
 42686  
 42687  type HostOpaqueSwitchPhysicalNicZone struct {
 42688  	DynamicData
 42689  
 42690  	// The zone ID
 42691  	Key string `xml:"key" json:"key"`
 42692  	// Whenever an OpaqueSwitch is associated with a PhysicalNicZone, then by default,
 42693  	// the zone will consist of all physical nics that are linked to the switch.
 42694  	//
 42695  	// However, if this property is set, then the zone will be considered to be
 42696  	// consisting of only those physical nics that are listed here.
 42697  	PnicDevice []string `xml:"pnicDevice,omitempty" json:"pnicDevice,omitempty"`
 42698  }
 42699  
 42700  func init() {
 42701  	t["HostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*HostOpaqueSwitchPhysicalNicZone)(nil)).Elem()
 42702  }
 42703  
 42704  // This event records when a host's capacity cannot satisfy resource
 42705  // configuration constraints.
 42706  type HostOvercommittedEvent struct {
 42707  	ClusterOvercommittedEvent
 42708  }
 42709  
 42710  func init() {
 42711  	t["HostOvercommittedEvent"] = reflect.TypeOf((*HostOvercommittedEvent)(nil)).Elem()
 42712  }
 42713  
 42714  // The VMFS file system.
 42715  type HostPMemVolume struct {
 42716  	HostFileSystemVolume
 42717  
 42718  	// The universally unique identifier assigned to PMem volume.
 42719  	Uuid string `xml:"uuid" json:"uuid"`
 42720  	// Version of the PMem FS
 42721  	Version string `xml:"version" json:"version"`
 42722  }
 42723  
 42724  func init() {
 42725  	t["HostPMemVolume"] = reflect.TypeOf((*HostPMemVolume)(nil)).Elem()
 42726  }
 42727  
 42728  // The ParallelScsiHba data object type describes a
 42729  // parallel SCSI host bus adapter.
 42730  type HostParallelScsiHba struct {
 42731  	HostHostBusAdapter
 42732  }
 42733  
 42734  func init() {
 42735  	t["HostParallelScsiHba"] = reflect.TypeOf((*HostParallelScsiHba)(nil)).Elem()
 42736  }
 42737  
 42738  // Parallel SCSI transport information about a SCSI target.
 42739  type HostParallelScsiTargetTransport struct {
 42740  	HostTargetTransport
 42741  }
 42742  
 42743  func init() {
 42744  	t["HostParallelScsiTargetTransport"] = reflect.TypeOf((*HostParallelScsiTargetTransport)(nil)).Elem()
 42745  }
 42746  
 42747  // This data object contains information about the runtime status of
 42748  // a partial maintenance mode.
 42749  type HostPartialMaintenanceModeRuntimeInfo struct {
 42750  	DynamicData
 42751  
 42752  	// The unique identifier of the partial maintenance mode.
 42753  	//
 42754  	// The values of the identifiers for the most common kinds of partial
 42755  	// maintenance modes are enumerated in `HostPartialMaintenanceModeId_enum`.
 42756  	Key string `xml:"key" json:"key"`
 42757  	// The current runtime status for the particular partial maintenance mode.
 42758  	//
 42759  	// The list of supported values is specified in
 42760  	// `HostPartialMaintenanceModeStatus_enum`.
 42761  	HostStatus string `xml:"hostStatus" json:"hostStatus"`
 42762  }
 42763  
 42764  func init() {
 42765  	t["HostPartialMaintenanceModeRuntimeInfo"] = reflect.TypeOf((*HostPartialMaintenanceModeRuntimeInfo)(nil)).Elem()
 42766  	minAPIVersionForType["HostPartialMaintenanceModeRuntimeInfo"] = "8.0.3.0"
 42767  }
 42768  
 42769  type HostPatchManagerLocator struct {
 42770  	DynamicData
 42771  
 42772  	// The URL that will be used to access the patch repository.
 42773  	Url string `xml:"url" json:"url"`
 42774  	// The proxy setting required to access the URL from the host.
 42775  	//
 42776  	// If unset, a direct URL connection will be attempted.
 42777  	Proxy string `xml:"proxy,omitempty" json:"proxy,omitempty"`
 42778  }
 42779  
 42780  func init() {
 42781  	t["HostPatchManagerLocator"] = reflect.TypeOf((*HostPatchManagerLocator)(nil)).Elem()
 42782  }
 42783  
 42784  // Optional parameters for hostd to pass to exupdate.
 42785  type HostPatchManagerPatchManagerOperationSpec struct {
 42786  	DynamicData
 42787  
 42788  	// The name of the possible proxy for esxupdate to use to connect to a server.
 42789  	//
 42790  	// The patch and metadata may be cached within the proxy server.
 42791  	Proxy string `xml:"proxy,omitempty" json:"proxy,omitempty"`
 42792  	// The port of the possible proxy for esxupdate to use to connect to a server.
 42793  	//
 42794  	// The patch and metadata may be cached within the proxy server.
 42795  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 42796  	// The user name used for the proxy server.
 42797  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 42798  	// The password used for the proxy server.
 42799  	//
 42800  	// This is passed with ssl through a
 42801  	// trusted channel.
 42802  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 42803  	// Possible command line options when calling esxupdate.
 42804  	CmdOption string `xml:"cmdOption,omitempty" json:"cmdOption,omitempty"`
 42805  }
 42806  
 42807  func init() {
 42808  	t["HostPatchManagerPatchManagerOperationSpec"] = reflect.TypeOf((*HostPatchManagerPatchManagerOperationSpec)(nil)).Elem()
 42809  }
 42810  
 42811  // The result of the operation.
 42812  //
 42813  // Some of the fields are only valid for
 42814  // specific operations.
 42815  type HostPatchManagerResult struct {
 42816  	DynamicData
 42817  
 42818  	// The version of the scan result schema.
 42819  	Version string `xml:"version" json:"version"`
 42820  	// The scan results for each patch.
 42821  	Status []HostPatchManagerStatus `xml:"status,omitempty" json:"status,omitempty"`
 42822  	// The scan results in XML format.
 42823  	XmlResult string `xml:"xmlResult,omitempty" json:"xmlResult,omitempty"`
 42824  }
 42825  
 42826  func init() {
 42827  	t["HostPatchManagerResult"] = reflect.TypeOf((*HostPatchManagerResult)(nil)).Elem()
 42828  }
 42829  
 42830  type HostPatchManagerStatus struct {
 42831  	DynamicData
 42832  
 42833  	// Unique identifier for this update.
 42834  	Id string `xml:"id" json:"id"`
 42835  	// Whether or not this update is applicable to this host.
 42836  	//
 42837  	// An update
 42838  	// may not be applicable to the ESX host for many reasons - for
 42839  	// example, it is obsolete, it conflicts with other installed
 42840  	// patches or libraries, and so on. The `HostPatchManagerStatus.reason` shows some of the reasons
 42841  	// why the update is not applicable.
 42842  	// An update could be inapplicable with no reason listed. This is
 42843  	// because the prerequisite install state is not correct. For example,
 42844  	// update A is one of the prerequisites of update B. B not only
 42845  	// requires A to be installed, but also requires the host is
 42846  	// rebooted after A is installed. When A is installed and the host
 42847  	// has not been restarted after the installation, B will not be
 42848  	// applicable. In such a case, the scan on both updates A and B
 42849  	// would yield a whole picture of the update applicable status.
 42850  	Applicable bool `xml:"applicable" json:"applicable"`
 42851  	// Possible reasons why an update is not applicable to the ESX host.
 42852  	//
 42853  	// See also `HostPatchManagerReason_enum`.
 42854  	Reason []string `xml:"reason,omitempty" json:"reason,omitempty"`
 42855  	// The integrity status of the update's metadata.
 42856  	//
 42857  	// The value would
 42858  	// be unset if the integrity status is unknown to the server.
 42859  	//
 42860  	// See also `HostPatchManagerIntegrityStatus_enum`.
 42861  	Integrity string `xml:"integrity,omitempty" json:"integrity,omitempty"`
 42862  	// Whether the update is installed on the server.
 42863  	Installed bool `xml:"installed" json:"installed"`
 42864  	// The installation state of the update.
 42865  	//
 42866  	// Unset if the update is not
 42867  	// installed on the server.
 42868  	//
 42869  	// See also `HostPatchManagerInstallState_enum`.
 42870  	InstallState []string `xml:"installState,omitempty" json:"installState,omitempty"`
 42871  	// Prerequisite update.
 42872  	PrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"prerequisitePatch,omitempty" json:"prerequisitePatch,omitempty"`
 42873  	// Whether or not this update requires a host restart to take effect.
 42874  	RestartRequired bool `xml:"restartRequired" json:"restartRequired"`
 42875  	// Whether or not this update requires caller to reconnect to the
 42876  	// host.
 42877  	//
 42878  	// This is usually because the update is on the agent that
 42879  	// running on the host, the agent would thus be restarted when the
 42880  	// update is applied. Caller can reconnect (and possibly relogin) to
 42881  	// the host after the agent has been restarted.
 42882  	ReconnectRequired bool `xml:"reconnectRequired" json:"reconnectRequired"`
 42883  	// Whether or not this update requires the host in maintenance mode.
 42884  	VmOffRequired bool `xml:"vmOffRequired" json:"vmOffRequired"`
 42885  	// Patches that are superseded by this update.
 42886  	SupersededPatchIds []string `xml:"supersededPatchIds,omitempty" json:"supersededPatchIds,omitempty"`
 42887  }
 42888  
 42889  func init() {
 42890  	t["HostPatchManagerStatus"] = reflect.TypeOf((*HostPatchManagerStatus)(nil)).Elem()
 42891  }
 42892  
 42893  // Updates that are required to be installed before this update can
 42894  // be installed on the server.
 42895  //
 42896  // In addition to being installed on the server, an update can have
 42897  // additional requirement on the server or services running on the
 42898  // server pertaining to the prerequisite update.
 42899  type HostPatchManagerStatusPrerequisitePatch struct {
 42900  	DynamicData
 42901  
 42902  	// Unique identifier of the prerequisite update.
 42903  	Id string `xml:"id" json:"id"`
 42904  	// The requirement on the server or services running on the
 42905  	// server pertaining to the prerequisite update.
 42906  	//
 42907  	// For example,
 42908  	// this update could require the server to be rebooted after the
 42909  	// prerequisite update is installed. Unset if there is no
 42910  	// additional requirement on the prerequisite update.
 42911  	//
 42912  	// See also `HostPatchManagerInstallState_enum`.
 42913  	InstallState []string `xml:"installState,omitempty" json:"installState,omitempty"`
 42914  }
 42915  
 42916  func init() {
 42917  	t["HostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*HostPatchManagerStatusPrerequisitePatch)(nil)).Elem()
 42918  }
 42919  
 42920  // Description of options associated with a native multipathing
 42921  // path selection policy plugin.
 42922  type HostPathSelectionPolicyOption struct {
 42923  	DynamicData
 42924  
 42925  	// Description of the paths selection policy.
 42926  	//
 42927  	// Use the key as the
 42928  	// identifier.
 42929  	Policy BaseElementDescription `xml:"policy,typeattr" json:"policy"`
 42930  }
 42931  
 42932  func init() {
 42933  	t["HostPathSelectionPolicyOption"] = reflect.TypeOf((*HostPathSelectionPolicyOption)(nil)).Elem()
 42934  }
 42935  
 42936  // This data object type describes information about
 42937  // a single Peripheral Component Interconnect (PCI) device.
 42938  type HostPciDevice struct {
 42939  	DynamicData
 42940  
 42941  	// The name ID of this PCI, composed of "bus:slot.function".
 42942  	Id string `xml:"id" json:"id"`
 42943  	// The class of this PCI.
 42944  	ClassId int16 `xml:"classId" json:"classId"`
 42945  	// The bus ID of this PCI.
 42946  	Bus byte `xml:"bus" json:"bus"`
 42947  	// The slot ID of this PCI.
 42948  	Slot byte `xml:"slot" json:"slot"`
 42949  	// The physical slot of this PCI device
 42950  	PhysicalSlot int32 `xml:"physicalSlot,omitempty" json:"physicalSlot,omitempty" vim:"9.0.0.0"`
 42951  	// The slot description
 42952  	SlotDescription string `xml:"slotDescription,omitempty" json:"slotDescription,omitempty" vim:"9.0.0.0"`
 42953  	// The function ID of this PCI.
 42954  	Function byte `xml:"function" json:"function"`
 42955  	// The vendor ID of this PCI.
 42956  	//
 42957  	// The vendor ID might be a negative value. A vSphere Server uses an unsigned
 42958  	// short integer to represent a PCI vendor ID. The WSDL representation of the ID
 42959  	// is a signed short integer. If the vendor ID is greater than 32767, the Server
 42960  	// will convert the ID to its two's complement for the WSDL representation.
 42961  	// When you specify a PCI device vendor ID for a virtual machine
 42962  	// (`VirtualPCIPassthroughDeviceBackingInfo`.vendorId),
 42963  	// you must use the retrieved `HostPciDevice`.deviceId value.
 42964  	VendorId int16 `xml:"vendorId" json:"vendorId"`
 42965  	// The subvendor ID of this PCI.
 42966  	//
 42967  	// The subvendor ID might be a negative value. A vSphere Server uses an unsigned
 42968  	// short integer to represent a PCI subvendor ID. The WSDL representation of the ID
 42969  	// is a signed short integer. If the subvendor ID is greater than 32767, the Server
 42970  	// will convert the ID to its two's complement for the WSDL representation.
 42971  	SubVendorId int16 `xml:"subVendorId" json:"subVendorId"`
 42972  	// The vendor name of this PCI.
 42973  	VendorName string `xml:"vendorName" json:"vendorName"`
 42974  	// The device ID of this PCI.
 42975  	//
 42976  	// The device ID might be a negative value. A vSphere Server uses an unsigned
 42977  	// short integer to represent a PCI device ID. The WSDL representation of the ID
 42978  	// is a signed short integer. If the PCI ID is greater than 32767, the Server
 42979  	// will convert the ID to its two's complement for the WSDL representation.
 42980  	// When you specify a PCI device ID for a virtual machine
 42981  	// (`VirtualPCIPassthroughDeviceBackingInfo`.deviceId),
 42982  	// you must use the `HostPciDevice`.deviceId value as retrieved
 42983  	// and convert it to a string.
 42984  	DeviceId int16 `xml:"deviceId" json:"deviceId"`
 42985  	// The subdevice ID of this PCI.
 42986  	//
 42987  	// The subdevice ID might be a negative value. A vSphere Server uses an unsigned
 42988  	// short integer to represent a PCI subdevice ID. The WSDL representation of the ID
 42989  	// is a signed short integer. If the subdevice ID is greater than 32767, the Server
 42990  	// will convert the ID to its two's complement for the WSDL representation.
 42991  	SubDeviceId int16 `xml:"subDeviceId" json:"subDeviceId"`
 42992  	// The parent bridge of this PCI.
 42993  	ParentBridge string `xml:"parentBridge,omitempty" json:"parentBridge,omitempty"`
 42994  	// The device name of this PCI.
 42995  	DeviceName string `xml:"deviceName" json:"deviceName"`
 42996  	// The name for the PCI device class representing this PCI.
 42997  	//
 42998  	// For example: "Host bridge", "iSCSI device", "Fibre channel HBA".
 42999  	DeviceClassName string `xml:"deviceClassName,omitempty" json:"deviceClassName,omitempty" vim:"8.0.3.0"`
 43000  }
 43001  
 43002  func init() {
 43003  	t["HostPciDevice"] = reflect.TypeOf((*HostPciDevice)(nil)).Elem()
 43004  }
 43005  
 43006  // This data object provides information about the state of PciPassthru
 43007  // for all pci devices.
 43008  type HostPciPassthruConfig struct {
 43009  	DynamicData
 43010  
 43011  	// The name ID of this PCI, composed of "bus:slot.function".
 43012  	Id string `xml:"id" json:"id"`
 43013  	// Whether passThru has been configured for this device
 43014  	PassthruEnabled bool `xml:"passthruEnabled" json:"passthruEnabled"`
 43015  	// Whether the passThru config should take effect without rebooting ESX.
 43016  	//
 43017  	// When unset, the behavior will be determined automatically
 43018  	// based on `HostCapability.deviceRebindWithoutRebootSupported`.
 43019  	// If the configuration can be applied immediately, it
 43020  	// will be, otherwise the changes will take effect after reboot.
 43021  	ApplyNow *bool `xml:"applyNow" json:"applyNow,omitempty"`
 43022  	// The hardware label of the this PCI device.
 43023  	HardwareLabel string `xml:"hardwareLabel,omitempty" json:"hardwareLabel,omitempty" vim:"7.0.2.0"`
 43024  }
 43025  
 43026  func init() {
 43027  	t["HostPciPassthruConfig"] = reflect.TypeOf((*HostPciPassthruConfig)(nil)).Elem()
 43028  }
 43029  
 43030  // This data object provides information about the state of PciPassthru
 43031  // for all pci devices.
 43032  type HostPciPassthruInfo struct {
 43033  	DynamicData
 43034  
 43035  	// The name ID of this PCI, composed of "bus:slot.function".
 43036  	Id string `xml:"id" json:"id"`
 43037  	// Device which needs to be unclaimed by vmkernel (may be bridge)
 43038  	DependentDevice string `xml:"dependentDevice" json:"dependentDevice"`
 43039  	// Whether passThru has been configured by the user
 43040  	PassthruEnabled bool `xml:"passthruEnabled" json:"passthruEnabled"`
 43041  	// Whether passThru is even possible for this device (decided by vmkctl)
 43042  	PassthruCapable bool `xml:"passthruCapable" json:"passthruCapable"`
 43043  	// Whether passThru is active for this device (meaning enabled + rebooted)
 43044  	PassthruActive bool `xml:"passthruActive" json:"passthruActive"`
 43045  	// The hardware label of this PCI device.
 43046  	HardwareLabel string `xml:"hardwareLabel,omitempty" json:"hardwareLabel,omitempty" vim:"7.0.2.0"`
 43047  }
 43048  
 43049  func init() {
 43050  	t["HostPciPassthruInfo"] = reflect.TypeOf((*HostPciPassthruInfo)(nil)).Elem()
 43051  }
 43052  
 43053  // This data object describes the Peripheral Component Interconnect Express
 43054  // (PCIe) host bus adapter interface.
 43055  type HostPcieHba struct {
 43056  	HostHostBusAdapter
 43057  }
 43058  
 43059  func init() {
 43060  	t["HostPcieHba"] = reflect.TypeOf((*HostPcieHba)(nil)).Elem()
 43061  }
 43062  
 43063  // Peripheral Component Interconnect Express (PCIe)
 43064  // transport information about a target.
 43065  type HostPcieTargetTransport struct {
 43066  	HostTargetTransport
 43067  }
 43068  
 43069  func init() {
 43070  	t["HostPcieTargetTransport"] = reflect.TypeOf((*HostPcieTargetTransport)(nil)).Elem()
 43071  }
 43072  
 43073  // Host Hardware information about configured and available
 43074  // persistent memory on a host.
 43075  type HostPersistentMemoryInfo struct {
 43076  	DynamicData
 43077  
 43078  	// Amount of configured persistent memory available on a host in MB.
 43079  	CapacityInMB int64 `xml:"capacityInMB,omitempty" json:"capacityInMB,omitempty"`
 43080  	// Unique persistent memory host indentifier.
 43081  	VolumeUUID string `xml:"volumeUUID,omitempty" json:"volumeUUID,omitempty"`
 43082  }
 43083  
 43084  func init() {
 43085  	t["HostPersistentMemoryInfo"] = reflect.TypeOf((*HostPersistentMemoryInfo)(nil)).Elem()
 43086  }
 43087  
 43088  // This data type describes the Virtual Machine and
 43089  // Virtual NIC to identify virtual adapters placed
 43090  // on a physical NIC
 43091  type HostPlacedVirtualNicIdentifier struct {
 43092  	DynamicData
 43093  
 43094  	// The Virtual Machine
 43095  	//
 43096  	// Refers instance of `VirtualMachine`.
 43097  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 43098  	// The virtual NIC key
 43099  	VnicKey string `xml:"vnicKey" json:"vnicKey"`
 43100  	// The virtual NIC reservation
 43101  	Reservation *int32 `xml:"reservation" json:"reservation,omitempty"`
 43102  }
 43103  
 43104  func init() {
 43105  	t["HostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*HostPlacedVirtualNicIdentifier)(nil)).Elem()
 43106  }
 43107  
 43108  // This data object represents the plug-store topology on a host
 43109  // system.
 43110  //
 43111  // Through this data object, the storage structure of a system
 43112  // that utilizes the plug-store architecture can be presented.
 43113  //
 43114  // The object entity-relationship diagram is modeled below:
 43115  //
 43116  //	------------------------------------------------------------
 43117  //	|             0..N             0..N      0..N              |
 43118  //	|   Plugin ----->  Device  ------>  Path  <------  Adapter |
 43119  //	|                          <------   |    ------>          |
 43120  //	|                          0,1       |          1          |
 43121  //	|                                    |                     |
 43122  //	|                                    | 0,1                 |
 43123  //	|                                   \|/                    |
 43124  //	|                                  Target                  |
 43125  //	------------------------------------------------------------
 43126  //
 43127  // Description and reasoning behind the relationships:
 43128  //
 43129  // When a storage device driver is loaded, it claims a PCI device as a
 43130  // host bus adapter. This host bus adapter is represented as an Adapter.
 43131  // The PCI device identifier is a property on the HostBusAdapter in the
 43132  // Adapter.
 43133  //
 43134  // Once the host bus adapter is on the system, the hardware bus is scanned.
 43135  // If a storage Device is found on the bus, the communication path to the
 43136  // Device from the the host bus adapter is represented by a Path. A Device
 43137  // may have more than one Path. How those Paths are composed to create a
 43138  // Device is determined by a storage Plugin.
 43139  //
 43140  // When a storage Plugin is loaded, it claims a set of Paths. It groups these
 43141  // Paths into a set of Devices. Devices are hence associated with a set of
 43142  // Paths that might be used to provide a single logical device such as in the
 43143  // case of multipathing. Devices may be also composed of zero Paths meaning
 43144  // that they do not directly use a host bus adapter for communication with
 43145  // underlying storage.
 43146  //
 43147  // The purpose of this data object is to represent the topology of storage
 43148  // as seen by the base plug-store system. There is some overlap
 43149  // with information in other objects such as ScsiTopology which is only
 43150  // applicable when a particular "native multipathing" plugin is used. This
 43151  // data object provides the complete inventory of Devices and Paths. Hence
 43152  // it provides a superset of Device mappings over data object such as
 43153  // ScsiTopology and Multipa
 43154  //
 43155  // The use cases that this data object accommodates includes the following
 43156  // non-exhaustive list:
 43157  //   - Enumerate paths on a host bus adapter.
 43158  //   - Enumerate paths on a storage device.
 43159  //   - Conveniently access the devices a host bus adapter is
 43160  //     associated with by traversing the path.
 43161  //   - Determine which plugin a device belongs.
 43162  //   - Determine which paths are claimed by a plugin by
 43163  //     accumulating the paths of all device of the plugin.
 43164  //   - Determine which plugin a path belongs to by accessing its
 43165  //     device and finding that device in the Plugin list.
 43166  type HostPlugStoreTopology struct {
 43167  	DynamicData
 43168  
 43169  	// List of host bus adapters in the plug store inventory.
 43170  	Adapter []HostPlugStoreTopologyAdapter `xml:"adapter,omitempty" json:"adapter,omitempty"`
 43171  	// List of paths in the plug store inventory.
 43172  	Path []HostPlugStoreTopologyPath `xml:"path,omitempty" json:"path,omitempty"`
 43173  	// Partial list of targets as seen by the host.
 43174  	//
 43175  	// The list of targets
 43176  	// may not be exhaustive on the host.
 43177  	Target []HostPlugStoreTopologyTarget `xml:"target,omitempty" json:"target,omitempty"`
 43178  	// List of devices in the plug store inventory.
 43179  	Device []HostPlugStoreTopologyDevice `xml:"device,omitempty" json:"device,omitempty"`
 43180  	// List of plugins in the plug store inventory.
 43181  	Plugin []HostPlugStoreTopologyPlugin `xml:"plugin,omitempty" json:"plugin,omitempty"`
 43182  }
 43183  
 43184  func init() {
 43185  	t["HostPlugStoreTopology"] = reflect.TypeOf((*HostPlugStoreTopology)(nil)).Elem()
 43186  }
 43187  
 43188  // This data object type is an association class that describes a host bus
 43189  // adapter and its associated storage Paths.
 43190  //
 43191  // The set of Paths on all the
 43192  // host bus adapters is the complete set of Paths in the system.
 43193  type HostPlugStoreTopologyAdapter struct {
 43194  	DynamicData
 43195  
 43196  	// The identifier for the host bus adapter.
 43197  	Key string `xml:"key" json:"key"`
 43198  	// The link to the host bus adapter for this inebtrface.
 43199  	Adapter string `xml:"adapter" json:"adapter"`
 43200  	// The list of paths to which the host bus adapter is associated.
 43201  	Path []string `xml:"path,omitempty" json:"path,omitempty"`
 43202  }
 43203  
 43204  func init() {
 43205  	t["HostPlugStoreTopologyAdapter"] = reflect.TypeOf((*HostPlugStoreTopologyAdapter)(nil)).Elem()
 43206  }
 43207  
 43208  // This data object type is an association class that describes a ScsiLun
 43209  // and its associated Path objects.
 43210  //
 43211  // The ScsiLun is a Device that is formed
 43212  // from a set of Paths.
 43213  type HostPlugStoreTopologyDevice struct {
 43214  	DynamicData
 43215  
 43216  	// Linkable identifier.
 43217  	Key string `xml:"key" json:"key"`
 43218  	// The SCSI device corresponding to logical unit.
 43219  	Lun string `xml:"lun" json:"lun"`
 43220  	// The array of paths available to access this LogicalUnit.
 43221  	Path []string `xml:"path,omitempty" json:"path,omitempty"`
 43222  }
 43223  
 43224  func init() {
 43225  	t["HostPlugStoreTopologyDevice"] = reflect.TypeOf((*HostPlugStoreTopologyDevice)(nil)).Elem()
 43226  }
 43227  
 43228  // This data object type is an association class that describes a Path and
 43229  // its associated Device.
 43230  //
 43231  // A Path may be claimed by at most one Device.
 43232  type HostPlugStoreTopologyPath struct {
 43233  	DynamicData
 43234  
 43235  	// The identifier for the Path.
 43236  	Key string `xml:"key" json:"key"`
 43237  	// Name of path.
 43238  	//
 43239  	// Use this property to correlate this path object to other
 43240  	// path objects.
 43241  	//
 43242  	// The state of the Path can be retrieved from the data object (@link
 43243  	// vim.host.MultipathStateInfo.Path} on the `HostMultipathStateInfo` data object.
 43244  	//
 43245  	// Use this name to configure LogicalUnit multipathing policy using `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
 43246  	Name string `xml:"name" json:"name"`
 43247  	// The channel number for a path if applicable.
 43248  	ChannelNumber int32 `xml:"channelNumber,omitempty" json:"channelNumber,omitempty"`
 43249  	// The target number for a path if applicable.
 43250  	//
 43251  	// The target number is not
 43252  	// guaranteed to be consistent across reboots or rescans of the adapter.
 43253  	TargetNumber int32 `xml:"targetNumber,omitempty" json:"targetNumber,omitempty"`
 43254  	// The LUN number for a path if applicable.
 43255  	LunNumber int32 `xml:"lunNumber,omitempty" json:"lunNumber,omitempty"`
 43256  	// The adapter that provided the Path.
 43257  	Adapter string `xml:"adapter,omitempty" json:"adapter,omitempty"`
 43258  	// The target of the Path if any.
 43259  	Target string `xml:"target,omitempty" json:"target,omitempty"`
 43260  	// The device that claimed the Path if any.
 43261  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 43262  }
 43263  
 43264  func init() {
 43265  	t["HostPlugStoreTopologyPath"] = reflect.TypeOf((*HostPlugStoreTopologyPath)(nil)).Elem()
 43266  }
 43267  
 43268  // This data object type represents a Plugin in the plug store architecture.
 43269  //
 43270  // A Plugin claims a set of paths and groups them into Devices.
 43271  type HostPlugStoreTopologyPlugin struct {
 43272  	DynamicData
 43273  
 43274  	// The identifier of the plugin.
 43275  	Key string `xml:"key" json:"key"`
 43276  	// The name of the plugin.
 43277  	Name string `xml:"name" json:"name"`
 43278  	// The set of devices formed by this plugin.
 43279  	Device []string `xml:"device,omitempty" json:"device,omitempty"`
 43280  	// The set of paths claimed by this plugin.
 43281  	//
 43282  	// Not every claimed path
 43283  	// will necessarily appear as part of a Device. Claimed paths will
 43284  	// only appear under Devices if the device identifier of the path
 43285  	// matches up with the device identifier exposed by the Device.
 43286  	ClaimedPath []string `xml:"claimedPath,omitempty" json:"claimedPath,omitempty"`
 43287  }
 43288  
 43289  func init() {
 43290  	t["HostPlugStoreTopologyPlugin"] = reflect.TypeOf((*HostPlugStoreTopologyPlugin)(nil)).Elem()
 43291  }
 43292  
 43293  // This data object represents target information.
 43294  type HostPlugStoreTopologyTarget struct {
 43295  	DynamicData
 43296  
 43297  	// The identifier of the target.
 43298  	//
 43299  	// This will be a string representing the
 43300  	// transport information of the target.
 43301  	Key string `xml:"key" json:"key"`
 43302  	// Detailed, transport-specific information about the target of a path.
 43303  	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
 43304  }
 43305  
 43306  func init() {
 43307  	t["HostPlugStoreTopologyTarget"] = reflect.TypeOf((*HostPlugStoreTopologyTarget)(nil)).Elem()
 43308  }
 43309  
 43310  // This data type describes the avaialable capacity
 43311  // for VM traffic on a physical NIC
 43312  type HostPnicNetworkResourceInfo struct {
 43313  	DynamicData
 43314  
 43315  	// The physical NIC device
 43316  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 43317  	// The total bandwidth available for VM traffic
 43318  	AvailableBandwidthForVMTraffic int64 `xml:"availableBandwidthForVMTraffic,omitempty" json:"availableBandwidthForVMTraffic,omitempty"`
 43319  	// The unused bandwidth for VM traffic
 43320  	UnusedBandwidthForVMTraffic int64 `xml:"unusedBandwidthForVMTraffic,omitempty" json:"unusedBandwidthForVMTraffic,omitempty"`
 43321  	// The connected virtual NICs of powered on Virtual Machines
 43322  	// that are placed on this physical NIC
 43323  	PlacedVirtualNics []HostPlacedVirtualNicIdentifier `xml:"placedVirtualNics,omitempty" json:"placedVirtualNics,omitempty"`
 43324  }
 43325  
 43326  func init() {
 43327  	t["HostPnicNetworkResourceInfo"] = reflect.TypeOf((*HostPnicNetworkResourceInfo)(nil)).Elem()
 43328  }
 43329  
 43330  // This data object type is used to describe port groups.
 43331  //
 43332  // Port groups are used to group virtual network adapters on a virtual switch,
 43333  // associating them with networks and network policies.
 43334  type HostPortGroup struct {
 43335  	DynamicData
 43336  
 43337  	// The linkable identifier.
 43338  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 43339  	// The ports that currently exist and are used on this port group.
 43340  	Port []HostPortGroupPort `xml:"port,omitempty" json:"port,omitempty"`
 43341  	// The virtual switch that contains this port group.
 43342  	Vswitch string `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 43343  	// Computed network policies that are applicable for a port group.
 43344  	//
 43345  	// The
 43346  	// inheritance scheme for PortGroup requires knowledge about the
 43347  	// NetworkPolicy for a port group and its parent virtual switch as well as
 43348  	// the logic for computing the results. This information is provided as
 43349  	// a convenience so that callers need not duplicate the inheritance logic
 43350  	// to determine the proper values for a network policy.
 43351  	//
 43352  	// See the description of the
 43353  	// `NetworkPolicy` data object type
 43354  	// for more information.
 43355  	ComputedPolicy HostNetworkPolicy `xml:"computedPolicy" json:"computedPolicy"`
 43356  	// The specification of a port group.
 43357  	Spec HostPortGroupSpec `xml:"spec" json:"spec"`
 43358  }
 43359  
 43360  func init() {
 43361  	t["HostPortGroup"] = reflect.TypeOf((*HostPortGroup)(nil)).Elem()
 43362  }
 43363  
 43364  // This describes the port group configuration containing both
 43365  // the configurable properties on a port group and the associated
 43366  // virtual switch.
 43367  type HostPortGroupConfig struct {
 43368  	DynamicData
 43369  
 43370  	// Indicates the change operation to apply on this configuration
 43371  	// specification.
 43372  	//
 43373  	// See also `HostConfigChangeOperation_enum`.
 43374  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 43375  	// The specification of the port group.
 43376  	Spec *HostPortGroupSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 43377  }
 43378  
 43379  func init() {
 43380  	t["HostPortGroupConfig"] = reflect.TypeOf((*HostPortGroupConfig)(nil)).Elem()
 43381  }
 43382  
 43383  // A Port data object type is a runtime representation of network
 43384  // connectivity between a network service or virtual machine and a
 43385  // virtual switch.
 43386  //
 43387  // This is different from a port group in that
 43388  // the port group represents the configuration aspects of the
 43389  // network connection. The Port object provides runtime statistics.
 43390  type HostPortGroupPort struct {
 43391  	DynamicData
 43392  
 43393  	// The linkable identifier.
 43394  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 43395  	// The Media Access Control (MAC) address of network service of
 43396  	// the virtual machine connected on this port.
 43397  	Mac []string `xml:"mac,omitempty" json:"mac,omitempty"`
 43398  	// The type of component connected on this port.
 43399  	//
 43400  	// Must be one of the
 43401  	// values of `PortGroupConnecteeType_enum`.
 43402  	Type string `xml:"type" json:"type"`
 43403  }
 43404  
 43405  func init() {
 43406  	t["HostPortGroupPort"] = reflect.TypeOf((*HostPortGroupPort)(nil)).Elem()
 43407  }
 43408  
 43409  // The `HostPortGroupProfile` data object represents the subprofile
 43410  // for a port group that will be used by the ESX host.
 43411  //
 43412  // If a profile plug-in defines policies or subprofiles, use the
 43413  // `ApplyProfile.policy` or `ApplyProfile.property`
 43414  // list to access the additional configuration data.
 43415  type HostPortGroupProfile struct {
 43416  	PortGroupProfile
 43417  
 43418  	// IP address configuration for the Host network.
 43419  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 43420  }
 43421  
 43422  func init() {
 43423  	t["HostPortGroupProfile"] = reflect.TypeOf((*HostPortGroupProfile)(nil)).Elem()
 43424  }
 43425  
 43426  // This data object type describes the PortGroup specification
 43427  // representing the properties on a PortGroup that
 43428  // can be configured.
 43429  type HostPortGroupSpec struct {
 43430  	DynamicData
 43431  
 43432  	// The name of the port group.
 43433  	Name string `xml:"name" json:"name"`
 43434  	// The VLAN ID for ports using this port group.
 43435  	//
 43436  	// Possible values:
 43437  	//   - A value of 0 specifies that you do not want the port group associated
 43438  	//     with a VLAN.
 43439  	//   - A value from 1 to 4094 specifies a VLAN ID for the port group.
 43440  	//   - A value of 4095 specifies that the port group should use trunk mode,
 43441  	//     which allows the guest operating system to manage its own VLAN tags.
 43442  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 43443  	// The identifier of the virtual switch on which
 43444  	// this port group is located.
 43445  	VswitchName string `xml:"vswitchName" json:"vswitchName"`
 43446  	// Policies on the port group take precedence over the ones specified
 43447  	// on the virtual switch.
 43448  	Policy HostNetworkPolicy `xml:"policy" json:"policy"`
 43449  }
 43450  
 43451  func init() {
 43452  	t["HostPortGroupSpec"] = reflect.TypeOf((*HostPortGroupSpec)(nil)).Elem()
 43453  }
 43454  
 43455  // This data object type contains a POSIX-specific parameter
 43456  // for local account creation.
 43457  type HostPosixAccountSpec struct {
 43458  	HostAccountSpec
 43459  
 43460  	// Deprecated as of vSphere API 5.1, this property is deprecated and
 43461  	// is ignored.
 43462  	//
 43463  	// The user ID or group ID of a specified account.
 43464  	PosixId int32 `xml:"posixId,omitempty" json:"posixId,omitempty"`
 43465  	// Grants shell access.
 43466  	//
 43467  	// As of vSphere API 5.1, this property is deprecated and
 43468  	// is ignored. `HostLocalAccountManager.CreateUser` will always set this to true, and
 43469  	// `HostLocalAccountManager.UpdateUser` will set it to true if it is already false.
 43470  	// Also shell access is granted only to users with
 43471  	// Administrator role on the root folder and no other non-Admin role on
 43472  	// any other inventory object.
 43473  	//
 43474  	// As of vSphere API 7.0.3.2, this property is no longer ignored and it must
 43475  	// be true if a user with administrator permissions needs shell access.
 43476  	// It can be set to true for other users only by administrators
 43477  	// who themselves have this shell access.
 43478  	// Administrators without shell access cannot change the passwords of
 43479  	// users with shell access.
 43480  	// Setting this property to false for user 'root' has no effect.
 43481  	//
 43482  	// If this property is not specified when creating a new user account
 43483  	// then the default value depends on the following factors:
 43484  	// if the calling user does not have shell access then it defaults to
 43485  	// false; if the calling user has shell access then it defaults to true,
 43486  	// unless overridden by host configuration settings.
 43487  	ShellAccess *bool `xml:"shellAccess" json:"shellAccess,omitempty"`
 43488  }
 43489  
 43490  func init() {
 43491  	t["HostPosixAccountSpec"] = reflect.TypeOf((*HostPosixAccountSpec)(nil)).Elem()
 43492  }
 43493  
 43494  // This fault is thrown when a host power operation fails.
 43495  type HostPowerOpFailed struct {
 43496  	VimFault
 43497  }
 43498  
 43499  func init() {
 43500  	t["HostPowerOpFailed"] = reflect.TypeOf((*HostPowerOpFailed)(nil)).Elem()
 43501  }
 43502  
 43503  type HostPowerOpFailedFault BaseHostPowerOpFailed
 43504  
 43505  func init() {
 43506  	t["HostPowerOpFailedFault"] = reflect.TypeOf((*HostPowerOpFailedFault)(nil)).Elem()
 43507  }
 43508  
 43509  // Power Management Policy data object.
 43510  //
 43511  // Used to retrieve and specify current host power management policy.
 43512  type HostPowerPolicy struct {
 43513  	DynamicData
 43514  
 43515  	// Power Policy Key.
 43516  	//
 43517  	// Internally generated key which uniquely identifies power management
 43518  	// policy on a host.
 43519  	Key int32 `xml:"key" json:"key"`
 43520  	// Power Policy Name.
 43521  	Name string `xml:"name" json:"name"`
 43522  	// Power Policy Short Name.
 43523  	//
 43524  	// This is not localizable property which can be used to identify specific
 43525  	// power managing policies like "custom" power policy. Custom power policy
 43526  	// has short name set to "custom".
 43527  	ShortName string `xml:"shortName" json:"shortName"`
 43528  	// Power Policy Description.
 43529  	Description string `xml:"description" json:"description"`
 43530  }
 43531  
 43532  func init() {
 43533  	t["HostPowerPolicy"] = reflect.TypeOf((*HostPowerPolicy)(nil)).Elem()
 43534  }
 43535  
 43536  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 43537  //
 43538  // This event records that the primary agent specified is not a short name.
 43539  //
 43540  // The name of the primary agent is usually stored as a short name. You should
 43541  // not normally see this error. Please check the network configurations of your
 43542  // hosts.
 43543  type HostPrimaryAgentNotShortNameEvent struct {
 43544  	HostDasEvent
 43545  
 43546  	PrimaryAgent string `xml:"primaryAgent" json:"primaryAgent"`
 43547  }
 43548  
 43549  func init() {
 43550  	t["HostPrimaryAgentNotShortNameEvent"] = reflect.TypeOf((*HostPrimaryAgentNotShortNameEvent)(nil)).Elem()
 43551  }
 43552  
 43553  // This event records that a Profile application was done
 43554  // on the host
 43555  type HostProfileAppliedEvent struct {
 43556  	HostEvent
 43557  
 43558  	// Link to the profile which was applied
 43559  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 43560  }
 43561  
 43562  func init() {
 43563  	t["HostProfileAppliedEvent"] = reflect.TypeOf((*HostProfileAppliedEvent)(nil)).Elem()
 43564  }
 43565  
 43566  // The `HostProfileCompleteConfigSpec` data object
 43567  // specifies the complete configuration for a host profile.
 43568  type HostProfileCompleteConfigSpec struct {
 43569  	HostProfileConfigSpec
 43570  
 43571  	// Profile that contains configuration data for the host.
 43572  	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
 43573  	// User defined compliance profile.
 43574  	//
 43575  	// Reserved for future use.
 43576  	CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty" json:"customComplyProfile,omitempty"`
 43577  	// Flag indicating if this configuration specification contains changes
 43578  	// in the `HostProfileCompleteConfigSpec.disabledExpressionList`.
 43579  	//
 43580  	// If False, the Profile Engine ignores the contents of the disabled expression list.
 43581  	DisabledExpressionListChanged bool `xml:"disabledExpressionListChanged" json:"disabledExpressionListChanged"`
 43582  	// List of expressions to be disabled.
 43583  	//
 43584  	// Each entry in the list specifies
 43585  	// a `ProfileExpression*.*ProfileExpression.id`.
 43586  	// All expressions are enabled by default.
 43587  	//
 43588  	// If you set `HostProfileCompleteConfigSpec.disabledExpressionListChanged`
 43589  	// to True, the Profile Engine uses the contents of this list to replace the contents
 43590  	// of the `HostProfile*.*Profile.config*.*HostProfileConfigInfo.disabledExpressionList`.
 43591  	//
 43592  	// The expression list is contained in the
 43593  	// `HostProfileConfigInfo.defaultComplyProfile`.
 43594  	// The Profile Engine automatically generates the default compliance profile
 43595  	// when you create a host profile.
 43596  	DisabledExpressionList []string `xml:"disabledExpressionList,omitempty" json:"disabledExpressionList,omitempty"`
 43597  	// Host for profile validation.
 43598  	//
 43599  	// This can be a host on which the profile
 43600  	// is intended to be used. If you do not specify a validator host,
 43601  	// the Profile Engine uses the `HostProfile*.*HostProfile.referenceHost`
 43602  	// to validate the profile.
 43603  	//
 43604  	// Refers instance of `HostSystem`.
 43605  	ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty" json:"validatorHost,omitempty"`
 43606  	// If "false", then the host profile will be saved without being validated.
 43607  	//
 43608  	// The default if not specified is "true".
 43609  	// This option should be used with caution, since the resulting host profile
 43610  	// will not be checked for errors.
 43611  	Validating *bool `xml:"validating" json:"validating,omitempty"`
 43612  	// Host profile configuration data and compliance information.
 43613  	//
 43614  	// If `HostProfileCompleteConfigSpec.hostConfig` is set,
 43615  	// then the HostApplyProfile
 43616  	// `HostProfileCompleteConfigSpec.applyProfile` and
 43617  	// ComplianceProfile
 43618  	// `HostProfileCompleteConfigSpec.customComplyProfile`
 43619  	// should not be set in CompleteConfigSpec.
 43620  	HostConfig *HostProfileConfigInfo `xml:"hostConfig,omitempty" json:"hostConfig,omitempty"`
 43621  }
 43622  
 43623  func init() {
 43624  	t["HostProfileCompleteConfigSpec"] = reflect.TypeOf((*HostProfileCompleteConfigSpec)(nil)).Elem()
 43625  }
 43626  
 43627  // The `HostProfileConfigInfo` data object
 43628  // contains host profile data and information about profile compliance.
 43629  type HostProfileConfigInfo struct {
 43630  	ProfileConfigInfo
 43631  
 43632  	// Profile data for host configuration.
 43633  	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
 43634  	// Default compliance profile.
 43635  	//
 43636  	// The ESX Server uses the <code>applyProfile</code>
 43637  	// (`HostProfile*.*Profile.config*.*HostProfileConfigInfo.applyProfile`)
 43638  	// to generate the default compliance profile when you create a host profile.
 43639  	// When the <code>applyProfile</code> is modified, the Server automatically
 43640  	// updates the compliance profile to match it.
 43641  	DefaultComplyProfile *ComplianceProfile `xml:"defaultComplyProfile,omitempty" json:"defaultComplyProfile,omitempty"`
 43642  	// List of compliance locators.
 43643  	//
 43644  	// Each locator specifies an association between
 43645  	// the <code>applyProfile</code> and the <code>defaultComplyProfile</code>.
 43646  	// The association identifies a component profile and the expression generated
 43647  	// by the profile. vSphere clients can use this data to provide contextual
 43648  	// information to the user.
 43649  	DefaultComplyLocator []ComplianceLocator `xml:"defaultComplyLocator,omitempty" json:"defaultComplyLocator,omitempty"`
 43650  	// User defined compliance profile.
 43651  	//
 43652  	// Reserved for future use.
 43653  	CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty" json:"customComplyProfile,omitempty"`
 43654  	// Disabled expressions in the default compliance profile
 43655  	// (<code>DefaultComplyProfile</code>).
 43656  	//
 43657  	// Use this property to specify which expressions are disabled.
 43658  	// All expressions are enabled by default.
 43659  	DisabledExpressionList []string `xml:"disabledExpressionList,omitempty" json:"disabledExpressionList,omitempty"`
 43660  	// Localized description of the profile.
 43661  	Description *ProfileDescription `xml:"description,omitempty" json:"description,omitempty"`
 43662  }
 43663  
 43664  func init() {
 43665  	t["HostProfileConfigInfo"] = reflect.TypeOf((*HostProfileConfigInfo)(nil)).Elem()
 43666  }
 43667  
 43668  // `HostProfileConfigSpec` is the base data object
 43669  // for all `HostProfile` configuration specifications.
 43670  type HostProfileConfigSpec struct {
 43671  	ProfileCreateSpec
 43672  }
 43673  
 43674  func init() {
 43675  	t["HostProfileConfigSpec"] = reflect.TypeOf((*HostProfileConfigSpec)(nil)).Elem()
 43676  }
 43677  
 43678  // The `HostProfileHostBasedConfigSpec` data object
 43679  // specifies the host from which configuration data is to be extracted
 43680  // and the profile(s) to be created or updated.
 43681  type HostProfileHostBasedConfigSpec struct {
 43682  	HostProfileConfigSpec
 43683  
 43684  	// ESX host.
 43685  	//
 43686  	// Refers instance of `HostSystem`.
 43687  	Host ManagedObjectReference `xml:"host" json:"host"`
 43688  	// Flag indicating if the Profile Engine should use the profile
 43689  	// plug-ins present on the host to create the profile.
 43690  	//
 43691  	// If <code>true</code>, the host Profile Engine uses the vSphere 5.0
 43692  	// (or later) profile plug-ins. The resulting profile is not compatible
 43693  	// with legacy hosts (pre 5.0). If <code>false</code> or not specified,
 43694  	// the Profile Engine creates a legacy host profile.
 43695  	UseHostProfileEngine *bool `xml:"useHostProfileEngine" json:"useHostProfileEngine,omitempty"`
 43696  }
 43697  
 43698  func init() {
 43699  	t["HostProfileHostBasedConfigSpec"] = reflect.TypeOf((*HostProfileHostBasedConfigSpec)(nil)).Elem()
 43700  }
 43701  
 43702  // The data class for host profile composition result.
 43703  type HostProfileManagerCompositionResult struct {
 43704  	DynamicData
 43705  
 43706  	// The composition errors for all targets, for example, the source
 43707  	// profile doesn't exist.
 43708  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 43709  	// The array of
 43710  	// `HostProfileManagerCompositionResultResultElement`
 43711  	// for all the target host profiles.
 43712  	Results []HostProfileManagerCompositionResultResultElement `xml:"results,omitempty" json:"results,omitempty"`
 43713  }
 43714  
 43715  func init() {
 43716  	t["HostProfileManagerCompositionResult"] = reflect.TypeOf((*HostProfileManagerCompositionResult)(nil)).Elem()
 43717  }
 43718  
 43719  // Composition result for a specific target host profile.
 43720  type HostProfileManagerCompositionResultResultElement struct {
 43721  	DynamicData
 43722  
 43723  	// The target host profile.
 43724  	//
 43725  	// Refers instance of `Profile`.
 43726  	Target ManagedObjectReference `xml:"target" json:"target"`
 43727  	// The composition status.
 43728  	//
 43729  	// See `HostProfileManagerCompositionResultResultElementStatus_enum`
 43730  	// for details of supported values.
 43731  	Status string `xml:"status" json:"status"`
 43732  	// The composition errors.
 43733  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 43734  }
 43735  
 43736  func init() {
 43737  	t["HostProfileManagerCompositionResultResultElement"] = reflect.TypeOf((*HostProfileManagerCompositionResultResultElement)(nil)).Elem()
 43738  }
 43739  
 43740  // The data class for the host profile composition validation
 43741  // results.
 43742  type HostProfileManagerCompositionValidationResult struct {
 43743  	DynamicData
 43744  
 43745  	// The array of
 43746  	// `HostProfileManagerCompositionValidationResultResultElement`
 43747  	// for all the target host profiles.
 43748  	Results []HostProfileManagerCompositionValidationResultResultElement `xml:"results,omitempty" json:"results,omitempty"`
 43749  	// The common error happened at validation.
 43750  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 43751  }
 43752  
 43753  func init() {
 43754  	t["HostProfileManagerCompositionValidationResult"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResult)(nil)).Elem()
 43755  }
 43756  
 43757  // The host profile composition validation result for a specific target
 43758  // host profile.
 43759  type HostProfileManagerCompositionValidationResultResultElement struct {
 43760  	DynamicData
 43761  
 43762  	// The target host profile.
 43763  	//
 43764  	// Refers instance of `Profile`.
 43765  	Target ManagedObjectReference `xml:"target" json:"target"`
 43766  	// The composition validation status.
 43767  	//
 43768  	// See `HostProfileManagerCompositionValidationResultResultElementStatus_enum`
 43769  	// for details of supported values.
 43770  	Status string `xml:"status" json:"status"`
 43771  	// The composition validation errors.
 43772  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 43773  	// When a selected sub profile for composition exists in both the
 43774  	// source and target host profile, this member will contain the
 43775  	// source side difference for the selected sub profiles.
 43776  	SourceDiffForToBeMerged *HostApplyProfile `xml:"sourceDiffForToBeMerged,omitempty" json:"sourceDiffForToBeMerged,omitempty"`
 43777  	// Similar to the member <code>sourceDiffForToBeMerged</code> above
 43778  	// but contains the target side difference.
 43779  	//
 43780  	// Comparing the same
 43781  	// configurations in these two variables will show the changes for
 43782  	// the configurations that exist in both source and target host
 43783  	// profile.
 43784  	TargetDiffForToBeMerged *HostApplyProfile `xml:"targetDiffForToBeMerged,omitempty" json:"targetDiffForToBeMerged,omitempty"`
 43785  	// The sub profiles doesn't exist in the target and will be added to
 43786  	// the target at host profile composition.
 43787  	ToBeAdded *HostApplyProfile `xml:"toBeAdded,omitempty" json:"toBeAdded,omitempty"`
 43788  	// The sub profiles exists in the target but not in the source and will
 43789  	// be deleted from the target at host profile composition.
 43790  	ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
 43791  	// The sub profiles to be disabled in the target host profiles.
 43792  	ToBeDisabled *HostApplyProfile `xml:"toBeDisabled,omitempty" json:"toBeDisabled,omitempty"`
 43793  	// The sub profiles to be enabled in the target host profiles.
 43794  	ToBeEnabled *HostApplyProfile `xml:"toBeEnabled,omitempty" json:"toBeEnabled,omitempty"`
 43795  	// The sub profile to be unset ignoring compliance check
 43796  	// in the target host profile.
 43797  	ToBeReenableCC *HostApplyProfile `xml:"toBeReenableCC,omitempty" json:"toBeReenableCC,omitempty"`
 43798  }
 43799  
 43800  func init() {
 43801  	t["HostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResultResultElement)(nil)).Elem()
 43802  }
 43803  
 43804  // The `HostProfileManagerConfigTaskList` data object
 43805  // represents a set of tasks to be performed on a host during host profile application.
 43806  type HostProfileManagerConfigTaskList struct {
 43807  	DynamicData
 43808  
 43809  	// Set of configuration changes to be applied to the host.
 43810  	ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 43811  	// Description of tasks that will be performed on the host
 43812  	// to carry out HostProfile application.
 43813  	TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty" json:"taskDescription,omitempty"`
 43814  	// A set of requirements whose actions must be fulfilled before and/or
 43815  	// after the task list is applied on an ESXi host, e.g.
 43816  	//
 43817  	// whether the ESXi
 43818  	// host must be in maintenance mode prior to applying the <code>configSpec</code>,
 43819  	// or whether the host will need to be rebooted after applying the <code>configSpec</code>.
 43820  	// See `HostProfileManagerTaskListRequirement_enum` for
 43821  	// details of supported values.
 43822  	TaskListRequirement []string `xml:"taskListRequirement,omitempty" json:"taskListRequirement,omitempty"`
 43823  }
 43824  
 43825  func init() {
 43826  	t["HostProfileManagerConfigTaskList"] = reflect.TypeOf((*HostProfileManagerConfigTaskList)(nil)).Elem()
 43827  }
 43828  
 43829  // Data class for <code>HostSystem</code>-<code>AnswerFileCreateSpec</code>
 43830  // mapping.
 43831  type HostProfileManagerHostToConfigSpecMap struct {
 43832  	DynamicData
 43833  
 43834  	// The host
 43835  	//
 43836  	// Refers instance of `HostSystem`.
 43837  	Host ManagedObjectReference `xml:"host" json:"host"`
 43838  	// The corresponding <code>AnswerFileCreateSpec</code>.
 43839  	ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr" json:"configSpec"`
 43840  }
 43841  
 43842  func init() {
 43843  	t["HostProfileManagerHostToConfigSpecMap"] = reflect.TypeOf((*HostProfileManagerHostToConfigSpecMap)(nil)).Elem()
 43844  }
 43845  
 43846  type HostProfileResetValidationState HostProfileResetValidationStateRequestType
 43847  
 43848  func init() {
 43849  	t["HostProfileResetValidationState"] = reflect.TypeOf((*HostProfileResetValidationState)(nil)).Elem()
 43850  }
 43851  
 43852  type HostProfileResetValidationStateRequestType struct {
 43853  	This ManagedObjectReference `xml:"_this" json:"-"`
 43854  }
 43855  
 43856  func init() {
 43857  	t["HostProfileResetValidationStateRequestType"] = reflect.TypeOf((*HostProfileResetValidationStateRequestType)(nil)).Elem()
 43858  }
 43859  
 43860  type HostProfileResetValidationStateResponse struct {
 43861  }
 43862  
 43863  // The `HostProfileSerializedHostProfileSpec` data object
 43864  // contains a string representation of a host profile.
 43865  //
 43866  // Use this object when you
 43867  // create a host profile from a file.
 43868  type HostProfileSerializedHostProfileSpec struct {
 43869  	ProfileSerializedCreateSpec
 43870  
 43871  	// Host for profile validation.
 43872  	//
 43873  	// This can be a host on which
 43874  	// the profile is intended to be used.
 43875  	//
 43876  	// Refers instance of `HostSystem`.
 43877  	ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty" json:"validatorHost,omitempty"`
 43878  	// If "false", then the host profile will be saved without being validated.
 43879  	//
 43880  	// The default if not specified is "true".
 43881  	// This option should be used with caution, since the resulting host profile
 43882  	// will not be checked for errors.
 43883  	Validating *bool `xml:"validating" json:"validating,omitempty"`
 43884  }
 43885  
 43886  func init() {
 43887  	t["HostProfileSerializedHostProfileSpec"] = reflect.TypeOf((*HostProfileSerializedHostProfileSpec)(nil)).Elem()
 43888  }
 43889  
 43890  // This defines the validation result for the host profile.
 43891  type HostProfileValidationFailureInfo struct {
 43892  	DynamicData
 43893  
 43894  	// The name of host profile to be validated.
 43895  	Name string `xml:"name" json:"name"`
 43896  	// Host profile annotation at update.
 43897  	Annotation string `xml:"annotation" json:"annotation"`
 43898  	// Host profile update type.
 43899  	//
 43900  	// See the enumerate class
 43901  	// <code>UpdateType</code> above for the valid values.
 43902  	UpdateType string `xml:"updateType" json:"updateType"`
 43903  	// The host where the host profile is updated from.
 43904  	//
 43905  	// Refers instance of `HostSystem`.
 43906  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 43907  	// The host configuration after validation.
 43908  	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
 43909  	// List of failures in the host profile configuration.
 43910  	Failures []ProfileUpdateFailedUpdateFailure `xml:"failures,omitempty" json:"failures,omitempty"`
 43911  	// The <code>MethodFault</code>s happened at validation.
 43912  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 43913  }
 43914  
 43915  func init() {
 43916  	t["HostProfileValidationFailureInfo"] = reflect.TypeOf((*HostProfileValidationFailureInfo)(nil)).Elem()
 43917  }
 43918  
 43919  // Data type used to contain a representation of host or cluster customization
 43920  // data in a `HostProfilesCustomizationData` object.
 43921  //
 43922  // Subclasses of this must be defined to provide host or cluster customization
 43923  // data in specific formats.
 43924  type HostProfilesEntityCustomizations struct {
 43925  	DynamicData
 43926  }
 43927  
 43928  func init() {
 43929  	t["HostProfilesEntityCustomizations"] = reflect.TypeOf((*HostProfilesEntityCustomizations)(nil)).Elem()
 43930  }
 43931  
 43932  // ProtocolEndpoint is configured LUN or NFS directory
 43933  // This is used for io path to actual virtual disks (VVols)
 43934  type HostProtocolEndpoint struct {
 43935  	DynamicData
 43936  
 43937  	// Deprecated from all vmodl version above @released("6.0")
 43938  	// Use type instead.
 43939  	//
 43940  	// Type of ProtocolEndpoint
 43941  	// See `HostProtocolEndpointPEType_enum`
 43942  	PeType string `xml:"peType" json:"peType"`
 43943  	// Type of ProtocolEndpoint
 43944  	// See `HostProtocolEndpointProtocolEndpointType_enum`
 43945  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 43946  	// Identifier for PE assigned by VASA Provider
 43947  	Uuid string `xml:"uuid" json:"uuid"`
 43948  	// Set of ESX hosts which can see the same PE
 43949  	//
 43950  	// Refers instances of `HostSystem`.
 43951  	HostKey []ManagedObjectReference `xml:"hostKey,omitempty" json:"hostKey,omitempty"`
 43952  	// Associated Storage Array
 43953  	StorageArray string `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
 43954  	// NFSv3 and NFSv4x PE will contain information about NFS Server
 43955  	// For NFSv4x this field may contain comma separated list of IP addresses
 43956  	// which are associated with the NFS Server
 43957  	NfsServer string `xml:"nfsServer,omitempty" json:"nfsServer,omitempty"`
 43958  	// NFSv3 and NFSv4x PE will contain information about NFS directory
 43959  	NfsDir string `xml:"nfsDir,omitempty" json:"nfsDir,omitempty"`
 43960  	// NFSv4x PE will contain information about NFSv4x Server Scope
 43961  	NfsServerScope string `xml:"nfsServerScope,omitempty" json:"nfsServerScope,omitempty"`
 43962  	// NFSv4x PE will contain information about NFSv4x Server Major
 43963  	NfsServerMajor string `xml:"nfsServerMajor,omitempty" json:"nfsServerMajor,omitempty"`
 43964  	// NFSv4x PE will contain information about NFSv4x Server Auth-type
 43965  	NfsServerAuthType string `xml:"nfsServerAuthType,omitempty" json:"nfsServerAuthType,omitempty"`
 43966  	// NFSv4x PE will contain information about NFSv4x Server User
 43967  	NfsServerUser string `xml:"nfsServerUser,omitempty" json:"nfsServerUser,omitempty"`
 43968  	// SCSI PE will contain information about SCSI device ID
 43969  	DeviceId string `xml:"deviceId,omitempty" json:"deviceId,omitempty"`
 43970  	// Indicates whether the PE is being used to access a stretch-capable container
 43971  	UsedByStretchedContainer *bool `xml:"usedByStretchedContainer" json:"usedByStretchedContainer,omitempty" vim:"8.0.3.0"`
 43972  }
 43973  
 43974  func init() {
 43975  	t["HostProtocolEndpoint"] = reflect.TypeOf((*HostProtocolEndpoint)(nil)).Elem()
 43976  }
 43977  
 43978  // The HostProxySwitch is a software entity which represents the component
 43979  // of a DistributedVirtualSwitch on a particular host.
 43980  type HostProxySwitch struct {
 43981  	DynamicData
 43982  
 43983  	// The uuid of the DistributedVirtualSwitch that the HostProxySwitch
 43984  	// is a part of.
 43985  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 43986  	// The name of the DistributedVirtualSwitch that the HostProxySwitch
 43987  	// is part of.
 43988  	DvsName string `xml:"dvsName" json:"dvsName"`
 43989  	// The proxy switch key.
 43990  	Key string `xml:"key" json:"key"`
 43991  	// The number of ports that this switch currently has.
 43992  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 43993  	// The configured number of ports that this switch has.
 43994  	//
 43995  	// If configured number of ports is changed,
 43996  	// a host reboot is required for the new value to take effect.
 43997  	ConfigNumPorts int32 `xml:"configNumPorts,omitempty" json:"configNumPorts,omitempty"`
 43998  	// The number of ports that are available on this virtual switch.
 43999  	NumPortsAvailable int32 `xml:"numPortsAvailable" json:"numPortsAvailable"`
 44000  	// The list of ports that can be potentially used by physical nics.
 44001  	//
 44002  	// This property contains the keys and names of such ports.
 44003  	UplinkPort []KeyValue `xml:"uplinkPort,omitempty" json:"uplinkPort,omitempty"`
 44004  	// The maximum transmission unit (MTU) associated with this switch
 44005  	// in bytes.
 44006  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 44007  	// The set of physical network adapters associated with this switch.
 44008  	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 44009  	// The specification of the switch.
 44010  	Spec HostProxySwitchSpec `xml:"spec" json:"spec"`
 44011  	// The Link Aggregation Control Protocol group and
 44012  	// Uplink ports in the group.
 44013  	HostLag []HostProxySwitchHostLagConfig `xml:"hostLag,omitempty" json:"hostLag,omitempty"`
 44014  	// Indicates whether network reservation is supported on this switch
 44015  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty"`
 44016  	// Indicate whether NSX-T is enabled on this switch
 44017  	NsxtEnabled *bool `xml:"nsxtEnabled" json:"nsxtEnabled,omitempty"`
 44018  	// Is ENS enabled on this switch
 44019  	EnsEnabled *bool `xml:"ensEnabled" json:"ensEnabled,omitempty"`
 44020  	// Is ENS interrupt mode enabled on this switch
 44021  	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty"`
 44022  	// Transport Zones this switch joined
 44023  	TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty" json:"transportZones,omitempty"`
 44024  	// Uplink port names used by NSX-T
 44025  	NsxUsedUplinkPort []string `xml:"nsxUsedUplinkPort,omitempty" json:"nsxUsedUplinkPort,omitempty"`
 44026  	// NSX-T proxy switch status
 44027  	NsxtStatus string `xml:"nsxtStatus,omitempty" json:"nsxtStatus,omitempty"`
 44028  	// Additional information regarding the NSX-T proxy switch status
 44029  	NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty" json:"nsxtStatusDetail,omitempty"`
 44030  	// ENS Status From VmKernal.
 44031  	EnsInfo *HostProxySwitchEnsInfo `xml:"ensInfo,omitempty" json:"ensInfo,omitempty" vim:"8.0.0.1"`
 44032  	// Indicate if network offloading is enabled on the proxy switch of
 44033  	// this host.
 44034  	//
 44035  	// Unset implies that network offloading is disabled.
 44036  	NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled" json:"networkOffloadingEnabled,omitempty" vim:"8.0.0.1"`
 44037  	// Indicates the runtime state of uplinks on the host.
 44038  	//
 44039  	// Only set when `HostProxySwitch.networkOffloadingEnabled`
 44040  	// is true.
 44041  	HostUplinkState []DistributedVirtualSwitchHostMemberHostUplinkState `xml:"hostUplinkState,omitempty" json:"hostUplinkState,omitempty" vim:"8.0.3.0"`
 44042  }
 44043  
 44044  func init() {
 44045  	t["HostProxySwitch"] = reflect.TypeOf((*HostProxySwitch)(nil)).Elem()
 44046  }
 44047  
 44048  // This data object type describes the HostProxySwitch configuration
 44049  // containing both the configurable
 44050  // properties on a HostProxySwitch and identification information.
 44051  type HostProxySwitchConfig struct {
 44052  	DynamicData
 44053  
 44054  	// This property indicates the change operation to apply on
 44055  	// this configuration specification.
 44056  	//
 44057  	// Valid values are:
 44058  	//   - `edit`
 44059  	//   - `remove`
 44060  	//
 44061  	// See also `HostConfigChangeOperation_enum`.
 44062  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 44063  	// The uuid of the DistributedVirtualSwitch that the HostProxySwitch
 44064  	// is a part of.
 44065  	Uuid string `xml:"uuid" json:"uuid"`
 44066  	// The specification of the HostProxySwitch.
 44067  	Spec *HostProxySwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 44068  }
 44069  
 44070  func init() {
 44071  	t["HostProxySwitchConfig"] = reflect.TypeOf((*HostProxySwitchConfig)(nil)).Elem()
 44072  }
 44073  
 44074  // This data object type describes
 44075  // the Ens status from VmKernal.
 44076  type HostProxySwitchEnsInfo struct {
 44077  	DynamicData
 44078  
 44079  	// ENS ops version
 44080  	OpsVersion int64 `xml:"opsVersion" json:"opsVersion"`
 44081  	// Number of ENS portset operations
 44082  	NumPSOps int64 `xml:"numPSOps" json:"numPSOps"`
 44083  	// Number of ENS Lcore operations
 44084  	NumLcoreOps int64 `xml:"numLcoreOps" json:"numLcoreOps"`
 44085  	// Error status of the last ENS portset operation
 44086  	ErrorStatus int64 `xml:"errorStatus" json:"errorStatus"`
 44087  	// Error status of the last Lcore operation
 44088  	LcoreStatus int64 `xml:"lcoreStatus" json:"lcoreStatus"`
 44089  }
 44090  
 44091  func init() {
 44092  	t["HostProxySwitchEnsInfo"] = reflect.TypeOf((*HostProxySwitchEnsInfo)(nil)).Elem()
 44093  	minAPIVersionForType["HostProxySwitchEnsInfo"] = "8.0.0.1"
 44094  }
 44095  
 44096  // This data object type describes the set of Uplink Ports in
 44097  // Link Aggregation Control Protocol group.
 44098  type HostProxySwitchHostLagConfig struct {
 44099  	DynamicData
 44100  
 44101  	LagKey  string `xml:"lagKey" json:"lagKey"`
 44102  	LagName string `xml:"lagName,omitempty" json:"lagName,omitempty"`
 44103  	// The list of Uplink Ports in the Link Aggregation Control Protocol group.
 44104  	//
 44105  	// This property contains the keys and names of such ports.
 44106  	UplinkPort []KeyValue `xml:"uplinkPort,omitempty" json:"uplinkPort,omitempty"`
 44107  }
 44108  
 44109  func init() {
 44110  	t["HostProxySwitchHostLagConfig"] = reflect.TypeOf((*HostProxySwitchHostLagConfig)(nil)).Elem()
 44111  }
 44112  
 44113  // This data object type describes the HostProxySwitch specification
 44114  // representing the properties on a HostProxySwitch that can be
 44115  // configured once the object exists.
 44116  type HostProxySwitchSpec struct {
 44117  	DynamicData
 44118  
 44119  	// The specification describes how physical network adapters
 44120  	// are bridged to the switch.
 44121  	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 44122  }
 44123  
 44124  func init() {
 44125  	t["HostProxySwitchSpec"] = reflect.TypeOf((*HostProxySwitchSpec)(nil)).Elem()
 44126  }
 44127  
 44128  // Configuration information for the host PTP (Precision Time
 44129  // Protocol) service.
 44130  type HostPtpConfig struct {
 44131  	DynamicData
 44132  
 44133  	// PTP domain number as defined in the IEEE 1588 standard.
 44134  	//
 44135  	// Supported
 44136  	// values are in the range 0-255.
 44137  	Domain int32 `xml:"domain,omitempty" json:"domain,omitempty"`
 44138  	// List of PTP port configurations.
 44139  	//
 44140  	// See `HostPtpConfigPtpPort`.
 44141  	Port []HostPtpConfigPtpPort `xml:"port,omitempty" json:"port,omitempty"`
 44142  }
 44143  
 44144  func init() {
 44145  	t["HostPtpConfig"] = reflect.TypeOf((*HostPtpConfig)(nil)).Elem()
 44146  	minAPIVersionForType["HostPtpConfig"] = "7.0.3.0"
 44147  }
 44148  
 44149  // Configuration of a PTP port, a logical entity providing an
 44150  // interface to the network for sending and receiving PTP messages
 44151  // with timestamping.
 44152  type HostPtpConfigPtpPort struct {
 44153  	DynamicData
 44154  
 44155  	// Index into the list of PTP ports.
 44156  	//
 44157  	// Supported values are in the
 44158  	// range 0 through `HostCapability.maxSupportedPtpPorts`-1.
 44159  	Index int32 `xml:"index" json:"index"`
 44160  	// Type of network device to be used with this port.
 44161  	//
 44162  	// See `HostPtpConfigDeviceType_enum` for supported values. A device type
 44163  	// of `none` indicates that this port is
 44164  	// inactive.
 44165  	DeviceType string `xml:"deviceType,omitempty" json:"deviceType,omitempty"`
 44166  	// Name of PTP capable network device to be used with this port.
 44167  	//
 44168  	// Supported values depend on the type of network device used.
 44169  	// For `virtualNic` this field is the name of
 44170  	// a valid virtual NIC. See `HostVirtualNic`.
 44171  	// For `pciPassthruNic` this field is a valid
 44172  	// PCI device ID composed of "bus:slot.function", enabled for
 44173  	// PCI passthru. See `HostPciPassthruInfo`.
 44174  	// For `none` this field is ignored.
 44175  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 44176  	// IP configuration of this port.
 44177  	//
 44178  	// For `pciPassthruNic`, this field reflects
 44179  	// current IP configuration, and it can be set.
 44180  	// For `virtualNic`, this field reflects current
 44181  	// IP configuration, but it cannot be set. To configure IP settings
 44182  	// of a virtual NIC, see `HostVirtualNic`.
 44183  	// For `none`, this field is ignored.
 44184  	IpConfig *HostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 44185  }
 44186  
 44187  func init() {
 44188  	t["HostPtpConfigPtpPort"] = reflect.TypeOf((*HostPtpConfigPtpPort)(nil)).Elem()
 44189  	minAPIVersionForType["HostPtpConfigPtpPort"] = "7.0.3.0"
 44190  }
 44191  
 44192  // This data object describes a qualified name of the host used to
 44193  // identify it in a particular context.
 44194  type HostQualifiedName struct {
 44195  	DynamicData
 44196  
 44197  	// The qualified name.
 44198  	Value string `xml:"value" json:"value"`
 44199  	// The type of the qualified name.
 44200  	//
 44201  	// The list of supported values is specified in `HostQualifiedNameType_enum`.
 44202  	Type string `xml:"type" json:"type"`
 44203  }
 44204  
 44205  func init() {
 44206  	t["HostQualifiedName"] = reflect.TypeOf((*HostQualifiedName)(nil)).Elem()
 44207  	minAPIVersionForType["HostQualifiedName"] = "7.0.3.0"
 44208  }
 44209  
 44210  type HostQueryVirtualDiskUuid HostQueryVirtualDiskUuidRequestType
 44211  
 44212  func init() {
 44213  	t["HostQueryVirtualDiskUuid"] = reflect.TypeOf((*HostQueryVirtualDiskUuid)(nil)).Elem()
 44214  }
 44215  
 44216  // The parameters of `HostVStorageObjectManager.HostQueryVirtualDiskUuid`.
 44217  type HostQueryVirtualDiskUuidRequestType struct {
 44218  	This ManagedObjectReference `xml:"_this" json:"-"`
 44219  	// The name of the disk, either a datastore path or a URL
 44220  	// referring to the virtual disk whose uuid for the DDB entry needs to be queried.
 44221  	// A URL has the form
 44222  	// > _scheme_://_authority_/folder/_path_?dsName=_dsName_
 44223  	//
 44224  	// where
 44225  	//   - _scheme_ is <code>http</code> or <code>https</code>.
 44226  	//   - _authority_ specifies the hostname or IP address of the VirtualCenter or
 44227  	//     ESX server and optionally the port.
 44228  	//   - _dsName_ is the name of the Datastore.
 44229  	//   - _path_ is a slash-delimited path from the root of the datastore.
 44230  	//
 44231  	// A datastore path has the form
 44232  	// > \[_datastore_\] _path_
 44233  	//
 44234  	// where
 44235  	//   - _datastore_ is the datastore name.
 44236  	//   - _path_ is a slash-delimited path from the root of the datastore.
 44237  	//
 44238  	// An example datastore path is "\[storage\] path/to/file.extension".
 44239  	Name string `xml:"name" json:"name"`
 44240  }
 44241  
 44242  func init() {
 44243  	t["HostQueryVirtualDiskUuidRequestType"] = reflect.TypeOf((*HostQueryVirtualDiskUuidRequestType)(nil)).Elem()
 44244  	minAPIVersionForType["HostQueryVirtualDiskUuidRequestType"] = "8.0.3.0"
 44245  }
 44246  
 44247  type HostQueryVirtualDiskUuidResponse struct {
 44248  	Returnval string `xml:"returnval" json:"returnval"`
 44249  }
 44250  
 44251  // This data object represents a Remote Direct Memory Access
 44252  // device as seen by the primary operating system.
 44253  type HostRdmaDevice struct {
 44254  	DynamicData
 44255  
 44256  	// The linkable identifier.
 44257  	Key string `xml:"key" json:"key"`
 44258  	// The device name of the RDMA device.
 44259  	Device string `xml:"device" json:"device"`
 44260  	// The short string name of the device driver, if available.
 44261  	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
 44262  	// Device description, if available.
 44263  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 44264  	// If set, represents the physical backing for the RDMA device.
 44265  	//
 44266  	// Not all RDMA devices are required to have a physical backing.
 44267  	Backing BaseHostRdmaDeviceBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 44268  	// Current device connection state.
 44269  	ConnectionInfo HostRdmaDeviceConnectionInfo `xml:"connectionInfo" json:"connectionInfo"`
 44270  	// Supported capabilies of the RDMA device.
 44271  	Capability HostRdmaDeviceCapability `xml:"capability" json:"capability"`
 44272  }
 44273  
 44274  func init() {
 44275  	t["HostRdmaDevice"] = reflect.TypeOf((*HostRdmaDevice)(nil)).Elem()
 44276  }
 44277  
 44278  // This data object represents the physical
 44279  // backing of an RDMA device.
 44280  type HostRdmaDeviceBacking struct {
 44281  	DynamicData
 44282  }
 44283  
 44284  func init() {
 44285  	t["HostRdmaDeviceBacking"] = reflect.TypeOf((*HostRdmaDeviceBacking)(nil)).Elem()
 44286  }
 44287  
 44288  // Represents device capabilies, e.g.
 44289  //
 44290  // supported protocols.
 44291  type HostRdmaDeviceCapability struct {
 44292  	DynamicData
 44293  
 44294  	// Indicates whether ROCEv1 is supported by the device.
 44295  	RoceV1Capable bool `xml:"roceV1Capable" json:"roceV1Capable"`
 44296  	// Indicates whether ROCEv2 is supported by the device.
 44297  	RoceV2Capable bool `xml:"roceV2Capable" json:"roceV2Capable"`
 44298  	// Indicates whether iWARP is supported by the device.
 44299  	IWarpCapable bool `xml:"iWarpCapable" json:"iWarpCapable"`
 44300  }
 44301  
 44302  func init() {
 44303  	t["HostRdmaDeviceCapability"] = reflect.TypeOf((*HostRdmaDeviceCapability)(nil)).Elem()
 44304  }
 44305  
 44306  // Represents connection information for the RDMA device.
 44307  type HostRdmaDeviceConnectionInfo struct {
 44308  	DynamicData
 44309  
 44310  	// RDMA device connection state.
 44311  	//
 44312  	// The set of possible values
 44313  	// is described in `HostRdmaDeviceConnectionState_enum`.
 44314  	State string `xml:"state" json:"state"`
 44315  	// Maximum Transmission Unit in bytes.
 44316  	Mtu int32 `xml:"mtu" json:"mtu"`
 44317  	// Bit rate in Mbps.
 44318  	SpeedInMbps int32 `xml:"speedInMbps" json:"speedInMbps"`
 44319  }
 44320  
 44321  func init() {
 44322  	t["HostRdmaDeviceConnectionInfo"] = reflect.TypeOf((*HostRdmaDeviceConnectionInfo)(nil)).Elem()
 44323  }
 44324  
 44325  // This data object represents a physical NIC backing
 44326  // for an RDMA device.
 44327  //
 44328  // When an RDMA device is backed by a physical NIC, it
 44329  // can be associated with the virtual NICs
 44330  // connected to a virtual switch which has the
 44331  // backing physical NIC as an uplink. The actual bindings
 44332  // are created and destroyed dynamically based on application
 44333  // usage of the RDMA device.
 44334  type HostRdmaDevicePnicBacking struct {
 44335  	HostRdmaDeviceBacking
 44336  
 44337  	// The associated physical NIC
 44338  	PairedUplink string `xml:"pairedUplink" json:"pairedUplink"`
 44339  }
 44340  
 44341  func init() {
 44342  	t["HostRdmaDevicePnicBacking"] = reflect.TypeOf((*HostRdmaDevicePnicBacking)(nil)).Elem()
 44343  }
 44344  
 44345  // This data object describes the Remote Direct Memory Access
 44346  // (RDMA) host bus adapter interface.
 44347  type HostRdmaHba struct {
 44348  	HostHostBusAdapter
 44349  
 44350  	// Device name of the associated RDMA device, if any.
 44351  	//
 44352  	// Should match the `HostRdmaDevice.device` property
 44353  	// of the corresponding RDMA device.
 44354  	AssociatedRdmaDevice string `xml:"associatedRdmaDevice,omitempty" json:"associatedRdmaDevice,omitempty"`
 44355  }
 44356  
 44357  func init() {
 44358  	t["HostRdmaHba"] = reflect.TypeOf((*HostRdmaHba)(nil)).Elem()
 44359  }
 44360  
 44361  // Remote Direct Memory Access (RDMA) transport
 44362  // information about a target.
 44363  type HostRdmaTargetTransport struct {
 44364  	HostTargetTransport
 44365  }
 44366  
 44367  func init() {
 44368  	t["HostRdmaTargetTransport"] = reflect.TypeOf((*HostRdmaTargetTransport)(nil)).Elem()
 44369  }
 44370  
 44371  // The parameters of `HostVStorageObjectManager.HostReconcileDatastoreInventory_Task`.
 44372  type HostReconcileDatastoreInventoryRequestType struct {
 44373  	This ManagedObjectReference `xml:"_this" json:"-"`
 44374  	// The datastore that needs to be reconciled.
 44375  	//
 44376  	// Refers instance of `Datastore`.
 44377  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44378  	// If set true, the reconcile task will check for the
 44379  	// extent files and the disk descriptor file content
 44380  	// as part of reconciliation. Note that this is a time
 44381  	// consuming process.
 44382  	DeepCleansing *bool `xml:"deepCleansing" json:"deepCleansing,omitempty" vim:"9.0.0.0"`
 44383  }
 44384  
 44385  func init() {
 44386  	t["HostReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostReconcileDatastoreInventoryRequestType)(nil)).Elem()
 44387  }
 44388  
 44389  type HostReconcileDatastoreInventory_Task HostReconcileDatastoreInventoryRequestType
 44390  
 44391  func init() {
 44392  	t["HostReconcileDatastoreInventory_Task"] = reflect.TypeOf((*HostReconcileDatastoreInventory_Task)(nil)).Elem()
 44393  }
 44394  
 44395  type HostReconcileDatastoreInventory_TaskResponse struct {
 44396  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 44397  }
 44398  
 44399  // This event records a failed attempt to re-establish a host connection.
 44400  type HostReconnectionFailedEvent struct {
 44401  	HostEvent
 44402  }
 44403  
 44404  func init() {
 44405  	t["HostReconnectionFailedEvent"] = reflect.TypeOf((*HostReconnectionFailedEvent)(nil)).Elem()
 44406  }
 44407  
 44408  type HostRegisterDisk HostRegisterDiskRequestType
 44409  
 44410  func init() {
 44411  	t["HostRegisterDisk"] = reflect.TypeOf((*HostRegisterDisk)(nil)).Elem()
 44412  }
 44413  
 44414  // The parameters of `HostVStorageObjectManager.HostRegisterDisk`.
 44415  type HostRegisterDiskRequestType struct {
 44416  	This ManagedObjectReference `xml:"_this" json:"-"`
 44417  	// URL or datastore path to the virtual disk.
 44418  	Path string `xml:"path" json:"path"`
 44419  	// The descriptive name of the disk object. If
 44420  	// unset the name will be automatically determined
 44421  	// from the path. @see vim.vslm.BaseConfigInfo#name
 44422  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 44423  	// Optional Parameter describing if the control Flags should be changed to default values
 44424  	ModifyControlFlags *bool `xml:"modifyControlFlags" json:"modifyControlFlags,omitempty" vim:"8.0.2.0"`
 44425  }
 44426  
 44427  func init() {
 44428  	t["HostRegisterDiskRequestType"] = reflect.TypeOf((*HostRegisterDiskRequestType)(nil)).Elem()
 44429  }
 44430  
 44431  type HostRegisterDiskResponse struct {
 44432  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 44433  }
 44434  
 44435  // Information about reliable memory installed on this host.
 44436  type HostReliableMemoryInfo struct {
 44437  	DynamicData
 44438  
 44439  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 44440  }
 44441  
 44442  func init() {
 44443  	t["HostReliableMemoryInfo"] = reflect.TypeOf((*HostReliableMemoryInfo)(nil)).Elem()
 44444  }
 44445  
 44446  // The parameters of `HostVStorageObjectManager.HostRelocateVStorageObject_Task`.
 44447  type HostRelocateVStorageObjectRequestType struct {
 44448  	This ManagedObjectReference `xml:"_this" json:"-"`
 44449  	// The ID of the virtual storage object.
 44450  	Id ID `xml:"id" json:"id"`
 44451  	// The datastore where the source virtual storage
 44452  	// object is located.
 44453  	//
 44454  	// Refers instance of `Datastore`.
 44455  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44456  	// The specification for relocation of the virtual
 44457  	// storage object.
 44458  	Spec VslmRelocateSpec `xml:"spec" json:"spec"`
 44459  }
 44460  
 44461  func init() {
 44462  	t["HostRelocateVStorageObjectRequestType"] = reflect.TypeOf((*HostRelocateVStorageObjectRequestType)(nil)).Elem()
 44463  }
 44464  
 44465  type HostRelocateVStorageObject_Task HostRelocateVStorageObjectRequestType
 44466  
 44467  func init() {
 44468  	t["HostRelocateVStorageObject_Task"] = reflect.TypeOf((*HostRelocateVStorageObject_Task)(nil)).Elem()
 44469  }
 44470  
 44471  type HostRelocateVStorageObject_TaskResponse struct {
 44472  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 44473  }
 44474  
 44475  type HostRemoveVFlashResource HostRemoveVFlashResourceRequestType
 44476  
 44477  func init() {
 44478  	t["HostRemoveVFlashResource"] = reflect.TypeOf((*HostRemoveVFlashResource)(nil)).Elem()
 44479  }
 44480  
 44481  type HostRemoveVFlashResourceRequestType struct {
 44482  	This ManagedObjectReference `xml:"_this" json:"-"`
 44483  }
 44484  
 44485  func init() {
 44486  	t["HostRemoveVFlashResourceRequestType"] = reflect.TypeOf((*HostRemoveVFlashResourceRequestType)(nil)).Elem()
 44487  }
 44488  
 44489  type HostRemoveVFlashResourceResponse struct {
 44490  }
 44491  
 44492  // This event records the removal of a host from VirtualCenter.
 44493  type HostRemovedEvent struct {
 44494  	HostEvent
 44495  }
 44496  
 44497  func init() {
 44498  	t["HostRemovedEvent"] = reflect.TypeOf((*HostRemovedEvent)(nil)).Elem()
 44499  }
 44500  
 44501  type HostRenameVStorageObject HostRenameVStorageObjectRequestType
 44502  
 44503  func init() {
 44504  	t["HostRenameVStorageObject"] = reflect.TypeOf((*HostRenameVStorageObject)(nil)).Elem()
 44505  }
 44506  
 44507  // The parameters of `HostVStorageObjectManager.HostRenameVStorageObject`.
 44508  type HostRenameVStorageObjectRequestType struct {
 44509  	This ManagedObjectReference `xml:"_this" json:"-"`
 44510  	// The ID of the virtual storage object to be renamed.
 44511  	Id ID `xml:"id" json:"id"`
 44512  	// The datastore where the virtual storage object is
 44513  	// located.
 44514  	//
 44515  	// Refers instance of `Datastore`.
 44516  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44517  	// The new name for the virtual storage object.
 44518  	Name string `xml:"name" json:"name"`
 44519  }
 44520  
 44521  func init() {
 44522  	t["HostRenameVStorageObjectRequestType"] = reflect.TypeOf((*HostRenameVStorageObjectRequestType)(nil)).Elem()
 44523  }
 44524  
 44525  type HostRenameVStorageObjectResponse struct {
 44526  }
 44527  
 44528  // The `HostResignatureRescanResult` data object
 44529  // identifies the newly created volume that is the result of a
 44530  // resignature operation.
 44531  //
 44532  // This data object is contained in the
 44533  // task object returned by the
 44534  // `HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task`
 44535  // method.
 44536  //
 44537  // When a client calls the resignature method, the Server
 44538  // resignatures the volume, rescans the specified list of hosts,
 44539  // and auto-mounts the volume on the other hosts that share the same
 44540  // underlying storage LUNs.
 44541  type HostResignatureRescanResult struct {
 44542  	DynamicData
 44543  
 44544  	// Deprecated as of vSphere API 5.1, the results of the operation
 44545  	// are available when the task completes. That is, for shared volumes,
 44546  	// the new volume is mounted on all of the connected hosts.
 44547  	//
 44548  	// List of VMFS Rescan operation results.
 44549  	Rescan []HostVmfsRescanResult `xml:"rescan,omitempty" json:"rescan,omitempty"`
 44550  	// When an UnresolvedVmfsVolume has been resignatured, we want to return the
 44551  	// newly created VMFS Datastore.
 44552  	//
 44553  	// Refers instance of `Datastore`.
 44554  	Result ManagedObjectReference `xml:"result" json:"result"`
 44555  }
 44556  
 44557  func init() {
 44558  	t["HostResignatureRescanResult"] = reflect.TypeOf((*HostResignatureRescanResult)(nil)).Elem()
 44559  }
 44560  
 44561  type HostRetrieveVStorageInfrastructureObjectPolicy HostRetrieveVStorageInfrastructureObjectPolicyRequestType
 44562  
 44563  func init() {
 44564  	t["HostRetrieveVStorageInfrastructureObjectPolicy"] = reflect.TypeOf((*HostRetrieveVStorageInfrastructureObjectPolicy)(nil)).Elem()
 44565  }
 44566  
 44567  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageInfrastructureObjectPolicy`.
 44568  type HostRetrieveVStorageInfrastructureObjectPolicyRequestType struct {
 44569  	This ManagedObjectReference `xml:"_this" json:"-"`
 44570  	// Datastore on which policy needs to be retrieved.
 44571  	//
 44572  	// Refers instance of `Datastore`.
 44573  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44574  }
 44575  
 44576  func init() {
 44577  	t["HostRetrieveVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*HostRetrieveVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem()
 44578  }
 44579  
 44580  type HostRetrieveVStorageInfrastructureObjectPolicyResponse struct {
 44581  	Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty" json:"returnval,omitempty"`
 44582  }
 44583  
 44584  type HostRetrieveVStorageObject HostRetrieveVStorageObjectRequestType
 44585  
 44586  func init() {
 44587  	t["HostRetrieveVStorageObject"] = reflect.TypeOf((*HostRetrieveVStorageObject)(nil)).Elem()
 44588  }
 44589  
 44590  type HostRetrieveVStorageObjectMetadata HostRetrieveVStorageObjectMetadataRequestType
 44591  
 44592  func init() {
 44593  	t["HostRetrieveVStorageObjectMetadata"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadata)(nil)).Elem()
 44594  }
 44595  
 44596  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectMetadata`.
 44597  type HostRetrieveVStorageObjectMetadataRequestType struct {
 44598  	This ManagedObjectReference `xml:"_this" json:"-"`
 44599  	// The ID of the virtual storage object.
 44600  	Id ID `xml:"id" json:"id"`
 44601  	// The datastore to query for the virtual storage objects.
 44602  	//
 44603  	// Refers instance of `Datastore`.
 44604  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44605  	// The ID of the snapshot of virtual storage object.
 44606  	SnapshotId *ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
 44607  	// The prefix of the metadata key that needs to be retrieved
 44608  	Prefix string `xml:"prefix,omitempty" json:"prefix,omitempty"`
 44609  }
 44610  
 44611  func init() {
 44612  	t["HostRetrieveVStorageObjectMetadataRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataRequestType)(nil)).Elem()
 44613  }
 44614  
 44615  type HostRetrieveVStorageObjectMetadataResponse struct {
 44616  	Returnval []KeyValue `xml:"returnval,omitempty" json:"returnval,omitempty"`
 44617  }
 44618  
 44619  type HostRetrieveVStorageObjectMetadataValue HostRetrieveVStorageObjectMetadataValueRequestType
 44620  
 44621  func init() {
 44622  	t["HostRetrieveVStorageObjectMetadataValue"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataValue)(nil)).Elem()
 44623  }
 44624  
 44625  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectMetadataValue`.
 44626  type HostRetrieveVStorageObjectMetadataValueRequestType struct {
 44627  	This ManagedObjectReference `xml:"_this" json:"-"`
 44628  	// The ID of the virtual storage object.
 44629  	Id ID `xml:"id" json:"id"`
 44630  	// The datastore to query for the virtual storage objects.
 44631  	//
 44632  	// Refers instance of `Datastore`.
 44633  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44634  	// The ID of the snapshot of virtual storage object.
 44635  	SnapshotId *ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
 44636  	// The key for the the virtual storage object
 44637  	Key string `xml:"key" json:"key"`
 44638  }
 44639  
 44640  func init() {
 44641  	t["HostRetrieveVStorageObjectMetadataValueRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataValueRequestType)(nil)).Elem()
 44642  }
 44643  
 44644  type HostRetrieveVStorageObjectMetadataValueResponse struct {
 44645  	Returnval string `xml:"returnval" json:"returnval"`
 44646  }
 44647  
 44648  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObject`.
 44649  type HostRetrieveVStorageObjectRequestType struct {
 44650  	This ManagedObjectReference `xml:"_this" json:"-"`
 44651  	// The ID of the virtual storage object to be retrieved.
 44652  	Id ID `xml:"id" json:"id"`
 44653  	// The datastore where the virtual storage object is
 44654  	// located.
 44655  	//
 44656  	// Refers instance of `Datastore`.
 44657  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44658  	// Flags indicating the FCD information to be
 44659  	// retrieved. If diskInfoFlags is unset, then all FCD
 44660  	// information will be retrieved. See
 44661  	// `vslmDiskInfoFlag_enum` for the list of
 44662  	// supported values.
 44663  	DiskInfoFlags []string `xml:"diskInfoFlags,omitempty" json:"diskInfoFlags,omitempty" vim:"8.0.0.1"`
 44664  }
 44665  
 44666  func init() {
 44667  	t["HostRetrieveVStorageObjectRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectRequestType)(nil)).Elem()
 44668  }
 44669  
 44670  type HostRetrieveVStorageObjectResponse struct {
 44671  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 44672  }
 44673  
 44674  type HostRetrieveVStorageObjectState HostRetrieveVStorageObjectStateRequestType
 44675  
 44676  func init() {
 44677  	t["HostRetrieveVStorageObjectState"] = reflect.TypeOf((*HostRetrieveVStorageObjectState)(nil)).Elem()
 44678  }
 44679  
 44680  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectState`.
 44681  type HostRetrieveVStorageObjectStateRequestType struct {
 44682  	This ManagedObjectReference `xml:"_this" json:"-"`
 44683  	// The ID of the virtual storage object the state to be retrieved.
 44684  	Id ID `xml:"id" json:"id"`
 44685  	// The datastore where the virtual storage object is
 44686  	// located.
 44687  	//
 44688  	// Refers instance of `Datastore`.
 44689  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44690  }
 44691  
 44692  func init() {
 44693  	t["HostRetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectStateRequestType)(nil)).Elem()
 44694  }
 44695  
 44696  type HostRetrieveVStorageObjectStateResponse struct {
 44697  	Returnval VStorageObjectStateInfo `xml:"returnval" json:"returnval"`
 44698  }
 44699  
 44700  // This data object type describes the runtime state of a host.
 44701  type HostRuntimeInfo struct {
 44702  	DynamicData
 44703  
 44704  	// The host connection state.
 44705  	//
 44706  	// See the description in the enums for the
 44707  	// `ConnectionState` data object type.
 44708  	ConnectionState HostSystemConnectionState `xml:"connectionState" json:"connectionState"`
 44709  	// The host power state.
 44710  	//
 44711  	// See the description in the enums for the
 44712  	// `PowerState` data object type.
 44713  	PowerState HostSystemPowerState `xml:"powerState" json:"powerState"`
 44714  	// The host's standby mode.
 44715  	//
 44716  	// For valid values see
 44717  	// `HostStandbyMode_enum`. The property is only populated by
 44718  	// vCenter server. If queried directly from a ESX host, the property is
 44719  	// is unset.
 44720  	StandbyMode string `xml:"standbyMode,omitempty" json:"standbyMode,omitempty"`
 44721  	// The flag to indicate whether or not the host is in maintenance mode.
 44722  	//
 44723  	// This
 44724  	// flag is set when the host has entered the maintenance mode. It is not set
 44725  	// during the entering phase of maintenance mode.
 44726  	//
 44727  	// See also `HostSystem.EnterMaintenanceMode_Task`, `HostSystem.ExitMaintenanceMode_Task`.
 44728  	InMaintenanceMode bool `xml:"inMaintenanceMode" json:"inMaintenanceMode"`
 44729  	// The flag to indicate whether or not the host is in quarantine mode.
 44730  	//
 44731  	// InfraUpdateHa will recommend to set this flag based on the HealthUpdates
 44732  	// received by the HealthUpdateProviders configured for the cluster. A
 44733  	// host that is reported as degraded will be recommended to enter quarantine
 44734  	// mode, while a host that is reported as healthy will be recommended to
 44735  	// exit quarantine mode. Execution of these recommended actions will set
 44736  	// this flag. Hosts in quarantine mode will be avoided by vSphere DRS as
 44737  	// long as the increased consolidation in the cluster does not negatively
 44738  	// affect VM performance.
 44739  	//
 44740  	// See also `HealthUpdateManager`, `ClusterInfraUpdateHaConfigInfo`, `ClusterHostInfraUpdateHaModeAction`.
 44741  	InQuarantineMode *bool `xml:"inQuarantineMode" json:"inQuarantineMode,omitempty"`
 44742  	// The time when the host was booted.
 44743  	BootTime *time.Time `xml:"bootTime" json:"bootTime,omitempty"`
 44744  	// Available system health status
 44745  	HealthSystemRuntime *HealthSystemRuntime `xml:"healthSystemRuntime,omitempty" json:"healthSystemRuntime,omitempty"`
 44746  	// The availability state of an active host in a vSphere HA enabled
 44747  	// cluster.
 44748  	//
 44749  	// A host is inactive if it is in maintenance or standby mode, or
 44750  	// it has been disconnected from vCenter Server. The active hosts in a cluster
 44751  	// form a vSphere HA fault domain.
 44752  	//
 44753  	// The property is unset if vSphere HA is disabled, the host is
 44754  	// in maintenance or standby mode, or the host is disconnected from
 44755  	// vCenter Server. The property is set to hostDown if the host has crashed.
 44756  	DasHostState *ClusterDasFdmHostState `xml:"dasHostState,omitempty" json:"dasHostState,omitempty"`
 44757  	// Deprecated as of @released("5.1") this information should be
 44758  	// considered to be neither complete nor reliable.
 44759  	//
 44760  	// The array of PCR digest values stored in the TPM device since the last
 44761  	// host boot time.
 44762  	TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues,omitempty" json:"tpmPcrValues,omitempty"`
 44763  	// Host Runtime information related to the VSAN service.
 44764  	//
 44765  	// See also `VsanHostRuntimeInfo`.
 44766  	VsanRuntimeInfo *VsanHostRuntimeInfo `xml:"vsanRuntimeInfo,omitempty" json:"vsanRuntimeInfo,omitempty"`
 44767  	// This property is for getting network related runtime info
 44768  	NetworkRuntimeInfo *HostRuntimeInfoNetworkRuntimeInfo `xml:"networkRuntimeInfo,omitempty" json:"networkRuntimeInfo,omitempty"`
 44769  	// Runtime information of vFlash resource of the host.
 44770  	VFlashResourceRuntimeInfo *HostVFlashManagerVFlashResourceRunTimeInfo `xml:"vFlashResourceRuntimeInfo,omitempty" json:"vFlashResourceRuntimeInfo,omitempty"`
 44771  	// The maximum theoretical virtual disk capacity supported by this host
 44772  	HostMaxVirtualDiskCapacity int64 `xml:"hostMaxVirtualDiskCapacity,omitempty" json:"hostMaxVirtualDiskCapacity,omitempty"`
 44773  	// Encryption state of the host.
 44774  	//
 44775  	// Valid values are enumerated by the
 44776  	// `CryptoState` type.
 44777  	CryptoState string `xml:"cryptoState,omitempty" json:"cryptoState,omitempty"`
 44778  	// Crypto Key used for coredump encryption
 44779  	CryptoKeyId *CryptoKeyId `xml:"cryptoKeyId,omitempty" json:"cryptoKeyId,omitempty"`
 44780  	// Indicating the host is ready for NVDS to VDS migration.
 44781  	//
 44782  	// See `HostRuntimeInfoStatelessNvdsMigrationState_enum` for supported values.
 44783  	StatelessNvdsMigrationReady string `xml:"statelessNvdsMigrationReady,omitempty" json:"statelessNvdsMigrationReady,omitempty" vim:"7.0.2.0"`
 44784  	// The following list contains the runtime status for all the partial
 44785  	// maintenance modes currently supported on the host.
 44786  	PartialMaintenanceMode []HostPartialMaintenanceModeRuntimeInfo `xml:"partialMaintenanceMode,omitempty" json:"partialMaintenanceMode,omitempty" vim:"8.0.3.0"`
 44787  	// Host persistent state encryption information.
 44788  	StateEncryption *HostRuntimeInfoStateEncryptionInfo `xml:"stateEncryption,omitempty" json:"stateEncryption,omitempty" vim:"7.0.3.0"`
 44789  }
 44790  
 44791  func init() {
 44792  	t["HostRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfo)(nil)).Elem()
 44793  }
 44794  
 44795  // This data type describes network stack instance runtime info
 44796  type HostRuntimeInfoNetStackInstanceRuntimeInfo struct {
 44797  	DynamicData
 44798  
 44799  	// Key of the instance
 44800  	NetStackInstanceKey string `xml:"netStackInstanceKey" json:"netStackInstanceKey"`
 44801  	// State of the instance
 44802  	// See `HostRuntimeInfoNetStackInstanceRuntimeInfoState_enum` for valid values.
 44803  	State string `xml:"state,omitempty" json:"state,omitempty"`
 44804  	// The keys of vmknics that are using this stack
 44805  	VmknicKeys []string `xml:"vmknicKeys,omitempty" json:"vmknicKeys,omitempty"`
 44806  	// The maximum number of socket connections can be worked on this
 44807  	// instance currently after booting up.
 44808  	MaxNumberOfConnections int32 `xml:"maxNumberOfConnections,omitempty" json:"maxNumberOfConnections,omitempty"`
 44809  	// If true then dual IPv4/IPv6 stack enabled else IPv4 only.
 44810  	CurrentIpV6Enabled *bool `xml:"currentIpV6Enabled" json:"currentIpV6Enabled,omitempty"`
 44811  }
 44812  
 44813  func init() {
 44814  	t["HostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem()
 44815  }
 44816  
 44817  // This data type describes network related runtime info
 44818  type HostRuntimeInfoNetworkRuntimeInfo struct {
 44819  	DynamicData
 44820  
 44821  	// The list of network stack runtime info
 44822  	NetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"netStackInstanceRuntimeInfo,omitempty" json:"netStackInstanceRuntimeInfo,omitempty"`
 44823  	// The network resource runtime information
 44824  	NetworkResourceRuntime *HostNetworkResourceRuntime `xml:"networkResourceRuntime,omitempty" json:"networkResourceRuntime,omitempty"`
 44825  }
 44826  
 44827  func init() {
 44828  	t["HostRuntimeInfoNetworkRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetworkRuntimeInfo)(nil)).Elem()
 44829  }
 44830  
 44831  // This data type describes the host's persistent state encryption.
 44832  type HostRuntimeInfoStateEncryptionInfo struct {
 44833  	DynamicData
 44834  
 44835  	// The state encryption key protection mode.
 44836  	//
 44837  	// The host state is encrypted with a key that is protected using
 44838  	// one of the modes specified by `HostRuntimeInfoStateEncryptionInfoProtectionMode_enum`.
 44839  	ProtectionMode string `xml:"protectionMode" json:"protectionMode"`
 44840  	// Indicates if UEFI Secure Boot must be enabled in order for the
 44841  	// state encryption key to be accessible.
 44842  	RequireSecureBoot *bool `xml:"requireSecureBoot" json:"requireSecureBoot,omitempty"`
 44843  	// Indicates if the "execInstalledOnly" enforcement must be active
 44844  	// for the state encryption key to be accessible.
 44845  	RequireExecInstalledOnly *bool `xml:"requireExecInstalledOnly" json:"requireExecInstalledOnly,omitempty"`
 44846  }
 44847  
 44848  func init() {
 44849  	t["HostRuntimeInfoStateEncryptionInfo"] = reflect.TypeOf((*HostRuntimeInfoStateEncryptionInfo)(nil)).Elem()
 44850  	minAPIVersionForType["HostRuntimeInfoStateEncryptionInfo"] = "7.0.3.0"
 44851  }
 44852  
 44853  type HostScheduleReconcileDatastoreInventory HostScheduleReconcileDatastoreInventoryRequestType
 44854  
 44855  func init() {
 44856  	t["HostScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventory)(nil)).Elem()
 44857  }
 44858  
 44859  // The parameters of `HostVStorageObjectManager.HostScheduleReconcileDatastoreInventory`.
 44860  type HostScheduleReconcileDatastoreInventoryRequestType struct {
 44861  	This ManagedObjectReference `xml:"_this" json:"-"`
 44862  	// The datastore that needs to be reconciled.
 44863  	//
 44864  	// Refers instance of `Datastore`.
 44865  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44866  	// If set true, the reconcile task will check for the
 44867  	// extent files and the disk descriptor file content
 44868  	// as part of reconciliation. Note that this is a time
 44869  	// consuming process.
 44870  	DeepCleansing *bool `xml:"deepCleansing" json:"deepCleansing,omitempty" vim:"9.0.0.0"`
 44871  }
 44872  
 44873  func init() {
 44874  	t["HostScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem()
 44875  }
 44876  
 44877  type HostScheduleReconcileDatastoreInventoryResponse struct {
 44878  }
 44879  
 44880  // This data object type describes a SCSI disk.
 44881  //
 44882  // A SCSI disk contains a
 44883  // partition table which can be changed.
 44884  // To change a SCSI disk, use the device name and the partition specification.
 44885  //
 44886  // See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 44887  type HostScsiDisk struct {
 44888  	ScsiLun
 44889  
 44890  	// The size of SCSI disk using the Logical Block Addressing scheme.
 44891  	Capacity HostDiskDimensionsLba `xml:"capacity" json:"capacity"`
 44892  	// The device path of the ScsiDisk.
 44893  	//
 44894  	// This device path is a file path
 44895  	// that can be opened to create partitions on the disk.
 44896  	//
 44897  	// See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 44898  	DevicePath string `xml:"devicePath" json:"devicePath"`
 44899  	// Indicates whether the ScsiDisk is SSD backed.
 44900  	//
 44901  	// If unset, the information whether the ScsiDisk is SSD backed
 44902  	// is unknown.
 44903  	Ssd *bool `xml:"ssd" json:"ssd,omitempty"`
 44904  	// Indicates whether the ScsiDisk is local.
 44905  	//
 44906  	// If unset, the information whether the ScsiDisk is local is unknown.
 44907  	LocalDisk *bool `xml:"localDisk" json:"localDisk,omitempty"`
 44908  	// The physical location of the ScsiDisk if can be determined, otherwise
 44909  	// unset.
 44910  	//
 44911  	// If the ScsiDisk is a logical drive, it should be the
 44912  	// location of all constituent physical drives of the logical drive.
 44913  	// If the ScsiDisk is a physical drive, it's an array of one element.
 44914  	PhysicalLocation []string `xml:"physicalLocation,omitempty" json:"physicalLocation,omitempty"`
 44915  	// Indicates whether the ScsiDisk has emulated Data Integrity Extension
 44916  	// (DIX) / Data Integrity Field (DIF) enabled.
 44917  	//
 44918  	// If unset, the default value is false.
 44919  	EmulatedDIXDIFEnabled *bool `xml:"emulatedDIXDIFEnabled" json:"emulatedDIXDIFEnabled,omitempty"`
 44920  	// Indicates the additional VSAN information
 44921  	// if this disk is used by VSAN.
 44922  	VsanDiskInfo *VsanHostVsanDiskInfo `xml:"vsanDiskInfo,omitempty" json:"vsanDiskInfo,omitempty"`
 44923  	// The type of disk drives.
 44924  	//
 44925  	// See `ScsiDiskType_enum`
 44926  	// for definitions of supported types.
 44927  	ScsiDiskType string `xml:"scsiDiskType,omitempty" json:"scsiDiskType,omitempty"`
 44928  	// Indicate whether the disk is used for
 44929  	// memory tiering or not.
 44930  	//
 44931  	// If unset, the default value is false.
 44932  	UsedByMemoryTiering *bool `xml:"usedByMemoryTiering" json:"usedByMemoryTiering,omitempty" vim:"8.0.3.0"`
 44933  }
 44934  
 44935  func init() {
 44936  	t["HostScsiDisk"] = reflect.TypeOf((*HostScsiDisk)(nil)).Elem()
 44937  }
 44938  
 44939  // This data object type describes the specification of a Disk partition.
 44940  type HostScsiDiskPartition struct {
 44941  	DynamicData
 44942  
 44943  	// The SCSI disk device on which a VMware File System (VMFS)
 44944  	// extent resides.
 44945  	//
 44946  	// See also `HostScsiDisk`, `ScsiLun.canonicalName`.
 44947  	DiskName string `xml:"diskName" json:"diskName"`
 44948  	// The partition number of the partition on the ScsiDisk.
 44949  	Partition int32 `xml:"partition" json:"partition"`
 44950  }
 44951  
 44952  func init() {
 44953  	t["HostScsiDiskPartition"] = reflect.TypeOf((*HostScsiDiskPartition)(nil)).Elem()
 44954  }
 44955  
 44956  // This data object type describes the SCSI topology information.
 44957  //
 44958  // The
 44959  // data objects in this data object type model the
 44960  // SCSI storage objects from a topological point of view. The SCSI topological
 44961  // view organizes objects by SCSI interface, which contain targets, which in
 44962  // turn contain logical units.
 44963  //
 44964  // SCSI Topology information is not guaranteed to exhaustively enumerate all
 44965  // storage devices on the system. It only shows storage devices that are
 44966  // actually enumerable from a host bus adapter. This means that only storage
 44967  // devices that are composed from one or more paths, which are in turn provided
 44968  // by a host bus adapter, will appear in this inventory.
 44969  //
 44970  // Storage devices provided by the native multipathing plugin (NMP) will always
 44971  // be represented in this inventory since NMP uses a simple policy to create
 44972  // devices out of the paths it claims.
 44973  //
 44974  // Examples of storage devices that will not appear in this inventory are
 44975  // logical devices that are not formed from directly claiming paths. Specific
 44976  // examples of devices that will not appear in this inventory include a device
 44977  // backed by a ramdisk or formed from a software RAID plugin.
 44978  //
 44979  // Legacy note: In hosts where `HostPlugStoreTopology` is not
 44980  // defined or does not exist on the `HostStorageDeviceInfo` object,
 44981  // only native multipathing exists. That means for these hosts, the
 44982  // ScsiTopology object contains the complete set of LUNs and targets
 44983  // available on the host.
 44984  type HostScsiTopology struct {
 44985  	DynamicData
 44986  
 44987  	// The list of SCSI interfaces.
 44988  	Adapter []HostScsiTopologyInterface `xml:"adapter,omitempty" json:"adapter,omitempty"`
 44989  }
 44990  
 44991  func init() {
 44992  	t["HostScsiTopology"] = reflect.TypeOf((*HostScsiTopology)(nil)).Elem()
 44993  }
 44994  
 44995  // This data object type describes the SCSI interface that is associated
 44996  // with a list of targets.
 44997  type HostScsiTopologyInterface struct {
 44998  	DynamicData
 44999  
 45000  	// The identifier for the SCSI interface
 45001  	Key string `xml:"key" json:"key"`
 45002  	// The link to data for this SCSI interface.
 45003  	Adapter string `xml:"adapter" json:"adapter"`
 45004  	// The list of targets to which the SCSI interface is associated.
 45005  	Target []HostScsiTopologyTarget `xml:"target,omitempty" json:"target,omitempty"`
 45006  }
 45007  
 45008  func init() {
 45009  	t["HostScsiTopologyInterface"] = reflect.TypeOf((*HostScsiTopologyInterface)(nil)).Elem()
 45010  }
 45011  
 45012  // This data object type describes the SCSI logical unit.
 45013  type HostScsiTopologyLun struct {
 45014  	DynamicData
 45015  
 45016  	// The identifier for the SCSI Lun
 45017  	Key string `xml:"key" json:"key"`
 45018  	// The logical unit number of the SCSI logical unit.
 45019  	Lun int32 `xml:"lun" json:"lun"`
 45020  	// The link to data for this SCSI logical unit.
 45021  	ScsiLun string `xml:"scsiLun" json:"scsiLun"`
 45022  }
 45023  
 45024  func init() {
 45025  	t["HostScsiTopologyLun"] = reflect.TypeOf((*HostScsiTopologyLun)(nil)).Elem()
 45026  }
 45027  
 45028  // This data object type describes the SCSI target that is associated
 45029  // with a list of logical units.
 45030  type HostScsiTopologyTarget struct {
 45031  	DynamicData
 45032  
 45033  	// The identifier for the SCSI target
 45034  	Key string `xml:"key" json:"key"`
 45035  	// The target identifier.
 45036  	Target int32 `xml:"target" json:"target"`
 45037  	// The list of SCSI logical units with which a target is associated.
 45038  	Lun []HostScsiTopologyLun `xml:"lun,omitempty" json:"lun,omitempty"`
 45039  	// SCSI Transport information about the target.
 45040  	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
 45041  }
 45042  
 45043  func init() {
 45044  	t["HostScsiTopologyTarget"] = reflect.TypeOf((*HostScsiTopologyTarget)(nil)).Elem()
 45045  }
 45046  
 45047  // DataObject used for configuring the Security settings
 45048  type HostSecuritySpec struct {
 45049  	DynamicData
 45050  
 45051  	// Administrator password to configure
 45052  	AdminPassword string `xml:"adminPassword,omitempty" json:"adminPassword,omitempty"`
 45053  	// Permissions to remove
 45054  	RemovePermission []Permission `xml:"removePermission,omitempty" json:"removePermission,omitempty"`
 45055  	// Permissions to add
 45056  	AddPermission []Permission `xml:"addPermission,omitempty" json:"addPermission,omitempty"`
 45057  }
 45058  
 45059  func init() {
 45060  	t["HostSecuritySpec"] = reflect.TypeOf((*HostSecuritySpec)(nil)).Elem()
 45061  }
 45062  
 45063  // The data object type describes the
 45064  // Serial Attached Scsi(SAS) interface.
 45065  type HostSerialAttachedHba struct {
 45066  	HostHostBusAdapter
 45067  
 45068  	// The world wide node name for the adapter.
 45069  	NodeWorldWideName string `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 45070  }
 45071  
 45072  func init() {
 45073  	t["HostSerialAttachedHba"] = reflect.TypeOf((*HostSerialAttachedHba)(nil)).Elem()
 45074  }
 45075  
 45076  // Serial attached adapter transport information about a SCSI target.
 45077  type HostSerialAttachedTargetTransport struct {
 45078  	HostTargetTransport
 45079  }
 45080  
 45081  func init() {
 45082  	t["HostSerialAttachedTargetTransport"] = reflect.TypeOf((*HostSerialAttachedTargetTransport)(nil)).Elem()
 45083  }
 45084  
 45085  // Data object that describes a single service that runs on the host.
 45086  type HostService struct {
 45087  	DynamicData
 45088  
 45089  	// Brief identifier for the service.
 45090  	Key string `xml:"key" json:"key"`
 45091  	// Display label for the service.
 45092  	Label string `xml:"label" json:"label"`
 45093  	// Flag indicating whether the service is required and cannot be disabled.
 45094  	Required bool `xml:"required" json:"required"`
 45095  	// Deprecated this flag is unimplemented and will always be set to false.
 45096  	//
 45097  	// Flag indicating whether the service can be uninstalled.
 45098  	Uninstallable bool `xml:"uninstallable" json:"uninstallable"`
 45099  	// Flag indicating whether the service is currently running.
 45100  	Running bool `xml:"running" json:"running"`
 45101  	// List of firewall rulesets used by this service.
 45102  	//
 45103  	// Must come from the
 45104  	// list of rulesets in `HostFirewallInfo.ruleset`.
 45105  	Ruleset []string `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
 45106  	// Service activation policy.
 45107  	//
 45108  	// See also `HostServicePolicy_enum`.
 45109  	Policy string `xml:"policy" json:"policy"`
 45110  	// The source package associated with the service
 45111  	SourcePackage *HostServiceSourcePackage `xml:"sourcePackage,omitempty" json:"sourcePackage,omitempty"`
 45112  }
 45113  
 45114  func init() {
 45115  	t["HostService"] = reflect.TypeOf((*HostService)(nil)).Elem()
 45116  }
 45117  
 45118  // DataObject representing configuration for a particular
 45119  // service.
 45120  type HostServiceConfig struct {
 45121  	DynamicData
 45122  
 45123  	// Key of the service to configure.
 45124  	ServiceId string `xml:"serviceId" json:"serviceId"`
 45125  	// Startup policy which defines how the service be configured.
 45126  	//
 45127  	// See @link Service.Policy for possible values.
 45128  	StartupPolicy string `xml:"startupPolicy" json:"startupPolicy"`
 45129  }
 45130  
 45131  func init() {
 45132  	t["HostServiceConfig"] = reflect.TypeOf((*HostServiceConfig)(nil)).Elem()
 45133  }
 45134  
 45135  // Data object describing the host service configuration.
 45136  type HostServiceInfo struct {
 45137  	DynamicData
 45138  
 45139  	// List of configured services.
 45140  	Service []HostService `xml:"service,omitempty" json:"service,omitempty"`
 45141  }
 45142  
 45143  func init() {
 45144  	t["HostServiceInfo"] = reflect.TypeOf((*HostServiceInfo)(nil)).Elem()
 45145  }
 45146  
 45147  type HostServiceSourcePackage struct {
 45148  	DynamicData
 45149  
 45150  	// The name of the source package
 45151  	SourcePackageName string `xml:"sourcePackageName" json:"sourcePackageName"`
 45152  	// The description of the source package
 45153  	Description string `xml:"description" json:"description"`
 45154  }
 45155  
 45156  func init() {
 45157  	t["HostServiceSourcePackage"] = reflect.TypeOf((*HostServiceSourcePackage)(nil)).Elem()
 45158  }
 45159  
 45160  // Return value for ticketable host services.
 45161  //
 45162  // The server has the option to
 45163  // provide a hostname and port for a future ticket-authenticated connection to
 45164  // a service on a host. If the service provider does not return a host the
 45165  // client must connect to the same host it used to request the ticket. In case
 45166  // the service provider does not return a port, except in the case of connecting
 45167  // to CIM interfaces, the client must connect using the same port it used to
 45168  // request the ticket. In the case of connecting to a CIM interface the
 45169  // standard well known port number for the particular service will be used for
 45170  // the connection.
 45171  //
 45172  // For example, when a client requests a ticket from an ESX Server, the returned ticket
 45173  // may omit the optional host and port. In such a case, the client establishes an
 45174  // out-of-band ticketed connection to the same server host and on the same port on
 45175  // which it made the connection to request the ticket. If this request is
 45176  // made to the VirtualCenter server, but the server does not provide the required
 45177  // service directly, then the server provides a hostname and port for a server that
 45178  // accepts the ticketed connection and provides the service.
 45179  type HostServiceTicket struct {
 45180  	DynamicData
 45181  
 45182  	// The name of the host providing the service for which the ticket applies.
 45183  	//
 45184  	// If
 45185  	// omitted, then the client uses the host name for the server that issued the ticket.
 45186  	Host string `xml:"host,omitempty" json:"host,omitempty"`
 45187  	// Access to some services is made possible by connecting to a port on a
 45188  	// server.
 45189  	//
 45190  	// If the service for which a ticket is issued is available on a
 45191  	// particular port, that port number is specified with this property. If
 45192  	// omitted, except in the case of connecting to CIM interfaces, the port
 45193  	// number for the service that issued the ticket is used. In the case of
 45194  	// connecting to a CIM interface the standard well known port for the
 45195  	// particular service will be used for the connection.
 45196  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 45197  	// The expected thumbprint of the SSL cert of the host to which
 45198  	// we are connecting.
 45199  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 45200  	// PEM-encoded SSL certificate of the host to which we are connecting.
 45201  	//
 45202  	// Note: `HostServiceTicket.sslThumbprint` and `HostServiceTicket.sslCertificate` parameters are
 45203  	// mutually exclusive, and should never be used simultaneously.
 45204  	SslCertificate string `xml:"sslCertificate,omitempty" json:"sslCertificate,omitempty" vim:"9.0.0.0"`
 45205  	// The name of the service to which to connect.
 45206  	Service string `xml:"service" json:"service"`
 45207  	// A dot-separated string identifying the service protocol version.
 45208  	//
 45209  	// For example, 1.0
 45210  	// is used for NFC hosted by vpxa on ESX 2.5, and 1.1 is used for
 45211  	// NFC hosted by hostd on ESX 3.0.
 45212  	ServiceVersion string `xml:"serviceVersion" json:"serviceVersion"`
 45213  	// An identifying string for the session created for the ticketed connection.
 45214  	//
 45215  	// This
 45216  	// is used by the host service to identify the operations permitted within the
 45217  	// session.
 45218  	SessionId string `xml:"sessionId" json:"sessionId"`
 45219  }
 45220  
 45221  func init() {
 45222  	t["HostServiceTicket"] = reflect.TypeOf((*HostServiceTicket)(nil)).Elem()
 45223  }
 45224  
 45225  type HostSetVStorageObjectControlFlags HostSetVStorageObjectControlFlagsRequestType
 45226  
 45227  func init() {
 45228  	t["HostSetVStorageObjectControlFlags"] = reflect.TypeOf((*HostSetVStorageObjectControlFlags)(nil)).Elem()
 45229  }
 45230  
 45231  // The parameters of `HostVStorageObjectManager.HostSetVStorageObjectControlFlags`.
 45232  type HostSetVStorageObjectControlFlagsRequestType struct {
 45233  	This ManagedObjectReference `xml:"_this" json:"-"`
 45234  	// The ID of the virtual storage object.
 45235  	Id ID `xml:"id" json:"id"`
 45236  	// The datastore where the source virtual storage
 45237  	// object is located.
 45238  	//
 45239  	// Required privileges: Datastore.FileManagement
 45240  	//
 45241  	// Refers instance of `Datastore`.
 45242  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 45243  	// control flags enum array to be set on the
 45244  	// VStorageObject. All control flags not included
 45245  	// in the array remain intact.
 45246  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 45247  }
 45248  
 45249  func init() {
 45250  	t["HostSetVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*HostSetVStorageObjectControlFlagsRequestType)(nil)).Elem()
 45251  }
 45252  
 45253  type HostSetVStorageObjectControlFlagsResponse struct {
 45254  }
 45255  
 45256  // The parameters of `HostVStorageObjectManager.HostSetVirtualDiskUuid_Task`.
 45257  type HostSetVirtualDiskUuidRequestType struct {
 45258  	This ManagedObjectReference `xml:"_this" json:"-"`
 45259  	// The name of the disk, either a datastore path or a URL
 45260  	// referring to the virtual disk whose uuid for the DDB entry needs to be set.
 45261  	// A URL has the form
 45262  	// > _scheme_://_authority_/folder/_path_?dsName=_dsName_
 45263  	//
 45264  	// where
 45265  	//   - _scheme_ is <code>http</code> or <code>https</code>.
 45266  	//   - _authority_ specifies the hostname or IP address of the VirtualCenter or
 45267  	//     ESX server and optionally the port.
 45268  	//   - _dsName_ is the name of the Datastore.
 45269  	//   - _path_ is a slash-delimited path from the root of the datastore.
 45270  	//
 45271  	// A datastore path has the form
 45272  	// > \[_datastore_\] _path_
 45273  	//
 45274  	// where
 45275  	//   - _datastore_ is the datastore name.
 45276  	//   - _path_ is a slash-delimited path from the root of the datastore.
 45277  	//
 45278  	// An example datastore path is "\[storage\] path/to/file.extension".
 45279  	Name string `xml:"name" json:"name"`
 45280  	// The hex representation of the unique ID for this virtual disk. If uuid is not set or missing,
 45281  	// a random UUID is generated and assigned.
 45282  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 45283  }
 45284  
 45285  func init() {
 45286  	t["HostSetVirtualDiskUuidRequestType"] = reflect.TypeOf((*HostSetVirtualDiskUuidRequestType)(nil)).Elem()
 45287  	minAPIVersionForType["HostSetVirtualDiskUuidRequestType"] = "8.0.3.0"
 45288  }
 45289  
 45290  type HostSetVirtualDiskUuid_Task HostSetVirtualDiskUuidRequestType
 45291  
 45292  func init() {
 45293  	t["HostSetVirtualDiskUuid_Task"] = reflect.TypeOf((*HostSetVirtualDiskUuid_Task)(nil)).Elem()
 45294  }
 45295  
 45296  type HostSetVirtualDiskUuid_TaskResponse struct {
 45297  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 45298  }
 45299  
 45300  type HostSevInfo struct {
 45301  	DynamicData
 45302  
 45303  	// State of SEV on the host.
 45304  	//
 45305  	// The set of supported values are described
 45306  	// in `HostSevInfoSevState_enum`.
 45307  	SevState string `xml:"sevState" json:"sevState"`
 45308  	// The maximum number of SEV-ES and SEV-SNP guests supported on this host.
 45309  	MaxSevEsGuests int64 `xml:"maxSevEsGuests" json:"maxSevEsGuests"`
 45310  	// State of SEV-SNP (SEV Secure Nested Paging) on the host.
 45311  	//
 45312  	// The supported
 45313  	// values are described in `HostSevInfoSevState_enum`.
 45314  	SnpState string `xml:"snpState,omitempty" json:"snpState,omitempty" vim:"9.0.0.0"`
 45315  	// SEV-SNP (SEV Secure Nested Paging) supported
 45316  	SnpSupported *bool `xml:"snpSupported" json:"snpSupported,omitempty" vim:"9.0.0.0"`
 45317  }
 45318  
 45319  func init() {
 45320  	t["HostSevInfo"] = reflect.TypeOf((*HostSevInfo)(nil)).Elem()
 45321  	minAPIVersionForType["HostSevInfo"] = "7.0.1.0"
 45322  }
 45323  
 45324  // Data object describing the Software Guard Extension (SGX)
 45325  // configuration on the ESXi host.
 45326  type HostSgxInfo struct {
 45327  	DynamicData
 45328  
 45329  	// SGX state of the host.
 45330  	//
 45331  	// The set of supported values are described
 45332  	// in `HostSgxInfoSgxStates_enum`.
 45333  	SgxState string `xml:"sgxState" json:"sgxState"`
 45334  	// Size of physical EPC in bytes.
 45335  	TotalEpcMemory int64 `xml:"totalEpcMemory" json:"totalEpcMemory"`
 45336  	// FLC mode of the host.
 45337  	//
 45338  	// The set of supported values are
 45339  	// described in `HostSgxInfoFlcModes_enum`.
 45340  	FlcMode string `xml:"flcMode" json:"flcMode"`
 45341  	// Public key hash of the provider launch enclave.
 45342  	//
 45343  	// This is the SHA256
 45344  	// digest of the SIGSTRUCT.MODULUS(MR\_SIGNER) of the provider launch
 45345  	// enclave. This attribute is set only if attribute flcMode is
 45346  	// locked.
 45347  	LePubKeyHash     string                   `xml:"lePubKeyHash,omitempty" json:"lePubKeyHash,omitempty"`
 45348  	RegistrationInfo *HostSgxRegistrationInfo `xml:"registrationInfo,omitempty" json:"registrationInfo,omitempty" vim:"8.0.0.1"`
 45349  }
 45350  
 45351  func init() {
 45352  	t["HostSgxInfo"] = reflect.TypeOf((*HostSgxInfo)(nil)).Elem()
 45353  }
 45354  
 45355  // Data object describing SGX host registration information.
 45356  type HostSgxRegistrationInfo struct {
 45357  	DynamicData
 45358  
 45359  	// SGX host registration status.
 45360  	//
 45361  	// Valid values come from `HostSgxRegistrationInfoRegistrationStatus_enum` enum.
 45362  	// Set, except in case of an internal error.
 45363  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 45364  	// BIOS error related to SGX host registration.
 45365  	//
 45366  	// Set only if SGX registration status is incomplete.
 45367  	BiosError int32 `xml:"biosError,omitempty" json:"biosError,omitempty"`
 45368  	// SGX host registration URL.
 45369  	//
 45370  	// Unset if SGX registration status is not applicable
 45371  	// or in case of an internal error.
 45372  	RegistrationUrl string `xml:"registrationUrl,omitempty" json:"registrationUrl,omitempty"`
 45373  	// SGX host registration type.
 45374  	//
 45375  	// Valid values come from `HostSgxRegistrationInfoRegistrationType_enum` enum.
 45376  	// Unset if SGX registration status is not applicable,
 45377  	// complete, or in case of an internal error.
 45378  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 45379  	// Platform Provisioning ID (PPID).
 45380  	//
 45381  	// Hex-encoded representation of the the PPID
 45382  	// (Platform Provisioning ID), returned as the response
 45383  	// to a successful registration request. This field
 45384  	// is populated only on the vCenter through which
 45385  	// the host has been registered.
 45386  	Ppid string `xml:"ppid,omitempty" json:"ppid,omitempty"`
 45387  	// Timestamp of last successful registration
 45388  	// from this vCenter.
 45389  	LastRegisteredTime *time.Time `xml:"lastRegisteredTime" json:"lastRegisteredTime,omitempty"`
 45390  }
 45391  
 45392  func init() {
 45393  	t["HostSgxRegistrationInfo"] = reflect.TypeOf((*HostSgxRegistrationInfo)(nil)).Elem()
 45394  	minAPIVersionForType["HostSgxRegistrationInfo"] = "8.0.0.1"
 45395  }
 45396  
 45397  // Capability vector indicating the available shared graphics features.
 45398  type HostSharedGpuCapabilities struct {
 45399  	DynamicData
 45400  
 45401  	// Name of a particular VGPU available as a shared GPU device.
 45402  	//
 45403  	// See also `VirtualMachinePciSharedGpuPassthroughInfo`.
 45404  	Vgpu string `xml:"vgpu" json:"vgpu"`
 45405  	// Indicates whether the GPU plugin on this host is capable of
 45406  	// disk-only snapshots when VM is not powered off.
 45407  	//
 45408  	// Disk Snaphosts
 45409  	// on powered off VM are always supported.
 45410  	DiskSnapshotSupported bool `xml:"diskSnapshotSupported" json:"diskSnapshotSupported"`
 45411  	// Indicates whether the GPU plugin on this host is capable of
 45412  	// memory snapshots.
 45413  	MemorySnapshotSupported bool `xml:"memorySnapshotSupported" json:"memorySnapshotSupported"`
 45414  	// Indicates whether the GPU plugin on this host is capable of
 45415  	// suspend-resume.
 45416  	SuspendSupported bool `xml:"suspendSupported" json:"suspendSupported"`
 45417  	// Indicates whether the GPU plugin on this host is capable of
 45418  	// migration.
 45419  	MigrateSupported bool `xml:"migrateSupported" json:"migrateSupported"`
 45420  }
 45421  
 45422  func init() {
 45423  	t["HostSharedGpuCapabilities"] = reflect.TypeOf((*HostSharedGpuCapabilities)(nil)).Elem()
 45424  }
 45425  
 45426  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 45427  //
 45428  // This event records that host name resolution returned different names on
 45429  // the host.
 45430  //
 45431  // Please check your host's network configuration and your DNS
 45432  // configuration. There may be duplicate entries.
 45433  type HostShortNameInconsistentEvent struct {
 45434  	HostDasEvent
 45435  
 45436  	ShortName  string `xml:"shortName" json:"shortName"`
 45437  	ShortName2 string `xml:"shortName2" json:"shortName2"`
 45438  }
 45439  
 45440  func init() {
 45441  	t["HostShortNameInconsistentEvent"] = reflect.TypeOf((*HostShortNameInconsistentEvent)(nil)).Elem()
 45442  }
 45443  
 45444  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 45445  //
 45446  // This event records that the host's short name could not be resolved to an IP address.
 45447  type HostShortNameToIpFailedEvent struct {
 45448  	HostEvent
 45449  
 45450  	ShortName string `xml:"shortName" json:"shortName"`
 45451  }
 45452  
 45453  func init() {
 45454  	t["HostShortNameToIpFailedEvent"] = reflect.TypeOf((*HostShortNameToIpFailedEvent)(nil)).Elem()
 45455  }
 45456  
 45457  // This event records the shutdown of a host.
 45458  type HostShutdownEvent struct {
 45459  	HostEvent
 45460  
 45461  	// The reason for the host shutdown.
 45462  	Reason string `xml:"reason" json:"reason"`
 45463  }
 45464  
 45465  func init() {
 45466  	t["HostShutdownEvent"] = reflect.TypeOf((*HostShutdownEvent)(nil)).Elem()
 45467  }
 45468  
 45469  type HostSnmpConfigSpec struct {
 45470  	DynamicData
 45471  
 45472  	Enabled             *bool                 `xml:"enabled" json:"enabled,omitempty"`
 45473  	Port                int32                 `xml:"port,omitempty" json:"port,omitempty"`
 45474  	ReadOnlyCommunities []string              `xml:"readOnlyCommunities,omitempty" json:"readOnlyCommunities,omitempty"`
 45475  	TrapTargets         []HostSnmpDestination `xml:"trapTargets,omitempty" json:"trapTargets,omitempty"`
 45476  	Option              []KeyValue            `xml:"option,omitempty" json:"option,omitempty"`
 45477  }
 45478  
 45479  func init() {
 45480  	t["HostSnmpConfigSpec"] = reflect.TypeOf((*HostSnmpConfigSpec)(nil)).Elem()
 45481  }
 45482  
 45483  // Defines a receiver for SNMP Notifications
 45484  type HostSnmpDestination struct {
 45485  	DynamicData
 45486  
 45487  	// A system listening for SNMP notifications.
 45488  	//
 45489  	// These must be a IPv4 unicast address or resolvable dns name.
 45490  	HostName string `xml:"hostName" json:"hostName"`
 45491  	// UDP port to Notification receiver is listening on.
 45492  	//
 45493  	// udp/162 is
 45494  	// the reserved port
 45495  	Port      int32  `xml:"port" json:"port"`
 45496  	Community string `xml:"community" json:"community"`
 45497  }
 45498  
 45499  func init() {
 45500  	t["HostSnmpDestination"] = reflect.TypeOf((*HostSnmpDestination)(nil)).Elem()
 45501  }
 45502  
 45503  type HostSnmpSystemAgentLimits struct {
 45504  	DynamicData
 45505  
 45506  	// number of allowed communities
 45507  	MaxReadOnlyCommunities int32 `xml:"maxReadOnlyCommunities" json:"maxReadOnlyCommunities"`
 45508  	// number of allowed destinations for notifications
 45509  	MaxTrapDestinations int32 `xml:"maxTrapDestinations" json:"maxTrapDestinations"`
 45510  	// Max length of community
 45511  	MaxCommunityLength int32 `xml:"maxCommunityLength" json:"maxCommunityLength"`
 45512  	// SNMP input buffer size
 45513  	MaxBufferSize int32 `xml:"maxBufferSize" json:"maxBufferSize"`
 45514  	// Supported Capability for this agent
 45515  	Capability HostSnmpAgentCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 45516  }
 45517  
 45518  func init() {
 45519  	t["HostSnmpSystemAgentLimits"] = reflect.TypeOf((*HostSnmpSystemAgentLimits)(nil)).Elem()
 45520  }
 45521  
 45522  type HostSpecGetUpdatedHosts HostSpecGetUpdatedHostsRequestType
 45523  
 45524  func init() {
 45525  	t["HostSpecGetUpdatedHosts"] = reflect.TypeOf((*HostSpecGetUpdatedHosts)(nil)).Elem()
 45526  }
 45527  
 45528  // The parameters of `HostSpecificationManager.HostSpecGetUpdatedHosts`.
 45529  type HostSpecGetUpdatedHostsRequestType struct {
 45530  	This ManagedObjectReference `xml:"_this" json:"-"`
 45531  	// The beginning of the time period.
 45532  	StartChangeID string `xml:"startChangeID,omitempty" json:"startChangeID,omitempty"`
 45533  	// The ending of the time period.
 45534  	EndChangeID string `xml:"endChangeID,omitempty" json:"endChangeID,omitempty"`
 45535  }
 45536  
 45537  func init() {
 45538  	t["HostSpecGetUpdatedHostsRequestType"] = reflect.TypeOf((*HostSpecGetUpdatedHostsRequestType)(nil)).Elem()
 45539  }
 45540  
 45541  type HostSpecGetUpdatedHostsResponse struct {
 45542  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 45543  }
 45544  
 45545  // The host specification data are those needed at host boot time to create and
 45546  // configure virtual devices and host services.
 45547  //
 45548  // The `HostSpecification` data object contains a collection of host sub
 45549  // specification data.
 45550  // For host sub specification data, see
 45551  // `HostSubSpecification`
 45552  // for details.
 45553  type HostSpecification struct {
 45554  	DynamicData
 45555  
 45556  	// Time at which the host specification was created.
 45557  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
 45558  	// Time at which the host specification was last modified.
 45559  	//
 45560  	// If it isn't set,
 45561  	// it is the same as <code>createdTime</code>.
 45562  	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
 45563  	// The host that the spec data belongs to.
 45564  	//
 45565  	// Refers instance of `HostSystem`.
 45566  	Host ManagedObjectReference `xml:"host" json:"host"`
 45567  	// The collection of the host sub specifications.
 45568  	//
 45569  	// It is optional.
 45570  	SubSpecs []HostSubSpecification `xml:"subSpecs,omitempty" json:"subSpecs,omitempty"`
 45571  	// The change ID for querying the host specification data updated in a
 45572  	// time period.
 45573  	//
 45574  	// It has a format of timestamp:change\_number, where
 45575  	// timestamp is the decimal string of a start time, and change\_number is
 45576  	// the decimal string of an auto incremented variable counting from the
 45577  	// start time.
 45578  	ChangeID string `xml:"changeID,omitempty" json:"changeID,omitempty"`
 45579  }
 45580  
 45581  func init() {
 45582  	t["HostSpecification"] = reflect.TypeOf((*HostSpecification)(nil)).Elem()
 45583  }
 45584  
 45585  // This event records that the host specification was changed.
 45586  type HostSpecificationChangedEvent struct {
 45587  	HostEvent
 45588  }
 45589  
 45590  func init() {
 45591  	t["HostSpecificationChangedEvent"] = reflect.TypeOf((*HostSpecificationChangedEvent)(nil)).Elem()
 45592  }
 45593  
 45594  // Fault thrown when an operation, on host specification or host sub
 45595  // specification for a host, failed.
 45596  type HostSpecificationOperationFailed struct {
 45597  	VimFault
 45598  
 45599  	// The host on which host specification operation failed.
 45600  	//
 45601  	// Refers instance of `HostSystem`.
 45602  	Host ManagedObjectReference `xml:"host" json:"host"`
 45603  }
 45604  
 45605  func init() {
 45606  	t["HostSpecificationOperationFailed"] = reflect.TypeOf((*HostSpecificationOperationFailed)(nil)).Elem()
 45607  }
 45608  
 45609  type HostSpecificationOperationFailedFault HostSpecificationOperationFailed
 45610  
 45611  func init() {
 45612  	t["HostSpecificationOperationFailedFault"] = reflect.TypeOf((*HostSpecificationOperationFailedFault)(nil)).Elem()
 45613  }
 45614  
 45615  // This event is issued to that the host specification should be updated.
 45616  type HostSpecificationRequireEvent struct {
 45617  	HostEvent
 45618  }
 45619  
 45620  func init() {
 45621  	t["HostSpecificationRequireEvent"] = reflect.TypeOf((*HostSpecificationRequireEvent)(nil)).Elem()
 45622  }
 45623  
 45624  // This event suggests that update the host specification with the
 45625  // encapsulated copy.
 45626  type HostSpecificationUpdateEvent struct {
 45627  	HostEvent
 45628  
 45629  	HostSpec HostSpecification `xml:"hostSpec" json:"hostSpec"`
 45630  }
 45631  
 45632  func init() {
 45633  	t["HostSpecificationUpdateEvent"] = reflect.TypeOf((*HostSpecificationUpdateEvent)(nil)).Elem()
 45634  }
 45635  
 45636  // This data object allows configuration of SR-IOV device.
 45637  type HostSriovConfig struct {
 45638  	HostPciPassthruConfig
 45639  
 45640  	// enable SR-IOV for this device
 45641  	SriovEnabled bool `xml:"sriovEnabled" json:"sriovEnabled"`
 45642  	// Number of SR-IOV virtual functions to enable on this device
 45643  	NumVirtualFunction int32 `xml:"numVirtualFunction" json:"numVirtualFunction"`
 45644  }
 45645  
 45646  func init() {
 45647  	t["HostSriovConfig"] = reflect.TypeOf((*HostSriovConfig)(nil)).Elem()
 45648  }
 45649  
 45650  type HostSriovDevicePoolInfo struct {
 45651  	DynamicData
 45652  
 45653  	Key string `xml:"key" json:"key"`
 45654  }
 45655  
 45656  func init() {
 45657  	t["HostSriovDevicePoolInfo"] = reflect.TypeOf((*HostSriovDevicePoolInfo)(nil)).Elem()
 45658  }
 45659  
 45660  // This data object provides information about the state of SR-IOV device.
 45661  type HostSriovInfo struct {
 45662  	HostPciPassthruInfo
 45663  
 45664  	// Whether SRIOV has been enabled by the user
 45665  	SriovEnabled bool `xml:"sriovEnabled" json:"sriovEnabled"`
 45666  	// Whether SRIOV is possible for this device
 45667  	SriovCapable bool `xml:"sriovCapable" json:"sriovCapable"`
 45668  	// Whether SRIOV is active for this device (meaning enabled + rebooted)
 45669  	SriovActive bool `xml:"sriovActive" json:"sriovActive"`
 45670  	// Number of SRIOV virtual functions requested for this device
 45671  	NumVirtualFunctionRequested int32 `xml:"numVirtualFunctionRequested" json:"numVirtualFunctionRequested"`
 45672  	// Number of SRIOV virtual functions present on this device
 45673  	NumVirtualFunction int32 `xml:"numVirtualFunction" json:"numVirtualFunction"`
 45674  	// Maximum number of SRIOV virtual functions supported on this device
 45675  	MaxVirtualFunctionSupported int32 `xml:"maxVirtualFunctionSupported" json:"maxVirtualFunctionSupported"`
 45676  }
 45677  
 45678  func init() {
 45679  	t["HostSriovInfo"] = reflect.TypeOf((*HostSriovInfo)(nil)).Elem()
 45680  }
 45681  
 45682  // Information on networking specific SR-IOV device pools
 45683  type HostSriovNetworkDevicePoolInfo struct {
 45684  	HostSriovDevicePoolInfo
 45685  
 45686  	// vSwitch key
 45687  	SwitchKey string `xml:"switchKey,omitempty" json:"switchKey,omitempty"`
 45688  	// DVS Uuid
 45689  	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
 45690  	// List of SR-IOV enabled physical nics that are backing the portgroup
 45691  	// identified by above key
 45692  	Pnic []PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
 45693  }
 45694  
 45695  func init() {
 45696  	t["HostSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*HostSriovNetworkDevicePoolInfo)(nil)).Elem()
 45697  }
 45698  
 45699  // The SSL thumbprint information for a host managed by a vCenter Server
 45700  // or a vCenter extension to login into other hosts without
 45701  // username/password authentication.
 45702  type HostSslThumbprintInfo struct {
 45703  	DynamicData
 45704  
 45705  	// The principal used for the login session
 45706  	Principal string `xml:"principal" json:"principal"`
 45707  	// The tag associated with this registration.
 45708  	//
 45709  	// Owner tags allow
 45710  	// multiple entities to register the same thumbprint without
 45711  	// interfering with each other on the life cycle of the thumbprint with
 45712  	// their unique tags.
 45713  	// Each solution should use a unique tag to identify itself.
 45714  	OwnerTag string `xml:"ownerTag,omitempty" json:"ownerTag,omitempty"`
 45715  	// Specify the SSL thumbprints to register on the host.
 45716  	SslThumbprints []string `xml:"sslThumbprints,omitempty" json:"sslThumbprints,omitempty"`
 45717  }
 45718  
 45719  func init() {
 45720  	t["HostSslThumbprintInfo"] = reflect.TypeOf((*HostSslThumbprintInfo)(nil)).Elem()
 45721  }
 45722  
 45723  // This event records when a host's overall status changed.
 45724  type HostStatusChangedEvent struct {
 45725  	ClusterStatusChangedEvent
 45726  }
 45727  
 45728  func init() {
 45729  	t["HostStatusChangedEvent"] = reflect.TypeOf((*HostStatusChangedEvent)(nil)).Elem()
 45730  }
 45731  
 45732  // Description of options associated with a native multipathing
 45733  // storage array type plugin.
 45734  type HostStorageArrayTypePolicyOption struct {
 45735  	DynamicData
 45736  
 45737  	// Description of the paths selection policy.
 45738  	//
 45739  	// Use the key as the
 45740  	// identifier.
 45741  	Policy BaseElementDescription `xml:"policy,typeattr" json:"policy"`
 45742  }
 45743  
 45744  func init() {
 45745  	t["HostStorageArrayTypePolicyOption"] = reflect.TypeOf((*HostStorageArrayTypePolicyOption)(nil)).Elem()
 45746  }
 45747  
 45748  // This data object type describes the storage subsystem configuration.
 45749  type HostStorageDeviceInfo struct {
 45750  	DynamicData
 45751  
 45752  	// The list of host bus adapters available on the host.
 45753  	HostBusAdapter []BaseHostHostBusAdapter `xml:"hostBusAdapter,omitempty,typeattr" json:"hostBusAdapter,omitempty"`
 45754  	// The list of SCSI logical units available on the host.
 45755  	ScsiLun []BaseScsiLun `xml:"scsiLun,omitempty,typeattr" json:"scsiLun,omitempty"`
 45756  	// Storage topology view of SCSI storage devices.
 45757  	//
 45758  	// This data object
 45759  	// exists only if storage topology information is available. See the
 45760  	// `ScsiTopology` data object type for
 45761  	// more information.
 45762  	ScsiTopology *HostScsiTopology `xml:"scsiTopology,omitempty" json:"scsiTopology,omitempty"`
 45763  	// Topology view of NVME storage devices.
 45764  	//
 45765  	// This data object exists
 45766  	// only if storage topology information is available. See the
 45767  	// `HostNvmeTopology` data object type for more information.
 45768  	NvmeTopology *HostNvmeTopology `xml:"nvmeTopology,omitempty" json:"nvmeTopology,omitempty"`
 45769  	// The multipath configuration that controls multipath policy for ScsiLuns.
 45770  	//
 45771  	// This data object exists only if path information is available and is
 45772  	// configurable.
 45773  	MultipathInfo *HostMultipathInfo `xml:"multipathInfo,omitempty" json:"multipathInfo,omitempty"`
 45774  	// The plug-store topology on the host system.
 45775  	//
 45776  	// This data object exists only if
 45777  	// the plug-store system is available and configurable.
 45778  	PlugStoreTopology *HostPlugStoreTopology `xml:"plugStoreTopology,omitempty" json:"plugStoreTopology,omitempty"`
 45779  	// Indicates if the software iSCSI initiator is enabled on this system
 45780  	SoftwareInternetScsiEnabled bool `xml:"softwareInternetScsiEnabled" json:"softwareInternetScsiEnabled"`
 45781  }
 45782  
 45783  func init() {
 45784  	t["HostStorageDeviceInfo"] = reflect.TypeOf((*HostStorageDeviceInfo)(nil)).Elem()
 45785  }
 45786  
 45787  // Data object describing the operational status of various storage
 45788  // elements.
 45789  type HostStorageElementInfo struct {
 45790  	HostHardwareElementInfo
 45791  
 45792  	// Other information regarding the operational state of the
 45793  	// storage element.
 45794  	OperationalInfo []HostStorageOperationalInfo `xml:"operationalInfo,omitempty" json:"operationalInfo,omitempty"`
 45795  }
 45796  
 45797  func init() {
 45798  	t["HostStorageElementInfo"] = reflect.TypeOf((*HostStorageElementInfo)(nil)).Elem()
 45799  }
 45800  
 45801  // Data class describing operational information of a storage element
 45802  type HostStorageOperationalInfo struct {
 45803  	DynamicData
 45804  
 45805  	// The property of interest for the storage element
 45806  	Property string `xml:"property" json:"property"`
 45807  	// The property value for the storage element
 45808  	Value string `xml:"value" json:"value"`
 45809  }
 45810  
 45811  func init() {
 45812  	t["HostStorageOperationalInfo"] = reflect.TypeOf((*HostStorageOperationalInfo)(nil)).Elem()
 45813  }
 45814  
 45815  // Contains the result of turn Disk Locator Led On/Off request.
 45816  //
 45817  // Used as return value
 45818  // by `HostStorageSystem.TurnDiskLocatorLedOn_Task` and
 45819  // `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
 45820  type HostStorageSystemDiskLocatorLedResult struct {
 45821  	DynamicData
 45822  
 45823  	// UUID of LUN that has failed to turn on/off disk locator LED.
 45824  	Key string `xml:"key" json:"key"`
 45825  	// The reason why the operation did not succeed.
 45826  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 45827  }
 45828  
 45829  func init() {
 45830  	t["HostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*HostStorageSystemDiskLocatorLedResult)(nil)).Elem()
 45831  }
 45832  
 45833  // Contains the result of SCSI LUN operation requests.
 45834  //
 45835  // Used as return value
 45836  // by `HostStorageSystem.AttachScsiLunEx_Task`,
 45837  // `HostStorageSystem.DetachScsiLunEx_Task` and
 45838  // `HostStorageSystem.MarkPerenniallyReservedEx_Task`
 45839  type HostStorageSystemScsiLunResult struct {
 45840  	DynamicData
 45841  
 45842  	// UUID of LUN on which the LUN operation was requested.
 45843  	Key string `xml:"key" json:"key"`
 45844  	// Fault if operation fails
 45845  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 45846  }
 45847  
 45848  func init() {
 45849  	t["HostStorageSystemScsiLunResult"] = reflect.TypeOf((*HostStorageSystemScsiLunResult)(nil)).Elem()
 45850  }
 45851  
 45852  // Contains the result of the operation performed on a VMFS volume.
 45853  type HostStorageSystemVmfsVolumeResult struct {
 45854  	DynamicData
 45855  
 45856  	// UUID of VMFS volume
 45857  	Key string `xml:"key" json:"key"`
 45858  	// Fault if volume operation fails, unset if operation succeeds
 45859  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 45860  }
 45861  
 45862  func init() {
 45863  	t["HostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*HostStorageSystemVmfsVolumeResult)(nil)).Elem()
 45864  }
 45865  
 45866  // Host sub specification data are the data used when create a virtual
 45867  // device, and/or configure the virtual device and its related
 45868  // host services.
 45869  //
 45870  // A typical example of host sub specification data is the DVS host view
 45871  // specification, which is used when create DVS host view on an ESXi
 45872  // host and configure the virtual switch on the host.
 45873  // The introduction of this type of data is for improving the
 45874  // availability of the ESXi host management. For example, when
 45875  // the VirtualCenter server is not available, an ESXi host will
 45876  // have enough information to reconfigure DVS host view properly
 45877  // when the ESXi host is booted from stateless or stateless caching.
 45878  // Host sub specification data are data for VMware internal data
 45879  // structure used in virtual device creation and configuration.
 45880  // They are different to `AnswerFile`
 45881  // which are from public knowledge domain or the public API
 45882  // of VMware ESXi host services.
 45883  // When the host sub specification data for a single feature
 45884  // are stored in multiple host sub specification data objects,
 45885  // it is the responsibility of the host specification source
 45886  // in this feature to guarantee the completeness and consistency
 45887  // of these host sub specification objects.
 45888  type HostSubSpecification struct {
 45889  	DynamicData
 45890  
 45891  	// The full name of the host sub specification.
 45892  	//
 45893  	// The format of this member
 45894  	// variable is:
 45895  	// CompanyName\_ProductName\_SubSpecName.
 45896  	// Thus, name conflict is avoided by containing the
 45897  	// <code>company name</code>, <code>product name</code>, and <code> sub
 45898  	// specification name</code> in this full name.
 45899  	Name string `xml:"name" json:"name"`
 45900  	// Time at which the host sub specification was created.
 45901  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
 45902  	// The host sub specification data
 45903  	Data ByteSlice `xml:"data,omitempty" json:"data,omitempty"`
 45904  	// The host sub specification data in Binary for wire efficiency.
 45905  	BinaryData []byte `xml:"binaryData,omitempty" json:"binaryData,omitempty"`
 45906  }
 45907  
 45908  func init() {
 45909  	t["HostSubSpecification"] = reflect.TypeOf((*HostSubSpecification)(nil)).Elem()
 45910  }
 45911  
 45912  // This event suggests that delete the host sub specification specified by
 45913  // name.
 45914  type HostSubSpecificationDeleteEvent struct {
 45915  	HostEvent
 45916  
 45917  	SubSpecName string `xml:"subSpecName" json:"subSpecName"`
 45918  }
 45919  
 45920  func init() {
 45921  	t["HostSubSpecificationDeleteEvent"] = reflect.TypeOf((*HostSubSpecificationDeleteEvent)(nil)).Elem()
 45922  }
 45923  
 45924  // This event suggests that update the host sub specification with the
 45925  // encapsulated copy.
 45926  type HostSubSpecificationUpdateEvent struct {
 45927  	HostEvent
 45928  
 45929  	HostSubSpec HostSubSpecification `xml:"hostSubSpec" json:"hostSubSpec"`
 45930  }
 45931  
 45932  func init() {
 45933  	t["HostSubSpecificationUpdateEvent"] = reflect.TypeOf((*HostSubSpecificationUpdateEvent)(nil)).Elem()
 45934  }
 45935  
 45936  // This event records a failure to sync up with the VirtualCenter agent on the host
 45937  type HostSyncFailedEvent struct {
 45938  	HostEvent
 45939  
 45940  	// The reason for the failure.
 45941  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 45942  }
 45943  
 45944  func init() {
 45945  	t["HostSyncFailedEvent"] = reflect.TypeOf((*HostSyncFailedEvent)(nil)).Elem()
 45946  }
 45947  
 45948  // The host profile compliance check state.
 45949  type HostSystemComplianceCheckState struct {
 45950  	DynamicData
 45951  
 45952  	// The compliance check operation state.
 45953  	//
 45954  	// See
 45955  	// `ComplianceResultStatus_enum` for the valid values.
 45956  	State string `xml:"state" json:"state"`
 45957  	// The compliance check starting time for running state; compliance
 45958  	// check finish time for others.
 45959  	CheckTime time.Time `xml:"checkTime" json:"checkTime"`
 45960  }
 45961  
 45962  func init() {
 45963  	t["HostSystemComplianceCheckState"] = reflect.TypeOf((*HostSystemComplianceCheckState)(nil)).Elem()
 45964  }
 45965  
 45966  // This data object provides information about the health of the phyical
 45967  // system.
 45968  //
 45969  // The data is retrieved from numeric sensor probes.
 45970  type HostSystemHealthInfo struct {
 45971  	DynamicData
 45972  
 45973  	// Health information provided by the power probes.
 45974  	NumericSensorInfo []HostNumericSensorInfo `xml:"numericSensorInfo,omitempty" json:"numericSensorInfo,omitempty"`
 45975  }
 45976  
 45977  func init() {
 45978  	t["HostSystemHealthInfo"] = reflect.TypeOf((*HostSystemHealthInfo)(nil)).Elem()
 45979  }
 45980  
 45981  // This data object describes system identifying information of the host.
 45982  //
 45983  // This
 45984  // information may be vendor specific.
 45985  type HostSystemIdentificationInfo struct {
 45986  	DynamicData
 45987  
 45988  	// The system identification information
 45989  	IdentifierValue string `xml:"identifierValue" json:"identifierValue"`
 45990  	// The description of the identifying information.
 45991  	//
 45992  	// See also `HostSystemIdentificationInfoIdentifier_enum`.
 45993  	IdentifierType BaseElementDescription `xml:"identifierType,typeattr" json:"identifierType"`
 45994  }
 45995  
 45996  func init() {
 45997  	t["HostSystemIdentificationInfo"] = reflect.TypeOf((*HostSystemIdentificationInfo)(nil)).Elem()
 45998  }
 45999  
 46000  // Information about the system as a whole.
 46001  type HostSystemInfo struct {
 46002  	DynamicData
 46003  
 46004  	// Hardware vendor identification.
 46005  	Vendor string `xml:"vendor" json:"vendor"`
 46006  	// System model identification.
 46007  	Model string `xml:"model" json:"model"`
 46008  	// System family identification.
 46009  	Family string `xml:"family,omitempty" json:"family,omitempty" vim:"9.0.0.0"`
 46010  	// Hardware BIOS identification.
 46011  	Uuid string `xml:"uuid" json:"uuid"`
 46012  	// Other System identification information.
 46013  	//
 46014  	// This information may be vendor
 46015  	// specific
 46016  	OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty" json:"otherIdentifyingInfo,omitempty"`
 46017  	SerialNumber         string                         `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 46018  	// List of qualified names used to identify the host in a specific context.
 46019  	//
 46020  	// Unlike the other types of system identification information, these can
 46021  	// potentially change as a result of configuration.
 46022  	QualifiedName []HostQualifiedName `xml:"qualifiedName,omitempty" json:"qualifiedName,omitempty" vim:"7.0.3.0"`
 46023  	// NVMe qualified name used by Vvol.
 46024  	//
 46025  	// A unique name, assigned to each host used by Vvol.
 46026  	// Obtained through vmkctl storage control path while fetching the NVMe info.
 46027  	VvolHostNQN *HostQualifiedName `xml:"vvolHostNQN,omitempty" json:"vvolHostNQN,omitempty" vim:"8.0.0.0"`
 46028  	// Host id used by Vvol.
 46029  	//
 46030  	// The hostd id, obtained through vmkctl storage control path while
 46031  	// fetching the NVMe info.
 46032  	VvolHostId string `xml:"vvolHostId,omitempty" json:"vvolHostId,omitempty" vim:"8.0.0.0"`
 46033  	// Command line string to identify different boot options used for host.
 46034  	//
 46035  	// Example of different boot options are:
 46036  	//   - "runweasel": "System is booted for weasel installation"
 46037  	//   - "ks": "System is booted for kickstart installation"
 46038  	BootCommandLine string `xml:"bootCommandLine,omitempty" json:"bootCommandLine,omitempty" vim:"8.0.3.0"`
 46039  }
 46040  
 46041  func init() {
 46042  	t["HostSystemInfo"] = reflect.TypeOf((*HostSystemInfo)(nil)).Elem()
 46043  }
 46044  
 46045  // Specifies the parameters needed to merge vCenter Server settings
 46046  // and host settings on reconnect.
 46047  type HostSystemReconnectSpec struct {
 46048  	DynamicData
 46049  
 46050  	// This flag should be set if on a host reconnect, state such as virtual
 46051  	// machine state in vCenter Server e.g.
 46052  	//
 46053  	// the virtual machine inventory
 46054  	// and autostart rules, has to be propogated to the host. Any virtual
 46055  	// machines that may have been unregistered or orphaned will be
 46056  	// reregistered according to the vCenter Server inventory. Any autostart
 46057  	// rules that may have changed on the host will be similarly restored.
 46058  	// This flag is primarily intended for stateless hosts to enable vCenter
 46059  	// Server to resync these hosts after a reboot.
 46060  	SyncState *bool `xml:"syncState" json:"syncState,omitempty"`
 46061  }
 46062  
 46063  func init() {
 46064  	t["HostSystemReconnectSpec"] = reflect.TypeOf((*HostSystemReconnectSpec)(nil)).Elem()
 46065  }
 46066  
 46067  // The valid remediation states.
 46068  //
 46069  // Host profile apply has two stages:
 46070  // precheck remediation and remediation. Precheck remediation generates
 46071  // task list and task requirement: apply may fail when task requirements
 46072  // are not satisfied. Remediation stage can be started only when precheck
 46073  // remediation succeeded.
 46074  type HostSystemRemediationState struct {
 46075  	DynamicData
 46076  
 46077  	// The remediation or precheck remediation operation state.
 46078  	//
 46079  	// See
 46080  	// `HostSystemRemediationStateState_enum` for the valid
 46081  	// values.
 46082  	State string `xml:"state" json:"state"`
 46083  	// For any "running" state, this is the starting time; for others, this
 46084  	// is the completion time.
 46085  	OperationTime time.Time `xml:"operationTime" json:"operationTime"`
 46086  }
 46087  
 46088  func init() {
 46089  	t["HostSystemRemediationState"] = reflect.TypeOf((*HostSystemRemediationState)(nil)).Elem()
 46090  }
 46091  
 46092  // The SystemResourceInfo data object describes the configuration of
 46093  // a single system resource group.
 46094  //
 46095  // System resource groups are analogous
 46096  // to `ResourcePool` objects for virtual machines; however,
 46097  // their structure is fixed and groups may not be created nor destroyed,
 46098  // only configured.
 46099  type HostSystemResourceInfo struct {
 46100  	DynamicData
 46101  
 46102  	// ID of the system resource group.
 46103  	Key string `xml:"key" json:"key"`
 46104  	// Configuration of this system resource group.
 46105  	Config *ResourceConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
 46106  	// List of child resource groups.
 46107  	Child []HostSystemResourceInfo `xml:"child,omitempty" json:"child,omitempty"`
 46108  }
 46109  
 46110  func init() {
 46111  	t["HostSystemResourceInfo"] = reflect.TypeOf((*HostSystemResourceInfo)(nil)).Elem()
 46112  }
 46113  
 46114  // Information and specification for control of the system swap configuration
 46115  // on the current host.
 46116  type HostSystemSwapConfiguration struct {
 46117  	DynamicData
 46118  
 46119  	// The currently enabled options.
 46120  	//
 46121  	// When this property contains only one value and this value is `HostSystemSwapConfigurationDisabledOption`,
 46122  	// this indicates that the system swap is disabled.
 46123  	// If the `HostSystemSwapConfigurationDisabledOption` option is
 46124  	// used together with some other option in call to `HostSystem.UpdateSystemSwapConfiguration`, a
 46125  	// `InvalidArgument` is thrown.
 46126  	// It is not allowed to have duplicate values in this array. If so a
 46127  	// `InvalidArgument` is thrown.
 46128  	Option []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 46129  }
 46130  
 46131  func init() {
 46132  	t["HostSystemSwapConfiguration"] = reflect.TypeOf((*HostSystemSwapConfiguration)(nil)).Elem()
 46133  }
 46134  
 46135  // Use option to indicate that a user specified datastore may be used for
 46136  // system swap.
 46137  type HostSystemSwapConfigurationDatastoreOption struct {
 46138  	HostSystemSwapConfigurationSystemSwapOption
 46139  
 46140  	// The datastore to be used with this swap option.
 46141  	//
 46142  	// This value should be always set when the encapsulating option is used,
 46143  	// otherwise a call to `HostSystem.UpdateSystemSwapConfiguration` will
 46144  	// result in a `InvalidArgument` fault.
 46145  	Datastore string `xml:"datastore" json:"datastore"`
 46146  }
 46147  
 46148  func init() {
 46149  	t["HostSystemSwapConfigurationDatastoreOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDatastoreOption)(nil)).Elem()
 46150  }
 46151  
 46152  // Indicates that the system swap on the host is currently disabled.
 46153  //
 46154  // This value is used with the
 46155  // `HostSystem.UpdateSystemSwapConfiguration` managed method to
 46156  // disable system swap. Presence of this value in `HostSystemSwapConfiguration.option` excludes appearance of any other
 46157  // options. Specifying additional options will result in a `InvalidArgument` fault being thrown from the `HostSystem.UpdateSystemSwapConfiguration` method.
 46158  type HostSystemSwapConfigurationDisabledOption struct {
 46159  	HostSystemSwapConfigurationSystemSwapOption
 46160  }
 46161  
 46162  func init() {
 46163  	t["HostSystemSwapConfigurationDisabledOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDisabledOption)(nil)).Elem()
 46164  }
 46165  
 46166  // Use option to indicate that the host cache may be used for system
 46167  // swap.
 46168  //
 46169  // See also `HostCacheConfigurationManager`for more details..
 46170  type HostSystemSwapConfigurationHostCacheOption struct {
 46171  	HostSystemSwapConfigurationSystemSwapOption
 46172  }
 46173  
 46174  func init() {
 46175  	t["HostSystemSwapConfigurationHostCacheOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostCacheOption)(nil)).Elem()
 46176  }
 46177  
 46178  // Use option to indicate that the datastore configured for host local swap
 46179  // may be used for system swap.
 46180  type HostSystemSwapConfigurationHostLocalSwapOption struct {
 46181  	HostSystemSwapConfigurationSystemSwapOption
 46182  }
 46183  
 46184  func init() {
 46185  	t["HostSystemSwapConfigurationHostLocalSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostLocalSwapOption)(nil)).Elem()
 46186  }
 46187  
 46188  // Base class for all system swap options.
 46189  //
 46190  // This class is not supposed to be used directly.
 46191  // These values are to be used in a `SystemSwapConfiguration.option`
 46192  // array.
 46193  type HostSystemSwapConfigurationSystemSwapOption struct {
 46194  	DynamicData
 46195  
 46196  	// Specifies the order the options are preferred among each other.
 46197  	//
 46198  	// The lower the value the more important.
 46199  	Key int32 `xml:"key" json:"key"`
 46200  }
 46201  
 46202  func init() {
 46203  	t["HostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationSystemSwapOption)(nil)).Elem()
 46204  }
 46205  
 46206  // Transport information about a SCSI target.
 46207  type HostTargetTransport struct {
 46208  	DynamicData
 46209  }
 46210  
 46211  func init() {
 46212  	t["HostTargetTransport"] = reflect.TypeOf((*HostTargetTransport)(nil)).Elem()
 46213  }
 46214  
 46215  // This data object describes the Transmission Control Protocol
 46216  // (TCP) host bus adapter interface.
 46217  type HostTcpHba struct {
 46218  	HostHostBusAdapter
 46219  
 46220  	// Device name of the associated physical NIC, if any.
 46221  	//
 46222  	// Should match the `PhysicalNic.device` property
 46223  	// of the corresponding physical NIC.
 46224  	AssociatedPnic string `xml:"associatedPnic,omitempty" json:"associatedPnic,omitempty"`
 46225  }
 46226  
 46227  func init() {
 46228  	t["HostTcpHba"] = reflect.TypeOf((*HostTcpHba)(nil)).Elem()
 46229  	minAPIVersionForType["HostTcpHba"] = "7.0.3.0"
 46230  }
 46231  
 46232  // A data object which specifies the parameters needed
 46233  // to create an NVME over TCP host bus adapter.
 46234  type HostTcpHbaCreateSpec struct {
 46235  	HostHbaCreateSpec
 46236  
 46237  	// Device name of the associated physical NIC.
 46238  	//
 46239  	// Should match the `PhysicalNic.device` property
 46240  	// of the corresponding physical NIC.
 46241  	Pnic string `xml:"pnic" json:"pnic"`
 46242  }
 46243  
 46244  func init() {
 46245  	t["HostTcpHbaCreateSpec"] = reflect.TypeOf((*HostTcpHbaCreateSpec)(nil)).Elem()
 46246  	minAPIVersionForType["HostTcpHbaCreateSpec"] = "7.0.3.0"
 46247  }
 46248  
 46249  // Transmission Control Protocol (TCP) transport
 46250  // information about a target.
 46251  type HostTcpTargetTransport struct {
 46252  	HostTargetTransport
 46253  }
 46254  
 46255  func init() {
 46256  	t["HostTcpTargetTransport"] = reflect.TypeOf((*HostTcpTargetTransport)(nil)).Elem()
 46257  	minAPIVersionForType["HostTcpTargetTransport"] = "7.0.3.0"
 46258  }
 46259  
 46260  // Data object describing the TDX (Trust Domain Extensions) configuration
 46261  // on the ESXi host.
 46262  type HostTdxInfo struct {
 46263  	DynamicData
 46264  
 46265  	// State of TDX on the host.
 46266  	//
 46267  	// The supported values are described in
 46268  	// `HostTdxInfoTdxState_enum`.
 46269  	TdxState string `xml:"tdxState" json:"tdxState"`
 46270  	// The number of TDX private key IDs on this host.
 46271  	NumTDXPrivateKeyIDs int32 `xml:"numTDXPrivateKeyIDs" json:"numTDXPrivateKeyIDs"`
 46272  }
 46273  
 46274  func init() {
 46275  	t["HostTdxInfo"] = reflect.TypeOf((*HostTdxInfo)(nil)).Elem()
 46276  	minAPIVersionForType["HostTdxInfo"] = "9.0.0.0"
 46277  }
 46278  
 46279  // This data object type represents result of TPM attestation.
 46280  type HostTpmAttestationInfo struct {
 46281  	DynamicData
 46282  
 46283  	// Time of TPM attestation.
 46284  	Time time.Time `xml:"time" json:"time"`
 46285  	// Attestation status.
 46286  	//
 46287  	// Valid values are enumerated by the
 46288  	// `HostTpmAttestationInfoAcceptanceStatus_enum` type.
 46289  	Status HostTpmAttestationInfoAcceptanceStatus `xml:"status" json:"status"`
 46290  	// Message explaining TPM attestation failure.
 46291  	Message *LocalizableMessage `xml:"message,omitempty" json:"message,omitempty"`
 46292  }
 46293  
 46294  func init() {
 46295  	t["HostTpmAttestationInfo"] = reflect.TypeOf((*HostTpmAttestationInfo)(nil)).Elem()
 46296  }
 46297  
 46298  // This class is used to report Trusted Platform Module (TPM) attestation
 46299  // information - values of the Platform Configuration Registers (PCRs) and
 46300  // the TPM event log to the external clients.
 46301  //
 46302  // This information can be used to determine the integrity of the software
 46303  // stack running as reported by the platform.
 46304  //
 46305  // The TPM stores digests (hashes) of the software stack components running on
 46306  // the host. Both binary modules and configuration information can be hashed.
 46307  // The calculated hash values are stored in special-purpose hardware registers
 46308  // called PCRs. Each PCR is defined to hold cumulative digest(s) of specific
 46309  // part(s) of the software stack.
 46310  //
 46311  // Due to the limited amount of PCRs available a hash-chaining scheme is implemented.
 46312  // When adding new information to a PCR the new value of hash is computed according
 46313  // to the following formula:
 46314  // NewHash = hash\_function(OldHash + hash\_function(NewData))
 46315  // This scheme allows storing measurements of an unlimited amount of components.
 46316  //
 46317  // The TPM event log provides an exact sequence of the events that contributed
 46318  // to the value of a PCR. It contains information about the type of the event
 46319  // and event-specific information. The presence of the log allows verification of
 46320  // both the final PCR state and the entire attestation path that formed it.
 46321  //
 46322  // It is possible for this report to be unreliable. This could be due to missing package
 46323  // information in the host database, errors in creation of the events. Only first 1000
 46324  // events are recorded by the kernel. Further events will not be recorded in the log and
 46325  // will cause the log to be marked as incomplete.
 46326  type HostTpmAttestationReport struct {
 46327  	DynamicData
 46328  
 46329  	// The array of PCR digest values stored in the TPM device since the last
 46330  	// host boot time.
 46331  	TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues" json:"tpmPcrValues"`
 46332  	// Log of TPM software stack attestation events.
 46333  	TpmEvents []HostTpmEventLogEntry `xml:"tpmEvents" json:"tpmEvents"`
 46334  	// This flag indicates whether the provided TPM events are a complete and reliable
 46335  	// information about host boot status.
 46336  	//
 46337  	// TPM event log may be incomplete (and therfore unreliable) if certain modules have
 46338  	// inappropriate origin or if the package information is incomplete. Only first 1000
 46339  	// events are recorded by the kernel. Further events will not be recorded in the log
 46340  	// and will cause the log to be marked as unreliable.
 46341  	TpmLogReliable bool `xml:"tpmLogReliable" json:"tpmLogReliable"`
 46342  }
 46343  
 46344  func init() {
 46345  	t["HostTpmAttestationReport"] = reflect.TypeOf((*HostTpmAttestationReport)(nil)).Elem()
 46346  }
 46347  
 46348  // Details of a Trusted Platform Module (TPM) event recording the
 46349  // measurement of boot complete event.
 46350  //
 46351  // The event digest is hash of
 46352  // the string "Boot Complete" including the nul character.
 46353  type HostTpmBootCompleteEventDetails struct {
 46354  	HostTpmEventDetails
 46355  }
 46356  
 46357  func init() {
 46358  	t["HostTpmBootCompleteEventDetails"] = reflect.TypeOf((*HostTpmBootCompleteEventDetails)(nil)).Elem()
 46359  	minAPIVersionForType["HostTpmBootCompleteEventDetails"] = "8.0.1.0"
 46360  }
 46361  
 46362  // Details of a Trusted Platform Module (TPM) event recording kernel security
 46363  // option passed at boot time and currently in effect.
 46364  //
 46365  // This event type exists to simplify parsing of the security-related information
 46366  // by internal and third-party solutions. Each boot option may be passed to kernel
 46367  // multiple times and/or in different forms. Replicating the parsing logic of the
 46368  // kernel would be neither convinient, nor secure for the client applications.
 46369  //
 46370  // Each instance of this event reports details of a single security-related
 46371  // boot option, as set in the kernel.
 46372  type HostTpmBootSecurityOptionEventDetails struct {
 46373  	HostTpmEventDetails
 46374  
 46375  	// Security-related options string, reflecting the state of an option set
 46376  	// in the kernel.
 46377  	//
 46378  	// This string is in the form of a KEY=VALUE pair.
 46379  	BootSecurityOption string `xml:"bootSecurityOption" json:"bootSecurityOption"`
 46380  }
 46381  
 46382  func init() {
 46383  	t["HostTpmBootSecurityOptionEventDetails"] = reflect.TypeOf((*HostTpmBootSecurityOptionEventDetails)(nil)).Elem()
 46384  }
 46385  
 46386  // Details of an Trusted Platform Module (TPM) event recording options entered
 46387  // manually on the command line prompt at boot time.
 46388  type HostTpmCommandEventDetails struct {
 46389  	HostTpmEventDetails
 46390  
 46391  	// Boot options as entered on the command line prompt at boot time.
 46392  	CommandLine string `xml:"commandLine" json:"commandLine"`
 46393  }
 46394  
 46395  func init() {
 46396  	t["HostTpmCommandEventDetails"] = reflect.TypeOf((*HostTpmCommandEventDetails)(nil)).Elem()
 46397  }
 46398  
 46399  // This data object type describes the digest values in the Platform
 46400  // Configuration Register (PCR) of a Trusted Platform Module (TPM) device.
 46401  type HostTpmDigestInfo struct {
 46402  	HostDigestInfo
 46403  
 46404  	// Index of the PCR that stores the TPM digest value.
 46405  	PcrNumber int32 `xml:"pcrNumber" json:"pcrNumber"`
 46406  }
 46407  
 46408  func init() {
 46409  	t["HostTpmDigestInfo"] = reflect.TypeOf((*HostTpmDigestInfo)(nil)).Elem()
 46410  }
 46411  
 46412  // This is a base data object for describing an event generated by
 46413  // Trusted Platform Module (TPM).
 46414  //
 46415  // It contains parameters common to
 46416  // all TPM event types.
 46417  type HostTpmEventDetails struct {
 46418  	DynamicData
 46419  
 46420  	// Value of the Platform Configuration Register (PCR) for this event.
 46421  	DataHash ByteSlice `xml:"dataHash" json:"dataHash"`
 46422  	// Method in which the digest hash is calculated.
 46423  	//
 46424  	// The set of possible
 46425  	// values is described in `HostDigestInfoDigestMethodType_enum`.
 46426  	DataHashMethod string `xml:"dataHashMethod,omitempty" json:"dataHashMethod,omitempty"`
 46427  }
 46428  
 46429  func init() {
 46430  	t["HostTpmEventDetails"] = reflect.TypeOf((*HostTpmEventDetails)(nil)).Elem()
 46431  }
 46432  
 46433  // This data object represents a single entry of an event log created by
 46434  // Trusted Platform Module (TPM).
 46435  //
 46436  // An TPM event log entry represents a single change to the value of
 46437  // a Platform Configuration Register (PCR). It contains detailed information
 46438  // about the reason of PCR value change, and the specifics of the event.
 46439  //
 46440  // Multiple objects of this type form an TPM event log. This log allows for
 46441  // verification of the both the software stack running on a host and the attestation
 46442  // process itself.
 46443  type HostTpmEventLogEntry struct {
 46444  	DynamicData
 46445  
 46446  	// Index of the PCR that was affected by the event.
 46447  	PcrIndex int32 `xml:"pcrIndex" json:"pcrIndex"`
 46448  	// The details of the event.
 46449  	EventDetails BaseHostTpmEventDetails `xml:"eventDetails,typeattr" json:"eventDetails"`
 46450  }
 46451  
 46452  func init() {
 46453  	t["HostTpmEventLogEntry"] = reflect.TypeOf((*HostTpmEventLogEntry)(nil)).Elem()
 46454  }
 46455  
 46456  // Details of an Trusted Platform Module (TPM) event recording TPM NVRAM tag.
 46457  type HostTpmNvTagEventDetails struct {
 46458  	HostTpmBootSecurityOptionEventDetails
 46459  }
 46460  
 46461  func init() {
 46462  	t["HostTpmNvTagEventDetails"] = reflect.TypeOf((*HostTpmNvTagEventDetails)(nil)).Elem()
 46463  	minAPIVersionForType["HostTpmNvTagEventDetails"] = "7.0.2.0"
 46464  }
 46465  
 46466  // Details of a Trusted Platform Module (TPM) event recording boot-time options.
 46467  //
 46468  // The boot-time options set on the system are packaged into a file that is supplied
 46469  // to the kernel at boot time. The boot options may be a string of key=value pairs
 46470  // (possibly separated by a new line) or a blob of arbitrary data.
 46471  type HostTpmOptionEventDetails struct {
 46472  	HostTpmEventDetails
 46473  
 46474  	// Name of the file containing the boot options.
 46475  	OptionsFileName string `xml:"optionsFileName" json:"optionsFileName"`
 46476  	// Options set by the boot option package.
 46477  	//
 46478  	// This array exposes the raw contents of the settings file (or files) that were
 46479  	// passed to kernel during the boot up process, and, therefore, should be treated
 46480  	// accordingly.
 46481  	BootOptions ByteSlice `xml:"bootOptions,omitempty" json:"bootOptions,omitempty"`
 46482  }
 46483  
 46484  func init() {
 46485  	t["HostTpmOptionEventDetails"] = reflect.TypeOf((*HostTpmOptionEventDetails)(nil)).Elem()
 46486  }
 46487  
 46488  // Details of a Trusted Platform Module (TPM) event recording the measurement
 46489  // of a signing key.
 46490  type HostTpmSignerEventDetails struct {
 46491  	HostTpmBootSecurityOptionEventDetails
 46492  }
 46493  
 46494  func init() {
 46495  	t["HostTpmSignerEventDetails"] = reflect.TypeOf((*HostTpmSignerEventDetails)(nil)).Elem()
 46496  	minAPIVersionForType["HostTpmSignerEventDetails"] = "8.0.0.1"
 46497  }
 46498  
 46499  // Details of a Trusted Platform Module (TPM) event recording a software component
 46500  // related event.
 46501  //
 46502  // This event is created when measuring a software component installed on the system.
 46503  // A software component may be a tardisk, a kernel module or any other type supported
 46504  // by the package system.
 46505  //
 46506  // Some software components are not packaged as VIBs (currently the package database
 46507  // and persistent state information of ESXi). For these components the VIB fields
 46508  // will contain empty strings.
 46509  type HostTpmSoftwareComponentEventDetails struct {
 46510  	HostTpmEventDetails
 46511  
 46512  	// Name of the software component that caused this TPM event.
 46513  	ComponentName string `xml:"componentName" json:"componentName"`
 46514  	// Name of the VIB containing the software component.
 46515  	VibName string `xml:"vibName" json:"vibName"`
 46516  	// Version of the VIB containing the software component.
 46517  	VibVersion string `xml:"vibVersion" json:"vibVersion"`
 46518  	// Vendor of the VIB containing the software component.
 46519  	VibVendor string `xml:"vibVendor" json:"vibVendor"`
 46520  }
 46521  
 46522  func init() {
 46523  	t["HostTpmSoftwareComponentEventDetails"] = reflect.TypeOf((*HostTpmSoftwareComponentEventDetails)(nil)).Elem()
 46524  }
 46525  
 46526  // Details of a Trusted Platform Module (TPM) event recording the
 46527  // measurement of a module version.
 46528  type HostTpmVersionEventDetails struct {
 46529  	HostTpmEventDetails
 46530  
 46531  	// A packed structure containing the module version.
 46532  	Version []byte `xml:"version" json:"version"`
 46533  }
 46534  
 46535  func init() {
 46536  	t["HostTpmVersionEventDetails"] = reflect.TypeOf((*HostTpmVersionEventDetails)(nil)).Elem()
 46537  	minAPIVersionForType["HostTpmVersionEventDetails"] = "8.0.0.1"
 46538  }
 46539  
 46540  // This data object type represents result of the attestation done by
 46541  // Trust Authority attestation service.
 46542  type HostTrustAuthorityAttestationInfo struct {
 46543  	DynamicData
 46544  
 46545  	// Status of the attestation.
 46546  	//
 46547  	// See `HostTrustAuthorityAttestationInfoAttestationStatus_enum` for the
 46548  	// supported values.
 46549  	AttestationStatus string `xml:"attestationStatus" json:"attestationStatus"`
 46550  	// ID of the attestation service in case of attestation success.
 46551  	//
 46552  	// Unset when
 46553  	// not attested.
 46554  	ServiceId string `xml:"serviceId,omitempty" json:"serviceId,omitempty"`
 46555  	// Time of attestation.
 46556  	AttestedAt *time.Time `xml:"attestedAt" json:"attestedAt,omitempty"`
 46557  	// Time until attestation is valid.
 46558  	AttestedUntil *time.Time `xml:"attestedUntil" json:"attestedUntil,omitempty"`
 46559  	// Messages explaining attestation failure or attestation status
 46560  	// retrieval errors, if any.
 46561  	Messages []LocalizableMessage `xml:"messages,omitempty" json:"messages,omitempty"`
 46562  }
 46563  
 46564  func init() {
 46565  	t["HostTrustAuthorityAttestationInfo"] = reflect.TypeOf((*HostTrustAuthorityAttestationInfo)(nil)).Elem()
 46566  	minAPIVersionForType["HostTrustAuthorityAttestationInfo"] = "7.0.1.0"
 46567  }
 46568  
 46569  // Information about an unresolved VMFS volume extent
 46570  // An unresolved VMFS volume extent is a device partition which is
 46571  // detected to have copy of an extent of a VMFS volume.
 46572  //
 46573  // Such a copy can be created via replication or snapshots, for example.
 46574  //
 46575  // See also `HostUnresolvedVmfsVolume`.
 46576  type HostUnresolvedVmfsExtent struct {
 46577  	DynamicData
 46578  
 46579  	// The device information
 46580  	Device HostScsiDiskPartition `xml:"device" json:"device"`
 46581  	// The device path of an VMFS extent
 46582  	DevicePath string `xml:"devicePath" json:"devicePath"`
 46583  	// The UUID of the VMFS volume read from to the partition.
 46584  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 46585  	// Is this a copy of the head extent of the VMFS volume?
 46586  	IsHeadExtent bool `xml:"isHeadExtent" json:"isHeadExtent"`
 46587  	// A number indicating the order of an extent in a volume.
 46588  	//
 46589  	// An extent with
 46590  	// a lower ordinal value than another extent provides a range of blocks to
 46591  	// a volume at an earlier block address range. Extents with the same
 46592  	// ordinal provide the same range of blocks to a volume. A zero ordinal
 46593  	// indicates that the extent is a head extent.
 46594  	//
 46595  	// In the case each extent in the `HostUnresolvedVmfsVolume` is
 46596  	// represented in the list of `HostUnresolvedVmfsExtent` data objects,
 46597  	// the ordinal will refer to the absolute index of the extent in the
 46598  	// volume. For example, ordinal "1" refers to the second extent;
 46599  	// ordinal "2" refers to the third extent.
 46600  	//
 46601  	// In the case that some extents of the volume are not represented in
 46602  	// the `HostUnresolvedVmfsExtent` list, the ordinal will not precisely
 46603  	// describe the position in the list of extents. A number will be skipped
 46604  	// to indicate holes in the extent order. For example, given a volume with
 46605  	// five extents with the second and third extents missing, the ordinal
 46606  	// values in use will be {0, 2, 3}. The missing second and third extent
 46607  	// are represented by the missing ordinal value "1" while the fourth and
 46608  	// fifth extents will be assigned an ordinal of "2" and "3" respectively.
 46609  	//
 46610  	// The reason the ordinals are not reliable in the case of missing extents
 46611  	// is because the extents are identified by their start and end blocks.
 46612  	// The ordinals are just a hint used to help indicate extents that
 46613  	// correspond to the same start and end blocks.
 46614  	Ordinal int32 `xml:"ordinal" json:"ordinal"`
 46615  	// Index of the first block that this extent provides.
 46616  	StartBlock int32 `xml:"startBlock" json:"startBlock"`
 46617  	// Index of the last block that this extent provides.
 46618  	EndBlock int32 `xml:"endBlock" json:"endBlock"`
 46619  	// Reason as to why the partition is marked as copy
 46620  	// of a VMFS volume's extent.
 46621  	//
 46622  	// Possible reasons are the disk id is not matching with what
 46623  	// the scsi inq is saying or disk uuid is not matching
 46624  	//
 46625  	// See also `HostUnresolvedVmfsExtentUnresolvedReason_enum`.
 46626  	Reason string `xml:"reason" json:"reason"`
 46627  }
 46628  
 46629  func init() {
 46630  	t["HostUnresolvedVmfsExtent"] = reflect.TypeOf((*HostUnresolvedVmfsExtent)(nil)).Elem()
 46631  }
 46632  
 46633  // Specification to resignature an Unresolved VMFS volume.
 46634  type HostUnresolvedVmfsResignatureSpec struct {
 46635  	DynamicData
 46636  
 46637  	// List of device path each specifying VMFS extents.
 46638  	ExtentDevicePath []string `xml:"extentDevicePath" json:"extentDevicePath"`
 46639  }
 46640  
 46641  func init() {
 46642  	t["HostUnresolvedVmfsResignatureSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResignatureSpec)(nil)).Elem()
 46643  }
 46644  
 46645  // When an UnresolvedVmfsVolume has been resignatured or forceMounted, we want to
 46646  // return the original spec information along with newly created VMFS volume.
 46647  type HostUnresolvedVmfsResolutionResult struct {
 46648  	DynamicData
 46649  
 46650  	// The original UnresolvedVmfsResolutionSpec which user had specified
 46651  	Spec HostUnresolvedVmfsResolutionSpec `xml:"spec" json:"spec"`
 46652  	// Newly created VmfsVolume
 46653  	Vmfs *HostVmfsVolume `xml:"vmfs,omitempty" json:"vmfs,omitempty"`
 46654  	// 'fault' would be set if the operation was not successful
 46655  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 46656  }
 46657  
 46658  func init() {
 46659  	t["HostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionResult)(nil)).Elem()
 46660  }
 46661  
 46662  // An unresolved VMFS volume is reported when one or more device partitions
 46663  // of volume are detected to have copies of extents of the volume.
 46664  //
 46665  // Such copies can be created via replication or snapshots, for example.
 46666  // This data object type describes how to resolve an unbound VMFS volume.
 46667  // The SCSI device path for each of the VMFS volume extent should be
 46668  // specified.
 46669  // For the current release, only head-extent needs to be specified.
 46670  // In future releases, we will allow user to specify explicitly all the
 46671  // extents which makes up a new Vmfs Volume.
 46672  type HostUnresolvedVmfsResolutionSpec struct {
 46673  	DynamicData
 46674  
 46675  	// List of device paths each specifying a VMFS extent.
 46676  	//
 46677  	// One extent must be specified. This property is represented as a
 46678  	// list to enable future enhancements to the interface.
 46679  	ExtentDevicePath []string `xml:"extentDevicePath" json:"extentDevicePath"`
 46680  	// When set to Resignature, new Uuid is assigned to the VMFS
 46681  	// volume.
 46682  	//
 46683  	// When set to 'forceMount', existing uuid is assigned
 46684  	// to the Vmfs volume and Vmfs volumes metadata doesn't change.
 46685  	//
 46686  	// See also `HostUnresolvedVmfsResolutionSpecVmfsUuidResolution_enum`.
 46687  	UuidResolution string `xml:"uuidResolution" json:"uuidResolution"`
 46688  }
 46689  
 46690  func init() {
 46691  	t["HostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpec)(nil)).Elem()
 46692  }
 46693  
 46694  // Information about detected unbound, unresolved VMFS volume.
 46695  //
 46696  // An unresolved VMFS volume is reported when one or more device
 46697  // partitions of volume are detected to have copies of extents
 46698  // of the volume. Such copies can be created via replication or
 46699  // snapshots.
 46700  //
 46701  // UnresolvedVmfsVolume are not mounted on the host where they
 46702  // are detected. User may choose to resignature the volume in
 46703  // which case a new Uuid is assigned to the volume and contents
 46704  // of the VMFS volume is kept intact.
 46705  //
 46706  // User may choose to keep the original Uuid and mount the VMFS
 46707  // volume as it is on the given host. In this case, user has
 46708  // chosen to mount the copy of the VMFS volume on that host with
 46709  // no change to the original Uuid. This may fail with
 46710  // VmfsVolumeAlreadyMounted exception if there is an existing
 46711  // VMFS volume with the same Uuid mounted somewhere in the same
 46712  // datacenter.
 46713  //
 46714  // Simple diagram representing the possible operations on UnresolvedVmfsVolume
 46715  //
 46716  //	---------------------------------------------------------------------------
 46717  //	|                resignature                 forceMount                   |
 46718  //	|  VmfsVolume <---------------  Unresolved ------------>  VmfsVolume with |
 46719  //	| forceMountedInfo              Vmfs Volume              forceMountedInfo |
 46720  //	|  not set                                                  will be set   |
 46721  //	---------------------------------------------------------------------------
 46722  //
 46723  // See also `HostStorageSystem`.
 46724  type HostUnresolvedVmfsVolume struct {
 46725  	DynamicData
 46726  
 46727  	// List of detected copies of VMFS extents.
 46728  	Extent []HostUnresolvedVmfsExtent `xml:"extent" json:"extent"`
 46729  	// The detected VMFS label name
 46730  	VmfsLabel string `xml:"vmfsLabel" json:"vmfsLabel"`
 46731  	// The detected VMFS UUID
 46732  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 46733  	// Total number of blocks in this volume.
 46734  	TotalBlocks int32 `xml:"totalBlocks" json:"totalBlocks"`
 46735  	// Information related to how the volume might be resolved.
 46736  	ResolveStatus HostUnresolvedVmfsVolumeResolveStatus `xml:"resolveStatus" json:"resolveStatus"`
 46737  }
 46738  
 46739  func init() {
 46740  	t["HostUnresolvedVmfsVolume"] = reflect.TypeOf((*HostUnresolvedVmfsVolume)(nil)).Elem()
 46741  }
 46742  
 46743  // Data object that describes the resolvability of a volume.
 46744  type HostUnresolvedVmfsVolumeResolveStatus struct {
 46745  	DynamicData
 46746  
 46747  	// Can this volume be resolved? There may be other reasons a volume cannot
 46748  	// be resolved other than the fact that it is incomplete.
 46749  	//
 46750  	// This boolean will
 46751  	// authoritatively indicate if the server can resolve this volume.
 46752  	Resolvable bool `xml:"resolvable" json:"resolvable"`
 46753  	// Is the list of extents for the volume a partial list? A volume can only
 46754  	// be resignatured if all extents composing that volume are available.
 46755  	//
 46756  	// Hence, a volume with a partial extent list cannot be resignatured.
 46757  	//
 46758  	// In cases where this information is not known for a volume, this
 46759  	// property will be unset.
 46760  	IncompleteExtents *bool `xml:"incompleteExtents" json:"incompleteExtents,omitempty"`
 46761  	// Are there multiple copies of extents for this volume? If any extent of
 46762  	// the volume has multiple copies then the extents to be resolved must be
 46763  	// explicitly specified when resolving this volume.
 46764  	//
 46765  	// In cases where this information is not known for a volume, this
 46766  	// property will be unset.
 46767  	MultipleCopies *bool `xml:"multipleCopies" json:"multipleCopies,omitempty"`
 46768  }
 46769  
 46770  func init() {
 46771  	t["HostUnresolvedVmfsVolumeResolveStatus"] = reflect.TypeOf((*HostUnresolvedVmfsVolumeResolveStatus)(nil)).Elem()
 46772  }
 46773  
 46774  // The parameters of `HostVStorageObjectManager.HostUpdateVStorageObjectMetadataEx_Task`.
 46775  type HostUpdateVStorageObjectMetadataExRequestType struct {
 46776  	This ManagedObjectReference `xml:"_this" json:"-"`
 46777  	// The ID of the virtual storage object.
 46778  	Id ID `xml:"id" json:"id"`
 46779  	// The datastore to query for the virtual storage objects.
 46780  	//
 46781  	// Refers instance of `Datastore`.
 46782  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46783  	// array of key/value strings. (keys must be unique
 46784  	// within the list)
 46785  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 46786  	// array of keys need to be deleted
 46787  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
 46788  }
 46789  
 46790  func init() {
 46791  	t["HostUpdateVStorageObjectMetadataExRequestType"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataExRequestType)(nil)).Elem()
 46792  	minAPIVersionForType["HostUpdateVStorageObjectMetadataExRequestType"] = "7.0.2.0"
 46793  }
 46794  
 46795  type HostUpdateVStorageObjectMetadataEx_Task HostUpdateVStorageObjectMetadataExRequestType
 46796  
 46797  func init() {
 46798  	t["HostUpdateVStorageObjectMetadataEx_Task"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataEx_Task)(nil)).Elem()
 46799  }
 46800  
 46801  type HostUpdateVStorageObjectMetadataEx_TaskResponse struct {
 46802  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46803  }
 46804  
 46805  // The parameters of `HostVStorageObjectManager.HostUpdateVStorageObjectMetadata_Task`.
 46806  type HostUpdateVStorageObjectMetadataRequestType struct {
 46807  	This ManagedObjectReference `xml:"_this" json:"-"`
 46808  	// The ID of the virtual storage object.
 46809  	Id ID `xml:"id" json:"id"`
 46810  	// The datastore to query for the virtual storage objects.
 46811  	//
 46812  	// Refers instance of `Datastore`.
 46813  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46814  	// array of key/value strings. (keys must be unique
 46815  	// within the list)
 46816  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 46817  	// array of keys need to be deleted
 46818  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
 46819  }
 46820  
 46821  func init() {
 46822  	t["HostUpdateVStorageObjectMetadataRequestType"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataRequestType)(nil)).Elem()
 46823  }
 46824  
 46825  type HostUpdateVStorageObjectMetadata_Task HostUpdateVStorageObjectMetadataRequestType
 46826  
 46827  func init() {
 46828  	t["HostUpdateVStorageObjectMetadata_Task"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadata_Task)(nil)).Elem()
 46829  }
 46830  
 46831  type HostUpdateVStorageObjectMetadata_TaskResponse struct {
 46832  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46833  }
 46834  
 46835  // This event records a failure to connect to a host
 46836  // due to an installation or upgrade issue.
 46837  type HostUpgradeFailedEvent struct {
 46838  	HostEvent
 46839  }
 46840  
 46841  func init() {
 46842  	t["HostUpgradeFailedEvent"] = reflect.TypeOf((*HostUpgradeFailedEvent)(nil)).Elem()
 46843  }
 46844  
 46845  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 46846  //
 46847  // This event records that the userworld swap is not enabled on the host.
 46848  //
 46849  // HA
 46850  // needs userworld swap to be configured on embedded ESX hosts to function.
 46851  type HostUserWorldSwapNotEnabledEvent struct {
 46852  	HostEvent
 46853  }
 46854  
 46855  func init() {
 46856  	t["HostUserWorldSwapNotEnabledEvent"] = reflect.TypeOf((*HostUserWorldSwapNotEnabledEvent)(nil)).Elem()
 46857  }
 46858  
 46859  // Data object describes host vFlash cache configuration information.
 46860  type HostVFlashManagerVFlashCacheConfigInfo struct {
 46861  	DynamicData
 46862  
 46863  	// Cache configuration options for the supported vFlash modules.
 46864  	VFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModuleConfigOption,omitempty" json:"vFlashModuleConfigOption,omitempty"`
 46865  	// Name of the default vFlash module for the read-write cache associated
 46866  	// with the VMs of this host.
 46867  	//
 46868  	// This setting can be overridden by
 46869  	// `VirtualDiskVFlashCacheConfigInfo.vFlashModule`
 46870  	// per VMDK.
 46871  	DefaultVFlashModule string `xml:"defaultVFlashModule,omitempty" json:"defaultVFlashModule,omitempty"`
 46872  	// Amount of vFlash resource is allocated to the host swap cache.
 46873  	//
 46874  	// As long as set,
 46875  	// reservation will be permanent and retain regardless of host power state. The host
 46876  	// swap cache will be disabled if reservation is set to zero.
 46877  	SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB,omitempty" json:"swapCacheReservationInGB,omitempty"`
 46878  }
 46879  
 46880  func init() {
 46881  	t["HostVFlashManagerVFlashCacheConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfo)(nil)).Elem()
 46882  }
 46883  
 46884  type HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
 46885  	DynamicData
 46886  
 46887  	// Name of the vFlash module
 46888  	VFlashModule string `xml:"vFlashModule" json:"vFlashModule"`
 46889  	// Version of the vFlash module
 46890  	VFlashModuleVersion string `xml:"vFlashModuleVersion" json:"vFlashModuleVersion"`
 46891  	// Minimum supported version
 46892  	MinSupportedModuleVersion string `xml:"minSupportedModuleVersion" json:"minSupportedModuleVersion"`
 46893  	// Cache data consistency types.
 46894  	//
 46895  	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
 46896  	CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType" json:"cacheConsistencyType"`
 46897  	// Cache modes.
 46898  	//
 46899  	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
 46900  	CacheMode ChoiceOption `xml:"cacheMode" json:"cacheMode"`
 46901  	// blockSizeInKBOption defines a range of virtual disk cache block size.
 46902  	BlockSizeInKBOption LongOption `xml:"blockSizeInKBOption" json:"blockSizeInKBOption"`
 46903  	// reservationInMBOption defines a range of virtual disk cache size.
 46904  	ReservationInMBOption LongOption `xml:"reservationInMBOption" json:"reservationInMBOption"`
 46905  	// Maximal size of virtual disk supported in kilobytes.
 46906  	MaxDiskSizeInKB int64 `xml:"maxDiskSizeInKB" json:"maxDiskSizeInKB"`
 46907  }
 46908  
 46909  func init() {
 46910  	t["HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem()
 46911  }
 46912  
 46913  // Specification to configure vFlash cache on the host.
 46914  type HostVFlashManagerVFlashCacheConfigSpec struct {
 46915  	DynamicData
 46916  
 46917  	// Name of the default vFlash module for the read-write caches associated
 46918  	// with the VMs of this host.
 46919  	//
 46920  	// This setting can be overridden by
 46921  	// `VirtualDiskVFlashCacheConfigInfo.vFlashModule`
 46922  	// per VMDK.
 46923  	DefaultVFlashModule string `xml:"defaultVFlashModule" json:"defaultVFlashModule"`
 46924  	// Amount of vFlash resource is allocated to the host swap cache.
 46925  	//
 46926  	// As long as set,
 46927  	// reservation will be permanent and retain regardless of host power state. The host
 46928  	// swap cache will be disabled if the reservation is set to zero.
 46929  	SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB" json:"swapCacheReservationInGB"`
 46930  }
 46931  
 46932  func init() {
 46933  	t["HostVFlashManagerVFlashCacheConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigSpec)(nil)).Elem()
 46934  }
 46935  
 46936  // vFlash configuration Information.
 46937  type HostVFlashManagerVFlashConfigInfo struct {
 46938  	DynamicData
 46939  
 46940  	// vFlash resource configuration information
 46941  	VFlashResourceConfigInfo *HostVFlashManagerVFlashResourceConfigInfo `xml:"vFlashResourceConfigInfo,omitempty" json:"vFlashResourceConfigInfo,omitempty"`
 46942  	// vFlash cache configuration information
 46943  	VFlashCacheConfigInfo *HostVFlashManagerVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty" json:"vFlashCacheConfigInfo,omitempty"`
 46944  }
 46945  
 46946  func init() {
 46947  	t["HostVFlashManagerVFlashConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashConfigInfo)(nil)).Elem()
 46948  }
 46949  
 46950  // vFlash resource configuration Information.
 46951  type HostVFlashManagerVFlashResourceConfigInfo struct {
 46952  	DynamicData
 46953  
 46954  	// The contained VFFS volume
 46955  	Vffs *HostVffsVolume `xml:"vffs,omitempty" json:"vffs,omitempty"`
 46956  	// Capacity of the vFlash resource.
 46957  	//
 46958  	// It is the capacity
 46959  	// of the contained VFFS volume.
 46960  	Capacity int64 `xml:"capacity" json:"capacity"`
 46961  }
 46962  
 46963  func init() {
 46964  	t["HostVFlashManagerVFlashResourceConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigInfo)(nil)).Elem()
 46965  }
 46966  
 46967  // vFlash resource configuration specification.
 46968  type HostVFlashManagerVFlashResourceConfigSpec struct {
 46969  	DynamicData
 46970  
 46971  	// The contained VFFS volume uuid.
 46972  	VffsUuid string `xml:"vffsUuid" json:"vffsUuid"`
 46973  }
 46974  
 46975  func init() {
 46976  	t["HostVFlashManagerVFlashResourceConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigSpec)(nil)).Elem()
 46977  }
 46978  
 46979  // Data object provides vFlash resource runtime usage.
 46980  type HostVFlashManagerVFlashResourceRunTimeInfo struct {
 46981  	DynamicData
 46982  
 46983  	// Overall usage of vFlash resource, in bytes.
 46984  	Usage int64 `xml:"usage" json:"usage"`
 46985  	// Overall capacity of vFlash resource, in bytes.
 46986  	Capacity int64 `xml:"capacity" json:"capacity"`
 46987  	// True if all the included the VFFS volumes are accessible.
 46988  	//
 46989  	// False if one or
 46990  	// multiple included VFFS volumes are inaccessible.
 46991  	Accessible bool `xml:"accessible" json:"accessible"`
 46992  	// vFlash resource capacity can be allocated for VM caches
 46993  	CapacityForVmCache int64 `xml:"capacityForVmCache" json:"capacityForVmCache"`
 46994  	// Free vFlash resource can be allocated for VM caches
 46995  	FreeForVmCache int64 `xml:"freeForVmCache" json:"freeForVmCache"`
 46996  }
 46997  
 46998  func init() {
 46999  	t["HostVFlashManagerVFlashResourceRunTimeInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceRunTimeInfo)(nil)).Elem()
 47000  }
 47001  
 47002  // vFlash resource configuration result returns the newly-configured backend
 47003  // VFFS volume and operation result for each passed-in SSD device.
 47004  type HostVFlashResourceConfigurationResult struct {
 47005  	DynamicData
 47006  
 47007  	// The original array of device path which user had specified
 47008  	DevicePath []string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
 47009  	// Newly configured VffsVolume
 47010  	Vffs *HostVffsVolume `xml:"vffs,omitempty" json:"vffs,omitempty"`
 47011  	// Array of device operation results.
 47012  	DiskConfigurationResult []HostDiskConfigurationResult `xml:"diskConfigurationResult,omitempty" json:"diskConfigurationResult,omitempty"`
 47013  }
 47014  
 47015  func init() {
 47016  	t["HostVFlashResourceConfigurationResult"] = reflect.TypeOf((*HostVFlashResourceConfigurationResult)(nil)).Elem()
 47017  }
 47018  
 47019  // The object type for the array returned by queryVMotionCompatibility;
 47020  // specifies the VMotion compatibility types for a host.
 47021  type HostVMotionCompatibility struct {
 47022  	DynamicData
 47023  
 47024  	// The prospective host for the virtual machine.
 47025  	//
 47026  	// Refers instance of `HostSystem`.
 47027  	Host ManagedObjectReference `xml:"host" json:"host"`
 47028  	// Ways in which the host is compatible with the designated virtual
 47029  	// machine that is a candidate for VMotion.
 47030  	//
 47031  	// This array will be
 47032  	// a subset of the set of VMotionCompatibilityType strings that
 47033  	// were input to queryVMotionCompatibility.
 47034  	Compatibility []string `xml:"compatibility,omitempty" json:"compatibility,omitempty"`
 47035  }
 47036  
 47037  func init() {
 47038  	t["HostVMotionCompatibility"] = reflect.TypeOf((*HostVMotionCompatibility)(nil)).Elem()
 47039  }
 47040  
 47041  // This data object configuring VMotion on the host.
 47042  //
 47043  // The runtime information is available from the
 47044  // `VMotionInfo` data object type.
 47045  type HostVMotionConfig struct {
 47046  	DynamicData
 47047  
 47048  	// Key of the VirtualNic used for VMotion.
 47049  	VmotionNicKey string `xml:"vmotionNicKey,omitempty" json:"vmotionNicKey,omitempty"`
 47050  	// Flag to indicate whether or not VMotion is enabled.
 47051  	Enabled bool `xml:"enabled" json:"enabled"`
 47052  }
 47053  
 47054  func init() {
 47055  	t["HostVMotionConfig"] = reflect.TypeOf((*HostVMotionConfig)(nil)).Elem()
 47056  }
 47057  
 47058  // Deprecated as of VI API 4.0, use `HostVirtualNicManagerInfo`.
 47059  //
 47060  // This data object type describes VMotion host
 47061  // configuration data objects.
 47062  type HostVMotionInfo struct {
 47063  	DynamicData
 47064  
 47065  	// VMotion network configuration.
 47066  	NetConfig *HostVMotionNetConfig `xml:"netConfig,omitempty" json:"netConfig,omitempty"`
 47067  	// IP configuration of the VMotion VirtualNic.
 47068  	IpConfig *HostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 47069  }
 47070  
 47071  func init() {
 47072  	t["HostVMotionInfo"] = reflect.TypeOf((*HostVMotionInfo)(nil)).Elem()
 47073  }
 47074  
 47075  // The result of an InstantClone task.
 47076  //
 47077  // Contains the dest VM id and timestamp
 47078  // values at the time of different operations.
 47079  type HostVMotionManagerDstInstantCloneResult struct {
 47080  	DynamicData
 47081  
 47082  	// The destination VM ID of the InstantCloned VM.
 47083  	DstVmId int32 `xml:"dstVmId,omitempty" json:"dstVmId,omitempty"`
 47084  	// Time stamp at the start of the InstantClone operation at the dest
 47085  	// VM.
 47086  	StartTime int64 `xml:"startTime,omitempty" json:"startTime,omitempty"`
 47087  	// Time stamp when the destination VM starts cpt load.
 47088  	CptLoadTime int64 `xml:"cptLoadTime,omitempty" json:"cptLoadTime,omitempty"`
 47089  	// Time stamp when the destination VM completes cpt load.
 47090  	CptLoadDoneTime int64 `xml:"cptLoadDoneTime,omitempty" json:"cptLoadDoneTime,omitempty"`
 47091  	// Time stamp when the destination VM completes replicating memory.
 47092  	ReplicateMemDoneTime int64 `xml:"replicateMemDoneTime,omitempty" json:"replicateMemDoneTime,omitempty"`
 47093  	// Time stamp when the migration completes on the destination VM.
 47094  	EndTime int64 `xml:"endTime,omitempty" json:"endTime,omitempty"`
 47095  	// Device checkpoint stream time.
 47096  	CptXferTime int64 `xml:"cptXferTime,omitempty" json:"cptXferTime,omitempty"`
 47097  	// Checkpoint cache size used.
 47098  	CptCacheUsed int64 `xml:"cptCacheUsed,omitempty" json:"cptCacheUsed,omitempty"`
 47099  	// Device checkpoint stream size.
 47100  	DevCptStreamSize int64 `xml:"devCptStreamSize,omitempty" json:"devCptStreamSize,omitempty"`
 47101  	// Device checkpoint stream time.
 47102  	DevCptStreamTime int64 `xml:"devCptStreamTime,omitempty" json:"devCptStreamTime,omitempty"`
 47103  }
 47104  
 47105  func init() {
 47106  	t["HostVMotionManagerDstInstantCloneResult"] = reflect.TypeOf((*HostVMotionManagerDstInstantCloneResult)(nil)).Elem()
 47107  }
 47108  
 47109  // The result of an InstantClone InitiateSource task.
 47110  //
 47111  // Contains the timestamp
 47112  // value at the time of different operations.
 47113  type HostVMotionManagerSrcInstantCloneResult struct {
 47114  	DynamicData
 47115  
 47116  	// Time stamp at the start of the InstantClone operation at the
 47117  	// source VM.
 47118  	StartTime int64 `xml:"startTime,omitempty" json:"startTime,omitempty"`
 47119  	// Time stamp when the source VM enters quiesce state.
 47120  	QuiesceTime int64 `xml:"quiesceTime,omitempty" json:"quiesceTime,omitempty"`
 47121  	// Time stamp when the source VM successfully quiesces.
 47122  	QuiesceDoneTime int64 `xml:"quiesceDoneTime,omitempty" json:"quiesceDoneTime,omitempty"`
 47123  	// Time stamp when the source VM completes resuming.
 47124  	ResumeDoneTime int64 `xml:"resumeDoneTime,omitempty" json:"resumeDoneTime,omitempty"`
 47125  	// Time stamp when the migration completes on the source VM.
 47126  	EndTime int64 `xml:"endTime,omitempty" json:"endTime,omitempty"`
 47127  }
 47128  
 47129  func init() {
 47130  	t["HostVMotionManagerSrcInstantCloneResult"] = reflect.TypeOf((*HostVMotionManagerSrcInstantCloneResult)(nil)).Elem()
 47131  }
 47132  
 47133  // The NetConfig data object type contains the networking
 47134  // configuration for VMotion operations.
 47135  type HostVMotionNetConfig struct {
 47136  	DynamicData
 47137  
 47138  	// List of VirtualNic objects that may be used for VMotion.
 47139  	//
 47140  	// This will be a subset of the list of VirtualNics in
 47141  	// `HostNetworkInfo.vnic`.
 47142  	CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty" json:"candidateVnic,omitempty"`
 47143  	// VirtualNic that is selected for use in VMotion operations.
 47144  	SelectedVnic string `xml:"selectedVnic,omitempty" json:"selectedVnic,omitempty"`
 47145  }
 47146  
 47147  func init() {
 47148  	t["HostVMotionNetConfig"] = reflect.TypeOf((*HostVMotionNetConfig)(nil)).Elem()
 47149  }
 47150  
 47151  // The parameters of `HostVStorageObjectManager.HostVStorageObjectCreateDiskFromSnapshot_Task`.
 47152  type HostVStorageObjectCreateDiskFromSnapshotRequestType struct {
 47153  	This ManagedObjectReference `xml:"_this" json:"-"`
 47154  	// The ID of the virtual storage object.
 47155  	Id ID `xml:"id" json:"id"`
 47156  	// The datastore where the source virtual storage object
 47157  	// is located.
 47158  	//
 47159  	// Refers instance of `Datastore`.
 47160  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 47161  	// The ID of the snapshot of the virtual storage object.
 47162  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 47163  	// A user friendly name to be associated with the new disk.
 47164  	Name string `xml:"name" json:"name"`
 47165  	// SPBM Profile requirement on the new virtual storage object.
 47166  	// If not specified datastore default policy would be
 47167  	// assigned.
 47168  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 47169  	// Crypto information of the new disk.
 47170  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 47171  	// Relative location in the specified datastore where disk needs
 47172  	// to be created. If not specified disk gets created at defualt
 47173  	// VStorageObject location on the specified datastore.
 47174  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 47175  	// Provisioining type of the disk as specified in above
 47176  	// mentioned profile. The list of supported values can be found in
 47177  	// `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum`
 47178  	ProvisioningType string `xml:"provisioningType,omitempty" json:"provisioningType,omitempty" vim:"8.0.0.1"`
 47179  }
 47180  
 47181  func init() {
 47182  	t["HostVStorageObjectCreateDiskFromSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectCreateDiskFromSnapshotRequestType)(nil)).Elem()
 47183  }
 47184  
 47185  type HostVStorageObjectCreateDiskFromSnapshot_Task HostVStorageObjectCreateDiskFromSnapshotRequestType
 47186  
 47187  func init() {
 47188  	t["HostVStorageObjectCreateDiskFromSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectCreateDiskFromSnapshot_Task)(nil)).Elem()
 47189  }
 47190  
 47191  type HostVStorageObjectCreateDiskFromSnapshot_TaskResponse struct {
 47192  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 47193  }
 47194  
 47195  // The parameters of `HostVStorageObjectManager.HostVStorageObjectCreateSnapshot_Task`.
 47196  type HostVStorageObjectCreateSnapshotRequestType struct {
 47197  	This ManagedObjectReference `xml:"_this" json:"-"`
 47198  	// The ID of the virtual storage object.
 47199  	Id ID `xml:"id" json:"id"`
 47200  	// The datastore where the source virtual storage object
 47201  	// is located.
 47202  	//
 47203  	// Refers instance of `Datastore`.
 47204  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 47205  	// A short description to be associated with the snapshot.
 47206  	Description string `xml:"description" json:"description"`
 47207  }
 47208  
 47209  func init() {
 47210  	t["HostVStorageObjectCreateSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectCreateSnapshotRequestType)(nil)).Elem()
 47211  }
 47212  
 47213  type HostVStorageObjectCreateSnapshot_Task HostVStorageObjectCreateSnapshotRequestType
 47214  
 47215  func init() {
 47216  	t["HostVStorageObjectCreateSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectCreateSnapshot_Task)(nil)).Elem()
 47217  }
 47218  
 47219  type HostVStorageObjectCreateSnapshot_TaskResponse struct {
 47220  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 47221  }
 47222  
 47223  // The parameters of `HostVStorageObjectManager.HostVStorageObjectDeleteSnapshot_Task`.
 47224  type HostVStorageObjectDeleteSnapshotRequestType struct {
 47225  	This ManagedObjectReference `xml:"_this" json:"-"`
 47226  	// The ID of the virtual storage object.
 47227  	Id ID `xml:"id" json:"id"`
 47228  	// The datastore where the source virtual storage object
 47229  	// is located.
 47230  	//
 47231  	// Refers instance of `Datastore`.
 47232  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 47233  	// The ID of the snapshot of a virtual storage object.
 47234  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 47235  }
 47236  
 47237  func init() {
 47238  	t["HostVStorageObjectDeleteSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectDeleteSnapshotRequestType)(nil)).Elem()
 47239  }
 47240  
 47241  type HostVStorageObjectDeleteSnapshot_Task HostVStorageObjectDeleteSnapshotRequestType
 47242  
 47243  func init() {
 47244  	t["HostVStorageObjectDeleteSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectDeleteSnapshot_Task)(nil)).Elem()
 47245  }
 47246  
 47247  type HostVStorageObjectDeleteSnapshot_TaskResponse struct {
 47248  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 47249  }
 47250  
 47251  type HostVStorageObjectRetrieveSnapshotInfo HostVStorageObjectRetrieveSnapshotInfoRequestType
 47252  
 47253  func init() {
 47254  	t["HostVStorageObjectRetrieveSnapshotInfo"] = reflect.TypeOf((*HostVStorageObjectRetrieveSnapshotInfo)(nil)).Elem()
 47255  }
 47256  
 47257  // The parameters of `HostVStorageObjectManager.HostVStorageObjectRetrieveSnapshotInfo`.
 47258  type HostVStorageObjectRetrieveSnapshotInfoRequestType struct {
 47259  	This ManagedObjectReference `xml:"_this" json:"-"`
 47260  	// The ID of the virtual storage object.
 47261  	Id ID `xml:"id" json:"id"`
 47262  	// The datastore where the source virtual storage object
 47263  	// is located.
 47264  	//
 47265  	// Refers instance of `Datastore`.
 47266  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 47267  }
 47268  
 47269  func init() {
 47270  	t["HostVStorageObjectRetrieveSnapshotInfoRequestType"] = reflect.TypeOf((*HostVStorageObjectRetrieveSnapshotInfoRequestType)(nil)).Elem()
 47271  }
 47272  
 47273  type HostVStorageObjectRetrieveSnapshotInfoResponse struct {
 47274  	Returnval VStorageObjectSnapshotInfo `xml:"returnval" json:"returnval"`
 47275  }
 47276  
 47277  // The parameters of `HostVStorageObjectManager.HostVStorageObjectRevert_Task`.
 47278  type HostVStorageObjectRevertRequestType struct {
 47279  	This ManagedObjectReference `xml:"_this" json:"-"`
 47280  	// The ID of the virtual storage object.
 47281  	Id ID `xml:"id" json:"id"`
 47282  	// The datastore where the source virtual storage object
 47283  	// is located.
 47284  	//
 47285  	// Refers instance of `Datastore`.
 47286  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 47287  	// The ID of the snapshot of a virtual storage object.
 47288  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 47289  }
 47290  
 47291  func init() {
 47292  	t["HostVStorageObjectRevertRequestType"] = reflect.TypeOf((*HostVStorageObjectRevertRequestType)(nil)).Elem()
 47293  }
 47294  
 47295  type HostVStorageObjectRevert_Task HostVStorageObjectRevertRequestType
 47296  
 47297  func init() {
 47298  	t["HostVStorageObjectRevert_Task"] = reflect.TypeOf((*HostVStorageObjectRevert_Task)(nil)).Elem()
 47299  }
 47300  
 47301  type HostVStorageObjectRevert_TaskResponse struct {
 47302  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 47303  }
 47304  
 47305  // VFAT file system volume.
 47306  type HostVfatVolume struct {
 47307  	HostFileSystemVolume
 47308  }
 47309  
 47310  func init() {
 47311  	t["HostVfatVolume"] = reflect.TypeOf((*HostVfatVolume)(nil)).Elem()
 47312  }
 47313  
 47314  // This data object type describes the VFFS
 47315  // creation specification.
 47316  type HostVffsSpec struct {
 47317  	DynamicData
 47318  
 47319  	// The device path of the SSD disk.
 47320  	//
 47321  	// See also `HostScsiDisk.devicePath`.
 47322  	DevicePath string `xml:"devicePath" json:"devicePath"`
 47323  	// Partition specification of the SSD disk.
 47324  	//
 47325  	// If this property
 47326  	// is not provided, partition information will be computed
 47327  	// and generated.
 47328  	Partition *HostDiskPartitionSpec `xml:"partition,omitempty" json:"partition,omitempty"`
 47329  	// Major version number of VFFS.
 47330  	//
 47331  	// This can be changed if the VFFS is
 47332  	// upgraded, but this is an irreversible change.
 47333  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 47334  	// Volume name of VFFS.
 47335  	VolumeName string `xml:"volumeName" json:"volumeName"`
 47336  }
 47337  
 47338  func init() {
 47339  	t["HostVffsSpec"] = reflect.TypeOf((*HostVffsSpec)(nil)).Elem()
 47340  }
 47341  
 47342  // vFlash File System Volume.
 47343  type HostVffsVolume struct {
 47344  	HostFileSystemVolume
 47345  
 47346  	// Major version number of VFFS.
 47347  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 47348  	// Version string.
 47349  	//
 47350  	// Contains major and minor version numbers.
 47351  	Version string `xml:"version" json:"version"`
 47352  	// The universally unique identifier assigned to VFFS.
 47353  	Uuid string `xml:"uuid" json:"uuid"`
 47354  	// The list of partition names that comprise this disk's
 47355  	// VFFS extents.
 47356  	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
 47357  }
 47358  
 47359  func init() {
 47360  	t["HostVffsVolume"] = reflect.TypeOf((*HostVffsVolume)(nil)).Elem()
 47361  }
 47362  
 47363  // The `HostVirtualNic` data object describes a virtual network adapter
 47364  // that connects to a virtual switch.
 47365  //
 47366  // A host virtual NIC differs from a physical NIC:
 47367  //   - A host virtual NIC is a virtual device that is connected to a virtual switch.
 47368  //   - A physical NIC (`HostNetworkInfo.pnic`) corresponds to a physical
 47369  //     device that is connected to the physical network.
 47370  //
 47371  // A host virtual NIC provides access to the external network through a virtual switch
 47372  // that is bridged through a Physical NIC to a physical network.
 47373  type HostVirtualNic struct {
 47374  	DynamicData
 47375  
 47376  	// Device name.
 47377  	Device string `xml:"device" json:"device"`
 47378  	// Linkable identifier.
 47379  	Key string `xml:"key" json:"key"`
 47380  	// If the Virtual NIC is connecting to a vSwitch, this property is the name of
 47381  	// portgroup connected.
 47382  	//
 47383  	// If the Virtual NIC is connecting to a
 47384  	// DistributedVirtualSwitch or opaque network, this property is an empty string.
 47385  	Portgroup string `xml:"portgroup" json:"portgroup"`
 47386  	// Configurable properties for the virtual network adapter object.
 47387  	Spec HostVirtualNicSpec `xml:"spec" json:"spec"`
 47388  	// Port(`HostPortGroup.port`) on the port group that the virtual
 47389  	// NIC is using when it is enabled.
 47390  	//
 47391  	// If the Virtual NIC is connected to
 47392  	// DistributedVirtualSwitch or opaque network, this property is unset.
 47393  	Port string `xml:"port,omitempty" json:"port,omitempty"`
 47394  	// Owner of vmknic.
 47395  	//
 47396  	// It is only valid for system vmknic. The unset means
 47397  	// not owned by the system.
 47398  	// See `HostConfigChangeOwner_enum` for supported values.
 47399  	Owner string `xml:"owner,omitempty" json:"owner,omitempty" vim:"9.0.0.0"`
 47400  }
 47401  
 47402  func init() {
 47403  	t["HostVirtualNic"] = reflect.TypeOf((*HostVirtualNic)(nil)).Elem()
 47404  }
 47405  
 47406  // The `HostVirtualNicConfig` data object describes the virtual
 47407  // NIC configuration.
 47408  //
 47409  // It represents both the configured properties on a
 47410  // `HostVirtualNic` and identification information.
 47411  type HostVirtualNicConfig struct {
 47412  	DynamicData
 47413  
 47414  	// Change operation to apply on this configuration specification.
 47415  	//
 47416  	// See also `HostConfigChangeOperation_enum`.
 47417  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 47418  	// Virtual NIC device (`HostVirtualNic.device`) to which
 47419  	// configuration applies.
 47420  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 47421  	// If the Virtual NIC is connecting to a vSwitch, this property is the name of
 47422  	// portgroup connected.
 47423  	//
 47424  	// If the Virtual NIC is connecting to a
 47425  	// `DistributedVirtualSwitch` or `HostOpaqueNetworkInfo`,
 47426  	// this property is ignored.
 47427  	Portgroup string `xml:"portgroup" json:"portgroup"`
 47428  	// Specification of the virtual network adapter.
 47429  	Spec *HostVirtualNicSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 47430  }
 47431  
 47432  func init() {
 47433  	t["HostVirtualNicConfig"] = reflect.TypeOf((*HostVirtualNicConfig)(nil)).Elem()
 47434  }
 47435  
 47436  // DataObject which provides a level of indirection when
 47437  // identifying VirtualNics during configuration.
 47438  //
 47439  // This dataObject lets users specify a VirtualNic in terms of
 47440  // the portgroup/Dv Port the Virtual NIC is connected to.
 47441  // This is useful in cases where VirtualNic will be created as part of
 47442  // a configuration operation and the created VirtualNic is referred to
 47443  // in some other part of configuration. e.g: for configuring VMotion
 47444  type HostVirtualNicConnection struct {
 47445  	DynamicData
 47446  
 47447  	// Name of the portgroup to which the virtual nic is connected to.
 47448  	//
 47449  	// If this parameter is set, use a virtual nic connected to
 47450  	// a legacy portgroup.
 47451  	Portgroup string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 47452  	// Identifier for the DistributedVirtualPort.
 47453  	//
 47454  	// If the virtual nic is to be connected to a DVS,
 47455  	// \#dvPort will be set instead of #portgroup
 47456  	DvPort *DistributedVirtualSwitchPortConnection `xml:"dvPort,omitempty" json:"dvPort,omitempty"`
 47457  	// Identifier for the opaqueNetworkSpec virtual nic connected to.
 47458  	//
 47459  	// If the virtual nic is to be connected to a logicSwitch,
 47460  	// \#opNetwork will be set instead of #portgroup and #dvPort
 47461  	OpNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opNetwork,omitempty" json:"opNetwork,omitempty"`
 47462  }
 47463  
 47464  func init() {
 47465  	t["HostVirtualNicConnection"] = reflect.TypeOf((*HostVirtualNicConnection)(nil)).Elem()
 47466  }
 47467  
 47468  // The `HostVirtualNicIpRouteSpec` data object describes the
 47469  // IpRoute configuration used by virtual NIC.
 47470  type HostVirtualNicIpRouteSpec struct {
 47471  	DynamicData
 47472  
 47473  	// By default, a host virtual NIC uses default gateway configuration
 47474  	// from it's `HostNetStackInstance`.
 47475  	//
 47476  	// A custom IPv4 and IPv6
 47477  	// default gateway can be configured by specifying valid
 47478  	// `HostIpRouteConfig.defaultGateway` and
 47479  	// `HostIpRouteConfig.ipV6DefaultGateway` properties.
 47480  	// A user defined IPv4 and IPv6 default gateway can be removed by
 47481  	// unsetting corresponding gateway property from ipRouteConfig.
 47482  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 47483  }
 47484  
 47485  func init() {
 47486  	t["HostVirtualNicIpRouteSpec"] = reflect.TypeOf((*HostVirtualNicIpRouteSpec)(nil)).Elem()
 47487  }
 47488  
 47489  // This data object type describes VirtualNic host
 47490  // configuration data objects.
 47491  type HostVirtualNicManagerInfo struct {
 47492  	DynamicData
 47493  
 47494  	// List of VirtualNicManager network configuration.
 47495  	//
 47496  	// See also `VirtualNicManagerNetConfig`This contains the network
 47497  	// configuration for each NicType..
 47498  	NetConfig []VirtualNicManagerNetConfig `xml:"netConfig,omitempty" json:"netConfig,omitempty"`
 47499  }
 47500  
 47501  func init() {
 47502  	t["HostVirtualNicManagerInfo"] = reflect.TypeOf((*HostVirtualNicManagerInfo)(nil)).Elem()
 47503  }
 47504  
 47505  // DataObject which lets a VirtualNic be marked for
 47506  // use as a `HostVirtualNicManagerNicType_enum`.
 47507  type HostVirtualNicManagerNicTypeSelection struct {
 47508  	DynamicData
 47509  
 47510  	// VirtualNic for the selection is being made
 47511  	Vnic    HostVirtualNicConnection `xml:"vnic" json:"vnic"`
 47512  	NicType []string                 `xml:"nicType,omitempty" json:"nicType,omitempty"`
 47513  }
 47514  
 47515  func init() {
 47516  	t["HostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*HostVirtualNicManagerNicTypeSelection)(nil)).Elem()
 47517  }
 47518  
 47519  // The `HostVirtualNicOpaqueNetworkSpec` data object
 47520  // describes the opaque network(`HostOpaqueNetworkInfo`)
 47521  // configuration used by virtual NIC.
 47522  type HostVirtualNicOpaqueNetworkSpec struct {
 47523  	DynamicData
 47524  
 47525  	// ID of the Opaque network to which the virtual NIC is connected.
 47526  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 47527  	// Type of the Opaque network to which the virtual NIC is connected.
 47528  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 47529  }
 47530  
 47531  func init() {
 47532  	t["HostVirtualNicOpaqueNetworkSpec"] = reflect.TypeOf((*HostVirtualNicOpaqueNetworkSpec)(nil)).Elem()
 47533  }
 47534  
 47535  // The `HostVirtualNicSpec` data object describes the
 47536  // `HostVirtualNic` configuration containing both the configured
 47537  // properties on a virtual NIC and identification information.
 47538  type HostVirtualNicSpec struct {
 47539  	DynamicData
 47540  
 47541  	// IP configuration on the virtual network adapter.
 47542  	Ip *HostIpConfig `xml:"ip,omitempty" json:"ip,omitempty"`
 47543  	// Media access control (MAC) address of the virtual network adapter.
 47544  	Mac string `xml:"mac,omitempty" json:"mac,omitempty"`
 47545  	// `DistributedVirtualPort` or `DistributedVirtualPortgroup`
 47546  	// connection.
 47547  	//
 47548  	// To specify a port connection, set
 47549  	// `DistributedVirtualSwitchPortConnection.switchUuid` and `DistributedVirtualSwitchPortConnection.portKey`
 47550  	// properties. To specify a portgroup connection, set
 47551  	// `DistributedVirtualSwitchPortConnection.switchUuid` and `DistributedVirtualSwitchPortConnection.portgroupKey`
 47552  	// properties.
 47553  	//
 47554  	// When reconfiguring a virtual NIC, this property indicates the new portgroup
 47555  	// to which the virtual NIC should connect. You can specify this property
 47556  	// only if you do not specify `HostVirtualNicSpec.distributedVirtualPort` and
 47557  	// `HostVirtualNicSpec.opaqueNetwork`
 47558  	DistributedVirtualPort *DistributedVirtualSwitchPortConnection `xml:"distributedVirtualPort,omitempty" json:"distributedVirtualPort,omitempty"`
 47559  	// Portgroup (`HostPortGroup`) to which the virtual NIC is connected.
 47560  	//
 47561  	// When reconfiguring a virtual NIC, this property indicates the new portgroup
 47562  	// to which the virtual NIC should connect. You can specify this property
 47563  	// only if you do not specify `HostVirtualNicSpec.distributedVirtualPort` and
 47564  	// `HostVirtualNicSpec.opaqueNetwork`
 47565  	Portgroup string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 47566  	// Maximum transmission unit for packets size in bytes for the virtual
 47567  	// NIC.
 47568  	//
 47569  	// If not specified, the Server will use the system default value.
 47570  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 47571  	// Flag enabling or disabling TCP segmentation offset for a virtual NIC.
 47572  	//
 47573  	// If not specified, a default value of true will be used.
 47574  	TsoEnabled *bool `xml:"tsoEnabled" json:"tsoEnabled,omitempty"`
 47575  	// The NetStackInstance that the virtual NIC uses, the value of this property
 47576  	// is default to be `defaultTcpipStack`
 47577  	NetStackInstanceKey string `xml:"netStackInstanceKey,omitempty" json:"netStackInstanceKey,omitempty"`
 47578  	// Opaque network (`HostOpaqueNetworkInfo`) to which the
 47579  	// virtual NIC is connected.
 47580  	//
 47581  	// When reconfiguring a virtual NIC, this property indicates the specification
 47582  	// of opaque network to which the virtual NIC should connect. You can specify
 47583  	// this property only if you do not specify `HostVirtualNicSpec.distributedVirtualPort`
 47584  	// and `HostVirtualNicSpec.portgroup`.
 47585  	OpaqueNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty"`
 47586  	// An ID assigned to the vmkernel adapter by external management plane.
 47587  	//
 47588  	// The value and format of this property is determined by external management
 47589  	// plane, and vSphere doesn't do any validation. It's also up to external
 47590  	// management plane to set, unset or maintain this property.
 47591  	//
 47592  	// This property is applicable only when `HostVirtualNicSpec.opaqueNetwork` property is set,
 47593  	// otherwise it's value is ignored.
 47594  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty"`
 47595  	// The physical nic to which the vmkernel adapter is pinned.
 47596  	//
 47597  	// Setting this value
 47598  	// ensures that the virtual NIC will access external network only via the
 47599  	// the specified physical NIC.
 47600  	//
 47601  	// This property is applicable only when `HostVirtualNicSpec.opaqueNetwork` property is set.
 47602  	// If the vmkernel adapter is connected to a portgroup or dvPort, then such
 47603  	// pinning can be achieved by configuring correct teaming policy on the portgroup
 47604  	// or dvPort or dvPortgroup that is connected to virtual NIC.
 47605  	PinnedPnic string `xml:"pinnedPnic,omitempty" json:"pinnedPnic,omitempty"`
 47606  	// The ip route configuration used by the vmkernel adapter.
 47607  	//
 47608  	// This attribute
 47609  	// allows the vmkernel adapter to specify its own default gateway.
 47610  	IpRouteSpec *HostVirtualNicIpRouteSpec `xml:"ipRouteSpec,omitempty" json:"ipRouteSpec,omitempty"`
 47611  	// Set to true when the vmkernel adapter is configured by
 47612  	// other system indirectly other than by the user directly.
 47613  	SystemOwned *bool `xml:"systemOwned" json:"systemOwned,omitempty"`
 47614  	// The identifier of the DPU hosting the vmknic.
 47615  	//
 47616  	// If vmknic is on ESX host, dpuId will be unset.
 47617  	DpuId string `xml:"dpuId,omitempty" json:"dpuId,omitempty" vim:"8.0.0.1"`
 47618  }
 47619  
 47620  func init() {
 47621  	t["HostVirtualNicSpec"] = reflect.TypeOf((*HostVirtualNicSpec)(nil)).Elem()
 47622  }
 47623  
 47624  // The virtual switch is a software entity to which multiple virtual network
 47625  // adapters can connect to create a virtual network.
 47626  //
 47627  // It can also be
 47628  // bridged to a physical network.
 47629  type HostVirtualSwitch struct {
 47630  	DynamicData
 47631  
 47632  	// The name of the virtual switch.
 47633  	//
 47634  	// Maximum length is 32 characters.
 47635  	Name string `xml:"name" json:"name"`
 47636  	// The virtual switch key.
 47637  	Key string `xml:"key" json:"key"`
 47638  	// The number of ports that this virtual switch currently has.
 47639  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 47640  	// The number of ports that are available on this virtual switch.
 47641  	//
 47642  	// There
 47643  	// are a number of networking services that utilize a port on the virtual
 47644  	// switch and are not accounted for in the Port array of a PortGroup. For
 47645  	// example, each physical NIC attached to a virtual switch consumes one
 47646  	// port. This property should be used when attempting to implement
 47647  	// admission control for new services attaching to virtual switches.
 47648  	NumPortsAvailable int32 `xml:"numPortsAvailable" json:"numPortsAvailable"`
 47649  	// The maximum transmission unit (MTU) associated with this virtual switch
 47650  	// in bytes.
 47651  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 47652  	// The list of port groups configured for this virtual switch.
 47653  	Portgroup []string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 47654  	// The set of physical network adapters associated with this bridge.
 47655  	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 47656  	// The specification of this virtual switch.
 47657  	Spec HostVirtualSwitchSpec `xml:"spec" json:"spec"`
 47658  }
 47659  
 47660  func init() {
 47661  	t["HostVirtualSwitch"] = reflect.TypeOf((*HostVirtualSwitch)(nil)).Elem()
 47662  }
 47663  
 47664  // This data type describes a bridge that automatically selects
 47665  // a particular physical network adapter on the host
 47666  // according to some predetermined policy.
 47667  //
 47668  // Used primarily to support mobility
 47669  // scenarios.
 47670  type HostVirtualSwitchAutoBridge struct {
 47671  	HostVirtualSwitchBridge
 47672  
 47673  	// List of physical network adapters that have been excluded from
 47674  	// participating in the AutoBridge
 47675  	ExcludedNicDevice []string `xml:"excludedNicDevice,omitempty" json:"excludedNicDevice,omitempty"`
 47676  }
 47677  
 47678  func init() {
 47679  	t["HostVirtualSwitchAutoBridge"] = reflect.TypeOf((*HostVirtualSwitchAutoBridge)(nil)).Elem()
 47680  }
 47681  
 47682  // This data object type describes the configuration of the beacon
 47683  // to probe connectivity of physical network adapters.
 47684  //
 47685  // A
 47686  // beacon is sent out of one network adapter and should arrive on another
 47687  // network adapter in the team. The successful roundtrip indicates
 47688  // that the network adapters are working.
 47689  //
 47690  // Define this data object to enable beacon probing as a method to validate
 47691  // the link status of a physical network adapter. Beacon probing must
 47692  // be configured in order to use the beacon status as a criteria to
 47693  // determine if a physical network adapter failed.
 47694  //
 47695  // See also `HostNicFailureCriteria.checkBeacon`.
 47696  type HostVirtualSwitchBeaconConfig struct {
 47697  	DynamicData
 47698  
 47699  	// Determines how often, in seconds, a beacon should be sent.
 47700  	Interval int32 `xml:"interval" json:"interval"`
 47701  }
 47702  
 47703  func init() {
 47704  	t["HostVirtualSwitchBeaconConfig"] = reflect.TypeOf((*HostVirtualSwitchBeaconConfig)(nil)).Elem()
 47705  }
 47706  
 47707  // This data object type describes a bridge that provides
 47708  // network adapter teaming capabilities.
 47709  type HostVirtualSwitchBondBridge struct {
 47710  	HostVirtualSwitchBridge
 47711  
 47712  	// The list of keys of the physical network adapters to be bridged.
 47713  	NicDevice []string `xml:"nicDevice" json:"nicDevice"`
 47714  	// The beacon configuration to probe for the validity of a link.
 47715  	//
 47716  	// If this is set, beacon probing is configured and will be used.
 47717  	// If this is not set, beacon probing is disabled.
 47718  	Beacon *HostVirtualSwitchBeaconConfig `xml:"beacon,omitempty" json:"beacon,omitempty"`
 47719  	// The link discovery protocol configuration for the virtual switch.
 47720  	//
 47721  	// See also `LinkDiscoveryProtocolConfig`.
 47722  	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
 47723  }
 47724  
 47725  func init() {
 47726  	t["HostVirtualSwitchBondBridge"] = reflect.TypeOf((*HostVirtualSwitchBondBridge)(nil)).Elem()
 47727  }
 47728  
 47729  // A bridge connects a virtual switch to a physical network adapter.
 47730  //
 47731  // There are multiple types of bridges.
 47732  type HostVirtualSwitchBridge struct {
 47733  	DynamicData
 47734  }
 47735  
 47736  func init() {
 47737  	t["HostVirtualSwitchBridge"] = reflect.TypeOf((*HostVirtualSwitchBridge)(nil)).Elem()
 47738  }
 47739  
 47740  // This data object type describes the VirtualSwitch configuration
 47741  // containing both the configurable
 47742  // properties on a VirtualSwitch and identification information.
 47743  type HostVirtualSwitchConfig struct {
 47744  	DynamicData
 47745  
 47746  	// This property indicates the change operation to apply on
 47747  	// this configuration specification.
 47748  	//
 47749  	// See also `HostConfigChangeOperation_enum`.
 47750  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 47751  	// The name of the virtual switch.
 47752  	//
 47753  	// Maximum length is 32 characters.
 47754  	Name string `xml:"name" json:"name"`
 47755  	// The specification of the VirtualSwitch.
 47756  	Spec *HostVirtualSwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 47757  }
 47758  
 47759  func init() {
 47760  	t["HostVirtualSwitchConfig"] = reflect.TypeOf((*HostVirtualSwitchConfig)(nil)).Elem()
 47761  }
 47762  
 47763  // A bridge that is statically bound to a single physical network adapter.
 47764  type HostVirtualSwitchSimpleBridge struct {
 47765  	HostVirtualSwitchBridge
 47766  
 47767  	// The key of the physical network adapter to be bridged.
 47768  	NicDevice string `xml:"nicDevice" json:"nicDevice"`
 47769  }
 47770  
 47771  func init() {
 47772  	t["HostVirtualSwitchSimpleBridge"] = reflect.TypeOf((*HostVirtualSwitchSimpleBridge)(nil)).Elem()
 47773  }
 47774  
 47775  // This data object type describes the VirtualSwitch specification
 47776  // representing the properties on a VirtualSwitch that can be
 47777  // configured once the object exists.
 47778  type HostVirtualSwitchSpec struct {
 47779  	DynamicData
 47780  
 47781  	// The number of ports that this virtual switch is configured to use.
 47782  	//
 47783  	// Changing this setting does not take effect until the next reboot. The maximum
 47784  	// value is 1024, although other constraints, such as memory limits, may establish
 47785  	// a lower effective limit.
 47786  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 47787  	// The bridge specification describes how physical network adapters
 47788  	// can be bridged to a virtual switch.
 47789  	Bridge BaseHostVirtualSwitchBridge `xml:"bridge,omitempty,typeattr" json:"bridge,omitempty"`
 47790  	// The virtual switch policy specification.
 47791  	//
 47792  	// This has a lower
 47793  	// precedence than PortGroup. If the policy property is not set
 47794  	// and you are creating a virtual switch, then a default
 47795  	// policy property setting is used. If the policy property is not
 47796  	// set and you are updating a virtual switch, then the policy will
 47797  	// be unchanged.
 47798  	Policy *HostNetworkPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 47799  	// The maximum transmission unit (MTU) of the virtual switch in bytes.
 47800  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 47801  }
 47802  
 47803  func init() {
 47804  	t["HostVirtualSwitchSpec"] = reflect.TypeOf((*HostVirtualSwitchSpec)(nil)).Elem()
 47805  }
 47806  
 47807  // The AccessSpec data object declares an update to the service
 47808  // access granted to a VM.
 47809  //
 47810  // The given list of services will either
 47811  // be granted in addition to existing services, replace the
 47812  // existing service or be revoked depending on the mode
 47813  // specified. In case of a revoke, an empty or non-existing service
 47814  // list indicates that all granted services should be revoked.
 47815  type HostVmciAccessManagerAccessSpec struct {
 47816  	DynamicData
 47817  
 47818  	// Refers instance of `VirtualMachine`.
 47819  	Vm       ManagedObjectReference `xml:"vm" json:"vm"`
 47820  	Services []string               `xml:"services,omitempty" json:"services,omitempty"`
 47821  	Mode     string                 `xml:"mode" json:"mode"`
 47822  }
 47823  
 47824  func init() {
 47825  	t["HostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*HostVmciAccessManagerAccessSpec)(nil)).Elem()
 47826  }
 47827  
 47828  // When a user resignatures an UnresolvedVmfsVolume through DatastoreSystem API,
 47829  // we resignature and auto-mount on the other hosts which share the
 47830  // same underlying storage luns.
 47831  //
 47832  // As part of the operation, we rescan host.
 47833  // This data object describes the outcome of rescan operation on a host
 47834  type HostVmfsRescanResult struct {
 47835  	DynamicData
 47836  
 47837  	// Host name on which rescan was performed
 47838  	//
 47839  	// Refers instance of `HostSystem`.
 47840  	Host ManagedObjectReference `xml:"host" json:"host"`
 47841  	// 'fault' would be set if the operation was not successful
 47842  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 47843  }
 47844  
 47845  func init() {
 47846  	t["HostVmfsRescanResult"] = reflect.TypeOf((*HostVmfsRescanResult)(nil)).Elem()
 47847  }
 47848  
 47849  // This data object type describes the VMware File System (VMFS)
 47850  // creation specification.
 47851  //
 47852  // Once created, these properties for the most
 47853  // part cannot be changed. There are a few exceptions.
 47854  type HostVmfsSpec struct {
 47855  	DynamicData
 47856  
 47857  	// Head extent of VMFS.
 47858  	//
 47859  	// The head extent identifies the VMFS. However,
 47860  	// the head extent should not be used to identify the VMFS across host
 47861  	// reboots. The actual identifier is specified in "vmhbaI:T:L" format
 47862  	// which is not guaranteed to be stable across reboots. Define a volume
 47863  	// name that is unique to the host and use it to refer to the VMFS.
 47864  	// Alternatively, the immutable UUID of the VMFS can be used after it
 47865  	// is created.
 47866  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
 47867  	// Deprecated as of vSphere API 6.5, use
 47868  	// `HostVmfsSpec.blockSize` instead.
 47869  	//
 47870  	// The block size of VMFS in megabytes (MB).
 47871  	//
 47872  	// Determines the maximum file
 47873  	// size. If this optional property is not set, the maximum
 47874  	// file size defaults to the maximum file size for the platform.
 47875  	//
 47876  	// In VMFS2, the valid block sizes 1MB, 2MB, 4MB, 8MB, 16MB, 32MB, 64MB,
 47877  	// 128MB, and 256MB.
 47878  	// In VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.
 47879  	// In VMFS5, the only valid block size is 1MB.
 47880  	BlockSizeMb int32 `xml:"blockSizeMb,omitempty" json:"blockSizeMb,omitempty"`
 47881  	// Major version number of VMFS.
 47882  	//
 47883  	// This can be changed if the VMFS is
 47884  	// upgraded, but this is an irreversible change.
 47885  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 47886  	// Volume name of VMFS.
 47887  	VolumeName string `xml:"volumeName" json:"volumeName"`
 47888  	// The block size of VMFS in kilotypes (KB).
 47889  	//
 47890  	// Determines the maximum file
 47891  	// size. If this optional property is not set, the maximum
 47892  	// file size defaults to the maximum file size for the platform.
 47893  	//
 47894  	// In VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.
 47895  	// In VMFS5, the only valid block size is 1MB.
 47896  	// In VMFS6, the valid block sizes are 64KB and 1MB.
 47897  	BlockSize int32 `xml:"blockSize,omitempty" json:"blockSize,omitempty"`
 47898  	// The granularity of VMFS unmap operations.
 47899  	//
 47900  	// VMFS unmap reclaims
 47901  	// unused storage space.
 47902  	// The unit is KB. The minimum unmap granularity is 8KB. The maximum
 47903  	// unmap granularity is determined by the block size of VMFS
 47904  	// `HostVmfsVolume.blockSize`.
 47905  	UnmapGranularity int32 `xml:"unmapGranularity,omitempty" json:"unmapGranularity,omitempty"`
 47906  	// VMFS unmap priority.
 47907  	//
 47908  	// VMFS unmap reclaims unused storage space. This
 47909  	// determines the processing rate of unmaps.
 47910  	// See `HostVmfsVolumeUnmapPriority_enum` for supported values.
 47911  	UnmapPriority string `xml:"unmapPriority,omitempty" json:"unmapPriority,omitempty"`
 47912  	// VMFS unmap bandwidth related specification.
 47913  	//
 47914  	// See
 47915  	// `VmfsUnmapBandwidthSpec` for detail.
 47916  	UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty" json:"unmapBandwidthSpec,omitempty"`
 47917  }
 47918  
 47919  func init() {
 47920  	t["HostVmfsSpec"] = reflect.TypeOf((*HostVmfsSpec)(nil)).Elem()
 47921  }
 47922  
 47923  // The VMFS file system.
 47924  type HostVmfsVolume struct {
 47925  	HostFileSystemVolume
 47926  
 47927  	// Deprecated as of vSphere API 6.5, use
 47928  	// `HostVmfsVolume.blockSize` instead.
 47929  	//
 47930  	// Block size of VMFS.
 47931  	//
 47932  	// Determines maximum file size. The maximum number
 47933  	// of blocks is typically fixed with each specific version of VMFS. To
 47934  	// increase the maximum size of a VMFS file, increase the block size.
 47935  	//
 47936  	// The minimum block size is 1MB.
 47937  	BlockSizeMb int32 `xml:"blockSizeMb" json:"blockSizeMb"`
 47938  	// Block size of VMFS in KB.
 47939  	//
 47940  	// Determines maximum file size. The maximum
 47941  	// number of blocks is typically fixed with each specific version of VMFS.
 47942  	// To increase the maximum size of a VMFS file, increase the block size.
 47943  	//
 47944  	// The minimum block size is 1MB.
 47945  	BlockSize int32 `xml:"blockSize,omitempty" json:"blockSize,omitempty"`
 47946  	// VMFS unmap reclaims unused storage space.
 47947  	//
 47948  	// This property
 47949  	// determines the granularity of unmap operations.
 47950  	// The unit is KB. If not specified, the default value is the same as
 47951  	// the block size of VMFS `HostVmfsVolume.blockSize`.
 47952  	// This property cannot be changed after a VMFS volume is created.
 47953  	UnmapGranularity int32 `xml:"unmapGranularity,omitempty" json:"unmapGranularity,omitempty"`
 47954  	// VMFS unmap reclaims unused storage space.
 47955  	//
 47956  	// This property
 47957  	// determines the processing rate of unmaps.
 47958  	// See `HostVmfsVolumeUnmapPriority_enum` for supported values.
 47959  	// If not specified, the default value is
 47960  	// `low`, which means
 47961  	// unmap is processed at low rate. This property can be updated by
 47962  	// calling `HostStorageSystem.UpdateVmfsUnmapPriority`.
 47963  	UnmapPriority string `xml:"unmapPriority,omitempty" json:"unmapPriority,omitempty"`
 47964  	// VMFS unmap bandwidth related specification.
 47965  	//
 47966  	// See
 47967  	// `VmfsUnmapBandwidthSpec` for detail.
 47968  	UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty" json:"unmapBandwidthSpec,omitempty"`
 47969  	// Maximum number of blocks.
 47970  	//
 47971  	// Determines maximum file size along
 47972  	// with blockSize. See information about the blockSize.
 47973  	MaxBlocks int32 `xml:"maxBlocks" json:"maxBlocks"`
 47974  	// Major version number of VMFS.
 47975  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 47976  	// Version string.
 47977  	//
 47978  	// Contains major and minor version numbers.
 47979  	Version string `xml:"version" json:"version"`
 47980  	// The universally unique identifier assigned to VMFS.
 47981  	Uuid string `xml:"uuid" json:"uuid"`
 47982  	// The list of partition names that comprise this disk's
 47983  	// VMFS extents.
 47984  	//
 47985  	// This property can be accessed via various enclosing objects.
 47986  	// In VirtualCenter, where it can be accessed from multiple
 47987  	// hosts, the value of this property may differ according to the context
 47988  	// in which it is accessed. When accessed from the
 47989  	// `VmfsDatastoreInfo` object, in VirtualCenter, this
 47990  	// property reflects the extent information of any one of the hosts visible
 47991  	// to the datastore.
 47992  	//
 47993  	// For a VirtualCenter system which manages ESX Server 2.x and
 47994  	// ESX Server 3.x hosts, this extent information is only correlatable
 47995  	// across hosts if the extents are exposed on the same adapter on all hosts
 47996  	// which can access them. To find the extent names for a specific host,
 47997  	// this same property should be accessed via the host's
 47998  	// `HostFileSystemVolume` object, by correlating the uuid of
 47999  	// the VMFS datastore in the VmfsDatastoreInfo object to the uuid in the
 48000  	// FileSystemVolume object.
 48001  	//
 48002  	// For a Virtual Center system which manages only ESX Server hosts with
 48003  	// versions 4.0 onwards , this extent information is correlatable across
 48004  	// hosts, irrespective of the adapters the extents are exposed on.
 48005  	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
 48006  	// Can the filesystem be upgraded to a newer version.
 48007  	//
 48008  	// See also `HostStorageSystem.UpgradeVmfs`.
 48009  	VmfsUpgradable bool `xml:"vmfsUpgradable" json:"vmfsUpgradable"`
 48010  	// Information about 'forceMounted' VmfsVolume.
 48011  	//
 48012  	// When the system detects a copy of a VmfsVolume, it will not be
 48013  	// auto-mounted on the host and it will be detected as
 48014  	// 'UnresolvedVmfsVolume'. If user decides to 'forceMount' the
 48015  	// VmfsVolume on the host, forceMountedInfo will be populated.
 48016  	// It will not be set for automounted VMFS volumes.
 48017  	ForceMountedInfo *HostForceMountedInfo `xml:"forceMountedInfo,omitempty" json:"forceMountedInfo,omitempty"`
 48018  	// Indicates whether the volume is SSD backed.
 48019  	//
 48020  	// If unset, the information whether the volume is SSD backed is unknown.
 48021  	Ssd *bool `xml:"ssd" json:"ssd,omitempty"`
 48022  	// Indicates whether the volume is backed by local disk.
 48023  	//
 48024  	// If unset, the information of the volume is local-disk backed is unknown.
 48025  	Local *bool `xml:"local" json:"local,omitempty"`
 48026  	// The type of disk drives.
 48027  	//
 48028  	// See `ScsiDiskType_enum`
 48029  	// for supported types.
 48030  	// If unset, the default disk drive type is
 48031  	// `native512`.
 48032  	ScsiDiskType string `xml:"scsiDiskType,omitempty" json:"scsiDiskType,omitempty"`
 48033  }
 48034  
 48035  func init() {
 48036  	t["HostVmfsVolume"] = reflect.TypeOf((*HostVmfsVolume)(nil)).Elem()
 48037  }
 48038  
 48039  // This event records when some host Virtual NICs were reconfigured to use
 48040  // DVPorts with port level configuration, which might be different
 48041  // from the DVportgroup.
 48042  type HostVnicConnectedToCustomizedDVPortEvent struct {
 48043  	HostEvent
 48044  
 48045  	// Information about the Virtual NIC that is using the DVport.
 48046  	Vnic VnicPortArgument `xml:"vnic" json:"vnic"`
 48047  	// Information about the previous Virtual NIC that is using the DVport.
 48048  	PrevPortKey string `xml:"prevPortKey,omitempty" json:"prevPortKey,omitempty"`
 48049  }
 48050  
 48051  func init() {
 48052  	t["HostVnicConnectedToCustomizedDVPortEvent"] = reflect.TypeOf((*HostVnicConnectedToCustomizedDVPortEvent)(nil)).Elem()
 48053  }
 48054  
 48055  // All fields in the CMMDS Query spec are optional, but at least one needs
 48056  // specified to make a valid query.
 48057  type HostVsanInternalSystemCmmdsQuery struct {
 48058  	DynamicData
 48059  
 48060  	// CMMDS type, e.g.
 48061  	//
 48062  	// DOM\_OBJECT, LSOM\_OBJECT, POLICY, DISK etc.
 48063  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 48064  	// UUID of the entry.
 48065  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 48066  	// UUID of the owning node.
 48067  	Owner string `xml:"owner,omitempty" json:"owner,omitempty"`
 48068  }
 48069  
 48070  func init() {
 48071  	t["HostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*HostVsanInternalSystemCmmdsQuery)(nil)).Elem()
 48072  }
 48073  
 48074  // Result of DeleteVsanObjects.
 48075  type HostVsanInternalSystemDeleteVsanObjectsResult struct {
 48076  	DynamicData
 48077  
 48078  	// UUID of the VSAN object.
 48079  	Uuid string `xml:"uuid" json:"uuid"`
 48080  	// Indicates success or failure of object deletion.
 48081  	Success bool `xml:"success" json:"success"`
 48082  	// List of LocalizableMessages with the failure vobs.
 48083  	//
 48084  	// This is unset if delete is successful.
 48085  	FailureReason []LocalizableMessage `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
 48086  }
 48087  
 48088  func init() {
 48089  	t["HostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*HostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem()
 48090  }
 48091  
 48092  // Operation result for a VSAN object upon failure.
 48093  type HostVsanInternalSystemVsanObjectOperationResult struct {
 48094  	DynamicData
 48095  
 48096  	// The UUID of the in question VSAN object.
 48097  	Uuid string `xml:"uuid" json:"uuid"`
 48098  	// List of LocalizableMessages with the failure vobs.
 48099  	FailureReason []LocalizableMessage `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
 48100  }
 48101  
 48102  func init() {
 48103  	t["HostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem()
 48104  }
 48105  
 48106  // Result structure for a VSAN Physical Disk Diagnostics run.
 48107  //
 48108  // Specifies the
 48109  // result of a single disk.
 48110  type HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
 48111  	DynamicData
 48112  
 48113  	// VSAN Disk UUID of the checked disk.
 48114  	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
 48115  	// Indicates success or failure of object creation on the disk.
 48116  	Success bool `xml:"success" json:"success"`
 48117  	// A failure reason type, in case of failure.
 48118  	FailureReason string `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
 48119  }
 48120  
 48121  func init() {
 48122  	t["HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem()
 48123  }
 48124  
 48125  type HostVvolNQN struct {
 48126  	DynamicData
 48127  
 48128  	TargetNQN    string `xml:"targetNQN" json:"targetNQN"`
 48129  	StorageArray string `xml:"storageArray" json:"storageArray"`
 48130  	Online       bool   `xml:"online" json:"online"`
 48131  }
 48132  
 48133  func init() {
 48134  	t["HostVvolNQN"] = reflect.TypeOf((*HostVvolNQN)(nil)).Elem()
 48135  	minAPIVersionForType["HostVvolNQN"] = "8.0.2.0"
 48136  }
 48137  
 48138  type HostVvolVolume struct {
 48139  	HostFileSystemVolume
 48140  
 48141  	// The universally unique identifier assigned to vvolDS.
 48142  	ScId   string       `xml:"scId" json:"scId"`
 48143  	HostPE []VVolHostPE `xml:"hostPE,omitempty" json:"hostPE,omitempty"`
 48144  	// Virtual Protocol endpoints for this volume
 48145  	HostVvolNQN []HostVvolVolumeHostVvolNQN `xml:"hostVvolNQN,omitempty" json:"hostVvolNQN,omitempty" vim:"8.0.2.0"`
 48146  	// VASA Providers that manage this volume
 48147  	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
 48148  	// List of storage array serving this VVol based storage container
 48149  	StorageArray []VASAStorageArray `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
 48150  	// Backing protocol of the datastore
 48151  	ProtocolEndpointType string `xml:"protocolEndpointType,omitempty" json:"protocolEndpointType,omitempty" vim:"8.0.0.0"`
 48152  	// vVol NQN field availability
 48153  	VvolNQNFieldsAvailable *bool `xml:"vvolNQNFieldsAvailable" json:"vvolNQNFieldsAvailable,omitempty" vim:"8.0.2.0"`
 48154  	// if set to true, indicates a stretched container
 48155  	Stretched *bool `xml:"stretched" json:"stretched,omitempty" vim:"8.0.3.0"`
 48156  }
 48157  
 48158  func init() {
 48159  	t["HostVvolVolume"] = reflect.TypeOf((*HostVvolVolume)(nil)).Elem()
 48160  }
 48161  
 48162  type HostVvolVolumeHostVvolNQN struct {
 48163  	DynamicData
 48164  
 48165  	// The host associated with this volume.
 48166  	//
 48167  	// Refers instance of `HostSystem`.
 48168  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 48169  	// Host-specific information about the virtual ProtocolEndpoint.
 48170  	VvolNQN []HostVvolNQN `xml:"vvolNQN,omitempty" json:"vvolNQN,omitempty"`
 48171  }
 48172  
 48173  func init() {
 48174  	t["HostVvolVolumeHostVvolNQN"] = reflect.TypeOf((*HostVvolVolumeHostVvolNQN)(nil)).Elem()
 48175  	minAPIVersionForType["HostVvolVolumeHostVvolNQN"] = "8.0.2.0"
 48176  }
 48177  
 48178  type HostVvolVolumeSpecification struct {
 48179  	DynamicData
 48180  
 48181  	// Maximum size of the container
 48182  	MaxSizeInMB int64 `xml:"maxSizeInMB" json:"maxSizeInMB"`
 48183  	// Container name.
 48184  	VolumeName string `xml:"volumeName" json:"volumeName"`
 48185  	// VASA Providers that manage this volume
 48186  	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
 48187  	// Storage Array
 48188  	StorageArray []VASAStorageArray `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
 48189  	// Vendor specified storage-container ID
 48190  	Uuid string `xml:"uuid" json:"uuid"`
 48191  	// if set to true, indicates a stretched container
 48192  	Stretched *bool `xml:"stretched" json:"stretched,omitempty" vim:"8.0.3.0"`
 48193  }
 48194  
 48195  func init() {
 48196  	t["HostVvolVolumeSpecification"] = reflect.TypeOf((*HostVvolVolumeSpecification)(nil)).Elem()
 48197  }
 48198  
 48199  // This event records a change in a host's WWN (World Wide Name).
 48200  type HostWwnChangedEvent struct {
 48201  	HostEvent
 48202  
 48203  	// The old node WWN.
 48204  	OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty" json:"oldNodeWwns,omitempty"`
 48205  	// The old port WWN.
 48206  	OldPortWwns []int64 `xml:"oldPortWwns,omitempty" json:"oldPortWwns,omitempty"`
 48207  	// The new node WWN.
 48208  	NewNodeWwns []int64 `xml:"newNodeWwns,omitempty" json:"newNodeWwns,omitempty"`
 48209  	// The new port WWN.
 48210  	NewPortWwns []int64 `xml:"newPortWwns,omitempty" json:"newPortWwns,omitempty"`
 48211  }
 48212  
 48213  func init() {
 48214  	t["HostWwnChangedEvent"] = reflect.TypeOf((*HostWwnChangedEvent)(nil)).Elem()
 48215  }
 48216  
 48217  // This event records a conflict of host WWNs (World Wide Name).
 48218  type HostWwnConflictEvent struct {
 48219  	HostEvent
 48220  
 48221  	// The virtual machine whose WWN conflicts with the
 48222  	// current host's WWN.
 48223  	ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty" json:"conflictedVms,omitempty"`
 48224  	// The host whose physical WWN conflicts with the
 48225  	// current host's WWN.
 48226  	ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty" json:"conflictedHosts,omitempty"`
 48227  	// The WWN in conflict.
 48228  	Wwn int64 `xml:"wwn" json:"wwn"`
 48229  }
 48230  
 48231  func init() {
 48232  	t["HostWwnConflictEvent"] = reflect.TypeOf((*HostWwnConflictEvent)(nil)).Elem()
 48233  }
 48234  
 48235  // An attempt is being made to move a virtual machine's disk that has
 48236  // associated snapshots, and preserving the snapshots is not supported by the
 48237  // host because the virtual machine is currently powered on.
 48238  type HotSnapshotMoveNotSupported struct {
 48239  	SnapshotCopyNotSupported
 48240  }
 48241  
 48242  func init() {
 48243  	t["HotSnapshotMoveNotSupported"] = reflect.TypeOf((*HotSnapshotMoveNotSupported)(nil)).Elem()
 48244  }
 48245  
 48246  type HotSnapshotMoveNotSupportedFault HotSnapshotMoveNotSupported
 48247  
 48248  func init() {
 48249  	t["HotSnapshotMoveNotSupportedFault"] = reflect.TypeOf((*HotSnapshotMoveNotSupportedFault)(nil)).Elem()
 48250  }
 48251  
 48252  // The `HourlyTaskScheduler` data object sets the time for hourly
 48253  // task execution.
 48254  //
 48255  // By default, the scheduled task will run once every hour,
 48256  // at the specified minute.
 48257  //
 48258  // If you set the interval to a value greater than 1, the task will
 48259  // execute at the specified hourly interval. (For example, an interval
 48260  // of 2 will cause the task to execute at the specified minute every 2 hours.)
 48261  type HourlyTaskScheduler struct {
 48262  	RecurrentTaskScheduler
 48263  
 48264  	// The minute at which the `RecurrentTaskScheduler` runs
 48265  	// the task.
 48266  	//
 48267  	// Specify the minute value as a UTC (Coordinated Universal Time)
 48268  	// value in the range 0 to 59.
 48269  	//
 48270  	// For vCenter 2.x and prior releases, use the server's local time.
 48271  	// For example, use Australia Northern Territory (UTC +9:30) or Indian (UTC +5:30)
 48272  	// time values, rather than a UTC value.
 48273  	Minute int32 `xml:"minute" json:"minute"`
 48274  }
 48275  
 48276  func init() {
 48277  	t["HourlyTaskScheduler"] = reflect.TypeOf((*HourlyTaskScheduler)(nil)).Elem()
 48278  }
 48279  
 48280  // Generic base class for outbound HTTP communication errors.
 48281  type HttpFault struct {
 48282  	VimFault
 48283  
 48284  	// HTTP status code received from external web-server.
 48285  	StatusCode int32 `xml:"statusCode" json:"statusCode"`
 48286  	// HTTP status message received from external web-server.
 48287  	StatusMessage string `xml:"statusMessage" json:"statusMessage"`
 48288  }
 48289  
 48290  func init() {
 48291  	t["HttpFault"] = reflect.TypeOf((*HttpFault)(nil)).Elem()
 48292  }
 48293  
 48294  type HttpFaultFault HttpFault
 48295  
 48296  func init() {
 48297  	t["HttpFaultFault"] = reflect.TypeOf((*HttpFaultFault)(nil)).Elem()
 48298  }
 48299  
 48300  type HttpNfcLeaseAbort HttpNfcLeaseAbortRequestType
 48301  
 48302  func init() {
 48303  	t["HttpNfcLeaseAbort"] = reflect.TypeOf((*HttpNfcLeaseAbort)(nil)).Elem()
 48304  }
 48305  
 48306  // The parameters of `HttpNfcLease.HttpNfcLeaseAbort`.
 48307  type HttpNfcLeaseAbortRequestType struct {
 48308  	This ManagedObjectReference `xml:"_this" json:"-"`
 48309  	// \[in\] The fault that caused the abort, if any.
 48310  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 48311  }
 48312  
 48313  func init() {
 48314  	t["HttpNfcLeaseAbortRequestType"] = reflect.TypeOf((*HttpNfcLeaseAbortRequestType)(nil)).Elem()
 48315  }
 48316  
 48317  type HttpNfcLeaseAbortResponse struct {
 48318  }
 48319  
 48320  // Descriptor of the lease capabilities.
 48321  type HttpNfcLeaseCapabilities struct {
 48322  	DynamicData
 48323  
 48324  	// True if overall this lease can be upgraded to pull mode and
 48325  	// all hosts in this lease support pull mode.
 48326  	//
 48327  	// Prerequisite before calling pullFromUrls.
 48328  	PullModeSupported bool `xml:"pullModeSupported" json:"pullModeSupported"`
 48329  	// True if all hosts in the lease support HTTP CORS.
 48330  	CorsSupported bool `xml:"corsSupported" json:"corsSupported"`
 48331  }
 48332  
 48333  func init() {
 48334  	t["HttpNfcLeaseCapabilities"] = reflect.TypeOf((*HttpNfcLeaseCapabilities)(nil)).Elem()
 48335  }
 48336  
 48337  type HttpNfcLeaseComplete HttpNfcLeaseCompleteRequestType
 48338  
 48339  func init() {
 48340  	t["HttpNfcLeaseComplete"] = reflect.TypeOf((*HttpNfcLeaseComplete)(nil)).Elem()
 48341  }
 48342  
 48343  type HttpNfcLeaseCompleteRequestType struct {
 48344  	This ManagedObjectReference `xml:"_this" json:"-"`
 48345  }
 48346  
 48347  func init() {
 48348  	t["HttpNfcLeaseCompleteRequestType"] = reflect.TypeOf((*HttpNfcLeaseCompleteRequestType)(nil)).Elem()
 48349  }
 48350  
 48351  type HttpNfcLeaseCompleteResponse struct {
 48352  }
 48353  
 48354  // For a given datastore, represented by datastoreKey, contains a list of leased
 48355  // multi-POST-capable hosts connected to it.
 48356  type HttpNfcLeaseDatastoreLeaseInfo struct {
 48357  	DynamicData
 48358  
 48359  	// Datastore key.
 48360  	DatastoreKey string `xml:"datastoreKey" json:"datastoreKey"`
 48361  	// List of hosts connected to this datastore and covered by this lease.
 48362  	//
 48363  	// The
 48364  	// hosts in this list are multi-POST-capable, and any one of them can be used
 48365  	// to transfer disks on this datastore.
 48366  	Hosts []HttpNfcLeaseHostInfo `xml:"hosts" json:"hosts"`
 48367  }
 48368  
 48369  func init() {
 48370  	t["HttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem()
 48371  }
 48372  
 48373  // Provides a mapping from logical device IDs to upload/download
 48374  // URLs.
 48375  //
 48376  // For export, a single device id is returned based on the object
 48377  // identifiers for the objects.
 48378  //
 48379  // For import, two device ids are returned. One based on the object
 48380  // names used in the ImportSpec, and one based on the object
 48381  // identifiers for the created objects. This is immutable and would
 48382  // match the id if an ExportLease is latter created.
 48383  type HttpNfcLeaseDeviceUrl struct {
 48384  	DynamicData
 48385  
 48386  	// The immutable identifier for the device.
 48387  	//
 48388  	// This is set for both import/export
 48389  	// leases.
 48390  	Key string `xml:"key" json:"key"`
 48391  	// Identifies the device based on the names in an ImportSpec.
 48392  	//
 48393  	// This is only
 48394  	// set for import leases.
 48395  	ImportKey string `xml:"importKey" json:"importKey"`
 48396  	// The URL to use to upload/download the device content.
 48397  	//
 48398  	// The returned url contains either an IP address, a hostname or a "\*". If a
 48399  	// "\*" is returned the client must substitutes the "\*" with the hostname
 48400  	// or IP address used when connecting to the server.
 48401  	// For example if the client connected to "someHost" and the device
 48402  	// url returned is:
 48403  	//
 48404  	//	http:// *:somePort/somePath
 48405  	//
 48406  	// the client must substitute the "\*" with "someHost" before use. The resulting
 48407  	// url would be:
 48408  	//
 48409  	//	http://someHost:somePort/somePath
 48410  	//
 48411  	// The server cannot return a valid hostname or IP address when the client
 48412  	// connects via a NAT, a proxy, or when the server is multihomed.
 48413  	Url string `xml:"url" json:"url"`
 48414  	// SSL thumbprint for the host the URL refers to.
 48415  	//
 48416  	// Empty if no SSL thumbprint
 48417  	// is available or needed.
 48418  	SslThumbprint string `xml:"sslThumbprint" json:"sslThumbprint"`
 48419  	// PEM encoded SSL Certificate of the host
 48420  	SslCertificate string `xml:"sslCertificate,omitempty" json:"sslCertificate,omitempty" vim:"9.0.0.0"`
 48421  	// Optional value to specify if the attached file is a disk in
 48422  	// vmdk format.
 48423  	Disk *bool `xml:"disk" json:"disk,omitempty"`
 48424  	// Id for this target.
 48425  	//
 48426  	// This only used for multi-POSTing, where a single HTTP
 48427  	// POST is applied to multiple targets.
 48428  	TargetId string `xml:"targetId,omitempty" json:"targetId,omitempty"`
 48429  	// Key for the datastore this disk is on.
 48430  	//
 48431  	// This is used to look up hosts
 48432  	// which can be used to multi-POST disk contents, in the host map of the
 48433  	// lease.
 48434  	DatastoreKey string `xml:"datastoreKey,omitempty" json:"datastoreKey,omitempty"`
 48435  	// Specifies the size of the file backing for this device.
 48436  	//
 48437  	// This property
 48438  	// is only set for non-disk file backings.
 48439  	FileSize int64 `xml:"fileSize,omitempty" json:"fileSize,omitempty"`
 48440  }
 48441  
 48442  func init() {
 48443  	t["HttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*HttpNfcLeaseDeviceUrl)(nil)).Elem()
 48444  }
 48445  
 48446  type HttpNfcLeaseGetManifest HttpNfcLeaseGetManifestRequestType
 48447  
 48448  func init() {
 48449  	t["HttpNfcLeaseGetManifest"] = reflect.TypeOf((*HttpNfcLeaseGetManifest)(nil)).Elem()
 48450  }
 48451  
 48452  type HttpNfcLeaseGetManifestRequestType struct {
 48453  	This ManagedObjectReference `xml:"_this" json:"-"`
 48454  }
 48455  
 48456  func init() {
 48457  	t["HttpNfcLeaseGetManifestRequestType"] = reflect.TypeOf((*HttpNfcLeaseGetManifestRequestType)(nil)).Elem()
 48458  }
 48459  
 48460  type HttpNfcLeaseGetManifestResponse struct {
 48461  	Returnval []HttpNfcLeaseManifestEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
 48462  }
 48463  
 48464  // Contains information about how to connect to a given host.
 48465  type HttpNfcLeaseHostInfo struct {
 48466  	DynamicData
 48467  
 48468  	// The host url will be of the form
 48469  	//
 48470  	//	https://hostname/nfc/ticket id/
 48471  	//
 48472  	// The url can be used for both POST requests to a single device and for
 48473  	// multi-POST requests to multiple devices. A single-POST URL is formed
 48474  	// by adding the target id to the hostUrl:
 48475  	//
 48476  	//	https://hostname/nfc/ticket id/target id
 48477  	//
 48478  	// a multi-POST URL looks like
 48479  	//
 48480  	//	https://hostname/nfc/ticket id/multi?targets=id1,id2,id3,...
 48481  	Url string `xml:"url" json:"url"`
 48482  	// SSL thumbprint for the host the URL refers to.
 48483  	//
 48484  	// Empty if no SSL thumbprint
 48485  	// is available or needed.
 48486  	SslThumbprint string `xml:"sslThumbprint" json:"sslThumbprint"`
 48487  }
 48488  
 48489  func init() {
 48490  	t["HttpNfcLeaseHostInfo"] = reflect.TypeOf((*HttpNfcLeaseHostInfo)(nil)).Elem()
 48491  }
 48492  
 48493  // This class holds information about the lease, such as the entity covered by the
 48494  // lease, and HTTP URLs for up/downloading file backings.
 48495  type HttpNfcLeaseInfo struct {
 48496  	DynamicData
 48497  
 48498  	// The `HttpNfcLease` object this information belongs to.
 48499  	//
 48500  	// Refers instance of `HttpNfcLease`.
 48501  	Lease ManagedObjectReference `xml:"lease" json:"lease"`
 48502  	// The `VirtualMachine` or `VirtualApp` this
 48503  	// lease covers.
 48504  	//
 48505  	// Refers instance of `ManagedEntity`.
 48506  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 48507  	// The deviceUrl property contains a mapping from logical device keys
 48508  	// to URLs.
 48509  	DeviceUrl []HttpNfcLeaseDeviceUrl `xml:"deviceUrl,omitempty" json:"deviceUrl,omitempty"`
 48510  	// Total capacity in kilobytes of all disks in all Virtual Machines
 48511  	// covered by this lease.
 48512  	//
 48513  	// This can be used to track progress when
 48514  	// transferring disks.
 48515  	TotalDiskCapacityInKB int64 `xml:"totalDiskCapacityInKB" json:"totalDiskCapacityInKB"`
 48516  	// Number of seconds before the lease times out.
 48517  	//
 48518  	// The client extends
 48519  	// the lease by calling `HttpNfcLease.HttpNfcLeaseProgress` before
 48520  	// the timeout has expired.
 48521  	LeaseTimeout int32 `xml:"leaseTimeout" json:"leaseTimeout"`
 48522  	// Map of URLs for leased hosts for a given datastore.
 48523  	//
 48524  	// This is used to
 48525  	// look up multi-POST-capable hosts for a datastore.
 48526  	HostMap []HttpNfcLeaseDatastoreLeaseInfo `xml:"hostMap,omitempty" json:"hostMap,omitempty"`
 48527  }
 48528  
 48529  func init() {
 48530  	t["HttpNfcLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseInfo)(nil)).Elem()
 48531  }
 48532  
 48533  // Provides a manifest for downloaded (exported) files and disks.
 48534  type HttpNfcLeaseManifestEntry struct {
 48535  	DynamicData
 48536  
 48537  	// Key used to match this entry with the corresponding `HttpNfcLeaseDeviceUrl`
 48538  	// entry in `HttpNfcLease.info`.
 48539  	Key string `xml:"key" json:"key"`
 48540  	// SHA-1 checksum of the data stream sent from the server.
 48541  	//
 48542  	// This can be used
 48543  	// to verify that the bytes received by the client match those sent by the
 48544  	// HttpNfc server.
 48545  	Sha1 string `xml:"sha1" json:"sha1"`
 48546  	// Checksum of the data stream sent/recieved by host.
 48547  	//
 48548  	// See `HttpNfcLeaseManifestEntryChecksumType_enum` for used algoritm.
 48549  	Checksum string `xml:"checksum,omitempty" json:"checksum,omitempty"`
 48550  	// Algorithm used to produce checksum in respective property.
 48551  	//
 48552  	// See `HttpNfcLeaseManifestEntryChecksumType_enum` for supported algorithms.
 48553  	ChecksumType string `xml:"checksumType,omitempty" json:"checksumType,omitempty"`
 48554  	// Size of the downloaded file.
 48555  	Size int64 `xml:"size" json:"size"`
 48556  	// True if the downloaded file is a virtual disk backing.
 48557  	Disk bool `xml:"disk" json:"disk"`
 48558  	// The capacity of the disk, if the file is a virtual disk backing.
 48559  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 48560  	// The populated size of the disk, if the file is a virtual disk backing.
 48561  	PopulatedSize int64 `xml:"populatedSize,omitempty" json:"populatedSize,omitempty"`
 48562  }
 48563  
 48564  func init() {
 48565  	t["HttpNfcLeaseManifestEntry"] = reflect.TypeOf((*HttpNfcLeaseManifestEntry)(nil)).Elem()
 48566  }
 48567  
 48568  // Descriptor of ProbeResult
 48569  type HttpNfcLeaseProbeResult struct {
 48570  	DynamicData
 48571  
 48572  	// True if target host can access the web server.
 48573  	ServerAccessible bool `xml:"serverAccessible" json:"serverAccessible"`
 48574  }
 48575  
 48576  func init() {
 48577  	t["HttpNfcLeaseProbeResult"] = reflect.TypeOf((*HttpNfcLeaseProbeResult)(nil)).Elem()
 48578  	minAPIVersionForType["HttpNfcLeaseProbeResult"] = "7.0.2.0"
 48579  }
 48580  
 48581  type HttpNfcLeaseProbeUrls HttpNfcLeaseProbeUrlsRequestType
 48582  
 48583  func init() {
 48584  	t["HttpNfcLeaseProbeUrls"] = reflect.TypeOf((*HttpNfcLeaseProbeUrls)(nil)).Elem()
 48585  }
 48586  
 48587  // The parameters of `HttpNfcLease.HttpNfcLeaseProbeUrls`.
 48588  type HttpNfcLeaseProbeUrlsRequestType struct {
 48589  	This ManagedObjectReference `xml:"_this" json:"-"`
 48590  	// \[in\] List of remote source file descriptors
 48591  	// There should be the same number of `HttpNfcLeaseSourceFile`
 48592  	// as `HttpNfcLeaseDeviceUrl` provided by this lease.
 48593  	Files []HttpNfcLeaseSourceFile `xml:"files,omitempty" json:"files,omitempty"`
 48594  	// \[in\] time in seconds for each url validation.
 48595  	// Maximum timeout is 60.
 48596  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 48597  }
 48598  
 48599  func init() {
 48600  	t["HttpNfcLeaseProbeUrlsRequestType"] = reflect.TypeOf((*HttpNfcLeaseProbeUrlsRequestType)(nil)).Elem()
 48601  	minAPIVersionForType["HttpNfcLeaseProbeUrlsRequestType"] = "7.0.2.0"
 48602  }
 48603  
 48604  type HttpNfcLeaseProbeUrlsResponse struct {
 48605  	Returnval []HttpNfcLeaseProbeResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 48606  }
 48607  
 48608  type HttpNfcLeaseProgress HttpNfcLeaseProgressRequestType
 48609  
 48610  func init() {
 48611  	t["HttpNfcLeaseProgress"] = reflect.TypeOf((*HttpNfcLeaseProgress)(nil)).Elem()
 48612  }
 48613  
 48614  // The parameters of `HttpNfcLease.HttpNfcLeaseProgress`.
 48615  type HttpNfcLeaseProgressRequestType struct {
 48616  	This ManagedObjectReference `xml:"_this" json:"-"`
 48617  	// \[in\] Completion status represented as an integer
 48618  	// in the 0-100 range.
 48619  	Percent int32 `xml:"percent" json:"percent"`
 48620  }
 48621  
 48622  func init() {
 48623  	t["HttpNfcLeaseProgressRequestType"] = reflect.TypeOf((*HttpNfcLeaseProgressRequestType)(nil)).Elem()
 48624  }
 48625  
 48626  type HttpNfcLeaseProgressResponse struct {
 48627  }
 48628  
 48629  // The parameters of `HttpNfcLease.HttpNfcLeasePullFromUrls_Task`.
 48630  type HttpNfcLeasePullFromUrlsRequestType struct {
 48631  	This ManagedObjectReference `xml:"_this" json:"-"`
 48632  	// \[in\] List of remote source file descriptors
 48633  	// There should be the same number of `HttpNfcLeaseSourceFile`
 48634  	// as `HttpNfcLeaseDeviceUrl` provided by this lease.
 48635  	// Privilege VApp.PullFromUrls is required.
 48636  	Files []HttpNfcLeaseSourceFile `xml:"files,omitempty" json:"files,omitempty"`
 48637  }
 48638  
 48639  func init() {
 48640  	t["HttpNfcLeasePullFromUrlsRequestType"] = reflect.TypeOf((*HttpNfcLeasePullFromUrlsRequestType)(nil)).Elem()
 48641  }
 48642  
 48643  type HttpNfcLeasePullFromUrls_Task HttpNfcLeasePullFromUrlsRequestType
 48644  
 48645  func init() {
 48646  	t["HttpNfcLeasePullFromUrls_Task"] = reflect.TypeOf((*HttpNfcLeasePullFromUrls_Task)(nil)).Elem()
 48647  }
 48648  
 48649  type HttpNfcLeasePullFromUrls_TaskResponse struct {
 48650  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48651  }
 48652  
 48653  type HttpNfcLeaseSetManifestChecksumType HttpNfcLeaseSetManifestChecksumTypeRequestType
 48654  
 48655  func init() {
 48656  	t["HttpNfcLeaseSetManifestChecksumType"] = reflect.TypeOf((*HttpNfcLeaseSetManifestChecksumType)(nil)).Elem()
 48657  }
 48658  
 48659  // The parameters of `HttpNfcLease.HttpNfcLeaseSetManifestChecksumType`.
 48660  type HttpNfcLeaseSetManifestChecksumTypeRequestType struct {
 48661  	This ManagedObjectReference `xml:"_this" json:"-"`
 48662  	// \[in\] Should contain key value pairs:
 48663  	// where key is `HttpNfcLeaseDeviceUrl.key` returned in this lease info and value
 48664  	// is desired algorithm from `HttpNfcLeaseManifestEntryChecksumType_enum`.
 48665  	DeviceUrlsToChecksumTypes []KeyValue `xml:"deviceUrlsToChecksumTypes,omitempty" json:"deviceUrlsToChecksumTypes,omitempty"`
 48666  }
 48667  
 48668  func init() {
 48669  	t["HttpNfcLeaseSetManifestChecksumTypeRequestType"] = reflect.TypeOf((*HttpNfcLeaseSetManifestChecksumTypeRequestType)(nil)).Elem()
 48670  }
 48671  
 48672  type HttpNfcLeaseSetManifestChecksumTypeResponse struct {
 48673  }
 48674  
 48675  // Descriptor of the remote source file used in pull scenario.
 48676  type HttpNfcLeaseSourceFile struct {
 48677  	DynamicData
 48678  
 48679  	// Target device id that will be used to store remote file.
 48680  	//
 48681  	// Uniquely identifies host, vm and device.
 48682  	// Given by this lease in `HttpNfcLeaseDeviceUrl.importKey`.
 48683  	TargetDeviceId string `xml:"targetDeviceId" json:"targetDeviceId"`
 48684  	// Full url of the source file, for example https://server/path/disk-1.vmdk.
 48685  	//
 48686  	// Or url to OVA, in that case `HttpNfcLeaseSourceFile.memberName` should be specified.
 48687  	Url string `xml:"url" json:"url"`
 48688  	// Used only when OVA is specified in `HttpNfcLeaseSourceFile.url`.
 48689  	//
 48690  	// Should contain file name to extract from OVA.
 48691  	MemberName string `xml:"memberName,omitempty" json:"memberName,omitempty"`
 48692  	// True if PUT should be used for upload, otherwise POST.
 48693  	//
 48694  	// Same as `OvfFileItem.create`
 48695  	Create bool `xml:"create" json:"create"`
 48696  	// Esx has no CA database for checking arbitrary certificates.
 48697  	//
 48698  	// Client should verify the server certificate and provide
 48699  	// certificate thumbprint here.
 48700  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 48701  	// PEM encoded SSL Certificate of the source server.
 48702  	//
 48703  	// Note: `HttpNfcLeaseSourceFile.sslThumbprint` and `HttpNfcLeaseSourceFile.sslCertificate` parameters are
 48704  	// mutually exclusive, and should never be used simultaneously.
 48705  	SslCertificate string `xml:"sslCertificate,omitempty" json:"sslCertificate,omitempty" vim:"9.0.0.0"`
 48706  	// For the case when remote server requires authentication or any other
 48707  	// type of custom HTTP headers be provided with the request.
 48708  	HttpHeaders []KeyValue `xml:"httpHeaders,omitempty" json:"httpHeaders,omitempty"`
 48709  	// Size of the file, if known.
 48710  	//
 48711  	// Otherwise it will be determined by a HEAD
 48712  	// request. Not used for OVA members.
 48713  	Size int64 `xml:"size,omitempty" json:"size,omitempty"`
 48714  }
 48715  
 48716  func init() {
 48717  	t["HttpNfcLeaseSourceFile"] = reflect.TypeOf((*HttpNfcLeaseSourceFile)(nil)).Elem()
 48718  }
 48719  
 48720  // This data object type describes an identifier class which
 48721  // is globally unique to identify the associated object.
 48722  type ID struct {
 48723  	DynamicData
 48724  
 48725  	// Id string which is globally unique to identify
 48726  	// an object.
 48727  	Id string `xml:"id" json:"id"`
 48728  }
 48729  
 48730  func init() {
 48731  	t["ID"] = reflect.TypeOf((*ID)(nil)).Elem()
 48732  }
 48733  
 48734  // Deprecated as of VI API 2.5, use `DeviceControllerNotSupported`.
 48735  //
 48736  // The virtual machine uses a virtual disk with an IDE controller, but this
 48737  // is not supported on the host.
 48738  type IDEDiskNotSupported struct {
 48739  	DiskNotSupported
 48740  }
 48741  
 48742  func init() {
 48743  	t["IDEDiskNotSupported"] = reflect.TypeOf((*IDEDiskNotSupported)(nil)).Elem()
 48744  }
 48745  
 48746  type IDEDiskNotSupportedFault IDEDiskNotSupported
 48747  
 48748  func init() {
 48749  	t["IDEDiskNotSupportedFault"] = reflect.TypeOf((*IDEDiskNotSupportedFault)(nil)).Elem()
 48750  }
 48751  
 48752  // A IORMNotSupportedHostOnDatastore fault occurs when the datastore is connected
 48753  // to one or more hosts that do not support storage I/O resource management.
 48754  type IORMNotSupportedHostOnDatastore struct {
 48755  	VimFault
 48756  
 48757  	// The datastore.
 48758  	//
 48759  	// Refers instance of `Datastore`.
 48760  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 48761  	// The name of the datastore.
 48762  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 48763  	// The list of hosts that do not support storage I/O
 48764  	// resource management.
 48765  	//
 48766  	// Refers instances of `HostSystem`.
 48767  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 48768  }
 48769  
 48770  func init() {
 48771  	t["IORMNotSupportedHostOnDatastore"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastore)(nil)).Elem()
 48772  }
 48773  
 48774  type IORMNotSupportedHostOnDatastoreFault IORMNotSupportedHostOnDatastore
 48775  
 48776  func init() {
 48777  	t["IORMNotSupportedHostOnDatastoreFault"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastoreFault)(nil)).Elem()
 48778  }
 48779  
 48780  // Could not boot from iScsi.
 48781  type IScsiBootFailureEvent struct {
 48782  	HostEvent
 48783  }
 48784  
 48785  func init() {
 48786  	t["IScsiBootFailureEvent"] = reflect.TypeOf((*IScsiBootFailureEvent)(nil)).Elem()
 48787  }
 48788  
 48789  type ImpersonateUser ImpersonateUserRequestType
 48790  
 48791  func init() {
 48792  	t["ImpersonateUser"] = reflect.TypeOf((*ImpersonateUser)(nil)).Elem()
 48793  }
 48794  
 48795  // The parameters of `SessionManager.ImpersonateUser`.
 48796  type ImpersonateUserRequestType struct {
 48797  	This ManagedObjectReference `xml:"_this" json:"-"`
 48798  	// The user or extension key to impersonate.
 48799  	UserName string `xml:"userName" json:"userName"`
 48800  	// A two-character ISO-639 language ID (like "en")
 48801  	// optionally followed by an
 48802  	// underscore and a two-character ISO 3166 country ID (like "US").
 48803  	//
 48804  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 48805  	// Note: The method uses the server default locale when
 48806  	// a locale is not provided. This default can be configured in the
 48807  	// server configuration file. If unspecified, it defaults to the
 48808  	// locale of the server environment or English ("en") if unsupported.
 48809  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 48810  }
 48811  
 48812  func init() {
 48813  	t["ImpersonateUserRequestType"] = reflect.TypeOf((*ImpersonateUserRequestType)(nil)).Elem()
 48814  }
 48815  
 48816  type ImpersonateUserResponse struct {
 48817  	Returnval UserSession `xml:"returnval" json:"returnval"`
 48818  }
 48819  
 48820  // The parameters of `HostActiveDirectoryAuthentication.ImportCertificateForCAM_Task`.
 48821  type ImportCertificateForCAMRequestType struct {
 48822  	This ManagedObjectReference `xml:"_this" json:"-"`
 48823  	// full path of the certificate on ESXi
 48824  	CertPath string `xml:"certPath" json:"certPath"`
 48825  	// IP of server providing the CAM service.
 48826  	CamServer string `xml:"camServer" json:"camServer"`
 48827  }
 48828  
 48829  func init() {
 48830  	t["ImportCertificateForCAMRequestType"] = reflect.TypeOf((*ImportCertificateForCAMRequestType)(nil)).Elem()
 48831  }
 48832  
 48833  type ImportCertificateForCAM_Task ImportCertificateForCAMRequestType
 48834  
 48835  func init() {
 48836  	t["ImportCertificateForCAM_Task"] = reflect.TypeOf((*ImportCertificateForCAM_Task)(nil)).Elem()
 48837  }
 48838  
 48839  type ImportCertificateForCAM_TaskResponse struct {
 48840  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48841  }
 48842  
 48843  // Thrown if failure occurs while adding host to DVS during import operation
 48844  type ImportHostAddFailure struct {
 48845  	DvsFault
 48846  
 48847  	// Hosts on which import operation failed
 48848  	HostIp []string `xml:"hostIp" json:"hostIp"`
 48849  }
 48850  
 48851  func init() {
 48852  	t["ImportHostAddFailure"] = reflect.TypeOf((*ImportHostAddFailure)(nil)).Elem()
 48853  }
 48854  
 48855  type ImportHostAddFailureFault ImportHostAddFailure
 48856  
 48857  func init() {
 48858  	t["ImportHostAddFailureFault"] = reflect.TypeOf((*ImportHostAddFailureFault)(nil)).Elem()
 48859  }
 48860  
 48861  // Thrown if a Import operation fails
 48862  type ImportOperationBulkFault struct {
 48863  	DvsFault
 48864  
 48865  	// Faults occurred during the import operation
 48866  	ImportFaults []ImportOperationBulkFaultFaultOnImport `xml:"importFaults" json:"importFaults"`
 48867  }
 48868  
 48869  func init() {
 48870  	t["ImportOperationBulkFault"] = reflect.TypeOf((*ImportOperationBulkFault)(nil)).Elem()
 48871  }
 48872  
 48873  type ImportOperationBulkFaultFault ImportOperationBulkFault
 48874  
 48875  func init() {
 48876  	t["ImportOperationBulkFaultFault"] = reflect.TypeOf((*ImportOperationBulkFaultFault)(nil)).Elem()
 48877  }
 48878  
 48879  // The fault occurred on the entity during an import operation.
 48880  type ImportOperationBulkFaultFaultOnImport struct {
 48881  	DynamicData
 48882  
 48883  	// The entity type on which import failed.
 48884  	//
 48885  	// See `EntityType_enum`
 48886  	// for valid values
 48887  	EntityType string `xml:"entityType,omitempty" json:"entityType,omitempty"`
 48888  	// The key on which import failed
 48889  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 48890  	// The fault that occurred.
 48891  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 48892  }
 48893  
 48894  func init() {
 48895  	t["ImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ImportOperationBulkFaultFaultOnImport)(nil)).Elem()
 48896  }
 48897  
 48898  // An ImportSpec is used when importing VMs or vApps.
 48899  //
 48900  // It can be built from scratch, or it can be generated from an OVF descriptor using the
 48901  // service interface `OvfManager`.
 48902  //
 48903  // This class is the abstract base for `VirtualMachineImportSpec` and
 48904  // `VirtualAppImportSpec`. These three classes form a composite structure
 48905  // that allows us to contain arbitrarily complex entitites in a single ImportSpec.
 48906  type ImportSpec struct {
 48907  	DynamicData
 48908  
 48909  	// Configuration of sub-entities (virtual machine or vApp).
 48910  	//
 48911  	// This is used for
 48912  	// sub-entities of a vApp that could be a virtual machine or a vApp.
 48913  	EntityConfig *VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
 48914  	// The instantiation OST (see `OvfConsumer` ) to be consumed by OVF
 48915  	// consumers.
 48916  	InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty" json:"instantiationOst,omitempty"`
 48917  }
 48918  
 48919  func init() {
 48920  	t["ImportSpec"] = reflect.TypeOf((*ImportSpec)(nil)).Elem()
 48921  }
 48922  
 48923  type ImportUnmanagedSnapshot ImportUnmanagedSnapshotRequestType
 48924  
 48925  func init() {
 48926  	t["ImportUnmanagedSnapshot"] = reflect.TypeOf((*ImportUnmanagedSnapshot)(nil)).Elem()
 48927  }
 48928  
 48929  // The parameters of `VirtualDiskManager.ImportUnmanagedSnapshot`.
 48930  type ImportUnmanagedSnapshotRequestType struct {
 48931  	This ManagedObjectReference `xml:"_this" json:"-"`
 48932  	// \- The name of the disk to import, either a datastore path or a URL
 48933  	// referring to the virtual disk from which to get geometry information.
 48934  	Vdisk string `xml:"vdisk" json:"vdisk"`
 48935  	// If <code>vdisk</code> is a datastore path, the datacenter for
 48936  	// that datastore path. Not needed when invoked directly on ESX.
 48937  	// If not specified on a call to VirtualCenter,
 48938  	// <code>vdisk</code> must be a URL.
 48939  	//
 48940  	// Refers instance of `Datacenter`.
 48941  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 48942  	// \- unmanaged snapshot identifier
 48943  	VvolId string `xml:"vvolId" json:"vvolId"`
 48944  }
 48945  
 48946  func init() {
 48947  	t["ImportUnmanagedSnapshotRequestType"] = reflect.TypeOf((*ImportUnmanagedSnapshotRequestType)(nil)).Elem()
 48948  }
 48949  
 48950  type ImportUnmanagedSnapshotResponse struct {
 48951  }
 48952  
 48953  type ImportVApp ImportVAppRequestType
 48954  
 48955  func init() {
 48956  	t["ImportVApp"] = reflect.TypeOf((*ImportVApp)(nil)).Elem()
 48957  }
 48958  
 48959  // The parameters of `ResourcePool.ImportVApp`.
 48960  type ImportVAppRequestType struct {
 48961  	This ManagedObjectReference `xml:"_this" json:"-"`
 48962  	// An `ImportSpec` describing what to import.
 48963  	Spec BaseImportSpec `xml:"spec,typeattr" json:"spec"`
 48964  	// The folder to which the entity will be attached.
 48965  	//
 48966  	// Required privileges: VApp.Import
 48967  	//
 48968  	// Refers instance of `Folder`.
 48969  	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
 48970  	// The target host on which the entity will run. This must
 48971  	// specify a host that is a member of the ComputeResource indirectly
 48972  	// specified by the pool. For a stand-alone host or a cluster with DRS,
 48973  	// host can be omitted, and the system selects a default.
 48974  	//
 48975  	// Refers instance of `HostSystem`.
 48976  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 48977  }
 48978  
 48979  func init() {
 48980  	t["ImportVAppRequestType"] = reflect.TypeOf((*ImportVAppRequestType)(nil)).Elem()
 48981  }
 48982  
 48983  type ImportVAppResponse struct {
 48984  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48985  }
 48986  
 48987  // A InUseFeatureManipulationDisallowed fault is thrown if an Vim.LicenseAssignmentManager.SetFeatureInUse or Vim.LicenseAssignmentManager.ResetFeatureInUse call can not complete because a feature is not available or the manipulation is not allowed.
 48988  type InUseFeatureManipulationDisallowed struct {
 48989  	NotEnoughLicenses
 48990  }
 48991  
 48992  func init() {
 48993  	t["InUseFeatureManipulationDisallowed"] = reflect.TypeOf((*InUseFeatureManipulationDisallowed)(nil)).Elem()
 48994  }
 48995  
 48996  type InUseFeatureManipulationDisallowedFault InUseFeatureManipulationDisallowed
 48997  
 48998  func init() {
 48999  	t["InUseFeatureManipulationDisallowedFault"] = reflect.TypeOf((*InUseFeatureManipulationDisallowedFault)(nil)).Elem()
 49000  }
 49001  
 49002  // An InaccessibleDatastore exception is thrown if the datastore corresponding to the
 49003  // given datastore path isn't currently accessible.
 49004  type InaccessibleDatastore struct {
 49005  	InvalidDatastore
 49006  
 49007  	Detail string `xml:"detail,omitempty" json:"detail,omitempty"`
 49008  }
 49009  
 49010  func init() {
 49011  	t["InaccessibleDatastore"] = reflect.TypeOf((*InaccessibleDatastore)(nil)).Elem()
 49012  }
 49013  
 49014  type InaccessibleDatastoreFault BaseInaccessibleDatastore
 49015  
 49016  func init() {
 49017  	t["InaccessibleDatastoreFault"] = reflect.TypeOf((*InaccessibleDatastoreFault)(nil)).Elem()
 49018  }
 49019  
 49020  // An InaccessibleFTMetadataDatastore exception is thrown if the datastore
 49021  // corresponding to the specified FT Metadata Datastore path isn't currently
 49022  // accessible.
 49023  type InaccessibleFTMetadataDatastore struct {
 49024  	InaccessibleDatastore
 49025  }
 49026  
 49027  func init() {
 49028  	t["InaccessibleFTMetadataDatastore"] = reflect.TypeOf((*InaccessibleFTMetadataDatastore)(nil)).Elem()
 49029  }
 49030  
 49031  type InaccessibleFTMetadataDatastoreFault InaccessibleFTMetadataDatastore
 49032  
 49033  func init() {
 49034  	t["InaccessibleFTMetadataDatastoreFault"] = reflect.TypeOf((*InaccessibleFTMetadataDatastoreFault)(nil)).Elem()
 49035  }
 49036  
 49037  // An InaccessibleVFlashSource exception is thrown when
 49038  // an attempt is made to access the vFlash resource on
 49039  // the host, such as creating vFlash cache file for the
 49040  // virtual disk.
 49041  type InaccessibleVFlashSource struct {
 49042  	VimFault
 49043  
 49044  	// Name of the host which has the vFlash resource
 49045  	HostName string `xml:"hostName" json:"hostName"`
 49046  }
 49047  
 49048  func init() {
 49049  	t["InaccessibleVFlashSource"] = reflect.TypeOf((*InaccessibleVFlashSource)(nil)).Elem()
 49050  }
 49051  
 49052  type InaccessibleVFlashSourceFault InaccessibleVFlashSource
 49053  
 49054  func init() {
 49055  	t["InaccessibleVFlashSourceFault"] = reflect.TypeOf((*InaccessibleVFlashSourceFault)(nil)).Elem()
 49056  }
 49057  
 49058  // A default device (see `VirtualMachineConfigOption.defaultDevice` for a
 49059  // definition) which the virtual machine is using is incompatible with
 49060  // the corresponding default device which will be created on the target host.
 49061  //
 49062  // This is an issue with powered-on or suspended migration under some
 49063  // circumstances. The problem is that in cases where the virtual machine
 49064  // must be recreated, it will have the default device created with default
 49065  // settings that are appropriate for the target host. If those are not
 49066  // compatible with the settings for that device that the virtual machine is currently
 49067  // using, then resuming the virtual machine on the target host might fail.
 49068  //
 49069  // This might happen if the device in question were reconfigured or the default
 49070  // is different between the source and the destination host. An example of
 49071  // a default device and associated setting which might cause this is
 49072  // `VirtualMachineVideoCard.videoRamSizeInKB`.
 49073  // This is an error.
 49074  type IncompatibleDefaultDevice struct {
 49075  	MigrationFault
 49076  
 49077  	// The label of the device.
 49078  	Device string `xml:"device" json:"device"`
 49079  }
 49080  
 49081  func init() {
 49082  	t["IncompatibleDefaultDevice"] = reflect.TypeOf((*IncompatibleDefaultDevice)(nil)).Elem()
 49083  }
 49084  
 49085  type IncompatibleDefaultDeviceFault IncompatibleDefaultDevice
 49086  
 49087  func init() {
 49088  	t["IncompatibleDefaultDeviceFault"] = reflect.TypeOf((*IncompatibleDefaultDeviceFault)(nil)).Elem()
 49089  }
 49090  
 49091  // The IncompatibleHostForFtSecondary fault is thrown when an invalid
 49092  // host has been specified when calling `VirtualMachine.CreateSecondaryVM_Task`
 49093  // or `VirtualMachine.EnableSecondaryVM_Task`.
 49094  type IncompatibleHostForFtSecondary struct {
 49095  	VmFaultToleranceIssue
 49096  
 49097  	// The host that is not compatible with the secondary virtual machine.
 49098  	//
 49099  	// Refers instance of `HostSystem`.
 49100  	Host ManagedObjectReference `xml:"host" json:"host"`
 49101  	// Information on why the host that was specified could not be used for
 49102  	// the FaultTolerance Secondary VirtualMachine.
 49103  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 49104  }
 49105  
 49106  func init() {
 49107  	t["IncompatibleHostForFtSecondary"] = reflect.TypeOf((*IncompatibleHostForFtSecondary)(nil)).Elem()
 49108  }
 49109  
 49110  type IncompatibleHostForFtSecondaryFault IncompatibleHostForFtSecondary
 49111  
 49112  func init() {
 49113  	t["IncompatibleHostForFtSecondaryFault"] = reflect.TypeOf((*IncompatibleHostForFtSecondaryFault)(nil)).Elem()
 49114  }
 49115  
 49116  // A IncompatibleHostForVmReplication is thrown when a VM is powered
 49117  // on or migrated to a host which does not support the replication
 49118  // configuration of the VM.
 49119  type IncompatibleHostForVmReplication struct {
 49120  	ReplicationFault
 49121  
 49122  	// The VM which has replication configured
 49123  	VmName string `xml:"vmName" json:"vmName"`
 49124  	// The host which is incompatible for VM replication
 49125  	HostName string `xml:"hostName" json:"hostName"`
 49126  	// The reason why the host is incompatible
 49127  	Reason string `xml:"reason" json:"reason"`
 49128  }
 49129  
 49130  func init() {
 49131  	t["IncompatibleHostForVmReplication"] = reflect.TypeOf((*IncompatibleHostForVmReplication)(nil)).Elem()
 49132  }
 49133  
 49134  type IncompatibleHostForVmReplicationFault IncompatibleHostForVmReplication
 49135  
 49136  func init() {
 49137  	t["IncompatibleHostForVmReplicationFault"] = reflect.TypeOf((*IncompatibleHostForVmReplicationFault)(nil)).Elem()
 49138  }
 49139  
 49140  // Thrown when two parameters in the customization settings conflict with each other.
 49141  //
 49142  // For example, a client may not specify both a Workgroup and a DomainName.
 49143  type IncompatibleSetting struct {
 49144  	InvalidArgument
 49145  
 49146  	// The name of the setting that is conflicting.
 49147  	ConflictingProperty string `xml:"conflictingProperty" json:"conflictingProperty"`
 49148  }
 49149  
 49150  func init() {
 49151  	t["IncompatibleSetting"] = reflect.TypeOf((*IncompatibleSetting)(nil)).Elem()
 49152  }
 49153  
 49154  type IncompatibleSettingFault IncompatibleSetting
 49155  
 49156  func init() {
 49157  	t["IncompatibleSettingFault"] = reflect.TypeOf((*IncompatibleSettingFault)(nil)).Elem()
 49158  }
 49159  
 49160  // Thrown when an operation fails because the files do not match a
 49161  // specified file type.
 49162  type IncorrectFileType struct {
 49163  	FileFault
 49164  }
 49165  
 49166  func init() {
 49167  	t["IncorrectFileType"] = reflect.TypeOf((*IncorrectFileType)(nil)).Elem()
 49168  }
 49169  
 49170  type IncorrectFileTypeFault IncorrectFileType
 49171  
 49172  func init() {
 49173  	t["IncorrectFileTypeFault"] = reflect.TypeOf((*IncorrectFileTypeFault)(nil)).Elem()
 49174  }
 49175  
 49176  // A IncorrectHostInformation is thrown if the host does not provide the information
 49177  // needed to acquire the correct set of licenses.
 49178  type IncorrectHostInformation struct {
 49179  	NotEnoughLicenses
 49180  }
 49181  
 49182  func init() {
 49183  	t["IncorrectHostInformation"] = reflect.TypeOf((*IncorrectHostInformation)(nil)).Elem()
 49184  }
 49185  
 49186  // This event records if the host did not provide the information needed
 49187  // to acquire the correct set of licenses.
 49188  type IncorrectHostInformationEvent struct {
 49189  	LicenseEvent
 49190  }
 49191  
 49192  func init() {
 49193  	t["IncorrectHostInformationEvent"] = reflect.TypeOf((*IncorrectHostInformationEvent)(nil)).Elem()
 49194  }
 49195  
 49196  type IncorrectHostInformationFault IncorrectHostInformation
 49197  
 49198  func init() {
 49199  	t["IncorrectHostInformationFault"] = reflect.TypeOf((*IncorrectHostInformationFault)(nil)).Elem()
 49200  }
 49201  
 49202  type IncreaseDirectorySize IncreaseDirectorySizeRequestType
 49203  
 49204  func init() {
 49205  	t["IncreaseDirectorySize"] = reflect.TypeOf((*IncreaseDirectorySize)(nil)).Elem()
 49206  }
 49207  
 49208  // The parameters of `DatastoreNamespaceManager.IncreaseDirectorySize`.
 49209  type IncreaseDirectorySizeRequestType struct {
 49210  	This ManagedObjectReference `xml:"_this" json:"-"`
 49211  	// the datacenter of the namespace path. Needs to be set
 49212  	// when making the call to VC; ignored when the call is
 49213  	// made to ESX.
 49214  	//
 49215  	// Required privileges: System.View
 49216  	//
 49217  	// Refers instance of `Datacenter`.
 49218  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 49219  	// stable vmfs path of the top-level directory
 49220  	StableName string `xml:"stableName" json:"stableName"`
 49221  	// the desired final size in MB of the directory, not a diff
 49222  	// from the current size; should be more than current size
 49223  	Size int64 `xml:"size" json:"size"`
 49224  }
 49225  
 49226  func init() {
 49227  	t["IncreaseDirectorySizeRequestType"] = reflect.TypeOf((*IncreaseDirectorySizeRequestType)(nil)).Elem()
 49228  	minAPIVersionForType["IncreaseDirectorySizeRequestType"] = "8.0.1.0"
 49229  }
 49230  
 49231  type IncreaseDirectorySizeResponse struct {
 49232  }
 49233  
 49234  // An operation on a powered-on virtual machine requests that the virtual
 49235  // machine's disks be moved without choosing a new home datastore for the
 49236  // virtual machine, but the host does not have that capability.
 49237  type IndependentDiskVMotionNotSupported struct {
 49238  	MigrationFeatureNotSupported
 49239  }
 49240  
 49241  func init() {
 49242  	t["IndependentDiskVMotionNotSupported"] = reflect.TypeOf((*IndependentDiskVMotionNotSupported)(nil)).Elem()
 49243  }
 49244  
 49245  type IndependentDiskVMotionNotSupportedFault IndependentDiskVMotionNotSupported
 49246  
 49247  func init() {
 49248  	t["IndependentDiskVMotionNotSupportedFault"] = reflect.TypeOf((*IndependentDiskVMotionNotSupportedFault)(nil)).Elem()
 49249  }
 49250  
 49251  // The parameters of `VcenterVStorageObjectManager.InflateDisk_Task`.
 49252  type InflateDiskRequestType struct {
 49253  	This ManagedObjectReference `xml:"_this" json:"-"`
 49254  	// The ID of the virtual disk to be inflated.
 49255  	Id ID `xml:"id" json:"id"`
 49256  	// The datastore where the virtual disk is located.
 49257  	//
 49258  	// Refers instance of `Datastore`.
 49259  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 49260  }
 49261  
 49262  func init() {
 49263  	t["InflateDiskRequestType"] = reflect.TypeOf((*InflateDiskRequestType)(nil)).Elem()
 49264  }
 49265  
 49266  type InflateDisk_Task InflateDiskRequestType
 49267  
 49268  func init() {
 49269  	t["InflateDisk_Task"] = reflect.TypeOf((*InflateDisk_Task)(nil)).Elem()
 49270  }
 49271  
 49272  type InflateDisk_TaskResponse struct {
 49273  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 49274  }
 49275  
 49276  // The parameters of `VirtualDiskManager.InflateVirtualDisk_Task`.
 49277  type InflateVirtualDiskRequestType struct {
 49278  	This ManagedObjectReference `xml:"_this" json:"-"`
 49279  	// The name of the disk, either a datastore path or a URL
 49280  	// referring to the virtual disk that should be inflated.
 49281  	Name string `xml:"name" json:"name"`
 49282  	// If <code>name</code> is a datastore path, the datacenter for
 49283  	// that datastore path. Not needed when invoked directly on ESX.
 49284  	// If not specified on a call to VirtualCenter,
 49285  	// <code>name</code> must be a URL.
 49286  	//
 49287  	// Refers instance of `Datacenter`.
 49288  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 49289  }
 49290  
 49291  func init() {
 49292  	t["InflateVirtualDiskRequestType"] = reflect.TypeOf((*InflateVirtualDiskRequestType)(nil)).Elem()
 49293  }
 49294  
 49295  type InflateVirtualDisk_Task InflateVirtualDiskRequestType
 49296  
 49297  func init() {
 49298  	t["InflateVirtualDisk_Task"] = reflect.TypeOf((*InflateVirtualDisk_Task)(nil)).Elem()
 49299  }
 49300  
 49301  type InflateVirtualDisk_TaskResponse struct {
 49302  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 49303  }
 49304  
 49305  // This event is a general information event from upgrade.
 49306  type InfoUpgradeEvent struct {
 49307  	UpgradeEvent
 49308  }
 49309  
 49310  func init() {
 49311  	t["InfoUpgradeEvent"] = reflect.TypeOf((*InfoUpgradeEvent)(nil)).Elem()
 49312  }
 49313  
 49314  // The base class for any type of setting or configuration that may get a
 49315  // inherited value.
 49316  //
 49317  // When used in a reconfigure operation specification, if `InheritablePolicy.inherited` is true,
 49318  // it specifies the intention to change the values of subclass's properties to the
 49319  // inherited values from the level above. In this case, users don't need to specify
 49320  // the values and any set property in the subclass will be ignored.
 49321  // if `InheritablePolicy.inherited` is false, it specifies the intention to explicitly set
 49322  // subclass's properties to user specified values. Users should set the properties in
 49323  // the subclass with the desired values.
 49324  //
 49325  // When used in a configuration information object, The values of the properties in
 49326  // the subclass are the effective values. if `InheritablePolicy.inherited` is true, the object
 49327  // is getting the effective values from upper level. If false, the values are
 49328  // explicitly set by a user.
 49329  type InheritablePolicy struct {
 49330  	DynamicData
 49331  
 49332  	// Whether the configuration is set to inherited value.
 49333  	Inherited bool `xml:"inherited" json:"inherited"`
 49334  }
 49335  
 49336  func init() {
 49337  	t["InheritablePolicy"] = reflect.TypeOf((*InheritablePolicy)(nil)).Elem()
 49338  }
 49339  
 49340  // The parameters of `HostVsanSystem.InitializeDisks_Task`.
 49341  type InitializeDisksRequestType struct {
 49342  	This ManagedObjectReference `xml:"_this" json:"-"`
 49343  	// list of disk mappings to initialize
 49344  	Mapping []VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 49345  }
 49346  
 49347  func init() {
 49348  	t["InitializeDisksRequestType"] = reflect.TypeOf((*InitializeDisksRequestType)(nil)).Elem()
 49349  }
 49350  
 49351  type InitializeDisks_Task InitializeDisksRequestType
 49352  
 49353  func init() {
 49354  	t["InitializeDisks_Task"] = reflect.TypeOf((*InitializeDisks_Task)(nil)).Elem()
 49355  }
 49356  
 49357  type InitializeDisks_TaskResponse struct {
 49358  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 49359  }
 49360  
 49361  type InitiateFileTransferFromGuest InitiateFileTransferFromGuestRequestType
 49362  
 49363  func init() {
 49364  	t["InitiateFileTransferFromGuest"] = reflect.TypeOf((*InitiateFileTransferFromGuest)(nil)).Elem()
 49365  }
 49366  
 49367  // The parameters of `GuestFileManager.InitiateFileTransferFromGuest`.
 49368  type InitiateFileTransferFromGuestRequestType struct {
 49369  	This ManagedObjectReference `xml:"_this" json:"-"`
 49370  	// Virtual Machine to perform the operation on.
 49371  	//
 49372  	// Required privileges: VirtualMachine.GuestOperations.Query
 49373  	//
 49374  	// Refers instance of `VirtualMachine`.
 49375  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 49376  	// The guest authentication data.
 49377  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 49378  	// The complete path to the file inside the guest
 49379  	// that has to be transferred to the client. It cannot be a path to
 49380  	// a directory or a symbolic link.
 49381  	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
 49382  }
 49383  
 49384  func init() {
 49385  	t["InitiateFileTransferFromGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferFromGuestRequestType)(nil)).Elem()
 49386  }
 49387  
 49388  type InitiateFileTransferFromGuestResponse struct {
 49389  	Returnval FileTransferInformation `xml:"returnval" json:"returnval"`
 49390  }
 49391  
 49392  type InitiateFileTransferToGuest InitiateFileTransferToGuestRequestType
 49393  
 49394  func init() {
 49395  	t["InitiateFileTransferToGuest"] = reflect.TypeOf((*InitiateFileTransferToGuest)(nil)).Elem()
 49396  }
 49397  
 49398  // The parameters of `GuestFileManager.InitiateFileTransferToGuest`.
 49399  type InitiateFileTransferToGuestRequestType struct {
 49400  	This ManagedObjectReference `xml:"_this" json:"-"`
 49401  	// Virtual Machine to perform the operation on.
 49402  	//
 49403  	// Required privileges: VirtualMachine.GuestOperations.Modify
 49404  	//
 49405  	// Refers instance of `VirtualMachine`.
 49406  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 49407  	// The guest authentication data. See
 49408  	// `GuestAuthentication`.
 49409  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 49410  	// The complete destination path in the guest to
 49411  	// transfer the file from the client. It cannot be a path to
 49412  	// a directory or a symbolic link.
 49413  	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
 49414  	// File attributes of the file that has to be
 49415  	// created in the guest. See `GuestFileAttributes`.
 49416  	// If any file attribute is not specified, then the default value
 49417  	// of that property will be set for the file.
 49418  	FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr" json:"fileAttributes"`
 49419  	// Size of the file to transfer to the guest in bytes.
 49420  	FileSize int64 `xml:"fileSize" json:"fileSize"`
 49421  	// If set, the destination file is clobbered.
 49422  	Overwrite bool `xml:"overwrite" json:"overwrite"`
 49423  }
 49424  
 49425  func init() {
 49426  	t["InitiateFileTransferToGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferToGuestRequestType)(nil)).Elem()
 49427  }
 49428  
 49429  type InitiateFileTransferToGuestResponse struct {
 49430  	Returnval string `xml:"returnval" json:"returnval"`
 49431  }
 49432  
 49433  // The parameters of `IoFilterManager.InitiateTransitionToVLCM_Task`.
 49434  type InitiateTransitionToVLCMRequestType struct {
 49435  	This ManagedObjectReference `xml:"_this" json:"-"`
 49436  	// The cluster.
 49437  	//
 49438  	// Refers instance of `ClusterComputeResource`.
 49439  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 49440  }
 49441  
 49442  func init() {
 49443  	t["InitiateTransitionToVLCMRequestType"] = reflect.TypeOf((*InitiateTransitionToVLCMRequestType)(nil)).Elem()
 49444  	minAPIVersionForType["InitiateTransitionToVLCMRequestType"] = "9.0.0.0"
 49445  }
 49446  
 49447  type InitiateTransitionToVLCM_Task InitiateTransitionToVLCMRequestType
 49448  
 49449  func init() {
 49450  	t["InitiateTransitionToVLCM_Task"] = reflect.TypeOf((*InitiateTransitionToVLCM_Task)(nil)).Elem()
 49451  }
 49452  
 49453  type InitiateTransitionToVLCM_TaskResponse struct {
 49454  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 49455  }
 49456  
 49457  // The parameters of `HostPatchManager.InstallHostPatch_Task`.
 49458  type InstallHostPatchRequestType struct {
 49459  	This ManagedObjectReference `xml:"_this" json:"-"`
 49460  	// Location of the repository that contains the
 49461  	// bulletin depot. The depot must be organized as a flat
 49462  	// collection of bulletins with each one being a folder named
 49463  	// after the bulletin ID. Each folder must contain both
 49464  	// update metadata and required binaries.
 49465  	Repository HostPatchManagerLocator `xml:"repository" json:"repository"`
 49466  	// The update to be installed on the host.
 49467  	UpdateID string `xml:"updateID" json:"updateID"`
 49468  	// Specify whether to force reinstall an update.
 49469  	// By default, installing an already-installed update would fail
 49470  	// with the `PatchAlreadyInstalled` fault. If
 49471  	// force is set to true, the update will be forcefully reinstalled,
 49472  	// thus overwriting the already installed update.
 49473  	Force *bool `xml:"force" json:"force,omitempty"`
 49474  }
 49475  
 49476  func init() {
 49477  	t["InstallHostPatchRequestType"] = reflect.TypeOf((*InstallHostPatchRequestType)(nil)).Elem()
 49478  }
 49479  
 49480  // The parameters of `HostPatchManager.InstallHostPatchV2_Task`.
 49481  type InstallHostPatchV2RequestType struct {
 49482  	This ManagedObjectReference `xml:"_this" json:"-"`
 49483  	// A list of urls pointing to metadata.zip.
 49484  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 49485  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 49486  	BundleUrls []string `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 49487  	// The urls of update binary files to be installed.
 49488  	VibUrls []string                                   `xml:"vibUrls,omitempty" json:"vibUrls,omitempty"`
 49489  	Spec    *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 49490  }
 49491  
 49492  func init() {
 49493  	t["InstallHostPatchV2RequestType"] = reflect.TypeOf((*InstallHostPatchV2RequestType)(nil)).Elem()
 49494  }
 49495  
 49496  type InstallHostPatchV2_Task InstallHostPatchV2RequestType
 49497  
 49498  func init() {
 49499  	t["InstallHostPatchV2_Task"] = reflect.TypeOf((*InstallHostPatchV2_Task)(nil)).Elem()
 49500  }
 49501  
 49502  type InstallHostPatchV2_TaskResponse struct {
 49503  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 49504  }
 49505  
 49506  type InstallHostPatch_Task InstallHostPatchRequestType
 49507  
 49508  func init() {
 49509  	t["InstallHostPatch_Task"] = reflect.TypeOf((*InstallHostPatch_Task)(nil)).Elem()
 49510  }
 49511  
 49512  type InstallHostPatch_TaskResponse struct {
 49513  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 49514  }
 49515  
 49516  // The parameters of `IoFilterManager.InstallIoFilter_Task`.
 49517  type InstallIoFilterRequestType struct {
 49518  	This ManagedObjectReference `xml:"_this" json:"-"`
 49519  	// The URL that points to the IO Filter VIB package.
 49520  	VibUrl string `xml:"vibUrl" json:"vibUrl"`
 49521  	// The compute resource to install the IO Filter on.
 49522  	// "compRes" must be a cluster.
 49523  	//
 49524  	// Refers instance of `ComputeResource`.
 49525  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 49526  	// This specifies SSL trust policy `IoFilterManagerSslTrust`
 49527  	// for the given VIB URL. If unset, the server certificate is
 49528  	// validated against the trusted root certificates.
 49529  	VibSslTrust BaseIoFilterManagerSslTrust `xml:"vibSslTrust,omitempty,typeattr" json:"vibSslTrust,omitempty" vim:"8.0.3.0"`
 49530  }
 49531  
 49532  func init() {
 49533  	t["InstallIoFilterRequestType"] = reflect.TypeOf((*InstallIoFilterRequestType)(nil)).Elem()
 49534  }
 49535  
 49536  type InstallIoFilter_Task InstallIoFilterRequestType
 49537  
 49538  func init() {
 49539  	t["InstallIoFilter_Task"] = reflect.TypeOf((*InstallIoFilter_Task)(nil)).Elem()
 49540  }
 49541  
 49542  type InstallIoFilter_TaskResponse struct {
 49543  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 49544  }
 49545  
 49546  type InstallServerCertificate InstallServerCertificateRequestType
 49547  
 49548  func init() {
 49549  	t["InstallServerCertificate"] = reflect.TypeOf((*InstallServerCertificate)(nil)).Elem()
 49550  }
 49551  
 49552  // The parameters of `HostCertificateManager.InstallServerCertificate`.
 49553  type InstallServerCertificateRequestType struct {
 49554  	This ManagedObjectReference `xml:"_this" json:"-"`
 49555  	// SSL certificate in PEM format
 49556  	Cert string `xml:"cert" json:"cert"`
 49557  }
 49558  
 49559  func init() {
 49560  	t["InstallServerCertificateRequestType"] = reflect.TypeOf((*InstallServerCertificateRequestType)(nil)).Elem()
 49561  }
 49562  
 49563  type InstallServerCertificateResponse struct {
 49564  }
 49565  
 49566  type InstallSmartCardTrustAnchor InstallSmartCardTrustAnchorRequestType
 49567  
 49568  func init() {
 49569  	t["InstallSmartCardTrustAnchor"] = reflect.TypeOf((*InstallSmartCardTrustAnchor)(nil)).Elem()
 49570  }
 49571  
 49572  // The parameters of `HostActiveDirectoryAuthentication.InstallSmartCardTrustAnchor`.
 49573  type InstallSmartCardTrustAnchorRequestType struct {
 49574  	This ManagedObjectReference `xml:"_this" json:"-"`
 49575  	// SSL certificate in PEM format
 49576  	Cert string `xml:"cert" json:"cert"`
 49577  }
 49578  
 49579  func init() {
 49580  	t["InstallSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*InstallSmartCardTrustAnchorRequestType)(nil)).Elem()
 49581  }
 49582  
 49583  type InstallSmartCardTrustAnchorResponse struct {
 49584  }
 49585  
 49586  // The parameters of `VirtualMachine.InstantClone_Task`.
 49587  type InstantCloneRequestType struct {
 49588  	This ManagedObjectReference `xml:"_this" json:"-"`
 49589  	// Is a `VirtualMachineInstantCloneSpec`. It specifies the
 49590  	// cloned virtual machine's configuration.
 49591  	Spec VirtualMachineInstantCloneSpec `xml:"spec" json:"spec"`
 49592  }
 49593  
 49594  func init() {
 49595  	t["InstantCloneRequestType"] = reflect.TypeOf((*InstantCloneRequestType)(nil)).Elem()
 49596  }
 49597  
 49598  type InstantClone_Task InstantCloneRequestType
 49599  
 49600  func init() {
 49601  	t["InstantClone_Task"] = reflect.TypeOf((*InstantClone_Task)(nil)).Elem()
 49602  }
 49603  
 49604  type InstantClone_TaskResponse struct {
 49605  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 49606  }
 49607  
 49608  // This fault is returned when the required number of deployed agent virtual
 49609  // machines is not currently deployed on a host and hence the host cannot be
 49610  // used to run client virtual machines.
 49611  type InsufficientAgentVmsDeployed struct {
 49612  	InsufficientResourcesFault
 49613  
 49614  	HostName string `xml:"hostName" json:"hostName"`
 49615  	// The number of agent virtual machines required to be deployed on the host.
 49616  	RequiredNumAgentVms int32 `xml:"requiredNumAgentVms" json:"requiredNumAgentVms"`
 49617  	// The number of agent virtual machines currently deployed on the host.
 49618  	CurrentNumAgentVms int32 `xml:"currentNumAgentVms" json:"currentNumAgentVms"`
 49619  }
 49620  
 49621  func init() {
 49622  	t["InsufficientAgentVmsDeployed"] = reflect.TypeOf((*InsufficientAgentVmsDeployed)(nil)).Elem()
 49623  }
 49624  
 49625  type InsufficientAgentVmsDeployedFault InsufficientAgentVmsDeployed
 49626  
 49627  func init() {
 49628  	t["InsufficientAgentVmsDeployedFault"] = reflect.TypeOf((*InsufficientAgentVmsDeployedFault)(nil)).Elem()
 49629  }
 49630  
 49631  // CPU resources admission control failed
 49632  type InsufficientCpuResourcesFault struct {
 49633  	InsufficientResourcesFault
 49634  
 49635  	// The CPU available in the resource pool requested in MHz.
 49636  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 49637  	// The CPU resource amount requested in the failed operation in MHz.
 49638  	Requested int64 `xml:"requested" json:"requested"`
 49639  }
 49640  
 49641  func init() {
 49642  	t["InsufficientCpuResourcesFault"] = reflect.TypeOf((*InsufficientCpuResourcesFault)(nil)).Elem()
 49643  }
 49644  
 49645  type InsufficientCpuResourcesFaultFault InsufficientCpuResourcesFault
 49646  
 49647  func init() {
 49648  	t["InsufficientCpuResourcesFaultFault"] = reflect.TypeOf((*InsufficientCpuResourcesFaultFault)(nil)).Elem()
 49649  }
 49650  
 49651  // Fault used to denote an insufficient group of disks for a given operation.
 49652  //
 49653  // See also `HostVsanSystem.AddDisks_Task`, `HostVsanSystem.InitializeDisks_Task`.
 49654  type InsufficientDisks struct {
 49655  	VsanDiskFault
 49656  }
 49657  
 49658  func init() {
 49659  	t["InsufficientDisks"] = reflect.TypeOf((*InsufficientDisks)(nil)).Elem()
 49660  }
 49661  
 49662  type InsufficientDisksFault InsufficientDisks
 49663  
 49664  func init() {
 49665  	t["InsufficientDisksFault"] = reflect.TypeOf((*InsufficientDisksFault)(nil)).Elem()
 49666  }
 49667  
 49668  // This event records that the cluster resources are insufficient
 49669  // to satisfy the configured HA failover level.
 49670  type InsufficientFailoverResourcesEvent struct {
 49671  	ClusterEvent
 49672  }
 49673  
 49674  func init() {
 49675  	t["InsufficientFailoverResourcesEvent"] = reflect.TypeOf((*InsufficientFailoverResourcesEvent)(nil)).Elem()
 49676  }
 49677  
 49678  // This is thrown if an operation would violate the configured failover level of a HA
 49679  // cluster.
 49680  //
 49681  // In a HA cluster, virtual machines provide high availability by moving among physical
 49682  // machines in the event of a failure. HA Admission Control ensures that the total
 49683  // resource requirements for the set of virtual machines in a HA cluster does not exceed
 49684  // the resources that would be available in the worst-case scenario failure. If HA
 49685  // Admission Control is not used, physical machines may have insufficient resources to
 49686  // provide the expected level of service.
 49687  //
 49688  // This fault indicates that the virtual machine operation you attempted would have
 49689  // created a situation where the remaining physical machines would not meet the needs of
 49690  // the virtual machines in the event of a failure.
 49691  type InsufficientFailoverResourcesFault struct {
 49692  	InsufficientResourcesFault
 49693  }
 49694  
 49695  func init() {
 49696  	t["InsufficientFailoverResourcesFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFault)(nil)).Elem()
 49697  }
 49698  
 49699  type InsufficientFailoverResourcesFaultFault InsufficientFailoverResourcesFault
 49700  
 49701  func init() {
 49702  	t["InsufficientFailoverResourcesFaultFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFaultFault)(nil)).Elem()
 49703  }
 49704  
 49705  // Graphics resources admission control failed
 49706  type InsufficientGraphicsResourcesFault struct {
 49707  	InsufficientResourcesFault
 49708  }
 49709  
 49710  func init() {
 49711  	t["InsufficientGraphicsResourcesFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFault)(nil)).Elem()
 49712  }
 49713  
 49714  type InsufficientGraphicsResourcesFaultFault InsufficientGraphicsResourcesFault
 49715  
 49716  func init() {
 49717  	t["InsufficientGraphicsResourcesFaultFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFaultFault)(nil)).Elem()
 49718  }
 49719  
 49720  // The host does not have enough capacity for running the virtual machine.
 49721  type InsufficientHostCapacityFault struct {
 49722  	InsufficientResourcesFault
 49723  
 49724  	// The host which does not have the enough capacity.
 49725  	//
 49726  	// Refers instance of `HostSystem`.
 49727  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 49728  }
 49729  
 49730  func init() {
 49731  	t["InsufficientHostCapacityFault"] = reflect.TypeOf((*InsufficientHostCapacityFault)(nil)).Elem()
 49732  }
 49733  
 49734  type InsufficientHostCapacityFaultFault BaseInsufficientHostCapacityFault
 49735  
 49736  func init() {
 49737  	t["InsufficientHostCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCapacityFaultFault)(nil)).Elem()
 49738  }
 49739  
 49740  // The host does not have enough CPU capacity for running the virtual machine.
 49741  type InsufficientHostCpuCapacityFault struct {
 49742  	InsufficientHostCapacityFault
 49743  
 49744  	// The CPU available on the host in MHz.
 49745  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 49746  	// The CPU resource amount requested in the failed operation in MHz.
 49747  	Requested int64 `xml:"requested" json:"requested"`
 49748  }
 49749  
 49750  func init() {
 49751  	t["InsufficientHostCpuCapacityFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFault)(nil)).Elem()
 49752  }
 49753  
 49754  type InsufficientHostCpuCapacityFaultFault InsufficientHostCpuCapacityFault
 49755  
 49756  func init() {
 49757  	t["InsufficientHostCpuCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFaultFault)(nil)).Elem()
 49758  }
 49759  
 49760  // The host does not have enough memory capacity for running the virtual machine.
 49761  type InsufficientHostMemoryCapacityFault struct {
 49762  	InsufficientHostCapacityFault
 49763  
 49764  	// The memory available on the host in bytes.
 49765  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 49766  	// The memory resource amount requested in the failed operation in bytes.
 49767  	Requested int64 `xml:"requested" json:"requested"`
 49768  }
 49769  
 49770  func init() {
 49771  	t["InsufficientHostMemoryCapacityFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFault)(nil)).Elem()
 49772  }
 49773  
 49774  type InsufficientHostMemoryCapacityFaultFault InsufficientHostMemoryCapacityFault
 49775  
 49776  func init() {
 49777  	t["InsufficientHostMemoryCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFaultFault)(nil)).Elem()
 49778  }
 49779  
 49780  // Memory resource admission control failed
 49781  type InsufficientMemoryResourcesFault struct {
 49782  	InsufficientResourcesFault
 49783  
 49784  	// The memory available in the resource pool requested in bytes.
 49785  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 49786  	// The memory resource amount requested in the failed operation in bytes.
 49787  	Requested int64 `xml:"requested" json:"requested"`
 49788  }
 49789  
 49790  func init() {
 49791  	t["InsufficientMemoryResourcesFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFault)(nil)).Elem()
 49792  }
 49793  
 49794  type InsufficientMemoryResourcesFaultFault InsufficientMemoryResourcesFault
 49795  
 49796  func init() {
 49797  	t["InsufficientMemoryResourcesFaultFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFaultFault)(nil)).Elem()
 49798  }
 49799  
 49800  // The host does not have enough network capacity for running the virtual machine.
 49801  type InsufficientNetworkCapacity struct {
 49802  	InsufficientResourcesFault
 49803  }
 49804  
 49805  func init() {
 49806  	t["InsufficientNetworkCapacity"] = reflect.TypeOf((*InsufficientNetworkCapacity)(nil)).Elem()
 49807  }
 49808  
 49809  type InsufficientNetworkCapacityFault InsufficientNetworkCapacity
 49810  
 49811  func init() {
 49812  	t["InsufficientNetworkCapacityFault"] = reflect.TypeOf((*InsufficientNetworkCapacityFault)(nil)).Elem()
 49813  }
 49814  
 49815  // Insufficient network resource pool bandwidth
 49816  type InsufficientNetworkResourcePoolCapacity struct {
 49817  	InsufficientResourcesFault
 49818  
 49819  	// Distributed Virtual Switch containing the resource pool
 49820  	// having unsufficient network bandwitdh.
 49821  	DvsName string `xml:"dvsName" json:"dvsName"`
 49822  	// UUID of the distributed Virtual Switch containing the resource pool
 49823  	// having unsufficient network bandwitdh.
 49824  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 49825  	// Key of the resource pool on which network bandwidth is requested.
 49826  	ResourcePoolKey string `xml:"resourcePoolKey" json:"resourcePoolKey"`
 49827  	// Network bandwidth available (in MBs) in the requested resource pool.
 49828  	Available int64 `xml:"available" json:"available"`
 49829  	// Network bandwidth amount requested (in MBs).
 49830  	Requested int64 `xml:"requested" json:"requested"`
 49831  	// List of network devices that are requesting or already have requested
 49832  	// bandwidth on the network resource pool.
 49833  	Device []string `xml:"device" json:"device"`
 49834  }
 49835  
 49836  func init() {
 49837  	t["InsufficientNetworkResourcePoolCapacity"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacity)(nil)).Elem()
 49838  }
 49839  
 49840  type InsufficientNetworkResourcePoolCapacityFault InsufficientNetworkResourcePoolCapacity
 49841  
 49842  func init() {
 49843  	t["InsufficientNetworkResourcePoolCapacityFault"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacityFault)(nil)).Elem()
 49844  }
 49845  
 49846  // The host does not have enough per CPU capacity.
 49847  type InsufficientPerCpuCapacity struct {
 49848  	InsufficientHostCapacityFault
 49849  }
 49850  
 49851  func init() {
 49852  	t["InsufficientPerCpuCapacity"] = reflect.TypeOf((*InsufficientPerCpuCapacity)(nil)).Elem()
 49853  }
 49854  
 49855  type InsufficientPerCpuCapacityFault InsufficientPerCpuCapacity
 49856  
 49857  func init() {
 49858  	t["InsufficientPerCpuCapacityFault"] = reflect.TypeOf((*InsufficientPerCpuCapacityFault)(nil)).Elem()
 49859  }
 49860  
 49861  // Base fault that occurs when an operation conflicts with a resource configuration
 49862  // policy.
 49863  //
 49864  // For example, this fault occurs if a power-on operation reserves more memory
 49865  // than is allocated to a resource pool.
 49866  type InsufficientResourcesFault struct {
 49867  	VimFault
 49868  }
 49869  
 49870  func init() {
 49871  	t["InsufficientResourcesFault"] = reflect.TypeOf((*InsufficientResourcesFault)(nil)).Elem()
 49872  }
 49873  
 49874  type InsufficientResourcesFaultFault BaseInsufficientResourcesFault
 49875  
 49876  func init() {
 49877  	t["InsufficientResourcesFaultFault"] = reflect.TypeOf((*InsufficientResourcesFaultFault)(nil)).Elem()
 49878  }
 49879  
 49880  // This fault is thrown when Distributed Power Management cannot perform
 49881  // a given opeartion because there is insufficient CPU resource
 49882  // on standby hosts (if any) to meet the requirements of the operation.
 49883  type InsufficientStandbyCpuResource struct {
 49884  	InsufficientStandbyResource
 49885  
 49886  	// The total amount of CPU resource available (in MHz) on all the usable hosts
 49887  	// in the cluster (including powered on and standby hosts).
 49888  	Available int64 `xml:"available" json:"available"`
 49889  	// The additional amount of CPU resource (other than that on the hosts included
 49890  	// in "available") needed (in MHz).
 49891  	Requested int64 `xml:"requested" json:"requested"`
 49892  }
 49893  
 49894  func init() {
 49895  	t["InsufficientStandbyCpuResource"] = reflect.TypeOf((*InsufficientStandbyCpuResource)(nil)).Elem()
 49896  }
 49897  
 49898  type InsufficientStandbyCpuResourceFault InsufficientStandbyCpuResource
 49899  
 49900  func init() {
 49901  	t["InsufficientStandbyCpuResourceFault"] = reflect.TypeOf((*InsufficientStandbyCpuResourceFault)(nil)).Elem()
 49902  }
 49903  
 49904  // This fault is thrown by Distributed Power Management algorithm.
 49905  //
 49906  // It indicates
 49907  // that there are insufficient memory resources on standby hosts (if any)
 49908  // to meet the requirements of a given operation.
 49909  type InsufficientStandbyMemoryResource struct {
 49910  	InsufficientStandbyResource
 49911  
 49912  	// The total amount of memory resource available (in bytes) on all the usable hosts
 49913  	// in the cluster (including powered on and standby hosts).
 49914  	Available int64 `xml:"available" json:"available"`
 49915  	// The additional amount of memory resource (other than that on the hosts included
 49916  	// in "available") needed (in bytes).
 49917  	Requested int64 `xml:"requested" json:"requested"`
 49918  }
 49919  
 49920  func init() {
 49921  	t["InsufficientStandbyMemoryResource"] = reflect.TypeOf((*InsufficientStandbyMemoryResource)(nil)).Elem()
 49922  }
 49923  
 49924  type InsufficientStandbyMemoryResourceFault InsufficientStandbyMemoryResource
 49925  
 49926  func init() {
 49927  	t["InsufficientStandbyMemoryResourceFault"] = reflect.TypeOf((*InsufficientStandbyMemoryResourceFault)(nil)).Elem()
 49928  }
 49929  
 49930  // This fault is thrown when Distributed Power Management cannot perform
 49931  // a given opeartion because there are insufficient CPU/memory resources
 49932  // on standby hosts (if any) to meet the requirements of the operation.
 49933  type InsufficientStandbyResource struct {
 49934  	InsufficientResourcesFault
 49935  }
 49936  
 49937  func init() {
 49938  	t["InsufficientStandbyResource"] = reflect.TypeOf((*InsufficientStandbyResource)(nil)).Elem()
 49939  }
 49940  
 49941  type InsufficientStandbyResourceFault BaseInsufficientStandbyResource
 49942  
 49943  func init() {
 49944  	t["InsufficientStandbyResourceFault"] = reflect.TypeOf((*InsufficientStandbyResourceFault)(nil)).Elem()
 49945  }
 49946  
 49947  // The datastore does not have enough IOPs capacity for running the virtual machine.
 49948  type InsufficientStorageIops struct {
 49949  	VimFault
 49950  
 49951  	// The IOPs available on the datastore
 49952  	UnreservedIops int64 `xml:"unreservedIops" json:"unreservedIops"`
 49953  	// The IOPs resource amount requested in the failed operation
 49954  	RequestedIops int64 `xml:"requestedIops" json:"requestedIops"`
 49955  	// Name of the datastore with insufficient capacity
 49956  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 49957  }
 49958  
 49959  func init() {
 49960  	t["InsufficientStorageIops"] = reflect.TypeOf((*InsufficientStorageIops)(nil)).Elem()
 49961  }
 49962  
 49963  type InsufficientStorageIopsFault InsufficientStorageIops
 49964  
 49965  func init() {
 49966  	t["InsufficientStorageIopsFault"] = reflect.TypeOf((*InsufficientStorageIopsFault)(nil)).Elem()
 49967  }
 49968  
 49969  // The fault occurs when Storage DRS cannot perform a given operation (e.g., fix the
 49970  // out of space condition, or place a virtual disk) because there is insufficient
 49971  // storage space in the given storage pod to meet the requirements of the operation.
 49972  type InsufficientStorageSpace struct {
 49973  	InsufficientResourcesFault
 49974  }
 49975  
 49976  func init() {
 49977  	t["InsufficientStorageSpace"] = reflect.TypeOf((*InsufficientStorageSpace)(nil)).Elem()
 49978  }
 49979  
 49980  type InsufficientStorageSpaceFault InsufficientStorageSpace
 49981  
 49982  func init() {
 49983  	t["InsufficientStorageSpaceFault"] = reflect.TypeOf((*InsufficientStorageSpaceFault)(nil)).Elem()
 49984  }
 49985  
 49986  // Insufficient vFlash resource to consume
 49987  type InsufficientVFlashResourcesFault struct {
 49988  	InsufficientResourcesFault
 49989  
 49990  	// The vFlash resource available capacity in MB.
 49991  	FreeSpaceInMB int64 `xml:"freeSpaceInMB,omitempty" json:"freeSpaceInMB,omitempty"`
 49992  	// The vFlash resource available capacity in bytes.
 49993  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 49994  	// The vFlash resource amount requested in MB.
 49995  	RequestedSpaceInMB int64 `xml:"requestedSpaceInMB,omitempty" json:"requestedSpaceInMB,omitempty"`
 49996  	// The vFlash resource amount requested in bytes.
 49997  	RequestedSpace int64 `xml:"requestedSpace" json:"requestedSpace"`
 49998  }
 49999  
 50000  func init() {
 50001  	t["InsufficientVFlashResourcesFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFault)(nil)).Elem()
 50002  }
 50003  
 50004  type InsufficientVFlashResourcesFaultFault InsufficientVFlashResourcesFault
 50005  
 50006  func init() {
 50007  	t["InsufficientVFlashResourcesFaultFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFaultFault)(nil)).Elem()
 50008  }
 50009  
 50010  // The integer type of setting or configuration that may get a
 50011  // negated value.
 50012  type IntExpression struct {
 50013  	NegatableExpression
 50014  
 50015  	// The integer value that is either negated or used as it is
 50016  	Value int32 `xml:"value,omitempty" json:"value,omitempty"`
 50017  }
 50018  
 50019  func init() {
 50020  	t["IntExpression"] = reflect.TypeOf((*IntExpression)(nil)).Elem()
 50021  }
 50022  
 50023  // The IntOption data object type is used to define the minimum, maximum,
 50024  // and default values for an integer option.
 50025  type IntOption struct {
 50026  	OptionType
 50027  
 50028  	// The minimum value.
 50029  	Min int32 `xml:"min" json:"min"`
 50030  	// The maximum value.
 50031  	Max int32 `xml:"max" json:"max"`
 50032  	// The default value.
 50033  	DefaultValue int32 `xml:"defaultValue" json:"defaultValue"`
 50034  }
 50035  
 50036  func init() {
 50037  	t["IntOption"] = reflect.TypeOf((*IntOption)(nil)).Elem()
 50038  }
 50039  
 50040  // The integer type of setting or configuration that may get an
 50041  // inherited value.
 50042  type IntPolicy struct {
 50043  	InheritablePolicy
 50044  
 50045  	// The integer value that is either set or inherited.
 50046  	Value int32 `xml:"value,omitempty" json:"value,omitempty"`
 50047  }
 50048  
 50049  func init() {
 50050  	t["IntPolicy"] = reflect.TypeOf((*IntPolicy)(nil)).Elem()
 50051  }
 50052  
 50053  // An InvalidAffinitySettingsFault is thrown if an invalid affinity setting is
 50054  // specified for a virtual machine.
 50055  type InvalidAffinitySettingFault struct {
 50056  	VimFault
 50057  }
 50058  
 50059  func init() {
 50060  	t["InvalidAffinitySettingFault"] = reflect.TypeOf((*InvalidAffinitySettingFault)(nil)).Elem()
 50061  }
 50062  
 50063  type InvalidAffinitySettingFaultFault InvalidAffinitySettingFault
 50064  
 50065  func init() {
 50066  	t["InvalidAffinitySettingFaultFault"] = reflect.TypeOf((*InvalidAffinitySettingFaultFault)(nil)).Elem()
 50067  }
 50068  
 50069  // An InvalidArgument exception is thrown if the
 50070  // set of arguments passed to the function is not
 50071  // specified correctly.
 50072  type InvalidArgument struct {
 50073  	RuntimeFault
 50074  
 50075  	// Optional name of the invalid property.
 50076  	InvalidProperty string `xml:"invalidProperty,omitempty" json:"invalidProperty,omitempty"`
 50077  }
 50078  
 50079  func init() {
 50080  	t["InvalidArgument"] = reflect.TypeOf((*InvalidArgument)(nil)).Elem()
 50081  }
 50082  
 50083  type InvalidArgumentFault BaseInvalidArgument
 50084  
 50085  func init() {
 50086  	t["InvalidArgumentFault"] = reflect.TypeOf((*InvalidArgumentFault)(nil)).Elem()
 50087  }
 50088  
 50089  // An InvalidBmcRole fault is thrown when a BMC user doesn't have the necessary
 50090  // privileges.
 50091  //
 50092  // BMC (Board Management Controller) is a piece of hardware required for
 50093  // IPMI.
 50094  type InvalidBmcRole struct {
 50095  	VimFault
 50096  }
 50097  
 50098  func init() {
 50099  	t["InvalidBmcRole"] = reflect.TypeOf((*InvalidBmcRole)(nil)).Elem()
 50100  }
 50101  
 50102  type InvalidBmcRoleFault InvalidBmcRole
 50103  
 50104  func init() {
 50105  	t["InvalidBmcRoleFault"] = reflect.TypeOf((*InvalidBmcRoleFault)(nil)).Elem()
 50106  }
 50107  
 50108  // An Invalid Bundle fault is thrown if an operation fails because of a
 50109  // problem with the supplied bundle.
 50110  type InvalidBundle struct {
 50111  	PlatformConfigFault
 50112  }
 50113  
 50114  func init() {
 50115  	t["InvalidBundle"] = reflect.TypeOf((*InvalidBundle)(nil)).Elem()
 50116  }
 50117  
 50118  type InvalidBundleFault InvalidBundle
 50119  
 50120  func init() {
 50121  	t["InvalidBundleFault"] = reflect.TypeOf((*InvalidBundleFault)(nil)).Elem()
 50122  }
 50123  
 50124  // Fault indicating that the CAM server's certificate
 50125  // cannot be verified.
 50126  type InvalidCAMCertificate struct {
 50127  	InvalidCAMServer
 50128  }
 50129  
 50130  func init() {
 50131  	t["InvalidCAMCertificate"] = reflect.TypeOf((*InvalidCAMCertificate)(nil)).Elem()
 50132  }
 50133  
 50134  type InvalidCAMCertificateFault InvalidCAMCertificate
 50135  
 50136  func init() {
 50137  	t["InvalidCAMCertificateFault"] = reflect.TypeOf((*InvalidCAMCertificateFault)(nil)).Elem()
 50138  }
 50139  
 50140  // Fault indicating that the CAM server
 50141  // for camServer cannot be reached,
 50142  // or is not a valid IP address.
 50143  type InvalidCAMServer struct {
 50144  	ActiveDirectoryFault
 50145  
 50146  	// The address of the CAM server.
 50147  	CamServer string `xml:"camServer" json:"camServer"`
 50148  }
 50149  
 50150  func init() {
 50151  	t["InvalidCAMServer"] = reflect.TypeOf((*InvalidCAMServer)(nil)).Elem()
 50152  }
 50153  
 50154  type InvalidCAMServerFault BaseInvalidCAMServer
 50155  
 50156  func init() {
 50157  	t["InvalidCAMServerFault"] = reflect.TypeOf((*InvalidCAMServerFault)(nil)).Elem()
 50158  }
 50159  
 50160  // This exception is thrown when a client has provided a
 50161  // certificate that fails certificate validation at the server.
 50162  type InvalidClientCertificate struct {
 50163  	InvalidLogin
 50164  }
 50165  
 50166  func init() {
 50167  	t["InvalidClientCertificate"] = reflect.TypeOf((*InvalidClientCertificate)(nil)).Elem()
 50168  }
 50169  
 50170  type InvalidClientCertificateFault InvalidClientCertificate
 50171  
 50172  func init() {
 50173  	t["InvalidClientCertificateFault"] = reflect.TypeOf((*InvalidClientCertificateFault)(nil)).Elem()
 50174  }
 50175  
 50176  // InvalidCollectorVersion is thrown when a collector version is out
 50177  // of date or invalid.
 50178  type InvalidCollectorVersion struct {
 50179  	MethodFault
 50180  }
 50181  
 50182  func init() {
 50183  	t["InvalidCollectorVersion"] = reflect.TypeOf((*InvalidCollectorVersion)(nil)).Elem()
 50184  }
 50185  
 50186  type InvalidCollectorVersionFault InvalidCollectorVersion
 50187  
 50188  func init() {
 50189  	t["InvalidCollectorVersionFault"] = reflect.TypeOf((*InvalidCollectorVersionFault)(nil)).Elem()
 50190  }
 50191  
 50192  // An InvalidController exception is thrown if
 50193  // a device refers to a controller that cannot be found.
 50194  //
 50195  // For example, an exception might be thrown if the client
 50196  // incorrectly passes a controller key,
 50197  // or if the client did not specify a controller where one is
 50198  // required (such as for disks or CD-ROMs).
 50199  type InvalidController struct {
 50200  	InvalidDeviceSpec
 50201  
 50202  	ControllerKey int32 `xml:"controllerKey" json:"controllerKey"`
 50203  }
 50204  
 50205  func init() {
 50206  	t["InvalidController"] = reflect.TypeOf((*InvalidController)(nil)).Elem()
 50207  }
 50208  
 50209  type InvalidControllerFault InvalidController
 50210  
 50211  func init() {
 50212  	t["InvalidControllerFault"] = reflect.TypeOf((*InvalidControllerFault)(nil)).Elem()
 50213  }
 50214  
 50215  // This fault is thrown when an attempt is made to configure an HA cluster with
 50216  // invalid argument.
 50217  type InvalidDasConfigArgument struct {
 50218  	InvalidArgument
 50219  
 50220  	// The entry for the invalid argument
 50221  	Entry string `xml:"entry,omitempty" json:"entry,omitempty"`
 50222  	// Name of the cluster to be configured
 50223  	ClusterName string `xml:"clusterName,omitempty" json:"clusterName,omitempty"`
 50224  }
 50225  
 50226  func init() {
 50227  	t["InvalidDasConfigArgument"] = reflect.TypeOf((*InvalidDasConfigArgument)(nil)).Elem()
 50228  }
 50229  
 50230  type InvalidDasConfigArgumentFault InvalidDasConfigArgument
 50231  
 50232  func init() {
 50233  	t["InvalidDasConfigArgumentFault"] = reflect.TypeOf((*InvalidDasConfigArgumentFault)(nil)).Elem()
 50234  }
 50235  
 50236  // This fault is thrown when an attempt is made to set the DAS restart
 50237  // priority of a FT VM to disabled.
 50238  type InvalidDasRestartPriorityForFtVm struct {
 50239  	InvalidArgument
 50240  
 50241  	// The virtual machine
 50242  	//
 50243  	// Refers instance of `VirtualMachine`.
 50244  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 50245  	// The name of the virtual machine
 50246  	VmName string `xml:"vmName" json:"vmName"`
 50247  }
 50248  
 50249  func init() {
 50250  	t["InvalidDasRestartPriorityForFtVm"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVm)(nil)).Elem()
 50251  }
 50252  
 50253  type InvalidDasRestartPriorityForFtVmFault InvalidDasRestartPriorityForFtVm
 50254  
 50255  func init() {
 50256  	t["InvalidDasRestartPriorityForFtVmFault"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVmFault)(nil)).Elem()
 50257  }
 50258  
 50259  // An InvalidDatastore exception is thrown if an operation fails because of a
 50260  // problem with the specified datastore.
 50261  //
 50262  // Typically, a subclass of this
 50263  // exception is thrown, indicating a problem such as an inaccessible datastore
 50264  // or an invalid datastore path.
 50265  type InvalidDatastore struct {
 50266  	VimFault
 50267  
 50268  	// The datastore that is invalid.
 50269  	//
 50270  	// Refers instance of `Datastore`.
 50271  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 50272  	// The name of the datastore that is invalid.
 50273  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 50274  }
 50275  
 50276  func init() {
 50277  	t["InvalidDatastore"] = reflect.TypeOf((*InvalidDatastore)(nil)).Elem()
 50278  }
 50279  
 50280  type InvalidDatastoreFault BaseInvalidDatastore
 50281  
 50282  func init() {
 50283  	t["InvalidDatastoreFault"] = reflect.TypeOf((*InvalidDatastoreFault)(nil)).Elem()
 50284  }
 50285  
 50286  // An InvalidDatastorePath exception is thrown if a datastore path violates
 50287  // the expected format.
 50288  //
 50289  // The expected format is "\[dsName\] path", e.g.
 50290  // "\[storage1\] folder/Vm1.vmdk". This exception is also thrown if a datastore
 50291  // corresponding to the given datastore path is not found.
 50292  type InvalidDatastorePath struct {
 50293  	InvalidDatastore
 50294  
 50295  	// The invalid datastore path name, if one was provided.
 50296  	DatastorePath string `xml:"datastorePath" json:"datastorePath"`
 50297  }
 50298  
 50299  func init() {
 50300  	t["InvalidDatastorePath"] = reflect.TypeOf((*InvalidDatastorePath)(nil)).Elem()
 50301  }
 50302  
 50303  type InvalidDatastorePathFault InvalidDatastorePath
 50304  
 50305  func init() {
 50306  	t["InvalidDatastorePathFault"] = reflect.TypeOf((*InvalidDatastorePathFault)(nil)).Elem()
 50307  }
 50308  
 50309  // The datastore is in an invalid state (e.g., maintenance mode)
 50310  // for a given operation.
 50311  type InvalidDatastoreState struct {
 50312  	InvalidState
 50313  
 50314  	// The name of the datastore.
 50315  	DatastoreName string `xml:"datastoreName,omitempty" json:"datastoreName,omitempty"`
 50316  }
 50317  
 50318  func init() {
 50319  	t["InvalidDatastoreState"] = reflect.TypeOf((*InvalidDatastoreState)(nil)).Elem()
 50320  }
 50321  
 50322  type InvalidDatastoreStateFault InvalidDatastoreState
 50323  
 50324  func init() {
 50325  	t["InvalidDatastoreStateFault"] = reflect.TypeOf((*InvalidDatastoreStateFault)(nil)).Elem()
 50326  }
 50327  
 50328  // An InvalidDeviceBacking exception is thrown if
 50329  // a device with an incompatible
 50330  // device backing is added or edited.
 50331  type InvalidDeviceBacking struct {
 50332  	InvalidDeviceSpec
 50333  }
 50334  
 50335  func init() {
 50336  	t["InvalidDeviceBacking"] = reflect.TypeOf((*InvalidDeviceBacking)(nil)).Elem()
 50337  }
 50338  
 50339  type InvalidDeviceBackingFault InvalidDeviceBacking
 50340  
 50341  func init() {
 50342  	t["InvalidDeviceBackingFault"] = reflect.TypeOf((*InvalidDeviceBackingFault)(nil)).Elem()
 50343  }
 50344  
 50345  // An InvalidDeviceOperation exception is thrown if
 50346  // virtual machine creation or configuration fails because an invalid
 50347  // operation is attempted on the given device.
 50348  type InvalidDeviceOperation struct {
 50349  	InvalidDeviceSpec
 50350  
 50351  	// The invalid operation attempted.
 50352  	BadOp VirtualDeviceConfigSpecOperation `xml:"badOp,omitempty" json:"badOp,omitempty"`
 50353  	// The invalid file operation attempted.
 50354  	BadFileOp VirtualDeviceConfigSpecFileOperation `xml:"badFileOp,omitempty" json:"badFileOp,omitempty"`
 50355  }
 50356  
 50357  func init() {
 50358  	t["InvalidDeviceOperation"] = reflect.TypeOf((*InvalidDeviceOperation)(nil)).Elem()
 50359  }
 50360  
 50361  type InvalidDeviceOperationFault InvalidDeviceOperation
 50362  
 50363  func init() {
 50364  	t["InvalidDeviceOperationFault"] = reflect.TypeOf((*InvalidDeviceOperationFault)(nil)).Elem()
 50365  }
 50366  
 50367  // An InvalidDeviceSpec exception is thrown if
 50368  // a virtual machine creation or configuration fails because a device
 50369  // specification contains an invalid value.
 50370  type InvalidDeviceSpec struct {
 50371  	InvalidVmConfig
 50372  
 50373  	// Index of the device in the configuration specification that has the invalid value.
 50374  	DeviceIndex int32 `xml:"deviceIndex" json:"deviceIndex"`
 50375  }
 50376  
 50377  func init() {
 50378  	t["InvalidDeviceSpec"] = reflect.TypeOf((*InvalidDeviceSpec)(nil)).Elem()
 50379  }
 50380  
 50381  type InvalidDeviceSpecFault BaseInvalidDeviceSpec
 50382  
 50383  func init() {
 50384  	t["InvalidDeviceSpecFault"] = reflect.TypeOf((*InvalidDeviceSpecFault)(nil)).Elem()
 50385  }
 50386  
 50387  // The disk format is either corrupted or not supported.
 50388  type InvalidDiskFormat struct {
 50389  	InvalidFormat
 50390  }
 50391  
 50392  func init() {
 50393  	t["InvalidDiskFormat"] = reflect.TypeOf((*InvalidDiskFormat)(nil)).Elem()
 50394  }
 50395  
 50396  type InvalidDiskFormatFault InvalidDiskFormat
 50397  
 50398  func init() {
 50399  	t["InvalidDiskFormatFault"] = reflect.TypeOf((*InvalidDiskFormatFault)(nil)).Elem()
 50400  }
 50401  
 50402  // This fault is thrown when an attempt is made to set the DRS behavior
 50403  // of an FT VM to an unsupported value.
 50404  //
 50405  // Currently, the only supported
 50406  // behavior is **DRS Disabled**.
 50407  type InvalidDrsBehaviorForFtVm struct {
 50408  	InvalidArgument
 50409  
 50410  	// The virtual machine
 50411  	//
 50412  	// Refers instance of `VirtualMachine`.
 50413  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 50414  	// The name of the virtual machine
 50415  	VmName string `xml:"vmName" json:"vmName"`
 50416  }
 50417  
 50418  func init() {
 50419  	t["InvalidDrsBehaviorForFtVm"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVm)(nil)).Elem()
 50420  }
 50421  
 50422  type InvalidDrsBehaviorForFtVmFault InvalidDrsBehaviorForFtVm
 50423  
 50424  func init() {
 50425  	t["InvalidDrsBehaviorForFtVmFault"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVmFault)(nil)).Elem()
 50426  }
 50427  
 50428  // This event records if the edition is set to an invalid value.
 50429  type InvalidEditionEvent struct {
 50430  	LicenseEvent
 50431  
 50432  	Feature string `xml:"feature" json:"feature"`
 50433  }
 50434  
 50435  func init() {
 50436  	t["InvalidEditionEvent"] = reflect.TypeOf((*InvalidEditionEvent)(nil)).Elem()
 50437  }
 50438  
 50439  // An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license
 50440  // 'feature failed for count 'count'.
 50441  type InvalidEditionLicense struct {
 50442  	NotEnoughLicenses
 50443  
 50444  	Feature string `xml:"feature" json:"feature"`
 50445  }
 50446  
 50447  func init() {
 50448  	t["InvalidEditionLicense"] = reflect.TypeOf((*InvalidEditionLicense)(nil)).Elem()
 50449  }
 50450  
 50451  type InvalidEditionLicenseFault InvalidEditionLicense
 50452  
 50453  func init() {
 50454  	t["InvalidEditionLicenseFault"] = reflect.TypeOf((*InvalidEditionLicenseFault)(nil)).Elem()
 50455  }
 50456  
 50457  // A InvalidEvent fault is thrown when the event
 50458  // is malformed.
 50459  type InvalidEvent struct {
 50460  	VimFault
 50461  }
 50462  
 50463  func init() {
 50464  	t["InvalidEvent"] = reflect.TypeOf((*InvalidEvent)(nil)).Elem()
 50465  }
 50466  
 50467  type InvalidEventFault InvalidEvent
 50468  
 50469  func init() {
 50470  	t["InvalidEventFault"] = reflect.TypeOf((*InvalidEventFault)(nil)).Elem()
 50471  }
 50472  
 50473  // An InvalidFolderFault exception is thrown when a
 50474  // node is moved to an invalid place in the hierarchy.
 50475  //
 50476  // This can be because it is a child of the current node,
 50477  // or a wrong kind of container.
 50478  type InvalidFolder struct {
 50479  	VimFault
 50480  
 50481  	// Reference to invalid target.
 50482  	//
 50483  	// Refers instance of `ManagedEntity`.
 50484  	Target ManagedObjectReference `xml:"target" json:"target"`
 50485  }
 50486  
 50487  func init() {
 50488  	t["InvalidFolder"] = reflect.TypeOf((*InvalidFolder)(nil)).Elem()
 50489  }
 50490  
 50491  type InvalidFolderFault BaseInvalidFolder
 50492  
 50493  func init() {
 50494  	t["InvalidFolderFault"] = reflect.TypeOf((*InvalidFolderFault)(nil)).Elem()
 50495  }
 50496  
 50497  // Throws when an invalid format is detected.
 50498  //
 50499  // For example, when
 50500  // a virtual machine is registered and the system is unable to parse
 50501  // the files as a virtual machine.
 50502  type InvalidFormat struct {
 50503  	VmConfigFault
 50504  }
 50505  
 50506  func init() {
 50507  	t["InvalidFormat"] = reflect.TypeOf((*InvalidFormat)(nil)).Elem()
 50508  }
 50509  
 50510  type InvalidFormatFault BaseInvalidFormat
 50511  
 50512  func init() {
 50513  	t["InvalidFormatFault"] = reflect.TypeOf((*InvalidFormatFault)(nil)).Elem()
 50514  }
 50515  
 50516  // An InvalidGuestLogin exception is thrown when an operation fails because
 50517  // authentication information used to authenticate with the guest was not
 50518  // accepted.
 50519  type InvalidGuestLogin struct {
 50520  	GuestOperationsFault
 50521  }
 50522  
 50523  func init() {
 50524  	t["InvalidGuestLogin"] = reflect.TypeOf((*InvalidGuestLogin)(nil)).Elem()
 50525  }
 50526  
 50527  type InvalidGuestLoginFault InvalidGuestLogin
 50528  
 50529  func init() {
 50530  	t["InvalidGuestLoginFault"] = reflect.TypeOf((*InvalidGuestLoginFault)(nil)).Elem()
 50531  }
 50532  
 50533  // The host has an invalid connection state.
 50534  type InvalidHostConnectionState struct {
 50535  	InvalidHostState
 50536  }
 50537  
 50538  func init() {
 50539  	t["InvalidHostConnectionState"] = reflect.TypeOf((*InvalidHostConnectionState)(nil)).Elem()
 50540  }
 50541  
 50542  type InvalidHostConnectionStateFault InvalidHostConnectionState
 50543  
 50544  func init() {
 50545  	t["InvalidHostConnectionStateFault"] = reflect.TypeOf((*InvalidHostConnectionStateFault)(nil)).Elem()
 50546  }
 50547  
 50548  // The attempted operation requires that the host has a suitable FQDN.
 50549  type InvalidHostName struct {
 50550  	HostConfigFault
 50551  }
 50552  
 50553  func init() {
 50554  	t["InvalidHostName"] = reflect.TypeOf((*InvalidHostName)(nil)).Elem()
 50555  }
 50556  
 50557  type InvalidHostNameFault InvalidHostName
 50558  
 50559  func init() {
 50560  	t["InvalidHostNameFault"] = reflect.TypeOf((*InvalidHostNameFault)(nil)).Elem()
 50561  }
 50562  
 50563  // The host has an invalid state.
 50564  type InvalidHostState struct {
 50565  	InvalidState
 50566  
 50567  	// The host that has an invalid state.
 50568  	//
 50569  	// Refers instance of `HostSystem`.
 50570  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 50571  }
 50572  
 50573  func init() {
 50574  	t["InvalidHostState"] = reflect.TypeOf((*InvalidHostState)(nil)).Elem()
 50575  }
 50576  
 50577  type InvalidHostStateFault BaseInvalidHostState
 50578  
 50579  func init() {
 50580  	t["InvalidHostStateFault"] = reflect.TypeOf((*InvalidHostStateFault)(nil)).Elem()
 50581  }
 50582  
 50583  // An InvalidIndexArgument exception is thrown if the
 50584  // index was not found
 50585  type InvalidIndexArgument struct {
 50586  	InvalidArgument
 50587  
 50588  	// Value of index that was not found
 50589  	Key string `xml:"key" json:"key"`
 50590  }
 50591  
 50592  func init() {
 50593  	t["InvalidIndexArgument"] = reflect.TypeOf((*InvalidIndexArgument)(nil)).Elem()
 50594  }
 50595  
 50596  type InvalidIndexArgumentFault InvalidIndexArgument
 50597  
 50598  func init() {
 50599  	t["InvalidIndexArgumentFault"] = reflect.TypeOf((*InvalidIndexArgumentFault)(nil)).Elem()
 50600  }
 50601  
 50602  // Illegal value specified for a property of the switch's IpfixConfig.
 50603  type InvalidIpfixConfig struct {
 50604  	DvsFault
 50605  
 50606  	// Path of the property in IpfixConfig that has an invalid value.
 50607  	Property string `xml:"property,omitempty" json:"property,omitempty"`
 50608  }
 50609  
 50610  func init() {
 50611  	t["InvalidIpfixConfig"] = reflect.TypeOf((*InvalidIpfixConfig)(nil)).Elem()
 50612  }
 50613  
 50614  type InvalidIpfixConfigFault InvalidIpfixConfig
 50615  
 50616  func init() {
 50617  	t["InvalidIpfixConfigFault"] = reflect.TypeOf((*InvalidIpfixConfigFault)(nil)).Elem()
 50618  }
 50619  
 50620  // A InvalidIpmiLoginInfo fault is thrown when the IPMI user name and/or password is
 50621  // invalid.
 50622  type InvalidIpmiLoginInfo struct {
 50623  	VimFault
 50624  }
 50625  
 50626  func init() {
 50627  	t["InvalidIpmiLoginInfo"] = reflect.TypeOf((*InvalidIpmiLoginInfo)(nil)).Elem()
 50628  }
 50629  
 50630  type InvalidIpmiLoginInfoFault InvalidIpmiLoginInfo
 50631  
 50632  func init() {
 50633  	t["InvalidIpmiLoginInfoFault"] = reflect.TypeOf((*InvalidIpmiLoginInfoFault)(nil)).Elem()
 50634  }
 50635  
 50636  // A InvalidIpmiMacAddress fault is thrown when the IPMI mac address provided by the
 50637  // user doesn't match with the observed mac address on the host.
 50638  type InvalidIpmiMacAddress struct {
 50639  	VimFault
 50640  
 50641  	UserProvidedMacAddress string `xml:"userProvidedMacAddress" json:"userProvidedMacAddress"`
 50642  	ObservedMacAddress     string `xml:"observedMacAddress" json:"observedMacAddress"`
 50643  }
 50644  
 50645  func init() {
 50646  	t["InvalidIpmiMacAddress"] = reflect.TypeOf((*InvalidIpmiMacAddress)(nil)).Elem()
 50647  }
 50648  
 50649  type InvalidIpmiMacAddressFault InvalidIpmiMacAddress
 50650  
 50651  func init() {
 50652  	t["InvalidIpmiMacAddressFault"] = reflect.TypeOf((*InvalidIpmiMacAddressFault)(nil)).Elem()
 50653  }
 50654  
 50655  // Thrown when
 50656  // an attempt is made to upload license content
 50657  // that is invalid.
 50658  type InvalidLicense struct {
 50659  	VimFault
 50660  
 50661  	// The content of the license being reported as invalid.
 50662  	LicenseContent string `xml:"licenseContent" json:"licenseContent"`
 50663  }
 50664  
 50665  func init() {
 50666  	t["InvalidLicense"] = reflect.TypeOf((*InvalidLicense)(nil)).Elem()
 50667  }
 50668  
 50669  type InvalidLicenseFault InvalidLicense
 50670  
 50671  func init() {
 50672  	t["InvalidLicenseFault"] = reflect.TypeOf((*InvalidLicenseFault)(nil)).Elem()
 50673  }
 50674  
 50675  // Thrown when a locale name is unknown or invalid.
 50676  type InvalidLocale struct {
 50677  	VimFault
 50678  }
 50679  
 50680  func init() {
 50681  	t["InvalidLocale"] = reflect.TypeOf((*InvalidLocale)(nil)).Elem()
 50682  }
 50683  
 50684  type InvalidLocaleFault InvalidLocale
 50685  
 50686  func init() {
 50687  	t["InvalidLocaleFault"] = reflect.TypeOf((*InvalidLocaleFault)(nil)).Elem()
 50688  }
 50689  
 50690  // Thrown when a server logon fails due to a bad user name or
 50691  // password.
 50692  type InvalidLogin struct {
 50693  	VimFault
 50694  }
 50695  
 50696  func init() {
 50697  	t["InvalidLogin"] = reflect.TypeOf((*InvalidLogin)(nil)).Elem()
 50698  }
 50699  
 50700  type InvalidLoginFault BaseInvalidLogin
 50701  
 50702  func init() {
 50703  	t["InvalidLoginFault"] = reflect.TypeOf((*InvalidLoginFault)(nil)).Elem()
 50704  }
 50705  
 50706  // A InvalidName fault is thrown when the name
 50707  // contains an invalid character or format.
 50708  type InvalidName struct {
 50709  	VimFault
 50710  
 50711  	// The invalid name.
 50712  	Name string `xml:"name" json:"name"`
 50713  	// Entity, if any, that has an invalid name.
 50714  	//
 50715  	// Refers instance of `ManagedEntity`.
 50716  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 50717  }
 50718  
 50719  func init() {
 50720  	t["InvalidName"] = reflect.TypeOf((*InvalidName)(nil)).Elem()
 50721  }
 50722  
 50723  type InvalidNameFault InvalidName
 50724  
 50725  func init() {
 50726  	t["InvalidNameFault"] = reflect.TypeOf((*InvalidNameFault)(nil)).Elem()
 50727  }
 50728  
 50729  // This fault is thrown when an operation to configure a CIFS volume
 50730  // fails because the credentials specified in the
 50731  // `spec` are incorrect.
 50732  type InvalidNasCredentials struct {
 50733  	NasConfigFault
 50734  
 50735  	// The username associated with the CIFS connection.
 50736  	UserName string `xml:"userName" json:"userName"`
 50737  }
 50738  
 50739  func init() {
 50740  	t["InvalidNasCredentials"] = reflect.TypeOf((*InvalidNasCredentials)(nil)).Elem()
 50741  }
 50742  
 50743  type InvalidNasCredentialsFault InvalidNasCredentials
 50744  
 50745  func init() {
 50746  	t["InvalidNasCredentialsFault"] = reflect.TypeOf((*InvalidNasCredentialsFault)(nil)).Elem()
 50747  }
 50748  
 50749  // The network specified in the property does not exists.
 50750  type InvalidNetworkInType struct {
 50751  	VAppPropertyFault
 50752  }
 50753  
 50754  func init() {
 50755  	t["InvalidNetworkInType"] = reflect.TypeOf((*InvalidNetworkInType)(nil)).Elem()
 50756  }
 50757  
 50758  type InvalidNetworkInTypeFault InvalidNetworkInType
 50759  
 50760  func init() {
 50761  	t["InvalidNetworkInTypeFault"] = reflect.TypeOf((*InvalidNetworkInTypeFault)(nil)).Elem()
 50762  }
 50763  
 50764  // This fault is thrown when an operation to configure a NAS volume fails
 50765  // because the network resource specified is invalid.
 50766  type InvalidNetworkResource struct {
 50767  	NasConfigFault
 50768  
 50769  	// The host that runs the CIFS or NFS server.
 50770  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 50771  	// The remote share.
 50772  	RemotePath string `xml:"remotePath" json:"remotePath"`
 50773  }
 50774  
 50775  func init() {
 50776  	t["InvalidNetworkResource"] = reflect.TypeOf((*InvalidNetworkResource)(nil)).Elem()
 50777  }
 50778  
 50779  type InvalidNetworkResourceFault InvalidNetworkResource
 50780  
 50781  func init() {
 50782  	t["InvalidNetworkResourceFault"] = reflect.TypeOf((*InvalidNetworkResourceFault)(nil)).Elem()
 50783  }
 50784  
 50785  // This fault is thrown when an attempt is made to invoke an operation on
 50786  // a secondary virtual machine that is only supported on the primary virtual
 50787  // machine of the fault tolerant group.
 50788  type InvalidOperationOnSecondaryVm struct {
 50789  	VmFaultToleranceIssue
 50790  
 50791  	// Instance UUID of the secondary virtual machine.
 50792  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 50793  }
 50794  
 50795  func init() {
 50796  	t["InvalidOperationOnSecondaryVm"] = reflect.TypeOf((*InvalidOperationOnSecondaryVm)(nil)).Elem()
 50797  }
 50798  
 50799  type InvalidOperationOnSecondaryVmFault InvalidOperationOnSecondaryVm
 50800  
 50801  func init() {
 50802  	t["InvalidOperationOnSecondaryVmFault"] = reflect.TypeOf((*InvalidOperationOnSecondaryVmFault)(nil)).Elem()
 50803  }
 50804  
 50805  // This exception is thrown if the
 50806  // power operation attempted could not be performed given
 50807  // the current power state of the virtual machine.
 50808  type InvalidPowerState struct {
 50809  	InvalidState
 50810  
 50811  	// Power state of the virtual machine required to
 50812  	// allow the operation to succeed.
 50813  	RequestedState VirtualMachinePowerState `xml:"requestedState,omitempty" json:"requestedState,omitempty"`
 50814  	// Power state of the virtual machine that
 50815  	// prevented the operation from succeeding.
 50816  	ExistingState VirtualMachinePowerState `xml:"existingState" json:"existingState"`
 50817  }
 50818  
 50819  func init() {
 50820  	t["InvalidPowerState"] = reflect.TypeOf((*InvalidPowerState)(nil)).Elem()
 50821  }
 50822  
 50823  type InvalidPowerStateFault InvalidPowerState
 50824  
 50825  func init() {
 50826  	t["InvalidPowerStateFault"] = reflect.TypeOf((*InvalidPowerStateFault)(nil)).Elem()
 50827  }
 50828  
 50829  // A InvalidPrivilege fault is thrown when the privilege
 50830  // does not exist.
 50831  type InvalidPrivilege struct {
 50832  	VimFault
 50833  
 50834  	// The invalid privilege.
 50835  	Privilege string `xml:"privilege" json:"privilege"`
 50836  }
 50837  
 50838  func init() {
 50839  	t["InvalidPrivilege"] = reflect.TypeOf((*InvalidPrivilege)(nil)).Elem()
 50840  }
 50841  
 50842  type InvalidPrivilegeFault InvalidPrivilege
 50843  
 50844  func init() {
 50845  	t["InvalidPrivilegeFault"] = reflect.TypeOf((*InvalidPrivilegeFault)(nil)).Elem()
 50846  }
 50847  
 50848  // A InvalidProfileReferenceHost fault is thrown when a valid host is not
 50849  // associated with a profile in the Virtual Center inventory.
 50850  //
 50851  // This could
 50852  // be because there is no host assciated with the profile or because the
 50853  // associated host is incompatible with the profile.
 50854  type InvalidProfileReferenceHost struct {
 50855  	RuntimeFault
 50856  
 50857  	// The reason for the invalid reference host if known.
 50858  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 50859  	// The incompatible host if associated with the profile.
 50860  	//
 50861  	// Refers instance of `HostSystem`.
 50862  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 50863  	// The profile with the invalid or missing reference host.
 50864  	//
 50865  	// Refers instance of `Profile`.
 50866  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 50867  	// The profile name: the replacement of the member above.
 50868  	ProfileName string `xml:"profileName,omitempty" json:"profileName,omitempty"`
 50869  }
 50870  
 50871  func init() {
 50872  	t["InvalidProfileReferenceHost"] = reflect.TypeOf((*InvalidProfileReferenceHost)(nil)).Elem()
 50873  }
 50874  
 50875  type InvalidProfileReferenceHostFault InvalidProfileReferenceHost
 50876  
 50877  func init() {
 50878  	t["InvalidProfileReferenceHostFault"] = reflect.TypeOf((*InvalidProfileReferenceHostFault)(nil)).Elem()
 50879  }
 50880  
 50881  // Thrown when an invalid property path has been referenced.
 50882  type InvalidProperty struct {
 50883  	MethodFault
 50884  
 50885  	// The property name that generated the error.
 50886  	Name string `xml:"name" json:"name"`
 50887  }
 50888  
 50889  func init() {
 50890  	t["InvalidProperty"] = reflect.TypeOf((*InvalidProperty)(nil)).Elem()
 50891  }
 50892  
 50893  type InvalidPropertyFault InvalidProperty
 50894  
 50895  func init() {
 50896  	t["InvalidPropertyFault"] = reflect.TypeOf((*InvalidPropertyFault)(nil)).Elem()
 50897  }
 50898  
 50899  // The type specification in the property in invalid.
 50900  type InvalidPropertyType struct {
 50901  	VAppPropertyFault
 50902  }
 50903  
 50904  func init() {
 50905  	t["InvalidPropertyType"] = reflect.TypeOf((*InvalidPropertyType)(nil)).Elem()
 50906  }
 50907  
 50908  type InvalidPropertyTypeFault InvalidPropertyType
 50909  
 50910  func init() {
 50911  	t["InvalidPropertyTypeFault"] = reflect.TypeOf((*InvalidPropertyTypeFault)(nil)).Elem()
 50912  }
 50913  
 50914  // The value of the property is not valid given the type of the property.
 50915  type InvalidPropertyValue struct {
 50916  	VAppPropertyFault
 50917  }
 50918  
 50919  func init() {
 50920  	t["InvalidPropertyValue"] = reflect.TypeOf((*InvalidPropertyValue)(nil)).Elem()
 50921  }
 50922  
 50923  type InvalidPropertyValueFault BaseInvalidPropertyValue
 50924  
 50925  func init() {
 50926  	t["InvalidPropertyValueFault"] = reflect.TypeOf((*InvalidPropertyValueFault)(nil)).Elem()
 50927  }
 50928  
 50929  // An InvalidRequest fault is thrown in response to a malformed
 50930  // request to the server that fails in the transport layer, e.g.,
 50931  // the SOAP XML request was invalid.
 50932  //
 50933  // Sub-types of this fault,
 50934  // provides more specific transport errors, such as a using a
 50935  // reference to an unknown managed object type or method.
 50936  type InvalidRequest struct {
 50937  	RuntimeFault
 50938  }
 50939  
 50940  func init() {
 50941  	t["InvalidRequest"] = reflect.TypeOf((*InvalidRequest)(nil)).Elem()
 50942  }
 50943  
 50944  type InvalidRequestFault BaseInvalidRequest
 50945  
 50946  func init() {
 50947  	t["InvalidRequestFault"] = reflect.TypeOf((*InvalidRequestFault)(nil)).Elem()
 50948  }
 50949  
 50950  // This fault is thrown when an operation will cause the structure of a resource
 50951  // pool hiearchy to exceed its limit.
 50952  //
 50953  // The limits are typically imposed by the total
 50954  // number of nodes, maximum fan-out, and total depth of the hierarchy.
 50955  type InvalidResourcePoolStructureFault struct {
 50956  	InsufficientResourcesFault
 50957  }
 50958  
 50959  func init() {
 50960  	t["InvalidResourcePoolStructureFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFault)(nil)).Elem()
 50961  }
 50962  
 50963  type InvalidResourcePoolStructureFaultFault InvalidResourcePoolStructureFault
 50964  
 50965  func init() {
 50966  	t["InvalidResourcePoolStructureFaultFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFaultFault)(nil)).Elem()
 50967  }
 50968  
 50969  // This exception is thrown when an unauthorized
 50970  // user runs a scheduled task.
 50971  type InvalidScheduledTask struct {
 50972  	RuntimeFault
 50973  }
 50974  
 50975  func init() {
 50976  	t["InvalidScheduledTask"] = reflect.TypeOf((*InvalidScheduledTask)(nil)).Elem()
 50977  	minAPIVersionForType["InvalidScheduledTask"] = "8.0.2.0"
 50978  }
 50979  
 50980  type InvalidScheduledTaskFault InvalidScheduledTask
 50981  
 50982  func init() {
 50983  	t["InvalidScheduledTaskFault"] = reflect.TypeOf((*InvalidScheduledTaskFault)(nil)).Elem()
 50984  }
 50985  
 50986  // Thrown when an invalid snapshot configuration is detected.
 50987  //
 50988  // For
 50989  // example, when a virtual machine's snapshot tree includes
 50990  // snapshots that are no longer present.
 50991  type InvalidSnapshotFormat struct {
 50992  	InvalidFormat
 50993  }
 50994  
 50995  func init() {
 50996  	t["InvalidSnapshotFormat"] = reflect.TypeOf((*InvalidSnapshotFormat)(nil)).Elem()
 50997  }
 50998  
 50999  type InvalidSnapshotFormatFault InvalidSnapshotFormat
 51000  
 51001  func init() {
 51002  	t["InvalidSnapshotFormatFault"] = reflect.TypeOf((*InvalidSnapshotFormatFault)(nil)).Elem()
 51003  }
 51004  
 51005  // An InvalidState fault is thrown if the
 51006  // operation failed due to the current state of the system.
 51007  type InvalidState struct {
 51008  	VimFault
 51009  }
 51010  
 51011  func init() {
 51012  	t["InvalidState"] = reflect.TypeOf((*InvalidState)(nil)).Elem()
 51013  }
 51014  
 51015  type InvalidStateFault BaseInvalidState
 51016  
 51017  func init() {
 51018  	t["InvalidStateFault"] = reflect.TypeOf((*InvalidStateFault)(nil)).Elem()
 51019  }
 51020  
 51021  // InvalidType is thrown when a managed object request refers to
 51022  // an unexpected or unknown type.
 51023  type InvalidType struct {
 51024  	InvalidRequest
 51025  
 51026  	// Name of the argument that was malformed.
 51027  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 51028  }
 51029  
 51030  func init() {
 51031  	t["InvalidType"] = reflect.TypeOf((*InvalidType)(nil)).Elem()
 51032  }
 51033  
 51034  type InvalidTypeFault InvalidType
 51035  
 51036  func init() {
 51037  	t["InvalidTypeFault"] = reflect.TypeOf((*InvalidTypeFault)(nil)).Elem()
 51038  }
 51039  
 51040  // Thrown when virtual machine creation or configuration fails.
 51041  //
 51042  // This is
 51043  // a base type for all virtual machine configuration errors.
 51044  type InvalidVmConfig struct {
 51045  	VmConfigFault
 51046  
 51047  	// Path of the property in configSpec that has an invalid value.
 51048  	Property string `xml:"property,omitempty" json:"property,omitempty"`
 51049  }
 51050  
 51051  func init() {
 51052  	t["InvalidVmConfig"] = reflect.TypeOf((*InvalidVmConfig)(nil)).Elem()
 51053  }
 51054  
 51055  type InvalidVmConfigFault BaseInvalidVmConfig
 51056  
 51057  func init() {
 51058  	t["InvalidVmConfigFault"] = reflect.TypeOf((*InvalidVmConfigFault)(nil)).Elem()
 51059  }
 51060  
 51061  // The VM has an invalid state.
 51062  type InvalidVmState struct {
 51063  	InvalidState
 51064  
 51065  	// The VM that has an invalid state.
 51066  	//
 51067  	// Refers instance of `VirtualMachine`.
 51068  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 51069  }
 51070  
 51071  func init() {
 51072  	t["InvalidVmState"] = reflect.TypeOf((*InvalidVmState)(nil)).Elem()
 51073  }
 51074  
 51075  type InvalidVmStateFault InvalidVmState
 51076  
 51077  func init() {
 51078  	t["InvalidVmStateFault"] = reflect.TypeOf((*InvalidVmStateFault)(nil)).Elem()
 51079  }
 51080  
 51081  // Data object to capture all information needed to
 51082  // describe a sample inventory.
 51083  type InventoryDescription struct {
 51084  	DynamicData
 51085  
 51086  	// The number of hosts.
 51087  	NumHosts int32 `xml:"numHosts" json:"numHosts"`
 51088  	// The number of virtual machines.
 51089  	NumVirtualMachines int32 `xml:"numVirtualMachines" json:"numVirtualMachines"`
 51090  	// The number of resource pools.
 51091  	//
 51092  	// Default value is equal to numHosts
 51093  	NumResourcePools int32 `xml:"numResourcePools,omitempty" json:"numResourcePools,omitempty"`
 51094  	// The number of clusters.
 51095  	//
 51096  	// Default value is equal to numHosts/5.
 51097  	NumClusters int32 `xml:"numClusters,omitempty" json:"numClusters,omitempty"`
 51098  	// The number cpu devices per host.
 51099  	//
 51100  	// Default value is 4.
 51101  	NumCpuDev int32 `xml:"numCpuDev,omitempty" json:"numCpuDev,omitempty"`
 51102  	// The number network devices per host.
 51103  	//
 51104  	// Default value is 2.
 51105  	NumNetDev int32 `xml:"numNetDev,omitempty" json:"numNetDev,omitempty"`
 51106  	// The number disk devices per host.
 51107  	//
 51108  	// Default value is 10.
 51109  	NumDiskDev int32 `xml:"numDiskDev,omitempty" json:"numDiskDev,omitempty"`
 51110  	// The number cpu devices per vm.
 51111  	//
 51112  	// Default value is 2.
 51113  	NumvCpuDev int32 `xml:"numvCpuDev,omitempty" json:"numvCpuDev,omitempty"`
 51114  	// The number network devices per vm.
 51115  	//
 51116  	// Default value is 1.
 51117  	NumvNetDev int32 `xml:"numvNetDev,omitempty" json:"numvNetDev,omitempty"`
 51118  	// The number disk devices per vm.
 51119  	//
 51120  	// Default value is 4.
 51121  	NumvDiskDev int32 `xml:"numvDiskDev,omitempty" json:"numvDiskDev,omitempty"`
 51122  }
 51123  
 51124  func init() {
 51125  	t["InventoryDescription"] = reflect.TypeOf((*InventoryDescription)(nil)).Elem()
 51126  }
 51127  
 51128  // A InventoryHasStandardAloneHosts fault is thrown if an assignment operation tries to downgrade a license that does have allow hosts licensed with StandardAlone license in the inventory.
 51129  type InventoryHasStandardAloneHosts struct {
 51130  	NotEnoughLicenses
 51131  
 51132  	Hosts []string `xml:"hosts" json:"hosts"`
 51133  }
 51134  
 51135  func init() {
 51136  	t["InventoryHasStandardAloneHosts"] = reflect.TypeOf((*InventoryHasStandardAloneHosts)(nil)).Elem()
 51137  }
 51138  
 51139  type InventoryHasStandardAloneHostsFault InventoryHasStandardAloneHosts
 51140  
 51141  func init() {
 51142  	t["InventoryHasStandardAloneHostsFault"] = reflect.TypeOf((*InventoryHasStandardAloneHostsFault)(nil)).Elem()
 51143  }
 51144  
 51145  // The issues on a host.
 51146  type IoFilterHostIssue struct {
 51147  	DynamicData
 51148  
 51149  	// Host.
 51150  	//
 51151  	// Refers instance of `HostSystem`.
 51152  	Host ManagedObjectReference `xml:"host" json:"host"`
 51153  	// The issues.
 51154  	Issue []LocalizedMethodFault `xml:"issue" json:"issue"`
 51155  }
 51156  
 51157  func init() {
 51158  	t["IoFilterHostIssue"] = reflect.TypeOf((*IoFilterHostIssue)(nil)).Elem()
 51159  }
 51160  
 51161  // Information about an IO Filter.
 51162  type IoFilterInfo struct {
 51163  	DynamicData
 51164  
 51165  	// IO Filter identifier.
 51166  	Id string `xml:"id" json:"id"`
 51167  	// Name of the IO Filter.
 51168  	Name string `xml:"name" json:"name"`
 51169  	// Vendor of the IO Filter.
 51170  	Vendor string `xml:"vendor" json:"vendor"`
 51171  	// Version of the IO Filter.
 51172  	Version string `xml:"version" json:"version"`
 51173  	// Type of the IO Filter.
 51174  	//
 51175  	// The set of possible values are listed in
 51176  	// `IoFilterType_enum`.
 51177  	// The property is unset if the information is not available.
 51178  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 51179  	// Short description of the IO Filter.
 51180  	//
 51181  	// The property is unset if the information is not available.
 51182  	Summary string `xml:"summary,omitempty" json:"summary,omitempty"`
 51183  	// Release date of the IO Filter.
 51184  	//
 51185  	// The property is unset if the information is not available.
 51186  	ReleaseDate string `xml:"releaseDate,omitempty" json:"releaseDate,omitempty"`
 51187  }
 51188  
 51189  func init() {
 51190  	t["IoFilterInfo"] = reflect.TypeOf((*IoFilterInfo)(nil)).Elem()
 51191  }
 51192  
 51193  // Specifies an SSL trust policy.
 51194  type IoFilterManagerSslTrust struct {
 51195  	DynamicData
 51196  }
 51197  
 51198  func init() {
 51199  	t["IoFilterManagerSslTrust"] = reflect.TypeOf((*IoFilterManagerSslTrust)(nil)).Elem()
 51200  	minAPIVersionForType["IoFilterManagerSslTrust"] = "8.0.3.0"
 51201  }
 51202  
 51203  // Result for `IoFilterManager.QueryIoFilterIssues`.
 51204  type IoFilterQueryIssueResult struct {
 51205  	DynamicData
 51206  
 51207  	// The type of the operation performed on the IO Filter.
 51208  	//
 51209  	// The set of possible values are defined in
 51210  	// `IoFilterOperation_enum`.
 51211  	OpType string `xml:"opType" json:"opType"`
 51212  	// The issues on hosts.
 51213  	HostIssue []IoFilterHostIssue `xml:"hostIssue,omitempty" json:"hostIssue,omitempty"`
 51214  }
 51215  
 51216  func init() {
 51217  	t["IoFilterQueryIssueResult"] = reflect.TypeOf((*IoFilterQueryIssueResult)(nil)).Elem()
 51218  }
 51219  
 51220  // This is the abstract base class for IP address.
 51221  type IpAddress struct {
 51222  	NegatableExpression
 51223  }
 51224  
 51225  func init() {
 51226  	t["IpAddress"] = reflect.TypeOf((*IpAddress)(nil)).Elem()
 51227  }
 51228  
 51229  // The `IpAddressProfile` represents the Virtual NIC IP address.
 51230  //
 51231  // The `ApplyProfile.policy` property contains
 51232  // the configuration data values for the IP address.
 51233  type IpAddressProfile struct {
 51234  	ApplyProfile
 51235  }
 51236  
 51237  func init() {
 51238  	t["IpAddressProfile"] = reflect.TypeOf((*IpAddressProfile)(nil)).Elem()
 51239  }
 51240  
 51241  // An error occurred while running the IP/hostname generator application
 51242  type IpHostnameGeneratorError struct {
 51243  	CustomizationFault
 51244  }
 51245  
 51246  func init() {
 51247  	t["IpHostnameGeneratorError"] = reflect.TypeOf((*IpHostnameGeneratorError)(nil)).Elem()
 51248  }
 51249  
 51250  type IpHostnameGeneratorErrorFault IpHostnameGeneratorError
 51251  
 51252  func init() {
 51253  	t["IpHostnameGeneratorErrorFault"] = reflect.TypeOf((*IpHostnameGeneratorErrorFault)(nil)).Elem()
 51254  }
 51255  
 51256  // Specifications of the network configuration to be used on a
 51257  // network.
 51258  //
 51259  // This is used to generate IP addresses and for self-customization
 51260  // of vApps.
 51261  type IpPool struct {
 51262  	DynamicData
 51263  
 51264  	// Unique ID, generated by the server.
 51265  	//
 51266  	// This is used to identify the pool in
 51267  	// subsequent lookups or updates. The generated value is also returned by the `IpPoolManager.CreateIpPool` method.
 51268  	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
 51269  	// Pool name.
 51270  	//
 51271  	// The pool name must be unique within the datacenter.
 51272  	//
 51273  	// Any / (slash), \\ (backslash), character used in this
 51274  	// name element is escaped. Similarly, any % (percent) character used in
 51275  	// this name element is escaped, unless it is used to start an escape
 51276  	// sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or
 51277  	// %5c, and a percent is escaped as %25.
 51278  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 51279  	// IPv4 configuration.
 51280  	//
 51281  	// This configuration is always present on the pool. To disable allocation, set the
 51282  	// ipPoolEnabled flag of the config to false.
 51283  	Ipv4Config *IpPoolIpPoolConfigInfo `xml:"ipv4Config,omitempty" json:"ipv4Config,omitempty"`
 51284  	// IPv6 configuration.
 51285  	//
 51286  	// This configuration is always present on the pool. To disable allocation, set the
 51287  	// ipPoolEnabled flag of the config to false.
 51288  	Ipv6Config *IpPoolIpPoolConfigInfo `xml:"ipv6Config,omitempty" json:"ipv6Config,omitempty"`
 51289  	// DNS Domain.
 51290  	//
 51291  	// For example, vmware.com. This can be an empty string if no
 51292  	// domain is configured.
 51293  	DnsDomain string `xml:"dnsDomain,omitempty" json:"dnsDomain,omitempty"`
 51294  	// DNS Search Path.
 51295  	//
 51296  	// For example, eng.vmware.com;vmware.com
 51297  	DnsSearchPath string `xml:"dnsSearchPath,omitempty" json:"dnsSearchPath,omitempty"`
 51298  	// Prefix for hostnames.
 51299  	HostPrefix string `xml:"hostPrefix,omitempty" json:"hostPrefix,omitempty"`
 51300  	// The HTTP proxy to use on this network, e.g., &lt;host&gt;:&lt;port&gt;
 51301  	HttpProxy string `xml:"httpProxy,omitempty" json:"httpProxy,omitempty"`
 51302  	// The networks that are associated with this IP pool
 51303  	NetworkAssociation []IpPoolAssociation `xml:"networkAssociation,omitempty" json:"networkAssociation,omitempty"`
 51304  	// The number of IPv4 addresses available for allocation.
 51305  	AvailableIpv4Addresses int32 `xml:"availableIpv4Addresses,omitempty" json:"availableIpv4Addresses,omitempty"`
 51306  	// The number of IPv6 addresses available for allocation.
 51307  	AvailableIpv6Addresses int32 `xml:"availableIpv6Addresses,omitempty" json:"availableIpv6Addresses,omitempty"`
 51308  	// The number of allocated IPv4 addresses.
 51309  	AllocatedIpv4Addresses int32 `xml:"allocatedIpv4Addresses,omitempty" json:"allocatedIpv4Addresses,omitempty"`
 51310  	// The number of allocated IPv6 addresses.
 51311  	AllocatedIpv6Addresses int32 `xml:"allocatedIpv6Addresses,omitempty" json:"allocatedIpv6Addresses,omitempty"`
 51312  }
 51313  
 51314  func init() {
 51315  	t["IpPool"] = reflect.TypeOf((*IpPool)(nil)).Elem()
 51316  }
 51317  
 51318  // Information about a network or portgroup that is associated to an IP pool.
 51319  type IpPoolAssociation struct {
 51320  	DynamicData
 51321  
 51322  	// The network object
 51323  	//
 51324  	// Refers instance of `Network`.
 51325  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
 51326  	// The name of the network or portgroup
 51327  	//
 51328  	// This field is only used when querying existing IP pools. It is ignored when
 51329  	// creating or updating pools.
 51330  	NetworkName string `xml:"networkName" json:"networkName"`
 51331  }
 51332  
 51333  func init() {
 51334  	t["IpPoolAssociation"] = reflect.TypeOf((*IpPoolAssociation)(nil)).Elem()
 51335  }
 51336  
 51337  // Specifications of either IPv4 or IPv6 configuration to be used
 51338  // on this network.
 51339  //
 51340  // This is a part of network configuration.
 51341  //
 51342  // IPv4 addresses are in dot-decimal notation, e.g.: 192.0.2.235
 51343  //
 51344  // IPv6 addresses are in colon-hexadecimal notation,
 51345  // e.g.: 2001:0db8:85a3::0370:7334
 51346  type IpPoolIpPoolConfigInfo struct {
 51347  	DynamicData
 51348  
 51349  	// Address of the subnet.
 51350  	//
 51351  	// For example:
 51352  	//   - IPv4: 192.168.5.0
 51353  	//   - IPv6: 2001:0db8:85a3::
 51354  	SubnetAddress string `xml:"subnetAddress,omitempty" json:"subnetAddress,omitempty"`
 51355  	// Netmask
 51356  	//
 51357  	// For example:
 51358  	//   - IPv4: 255.255.255.0
 51359  	//   - IPv6: ffff:ffff:ffff::
 51360  	Netmask string `xml:"netmask,omitempty" json:"netmask,omitempty"`
 51361  	// Gateway.
 51362  	//
 51363  	// This can be an empty string - if no gateway is configured.
 51364  	//
 51365  	// Examples:
 51366  	//   - IPv4: 192.168.5.1
 51367  	//   - IPv6: 2001:0db8:85a3::1
 51368  	Gateway string `xml:"gateway,omitempty" json:"gateway,omitempty"`
 51369  	// IP range.
 51370  	//
 51371  	// This is specified as a set of ranges separated with commas.
 51372  	// One range is given by a start address, a hash (#), and the length
 51373  	// of the range.
 51374  	//
 51375  	// For example:
 51376  	//   - 192.0.2.235 # 20 is the IPv4 range from 192.0.2.235 to 192.0.2.254
 51377  	//   - 2001::7334 # 20 is the IPv6 range from 2001::7334 to 2001::7347
 51378  	Range string `xml:"range,omitempty" json:"range,omitempty"`
 51379  	// DNS servers
 51380  	//
 51381  	// For example:
 51382  	//   - IPv4: \["10.20.0.1", "10.20.0.2"\]
 51383  	//   - IPv6: \["2001:0db8:85a3::0370:7334", "2001:0db8:85a3::0370:7335"\]
 51384  	//
 51385  	// If an empty list is passed, the existing value remains unchanged. To clear this
 51386  	// list, pass an array containing the empty string as it's only element.
 51387  	Dns []string `xml:"dns,omitempty" json:"dns,omitempty"`
 51388  	// Whether a DHCP server is available on this network.
 51389  	DhcpServerAvailable *bool `xml:"dhcpServerAvailable" json:"dhcpServerAvailable,omitempty"`
 51390  	// IP addresses can only be allocated from the range if the IP pool is
 51391  	// enabled.
 51392  	IpPoolEnabled *bool `xml:"ipPoolEnabled" json:"ipPoolEnabled,omitempty"`
 51393  }
 51394  
 51395  func init() {
 51396  	t["IpPoolIpPoolConfigInfo"] = reflect.TypeOf((*IpPoolIpPoolConfigInfo)(nil)).Elem()
 51397  }
 51398  
 51399  // Describes an IP allocation.
 51400  type IpPoolManagerIpAllocation struct {
 51401  	DynamicData
 51402  
 51403  	// IP address
 51404  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 51405  	// The allocation ID
 51406  	AllocationId string `xml:"allocationId" json:"allocationId"`
 51407  }
 51408  
 51409  func init() {
 51410  	t["IpPoolManagerIpAllocation"] = reflect.TypeOf((*IpPoolManagerIpAllocation)(nil)).Elem()
 51411  }
 51412  
 51413  // This class specifies a range of IP addresses by using prefix.
 51414  //
 51415  // Usage: 128.20.20.10/24. Here 128.20.20.10 is IP address
 51416  // and 24 is prefix length.
 51417  type IpRange struct {
 51418  	IpAddress
 51419  
 51420  	// IP address prefix.
 51421  	AddressPrefix string `xml:"addressPrefix" json:"addressPrefix"`
 51422  	// Prefix length with max value of 32 for IPv4 and 128 for IPv6.
 51423  	PrefixLength int32 `xml:"prefixLength,omitempty" json:"prefixLength,omitempty"`
 51424  }
 51425  
 51426  func init() {
 51427  	t["IpRange"] = reflect.TypeOf((*IpRange)(nil)).Elem()
 51428  }
 51429  
 51430  // The `IpRouteProfile` data object represents the host IP route configuration.
 51431  //
 51432  // If a profile plug-in defines policies or subprofiles, use the
 51433  // `ApplyProfile.policy` or `ApplyProfile.property`
 51434  // list to access the additional configuration data.
 51435  type IpRouteProfile struct {
 51436  	ApplyProfile
 51437  
 51438  	// List of static routes to be configured.
 51439  	StaticRoute []StaticRouteProfile `xml:"staticRoute,omitempty" json:"staticRoute,omitempty"`
 51440  }
 51441  
 51442  func init() {
 51443  	t["IpRouteProfile"] = reflect.TypeOf((*IpRouteProfile)(nil)).Elem()
 51444  }
 51445  
 51446  type IsClusteredVmdkEnabled IsClusteredVmdkEnabledRequestType
 51447  
 51448  func init() {
 51449  	t["IsClusteredVmdkEnabled"] = reflect.TypeOf((*IsClusteredVmdkEnabled)(nil)).Elem()
 51450  }
 51451  
 51452  type IsClusteredVmdkEnabledRequestType struct {
 51453  	This ManagedObjectReference `xml:"_this" json:"-"`
 51454  }
 51455  
 51456  func init() {
 51457  	t["IsClusteredVmdkEnabledRequestType"] = reflect.TypeOf((*IsClusteredVmdkEnabledRequestType)(nil)).Elem()
 51458  }
 51459  
 51460  type IsClusteredVmdkEnabledResponse struct {
 51461  	Returnval bool `xml:"returnval" json:"returnval"`
 51462  }
 51463  
 51464  type IsGuestOsCustomizable IsGuestOsCustomizableRequestType
 51465  
 51466  func init() {
 51467  	t["IsGuestOsCustomizable"] = reflect.TypeOf((*IsGuestOsCustomizable)(nil)).Elem()
 51468  }
 51469  
 51470  // The parameters of `CustomizationSpecManager.IsGuestOsCustomizable`.
 51471  type IsGuestOsCustomizableRequestType struct {
 51472  	This ManagedObjectReference `xml:"_this" json:"-"`
 51473  	// Short name from the guest OS descriptor list describing the
 51474  	// OS we intend to check.
 51475  	GuestId string `xml:"guestId" json:"guestId"`
 51476  }
 51477  
 51478  func init() {
 51479  	t["IsGuestOsCustomizableRequestType"] = reflect.TypeOf((*IsGuestOsCustomizableRequestType)(nil)).Elem()
 51480  	minAPIVersionForType["IsGuestOsCustomizableRequestType"] = "9.0.0.0"
 51481  }
 51482  
 51483  type IsGuestOsCustomizableResponse struct {
 51484  	Returnval bool `xml:"returnval" json:"returnval"`
 51485  }
 51486  
 51487  type IsKmsClusterActive IsKmsClusterActiveRequestType
 51488  
 51489  func init() {
 51490  	t["IsKmsClusterActive"] = reflect.TypeOf((*IsKmsClusterActive)(nil)).Elem()
 51491  }
 51492  
 51493  // The parameters of `CryptoManagerKmip.IsKmsClusterActive`.
 51494  type IsKmsClusterActiveRequestType struct {
 51495  	This ManagedObjectReference `xml:"_this" json:"-"`
 51496  	// \[in\] KMIP cluster.
 51497  	// Will use default cluster if omitted.
 51498  	Cluster *KeyProviderId `xml:"cluster,omitempty" json:"cluster,omitempty"`
 51499  }
 51500  
 51501  func init() {
 51502  	t["IsKmsClusterActiveRequestType"] = reflect.TypeOf((*IsKmsClusterActiveRequestType)(nil)).Elem()
 51503  }
 51504  
 51505  type IsKmsClusterActiveResponse struct {
 51506  	Returnval bool `xml:"returnval" json:"returnval"`
 51507  }
 51508  
 51509  type IsSharedGraphicsActive IsSharedGraphicsActiveRequestType
 51510  
 51511  func init() {
 51512  	t["IsSharedGraphicsActive"] = reflect.TypeOf((*IsSharedGraphicsActive)(nil)).Elem()
 51513  }
 51514  
 51515  type IsSharedGraphicsActiveRequestType struct {
 51516  	This ManagedObjectReference `xml:"_this" json:"-"`
 51517  }
 51518  
 51519  func init() {
 51520  	t["IsSharedGraphicsActiveRequestType"] = reflect.TypeOf((*IsSharedGraphicsActiveRequestType)(nil)).Elem()
 51521  }
 51522  
 51523  type IsSharedGraphicsActiveResponse struct {
 51524  	Returnval bool `xml:"returnval" json:"returnval"`
 51525  }
 51526  
 51527  // Defines a dependency entity.
 51528  //
 51529  // Contains the affected Virtual NIC device name and iSCSI HBA name
 51530  // (if Virtual NIC is associated with the HBA).
 51531  // See `IscsiMigrationDependency`
 51532  type IscsiDependencyEntity struct {
 51533  	DynamicData
 51534  
 51535  	// The affected Physical NIC device
 51536  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 51537  	// The affected Virtual NIC device
 51538  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51539  	// The iSCSI HBA that the Virtual NIC is associated with, if any.
 51540  	VmhbaName string `xml:"vmhbaName" json:"vmhbaName"`
 51541  }
 51542  
 51543  func init() {
 51544  	t["IscsiDependencyEntity"] = reflect.TypeOf((*IscsiDependencyEntity)(nil)).Elem()
 51545  }
 51546  
 51547  // Base class for faults that can be thrown while invoking iSCSI management operations.
 51548  type IscsiFault struct {
 51549  	VimFault
 51550  }
 51551  
 51552  func init() {
 51553  	t["IscsiFault"] = reflect.TypeOf((*IscsiFault)(nil)).Elem()
 51554  }
 51555  
 51556  type IscsiFaultFault BaseIscsiFault
 51557  
 51558  func init() {
 51559  	t["IscsiFaultFault"] = reflect.TypeOf((*IscsiFaultFault)(nil)).Elem()
 51560  }
 51561  
 51562  // This fault indicates an attempt is made to bind a Virtual NIC to an iSCSI adapter
 51563  // where the Virtual NIC has no association with the adapter.
 51564  //
 51565  // For ex: The uplink for
 51566  // the given Virtual NIC is not valid for the iSCSI HBA.
 51567  type IscsiFaultInvalidVnic struct {
 51568  	IscsiFault
 51569  
 51570  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51571  }
 51572  
 51573  func init() {
 51574  	t["IscsiFaultInvalidVnic"] = reflect.TypeOf((*IscsiFaultInvalidVnic)(nil)).Elem()
 51575  }
 51576  
 51577  type IscsiFaultInvalidVnicFault IscsiFaultInvalidVnic
 51578  
 51579  func init() {
 51580  	t["IscsiFaultInvalidVnicFault"] = reflect.TypeOf((*IscsiFaultInvalidVnicFault)(nil)).Elem()
 51581  }
 51582  
 51583  // This fault indicates the given Physical NIC is being used by iSCSI HBA.
 51584  type IscsiFaultPnicInUse struct {
 51585  	IscsiFault
 51586  
 51587  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 51588  }
 51589  
 51590  func init() {
 51591  	t["IscsiFaultPnicInUse"] = reflect.TypeOf((*IscsiFaultPnicInUse)(nil)).Elem()
 51592  }
 51593  
 51594  type IscsiFaultPnicInUseFault IscsiFaultPnicInUse
 51595  
 51596  func init() {
 51597  	t["IscsiFaultPnicInUseFault"] = reflect.TypeOf((*IscsiFaultPnicInUseFault)(nil)).Elem()
 51598  }
 51599  
 51600  // This fault indicates that the given Virtual NIC is already bound to the iSCSI HBA.
 51601  type IscsiFaultVnicAlreadyBound struct {
 51602  	IscsiFault
 51603  
 51604  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51605  }
 51606  
 51607  func init() {
 51608  	t["IscsiFaultVnicAlreadyBound"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBound)(nil)).Elem()
 51609  }
 51610  
 51611  type IscsiFaultVnicAlreadyBoundFault IscsiFaultVnicAlreadyBound
 51612  
 51613  func init() {
 51614  	t["IscsiFaultVnicAlreadyBoundFault"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBoundFault)(nil)).Elem()
 51615  }
 51616  
 51617  // This fault indicates the given Virtual NIC has active storage paths associated with it.
 51618  type IscsiFaultVnicHasActivePaths struct {
 51619  	IscsiFault
 51620  
 51621  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51622  }
 51623  
 51624  func init() {
 51625  	t["IscsiFaultVnicHasActivePaths"] = reflect.TypeOf((*IscsiFaultVnicHasActivePaths)(nil)).Elem()
 51626  }
 51627  
 51628  type IscsiFaultVnicHasActivePathsFault IscsiFaultVnicHasActivePaths
 51629  
 51630  func init() {
 51631  	t["IscsiFaultVnicHasActivePathsFault"] = reflect.TypeOf((*IscsiFaultVnicHasActivePathsFault)(nil)).Elem()
 51632  }
 51633  
 51634  // This fault indicates that the Virtual NIC has multiple uplinks and not suitable for iSCSI
 51635  // multi-pathing and can not be bound to iSCSI HBA.
 51636  type IscsiFaultVnicHasMultipleUplinks struct {
 51637  	IscsiFault
 51638  
 51639  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51640  }
 51641  
 51642  func init() {
 51643  	t["IscsiFaultVnicHasMultipleUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinks)(nil)).Elem()
 51644  }
 51645  
 51646  type IscsiFaultVnicHasMultipleUplinksFault IscsiFaultVnicHasMultipleUplinks
 51647  
 51648  func init() {
 51649  	t["IscsiFaultVnicHasMultipleUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinksFault)(nil)).Elem()
 51650  }
 51651  
 51652  // This fault indicates the given Virtual NIC has no uplinks and not suitable for iSCSI
 51653  // multi-pathing configuration.
 51654  type IscsiFaultVnicHasNoUplinks struct {
 51655  	IscsiFault
 51656  
 51657  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51658  }
 51659  
 51660  func init() {
 51661  	t["IscsiFaultVnicHasNoUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinks)(nil)).Elem()
 51662  }
 51663  
 51664  type IscsiFaultVnicHasNoUplinksFault IscsiFaultVnicHasNoUplinks
 51665  
 51666  func init() {
 51667  	t["IscsiFaultVnicHasNoUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinksFault)(nil)).Elem()
 51668  }
 51669  
 51670  // This fault indicates the given Virtual NIC has the wrong Physical uplink
 51671  // for iSCSI multi-pathing configuration.
 51672  //
 51673  // The Physical uplink is not associated
 51674  // with the iSCSI Host Bus Adapter.
 51675  type IscsiFaultVnicHasWrongUplink struct {
 51676  	IscsiFault
 51677  
 51678  	// Contains the VMkernel virtual NIC device name.
 51679  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51680  }
 51681  
 51682  func init() {
 51683  	t["IscsiFaultVnicHasWrongUplink"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplink)(nil)).Elem()
 51684  }
 51685  
 51686  type IscsiFaultVnicHasWrongUplinkFault IscsiFaultVnicHasWrongUplink
 51687  
 51688  func init() {
 51689  	t["IscsiFaultVnicHasWrongUplinkFault"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplinkFault)(nil)).Elem()
 51690  }
 51691  
 51692  // This fault indicates the given Virtual NIC is being used by iSCSI and the requested operation can't be completed.
 51693  type IscsiFaultVnicInUse struct {
 51694  	IscsiFault
 51695  
 51696  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51697  }
 51698  
 51699  func init() {
 51700  	t["IscsiFaultVnicInUse"] = reflect.TypeOf((*IscsiFaultVnicInUse)(nil)).Elem()
 51701  }
 51702  
 51703  type IscsiFaultVnicInUseFault IscsiFaultVnicInUse
 51704  
 51705  func init() {
 51706  	t["IscsiFaultVnicInUseFault"] = reflect.TypeOf((*IscsiFaultVnicInUseFault)(nil)).Elem()
 51707  }
 51708  
 51709  // This fault indicates that the given Virtual NIC is associated with the only path to the storage.
 51710  //
 51711  // Any attempt to unbind this
 51712  // from iSCSI HBA would result in storage being inaccessible.
 51713  type IscsiFaultVnicIsLastPath struct {
 51714  	IscsiFault
 51715  
 51716  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51717  }
 51718  
 51719  func init() {
 51720  	t["IscsiFaultVnicIsLastPath"] = reflect.TypeOf((*IscsiFaultVnicIsLastPath)(nil)).Elem()
 51721  }
 51722  
 51723  type IscsiFaultVnicIsLastPathFault IscsiFaultVnicIsLastPath
 51724  
 51725  func init() {
 51726  	t["IscsiFaultVnicIsLastPathFault"] = reflect.TypeOf((*IscsiFaultVnicIsLastPathFault)(nil)).Elem()
 51727  }
 51728  
 51729  // This fault indicates an attempt was made to remove a Virtual NIC from an iSCSI HBA while
 51730  // Virtual NIC is not associated with the adapter.
 51731  type IscsiFaultVnicNotBound struct {
 51732  	IscsiFault
 51733  
 51734  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51735  }
 51736  
 51737  func init() {
 51738  	t["IscsiFaultVnicNotBound"] = reflect.TypeOf((*IscsiFaultVnicNotBound)(nil)).Elem()
 51739  }
 51740  
 51741  type IscsiFaultVnicNotBoundFault IscsiFaultVnicNotBound
 51742  
 51743  func init() {
 51744  	t["IscsiFaultVnicNotBoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotBoundFault)(nil)).Elem()
 51745  }
 51746  
 51747  // This fault indicates an attempt was made to add a non-existent Virtual NIC adapter.
 51748  type IscsiFaultVnicNotFound struct {
 51749  	IscsiFault
 51750  
 51751  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 51752  }
 51753  
 51754  func init() {
 51755  	t["IscsiFaultVnicNotFound"] = reflect.TypeOf((*IscsiFaultVnicNotFound)(nil)).Elem()
 51756  }
 51757  
 51758  type IscsiFaultVnicNotFoundFault IscsiFaultVnicNotFound
 51759  
 51760  func init() {
 51761  	t["IscsiFaultVnicNotFoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotFoundFault)(nil)).Elem()
 51762  }
 51763  
 51764  // Provides migration dependency information for a given Physical NIC.
 51765  //
 51766  // Lists all the iSCSI and networking resources impacted if
 51767  // migration of a given Physical NIC is to take place.
 51768  type IscsiMigrationDependency struct {
 51769  	DynamicData
 51770  
 51771  	// Indicates whether migration can be safely performed
 51772  	// If migrationAllowed is False, the disallowReason will
 51773  	// contain the specific condition that makes the migration
 51774  	// attempt unsafe.
 51775  	MigrationAllowed bool `xml:"migrationAllowed" json:"migrationAllowed"`
 51776  	// Reasons for not allowing migration.
 51777  	//
 51778  	// Unset if migrationAllowed is true.
 51779  	DisallowReason *IscsiStatus `xml:"disallowReason,omitempty" json:"disallowReason,omitempty"`
 51780  	// Details of all the resources affected by migration.
 51781  	Dependency []IscsiDependencyEntity `xml:"dependency,omitempty" json:"dependency,omitempty"`
 51782  }
 51783  
 51784  func init() {
 51785  	t["IscsiMigrationDependency"] = reflect.TypeOf((*IscsiMigrationDependency)(nil)).Elem()
 51786  }
 51787  
 51788  // The `IscsiPortInfo` data object describes the
 51789  // Virtual NIC that are bound to an iSCSI adapter and
 51790  // also it describes the candidate Virtual NICs that
 51791  // can be bound to a given iSCSI adapter.
 51792  type IscsiPortInfo struct {
 51793  	DynamicData
 51794  
 51795  	// Virtual NIC Name.
 51796  	//
 51797  	// Contains the name of the Virtual NIC device. This may be
 51798  	// unset in case where the bound Virtual NIC doesn't have the system object or
 51799  	// where a candidate Physical NIC isn't associated with any Virtual NIC.
 51800  	VnicDevice string `xml:"vnicDevice,omitempty" json:"vnicDevice,omitempty"`
 51801  	// Virtual NIC Object corresponding to the vnicDevice.
 51802  	//
 51803  	// May be unset if Virtual NIC object corresponding to vnicDevice doesn't
 51804  	// exist in the system.
 51805  	Vnic *HostVirtualNic `xml:"vnic,omitempty" json:"vnic,omitempty"`
 51806  	// Physical NIC Name.
 51807  	PnicDevice string `xml:"pnicDevice,omitempty" json:"pnicDevice,omitempty"`
 51808  	// Physical NIC Object corresponding to the pnicDevice.
 51809  	//
 51810  	// May be unset if Physical NIC object corresponding to pnicDevice doesn't
 51811  	// exist in the system or the vnicDevice doesn't have any Physical NIC
 51812  	// associated with it.
 51813  	Pnic *PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
 51814  	// Name of the virtual switch this Physical/Virtual NIC belongs.
 51815  	//
 51816  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 51817  	// virtual switch associated with them.
 51818  	SwitchName string `xml:"switchName,omitempty" json:"switchName,omitempty"`
 51819  	// UUID of the virtual switch this Physical/Virtual NIC belongs.
 51820  	//
 51821  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 51822  	// virtual switch associated with them or the associated switch is not VDS.
 51823  	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
 51824  	// Name of the portgroup to which this Virtual NIC belongs.
 51825  	//
 51826  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 51827  	// Portgroup associated with them.
 51828  	PortgroupName string `xml:"portgroupName,omitempty" json:"portgroupName,omitempty"`
 51829  	// Portgroup key to which this Virtual NIC belongs.
 51830  	//
 51831  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 51832  	// Portgroup associated with them or the associated portgroup does
 51833  	// is not of VDS type.
 51834  	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 51835  	// portkey to which this Virtual NIC belongs.
 51836  	//
 51837  	// May be unset if the vnicDevice is not assigned to a specific port or
 51838  	// the switch is not VDS.
 51839  	PortKey string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 51840  	// ID of the Opaque network to which the virtual NIC is connected.
 51841  	//
 51842  	// This property is set only when vnicDevice is associated with an
 51843  	// opaque network.
 51844  	OpaqueNetworkId string `xml:"opaqueNetworkId,omitempty" json:"opaqueNetworkId,omitempty"`
 51845  	// Type of the Opaque network to which the virtual NIC is connected.
 51846  	//
 51847  	// This property is set only when vnicDevice is associated with an
 51848  	// opaque network.
 51849  	OpaqueNetworkType string `xml:"opaqueNetworkType,omitempty" json:"opaqueNetworkType,omitempty"`
 51850  	// Name of the Opaque network to which the virtual NIC is connected.
 51851  	//
 51852  	// This property is set only when vnicDevice is associated with an
 51853  	// opaque network.
 51854  	OpaqueNetworkName string `xml:"opaqueNetworkName,omitempty" json:"opaqueNetworkName,omitempty"`
 51855  	// An ID assigned to the vmkernel adapter by external management plane
 51856  	// or controller.
 51857  	//
 51858  	// This property is set only when vnicDevice is associated with an
 51859  	// opaque network.
 51860  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty"`
 51861  	// Status indicating whether the Virtual NIC is compliant with the
 51862  	// network policy that is required by iSCSI port binding.
 51863  	//
 51864  	// May be unset in the candidate NIC list.
 51865  	ComplianceStatus *IscsiStatus `xml:"complianceStatus,omitempty" json:"complianceStatus,omitempty"`
 51866  	// A status, as defined in `IscsiPortInfoPathStatus_enum`, indicating the
 51867  	// existing storage paths dependency level on a given Virtual NIC.
 51868  	//
 51869  	// May be unset in the candidate NIC list.
 51870  	PathStatus string `xml:"pathStatus,omitempty" json:"pathStatus,omitempty"`
 51871  }
 51872  
 51873  func init() {
 51874  	t["IscsiPortInfo"] = reflect.TypeOf((*IscsiPortInfo)(nil)).Elem()
 51875  }
 51876  
 51877  // The `IscsiStatus` data object describes the
 51878  // status of an operation.
 51879  type IscsiStatus struct {
 51880  	DynamicData
 51881  
 51882  	// List of failure reason and associated remedy.
 51883  	//
 51884  	// An array of fault codes associated with the failure. The fault itself
 51885  	// will provide an indication of the actual failure code and
 51886  	// `MethodFault.faultMessage` will indicate the remedy that
 51887  	// needs to be taken to correct the failure.
 51888  	Reason []LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
 51889  }
 51890  
 51891  func init() {
 51892  	t["IscsiStatus"] = reflect.TypeOf((*IscsiStatus)(nil)).Elem()
 51893  }
 51894  
 51895  // This data object type describes a file that is an ISO CD-ROM image.
 51896  type IsoImageFileInfo struct {
 51897  	FileInfo
 51898  }
 51899  
 51900  func init() {
 51901  	t["IsoImageFileInfo"] = reflect.TypeOf((*IsoImageFileInfo)(nil)).Elem()
 51902  }
 51903  
 51904  // This data object type describes the query specification for an ISO CD-ROM image.
 51905  type IsoImageFileQuery struct {
 51906  	FileQuery
 51907  }
 51908  
 51909  func init() {
 51910  	t["IsoImageFileQuery"] = reflect.TypeOf((*IsoImageFileQuery)(nil)).Elem()
 51911  }
 51912  
 51913  // The parameters of `HostActiveDirectoryAuthentication.JoinDomain_Task`.
 51914  type JoinDomainRequestType struct {
 51915  	This ManagedObjectReference `xml:"_this" json:"-"`
 51916  	// Name of the domain to be joined.
 51917  	DomainName string `xml:"domainName" json:"domainName"`
 51918  	// Name for an Active Directory account
 51919  	// that has the authority to add hosts to the domain.
 51920  	UserName string `xml:"userName" json:"userName"`
 51921  	// Password for the <code>userName</code> account.
 51922  	Password string `xml:"password" json:"password"`
 51923  }
 51924  
 51925  func init() {
 51926  	t["JoinDomainRequestType"] = reflect.TypeOf((*JoinDomainRequestType)(nil)).Elem()
 51927  }
 51928  
 51929  // The parameters of `HostActiveDirectoryAuthentication.JoinDomainWithCAM_Task`.
 51930  type JoinDomainWithCAMRequestType struct {
 51931  	This ManagedObjectReference `xml:"_this" json:"-"`
 51932  	// Name of the domain to be joined.
 51933  	DomainName string `xml:"domainName" json:"domainName"`
 51934  	// Name of server providing the CAM service.
 51935  	CamServer string `xml:"camServer" json:"camServer"`
 51936  }
 51937  
 51938  func init() {
 51939  	t["JoinDomainWithCAMRequestType"] = reflect.TypeOf((*JoinDomainWithCAMRequestType)(nil)).Elem()
 51940  }
 51941  
 51942  type JoinDomainWithCAM_Task JoinDomainWithCAMRequestType
 51943  
 51944  func init() {
 51945  	t["JoinDomainWithCAM_Task"] = reflect.TypeOf((*JoinDomainWithCAM_Task)(nil)).Elem()
 51946  }
 51947  
 51948  type JoinDomainWithCAM_TaskResponse struct {
 51949  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 51950  }
 51951  
 51952  type JoinDomain_Task JoinDomainRequestType
 51953  
 51954  func init() {
 51955  	t["JoinDomain_Task"] = reflect.TypeOf((*JoinDomain_Task)(nil)).Elem()
 51956  }
 51957  
 51958  type JoinDomain_TaskResponse struct {
 51959  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 51960  }
 51961  
 51962  // Information about a kernel module.
 51963  type KernelModuleInfo struct {
 51964  	DynamicData
 51965  
 51966  	// Module ID.
 51967  	Id int32 `xml:"id" json:"id"`
 51968  	// Module name.
 51969  	Name string `xml:"name" json:"name"`
 51970  	// Version string.
 51971  	Version string `xml:"version" json:"version"`
 51972  	// Module filename, without the path.
 51973  	Filename string `xml:"filename" json:"filename"`
 51974  	// Option string configured to be passed to the kernel module when loaded.
 51975  	//
 51976  	// Note that this is not necessarily the option string currently in use by
 51977  	// the kernel module.
 51978  	OptionString string `xml:"optionString" json:"optionString"`
 51979  	// Is the module loaded?
 51980  	Loaded bool `xml:"loaded" json:"loaded"`
 51981  	// Is the module enabled?
 51982  	Enabled bool `xml:"enabled" json:"enabled"`
 51983  	// Number of references to this module.
 51984  	UseCount int32 `xml:"useCount" json:"useCount"`
 51985  	// Read-only section information.
 51986  	ReadOnlySection KernelModuleSectionInfo `xml:"readOnlySection" json:"readOnlySection"`
 51987  	// Writable section information.
 51988  	WritableSection KernelModuleSectionInfo `xml:"writableSection" json:"writableSection"`
 51989  	// Text section information.
 51990  	TextSection KernelModuleSectionInfo `xml:"textSection" json:"textSection"`
 51991  	// Data section information.
 51992  	DataSection KernelModuleSectionInfo `xml:"dataSection" json:"dataSection"`
 51993  	// BSS section information.
 51994  	BssSection KernelModuleSectionInfo `xml:"bssSection" json:"bssSection"`
 51995  }
 51996  
 51997  func init() {
 51998  	t["KernelModuleInfo"] = reflect.TypeOf((*KernelModuleInfo)(nil)).Elem()
 51999  }
 52000  
 52001  // Information about a module section.
 52002  type KernelModuleSectionInfo struct {
 52003  	DynamicData
 52004  
 52005  	// Base address of section.
 52006  	Address int64 `xml:"address" json:"address"`
 52007  	// Section length.
 52008  	Length int32 `xml:"length,omitempty" json:"length,omitempty"`
 52009  }
 52010  
 52011  func init() {
 52012  	t["KernelModuleSectionInfo"] = reflect.TypeOf((*KernelModuleSectionInfo)(nil)).Elem()
 52013  }
 52014  
 52015  // Non-localized key/value pair in which the
 52016  // the value can be of any type.
 52017  type KeyAnyValue struct {
 52018  	DynamicData
 52019  
 52020  	// the key
 52021  	Key string `xml:"key" json:"key"`
 52022  	// the value
 52023  	Value AnyType `xml:"value,typeattr" json:"value"`
 52024  }
 52025  
 52026  func init() {
 52027  	t["KeyAnyValue"] = reflect.TypeOf((*KeyAnyValue)(nil)).Elem()
 52028  }
 52029  
 52030  // An KeyNotFound fault is returned when the key does not exist among
 52031  // key value pairs.
 52032  type KeyNotFound struct {
 52033  	VimFault
 52034  
 52035  	// The non existing key.
 52036  	Key string `xml:"key" json:"key"`
 52037  }
 52038  
 52039  func init() {
 52040  	t["KeyNotFound"] = reflect.TypeOf((*KeyNotFound)(nil)).Elem()
 52041  }
 52042  
 52043  type KeyNotFoundFault KeyNotFound
 52044  
 52045  func init() {
 52046  	t["KeyNotFoundFault"] = reflect.TypeOf((*KeyNotFoundFault)(nil)).Elem()
 52047  }
 52048  
 52049  // Data Object representing a crypto key provider's unique identifier.
 52050  type KeyProviderId struct {
 52051  	DynamicData
 52052  
 52053  	// Globally unique ID for the crypto key provider.
 52054  	//
 52055  	// Servers with the same ID must provide the same keys.
 52056  	// Cannot be empty.
 52057  	Id string `xml:"id" json:"id"`
 52058  }
 52059  
 52060  func init() {
 52061  	t["KeyProviderId"] = reflect.TypeOf((*KeyProviderId)(nil)).Elem()
 52062  }
 52063  
 52064  // Non-localized key/value pair
 52065  type KeyValue struct {
 52066  	DynamicData
 52067  
 52068  	// Key.
 52069  	Key string `xml:"key" json:"key"`
 52070  	// Value.
 52071  	Value string `xml:"value" json:"value"`
 52072  }
 52073  
 52074  func init() {
 52075  	t["KeyValue"] = reflect.TypeOf((*KeyValue)(nil)).Elem()
 52076  }
 52077  
 52078  // Data Object representing a cluster of KMIP servers.
 52079  //
 52080  // All servers in a cluster must provide the same keys.
 52081  type KmipClusterInfo struct {
 52082  	DynamicData
 52083  
 52084  	// Globally unique ID for the servers providing the same keys.
 52085  	//
 52086  	// All KMIP servers with the same clusterId are in a cluster and all must
 52087  	// provide the same keys for redundancy.
 52088  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 52089  	// Servers in this cluster.
 52090  	Servers []KmipServerInfo `xml:"servers,omitempty" json:"servers,omitempty"`
 52091  	// Use this cluster as default for system wide,
 52092  	// when the optional CryptoKeyId.providerId is not set.
 52093  	UseAsDefault bool `xml:"useAsDefault" json:"useAsDefault"`
 52094  	// Key provider management type.
 52095  	//
 52096  	// See `KmipClusterInfoKmsManagementType_enum` for valid values.
 52097  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 52098  	// Use this cluster as default for the managed entities,
 52099  	// when the optional CryptoKeyId.providerId is not set.
 52100  	//
 52101  	// See `CryptoManagerKmip.SetDefaultKmsCluster` for
 52102  	// supported managed entity type.
 52103  	//
 52104  	// Refers instances of `ManagedEntity`.
 52105  	UseAsEntityDefault []ManagedObjectReference `xml:"useAsEntityDefault,omitempty" json:"useAsEntityDefault,omitempty"`
 52106  	HasBackup          *bool                    `xml:"hasBackup" json:"hasBackup,omitempty" vim:"7.0.2.0"`
 52107  	TpmRequired        *bool                    `xml:"tpmRequired" json:"tpmRequired,omitempty" vim:"7.0.2.0"`
 52108  	KeyId              string                   `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"7.0.2.0"`
 52109  	// Key type which the key provider generates by default.
 52110  	//
 52111  	// See `KmipClusterInfoKeyType_enum` for supported values.
 52112  	DefaultKeyType string `xml:"defaultKeyType,omitempty" json:"defaultKeyType,omitempty" vim:"9.0.0.0"`
 52113  	// Key information.
 52114  	KeyInfo BaseKmipClusterInfoKeyInfo `xml:"keyInfo,omitempty,typeattr" json:"keyInfo,omitempty" vim:"9.0.0.0"`
 52115  }
 52116  
 52117  func init() {
 52118  	t["KmipClusterInfo"] = reflect.TypeOf((*KmipClusterInfo)(nil)).Elem()
 52119  }
 52120  
 52121  // Base class of key information.
 52122  type KmipClusterInfoKeyInfo struct {
 52123  	DynamicData
 52124  }
 52125  
 52126  func init() {
 52127  	t["KmipClusterInfoKeyInfo"] = reflect.TypeOf((*KmipClusterInfoKeyInfo)(nil)).Elem()
 52128  	minAPIVersionForType["KmipClusterInfoKeyInfo"] = "9.0.0.0"
 52129  }
 52130  
 52131  // Wrapping key ID key information.
 52132  type KmipClusterInfoWrappingKeyIdKeyInfo struct {
 52133  	KmipClusterInfoKeyInfo
 52134  
 52135  	// Wrapping key identifier.
 52136  	KeyId string `xml:"keyId" json:"keyId"`
 52137  	// The time when `KmipClusterInfoWrappingKeyIdKeyInfo.keyId` was set as the wrapping key ID.
 52138  	ConfiguredTime time.Time `xml:"configuredTime" json:"configuredTime"`
 52139  }
 52140  
 52141  func init() {
 52142  	t["KmipClusterInfoWrappingKeyIdKeyInfo"] = reflect.TypeOf((*KmipClusterInfoWrappingKeyIdKeyInfo)(nil)).Elem()
 52143  	minAPIVersionForType["KmipClusterInfoWrappingKeyIdKeyInfo"] = "9.0.0.0"
 52144  }
 52145  
 52146  // Wrapping rotation interval key information.
 52147  type KmipClusterInfoWrappingRotationIntervalKeyInfo struct {
 52148  	KmipClusterInfoKeyInfo
 52149  
 52150  	// Wrapping key identifier.
 52151  	KeyId string `xml:"keyId,omitempty" json:"keyId,omitempty"`
 52152  	// Wrapping key rotation interval (number of days).
 52153  	RotationInterval int32 `xml:"rotationInterval,omitempty" json:"rotationInterval,omitempty"`
 52154  	// Last wrapping key rotation timestamp.
 52155  	LastRotation *time.Time `xml:"lastRotation" json:"lastRotation,omitempty"`
 52156  }
 52157  
 52158  func init() {
 52159  	t["KmipClusterInfoWrappingRotationIntervalKeyInfo"] = reflect.TypeOf((*KmipClusterInfoWrappingRotationIntervalKeyInfo)(nil)).Elem()
 52160  	minAPIVersionForType["KmipClusterInfoWrappingRotationIntervalKeyInfo"] = "9.0.0.0"
 52161  }
 52162  
 52163  // Data Object representing a KMIP server connection information.
 52164  type KmipServerInfo struct {
 52165  	DynamicData
 52166  
 52167  	// Name for the KMIP server.
 52168  	Name string `xml:"name" json:"name"`
 52169  	// Address of the KMIP server.
 52170  	Address string `xml:"address" json:"address"`
 52171  	// Port of the KMIP server.
 52172  	Port int32 `xml:"port" json:"port"`
 52173  	// Address of the proxy server.
 52174  	//
 52175  	// Set value to empty string to delete the entry.
 52176  	ProxyAddress string `xml:"proxyAddress,omitempty" json:"proxyAddress,omitempty"`
 52177  	// Port of the proxy server.
 52178  	//
 52179  	// Set value "-1" to delete the entry.
 52180  	ProxyPort int32 `xml:"proxyPort,omitempty" json:"proxyPort,omitempty"`
 52181  	// Should auto-reconnect be done.
 52182  	//
 52183  	// Set value "-1" to delete the entry.
 52184  	Reconnect int32 `xml:"reconnect,omitempty" json:"reconnect,omitempty"`
 52185  	// KMIP library protocol handler, e.g.
 52186  	//
 52187  	// KMIP1.
 52188  	// Set value to empty string to delete the entry.
 52189  	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty"`
 52190  	// Non-blocking I/O required.
 52191  	//
 52192  	// Set value "-1" to delete the entry.
 52193  	Nbio int32 `xml:"nbio,omitempty" json:"nbio,omitempty"`
 52194  	// I/O timeout in seconds (-1=none,0=infinite).
 52195  	//
 52196  	// Set value "-1" to delete the entry.
 52197  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 52198  	// Username to authenticate to the KMIP server.
 52199  	//
 52200  	// Set value to empty string to delete the entry.
 52201  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 52202  }
 52203  
 52204  func init() {
 52205  	t["KmipServerInfo"] = reflect.TypeOf((*KmipServerInfo)(nil)).Elem()
 52206  }
 52207  
 52208  // Data Object representing a KMIP server connection spec.
 52209  type KmipServerSpec struct {
 52210  	DynamicData
 52211  
 52212  	// The ID of the KMIP cluster.
 52213  	//
 52214  	// KMIP servers with the same clusterId are in
 52215  	// one cluster and provide the same keys for redundancy.
 52216  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 52217  	// Connection information for the KMIP server.
 52218  	Info KmipServerInfo `xml:"info" json:"info"`
 52219  	// Password to authenticate to the KMIP server.
 52220  	//
 52221  	// Set value to empty string to delete the entry.
 52222  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 52223  	// Key type which the key provider generates by default.
 52224  	//
 52225  	// See `KmipClusterInfoKeyType_enum` for supported values.
 52226  	DefaultKeyType string `xml:"defaultKeyType,omitempty" json:"defaultKeyType,omitempty" vim:"9.0.0.0"`
 52227  	// Specification of key.
 52228  	KeySpec BaseKmipServerSpecKeySpec `xml:"keySpec,omitempty,typeattr" json:"keySpec,omitempty" vim:"9.0.0.0"`
 52229  }
 52230  
 52231  func init() {
 52232  	t["KmipServerSpec"] = reflect.TypeOf((*KmipServerSpec)(nil)).Elem()
 52233  }
 52234  
 52235  // Base class of key specification.
 52236  type KmipServerSpecKeySpec struct {
 52237  	DynamicData
 52238  }
 52239  
 52240  func init() {
 52241  	t["KmipServerSpecKeySpec"] = reflect.TypeOf((*KmipServerSpecKeySpec)(nil)).Elem()
 52242  	minAPIVersionForType["KmipServerSpecKeySpec"] = "9.0.0.0"
 52243  }
 52244  
 52245  // Wrapping key ID key specification.
 52246  //
 52247  // Key rotation will not occur automatically when a client
 52248  // specified key ID is used.
 52249  type KmipServerSpecWrappingKeyIdKeySpec struct {
 52250  	KmipServerSpecKeySpec
 52251  
 52252  	// Wrapping key identifier.
 52253  	KeyId string `xml:"keyId" json:"keyId"`
 52254  }
 52255  
 52256  func init() {
 52257  	t["KmipServerSpecWrappingKeyIdKeySpec"] = reflect.TypeOf((*KmipServerSpecWrappingKeyIdKeySpec)(nil)).Elem()
 52258  	minAPIVersionForType["KmipServerSpecWrappingKeyIdKeySpec"] = "9.0.0.0"
 52259  }
 52260  
 52261  // Wrapping rotation interval key specification.
 52262  //
 52263  // The wrapping key will be created automatically and will rotate
 52264  // automatically based on the rotation interval.
 52265  type KmipServerSpecWrappingRotationIntervalKeySpec struct {
 52266  	KmipServerSpecKeySpec
 52267  
 52268  	// Wrapping key regular rotation interval (number of days).
 52269  	//
 52270  	// The allowed minimum number of days is 30 days,
 52271  	// and maximum number of days is 3650 days.
 52272  	// If not set, then a system default number of days will be used.
 52273  	RotationInterval int32 `xml:"rotationInterval,omitempty" json:"rotationInterval,omitempty"`
 52274  }
 52275  
 52276  func init() {
 52277  	t["KmipServerSpecWrappingRotationIntervalKeySpec"] = reflect.TypeOf((*KmipServerSpecWrappingRotationIntervalKeySpec)(nil)).Elem()
 52278  	minAPIVersionForType["KmipServerSpecWrappingRotationIntervalKeySpec"] = "9.0.0.0"
 52279  }
 52280  
 52281  // Data Object representing a KMIP server status.
 52282  type KmipServerStatus struct {
 52283  	DynamicData
 52284  
 52285  	// The ID of the KMIP cluster.
 52286  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 52287  	// Name for the KMIP server.
 52288  	Name string `xml:"name" json:"name"`
 52289  	// KMIP server status.
 52290  	Status ManagedEntityStatus `xml:"status" json:"status"`
 52291  	// KMIP server status description.
 52292  	Description string `xml:"description" json:"description"`
 52293  }
 52294  
 52295  func init() {
 52296  	t["KmipServerStatus"] = reflect.TypeOf((*KmipServerStatus)(nil)).Elem()
 52297  }
 52298  
 52299  // The virtual machine is using a 2TB+ RDM device and operation is
 52300  // unable to convert the disk to a different type.
 52301  type LargeRDMConversionNotSupported struct {
 52302  	MigrationFault
 52303  
 52304  	// The name of the disk device using the RDM.
 52305  	Device string `xml:"device" json:"device"`
 52306  }
 52307  
 52308  func init() {
 52309  	t["LargeRDMConversionNotSupported"] = reflect.TypeOf((*LargeRDMConversionNotSupported)(nil)).Elem()
 52310  }
 52311  
 52312  type LargeRDMConversionNotSupportedFault LargeRDMConversionNotSupported
 52313  
 52314  func init() {
 52315  	t["LargeRDMConversionNotSupportedFault"] = reflect.TypeOf((*LargeRDMConversionNotSupportedFault)(nil)).Elem()
 52316  }
 52317  
 52318  // The virtual machine is configured with a 2TB+ Raw Disk Mapping.
 52319  //
 52320  // This is not
 52321  // supported on the datastore.
 52322  type LargeRDMNotSupportedOnDatastore struct {
 52323  	VmConfigFault
 52324  
 52325  	// The label of the 2TB+ RDM device that would have its backing placed on
 52326  	// the datastore.
 52327  	//
 52328  	// This is not guaranteed to be the only such device.
 52329  	Device string `xml:"device" json:"device"`
 52330  	// The datastore.
 52331  	//
 52332  	// Refers instance of `Datastore`.
 52333  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 52334  	// The name of the datastore.
 52335  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 52336  }
 52337  
 52338  func init() {
 52339  	t["LargeRDMNotSupportedOnDatastore"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastore)(nil)).Elem()
 52340  }
 52341  
 52342  type LargeRDMNotSupportedOnDatastoreFault LargeRDMNotSupportedOnDatastore
 52343  
 52344  func init() {
 52345  	t["LargeRDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastoreFault)(nil)).Elem()
 52346  }
 52347  
 52348  // Specification of the latency-sensitivity information.
 52349  //
 52350  // The latency-sensitivity is used to request from the kernel a constraint
 52351  // on the scheduling delay of the virtual CPUs or other resources. This allows
 52352  // latency-sensitive applications(e.g. VOIP, audio/video streaming, etc.) to run
 52353  // in a virtual machine which is configured to use specific scheduling
 52354  // latencies and to be scheduled with low latency.
 52355  //
 52356  // The kernel does not provide any guarantee that it will meet the
 52357  // latency-sensitivity requirement of a virtual machine CPU or other resources
 52358  // but it will always accept the latency-sensitivity value provided.
 52359  type LatencySensitivity struct {
 52360  	DynamicData
 52361  
 52362  	// The nominal latency-sensitive level of the application.
 52363  	Level LatencySensitivitySensitivityLevel `xml:"level" json:"level"`
 52364  	// Deprecated as of vSphere version 5.5, this field is deprecated.
 52365  	//
 52366  	// The custom absolute latency-sensitivity value of the application.
 52367  	//
 52368  	// This value will be used only when the latency-sensitivity
 52369  	// `LatencySensitivity.level` property is is set to
 52370  	// <code>custom</code>. It is ignored in all other cases.
 52371  	//
 52372  	// The unit of this value is micro-seconds and the application is more
 52373  	// latency sensitive when this value is smaller. For example, if the
 52374  	// absolute latency-sensitivity is 2000us, the kernel will
 52375  	// try to schedule the virtual machine in a way so that its scheduling
 52376  	// latency is not more than 2ms.
 52377  	Sensitivity int32 `xml:"sensitivity,omitempty" json:"sensitivity,omitempty"`
 52378  }
 52379  
 52380  func init() {
 52381  	t["LatencySensitivity"] = reflect.TypeOf((*LatencySensitivity)(nil)).Elem()
 52382  }
 52383  
 52384  // The parameters of `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`.
 52385  type LeaveCurrentDomainRequestType struct {
 52386  	This ManagedObjectReference `xml:"_this" json:"-"`
 52387  	// If <code>True</code>, any existing permissions on managed entities for
 52388  	// Active Directory users will be deleted. If <code>False</code> and such
 52389  	// permissions exist, the operation will fail.
 52390  	Force bool `xml:"force" json:"force"`
 52391  }
 52392  
 52393  func init() {
 52394  	t["LeaveCurrentDomainRequestType"] = reflect.TypeOf((*LeaveCurrentDomainRequestType)(nil)).Elem()
 52395  }
 52396  
 52397  type LeaveCurrentDomain_Task LeaveCurrentDomainRequestType
 52398  
 52399  func init() {
 52400  	t["LeaveCurrentDomain_Task"] = reflect.TypeOf((*LeaveCurrentDomain_Task)(nil)).Elem()
 52401  }
 52402  
 52403  type LeaveCurrentDomain_TaskResponse struct {
 52404  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 52405  }
 52406  
 52407  // A virtual machine's network connectivity cannot be determined
 52408  // because it uses a legacy network interface.
 52409  //
 52410  // If returned as part of migration checks,
 52411  // this is an error if the virtual machine is currently connected to the legacy
 52412  // interface, and a warning otherwise.
 52413  type LegacyNetworkInterfaceInUse struct {
 52414  	CannotAccessNetwork
 52415  }
 52416  
 52417  func init() {
 52418  	t["LegacyNetworkInterfaceInUse"] = reflect.TypeOf((*LegacyNetworkInterfaceInUse)(nil)).Elem()
 52419  }
 52420  
 52421  type LegacyNetworkInterfaceInUseFault LegacyNetworkInterfaceInUse
 52422  
 52423  func init() {
 52424  	t["LegacyNetworkInterfaceInUseFault"] = reflect.TypeOf((*LegacyNetworkInterfaceInUseFault)(nil)).Elem()
 52425  }
 52426  
 52427  // A LicenseAssignmentFailed fault is thrown when VirtualCenter
 52428  // fails to assign a license to an entity.
 52429  type LicenseAssignmentFailed struct {
 52430  	RuntimeFault
 52431  
 52432  	// The reason why the assignment failed, if known.
 52433  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 52434  }
 52435  
 52436  func init() {
 52437  	t["LicenseAssignmentFailed"] = reflect.TypeOf((*LicenseAssignmentFailed)(nil)).Elem()
 52438  }
 52439  
 52440  type LicenseAssignmentFailedFault LicenseAssignmentFailed
 52441  
 52442  func init() {
 52443  	t["LicenseAssignmentFailedFault"] = reflect.TypeOf((*LicenseAssignmentFailedFault)(nil)).Elem()
 52444  }
 52445  
 52446  type LicenseAssignmentManagerLicenseAssignment struct {
 52447  	DynamicData
 52448  
 52449  	// Id for the entity
 52450  	EntityId string `xml:"entityId" json:"entityId"`
 52451  	// Scope of the entityId
 52452  	Scope string `xml:"scope,omitempty" json:"scope,omitempty"`
 52453  	// Display name of the entity
 52454  	EntityDisplayName string `xml:"entityDisplayName,omitempty" json:"entityDisplayName,omitempty"`
 52455  	// License assigned to the entity
 52456  	AssignedLicense LicenseManagerLicenseInfo `xml:"assignedLicense" json:"assignedLicense"`
 52457  	// Additional properties associated with this assignment
 52458  	// Some of the properties are:
 52459  	// "inUseFeatures" -- Features in the license key that are being used by the entity
 52460  	// "ProductName" -- Name of the entity.
 52461  	//
 52462  	// Should match the product name of the assigned license.
 52463  	// "ProductVersion" -- Version of the entity. Should match the product version of the assigned license.
 52464  	// "Evaluation" -- EvaluationInfo object representing the evaluation left for the entity.
 52465  	Properties []KeyAnyValue `xml:"properties,omitempty" json:"properties,omitempty"`
 52466  }
 52467  
 52468  func init() {
 52469  	t["LicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*LicenseAssignmentManagerLicenseAssignment)(nil)).Elem()
 52470  }
 52471  
 52472  // Deprecated as of vSphere API 4.0, this is not used by the system.
 52473  //
 52474  // Describes how many licenses of a particular feature is provided by the licensing
 52475  // source.
 52476  type LicenseAvailabilityInfo struct {
 52477  	DynamicData
 52478  
 52479  	// Describes the feature.
 52480  	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
 52481  	// Total number of licenses for this given type that are installed on the source.
 52482  	Total int32 `xml:"total" json:"total"`
 52483  	// The number of licenses that have not yet been reserved on the source.
 52484  	Available int32 `xml:"available" json:"available"`
 52485  }
 52486  
 52487  func init() {
 52488  	t["LicenseAvailabilityInfo"] = reflect.TypeOf((*LicenseAvailabilityInfo)(nil)).Elem()
 52489  }
 52490  
 52491  // Deprecated as of vSphere API 4.0, this is not used by the system.
 52492  //
 52493  // This data object type provides summary status and diagnostic information for
 52494  // `LicenseManager`.
 52495  //
 52496  // Counters in this property can be reset to zero. The
 52497  // property specified as a discontinuity is used to determine when this last
 52498  // occurred.
 52499  type LicenseDiagnostics struct {
 52500  	DynamicData
 52501  
 52502  	// A timestamp of when sourceAvailable last changed state, expressed in UTC.
 52503  	SourceLastChanged time.Time `xml:"sourceLastChanged" json:"sourceLastChanged"`
 52504  	// Counter to track number of times connection to source was lost.
 52505  	//
 52506  	// This value starts at zero and wraps at 2^32-1 to zero.
 52507  	// Discontinuity: sourceLastChanged.
 52508  	SourceLost string `xml:"sourceLost" json:"sourceLost"`
 52509  	// Exponentially decaying average of the transaction time for license
 52510  	// acquisition and routine communications with LicenseSource.
 52511  	//
 52512  	// Units: milliseconds.
 52513  	SourceLatency float32 `xml:"sourceLatency" json:"sourceLatency"`
 52514  	// Counter to track total number of licenses requested.
 52515  	//
 52516  	// This value starts at zero and wraps at 2^32-1 to zero.
 52517  	// Discontinuity: sourceLastChanged.
 52518  	LicenseRequests string `xml:"licenseRequests" json:"licenseRequests"`
 52519  	// Counter to track Total number of licenses requests that were
 52520  	// not fulfilled (denied, timeout, or other).
 52521  	//
 52522  	// This value starts at zero and wraps at 2^32-1 to zero.
 52523  	// Discontinuity: sourceLastChanged.
 52524  	LicenseRequestFailures string `xml:"licenseRequestFailures" json:"licenseRequestFailures"`
 52525  	// Counter to track Total number of license features parsed from
 52526  	// License source that are not recognized.
 52527  	//
 52528  	// This value starts at zero and wraps at 2^32-1 to zero.
 52529  	// Discontinuity: sourceLastChanged.
 52530  	LicenseFeatureUnknowns string `xml:"licenseFeatureUnknowns" json:"licenseFeatureUnknowns"`
 52531  	// The general state of the license subsystem.
 52532  	OpState LicenseManagerState `xml:"opState" json:"opState"`
 52533  	// A timestamp of when opState was last updated.
 52534  	LastStatusUpdate time.Time `xml:"lastStatusUpdate" json:"lastStatusUpdate"`
 52535  	// A human readable reason when optState reports Fault condition.
 52536  	OpFailureMessage string `xml:"opFailureMessage" json:"opFailureMessage"`
 52537  }
 52538  
 52539  func init() {
 52540  	t["LicenseDiagnostics"] = reflect.TypeOf((*LicenseDiagnostics)(nil)).Elem()
 52541  }
 52542  
 52543  // A LicenseDowngradeDisallowed fault is thrown if an assignment operation tries to downgrade a license that does have certain licensed features which are in use.
 52544  type LicenseDowngradeDisallowed struct {
 52545  	NotEnoughLicenses
 52546  
 52547  	Edition  string `xml:"edition" json:"edition"`
 52548  	EntityId string `xml:"entityId" json:"entityId"`
 52549  	// List of conflicting features that prevent
 52550  	// downgrade
 52551  	Features []KeyAnyValue `xml:"features" json:"features"`
 52552  }
 52553  
 52554  func init() {
 52555  	t["LicenseDowngradeDisallowed"] = reflect.TypeOf((*LicenseDowngradeDisallowed)(nil)).Elem()
 52556  }
 52557  
 52558  type LicenseDowngradeDisallowedFault LicenseDowngradeDisallowed
 52559  
 52560  func init() {
 52561  	t["LicenseDowngradeDisallowedFault"] = reflect.TypeOf((*LicenseDowngradeDisallowedFault)(nil)).Elem()
 52562  }
 52563  
 52564  // An LicenseEntityNotFound fault is thrown when an attempt is
 52565  // do any operation on an entity/licensed asset that does not exist.
 52566  //
 52567  // Example, remove an entity that does not exist.
 52568  type LicenseEntityNotFound struct {
 52569  	VimFault
 52570  
 52571  	EntityId string `xml:"entityId" json:"entityId"`
 52572  }
 52573  
 52574  func init() {
 52575  	t["LicenseEntityNotFound"] = reflect.TypeOf((*LicenseEntityNotFound)(nil)).Elem()
 52576  }
 52577  
 52578  type LicenseEntityNotFoundFault LicenseEntityNotFound
 52579  
 52580  func init() {
 52581  	t["LicenseEntityNotFoundFault"] = reflect.TypeOf((*LicenseEntityNotFoundFault)(nil)).Elem()
 52582  }
 52583  
 52584  // This is a base licensing event to group all license events.
 52585  type LicenseEvent struct {
 52586  	Event
 52587  }
 52588  
 52589  func init() {
 52590  	t["LicenseEvent"] = reflect.TypeOf((*LicenseEvent)(nil)).Elem()
 52591  }
 52592  
 52593  // A LicenseExpired fault is thrown if it an operation is unsuccessful because the license used for the operation has expired.
 52594  type LicenseExpired struct {
 52595  	NotEnoughLicenses
 52596  
 52597  	// License key that has expired
 52598  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 52599  }
 52600  
 52601  func init() {
 52602  	t["LicenseExpired"] = reflect.TypeOf((*LicenseExpired)(nil)).Elem()
 52603  }
 52604  
 52605  // This event records the expiration of a license.
 52606  type LicenseExpiredEvent struct {
 52607  	Event
 52608  
 52609  	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
 52610  }
 52611  
 52612  func init() {
 52613  	t["LicenseExpiredEvent"] = reflect.TypeOf((*LicenseExpiredEvent)(nil)).Elem()
 52614  }
 52615  
 52616  type LicenseExpiredFault LicenseExpired
 52617  
 52618  func init() {
 52619  	t["LicenseExpiredFault"] = reflect.TypeOf((*LicenseExpiredFault)(nil)).Elem()
 52620  }
 52621  
 52622  // Deprecated as of vSphere API 4.0, this is not used by the system.
 52623  //
 52624  // A single feature that can be licensed.
 52625  //
 52626  // This information is immutable.
 52627  type LicenseFeatureInfo struct {
 52628  	DynamicData
 52629  
 52630  	// Unique identifier for license as defined in License source data.
 52631  	//
 52632  	// Max length of this string is 64 characters of ASCII/ISO Latin-1
 52633  	// character set.
 52634  	Key string `xml:"key" json:"key"`
 52635  	// The display string for the feature name.
 52636  	FeatureName string `xml:"featureName" json:"featureName"`
 52637  	// A human readable description of what function this feature enables.
 52638  	FeatureDescription string `xml:"featureDescription,omitempty" json:"featureDescription,omitempty"`
 52639  	// Describes the state of the feature based on the current edition license.
 52640  	//
 52641  	// This
 52642  	// property is unset for an edition license.
 52643  	State LicenseFeatureInfoState `xml:"state,omitempty" json:"state,omitempty"`
 52644  	// Each license has a cost associated with it and the value of costUnit
 52645  	// specifies the applicable unit.
 52646  	//
 52647  	// See also `LicenseFeatureInfoUnit_enum`.
 52648  	CostUnit string `xml:"costUnit" json:"costUnit"`
 52649  	// Describe any restriction on the source of a license for this feature.
 52650  	//
 52651  	// See also `LicenseFeatureInfoSourceRestriction_enum`.
 52652  	SourceRestriction string `xml:"sourceRestriction,omitempty" json:"sourceRestriction,omitempty"`
 52653  	// Report List of feature keys used by this edition.
 52654  	DependentKey []string `xml:"dependentKey,omitempty" json:"dependentKey,omitempty"`
 52655  	// Flag to indicate whether the feature is an edition.
 52656  	Edition *bool `xml:"edition" json:"edition,omitempty"`
 52657  	// Date representing the expiration date
 52658  	ExpiresOn *time.Time `xml:"expiresOn" json:"expiresOn,omitempty"`
 52659  }
 52660  
 52661  func init() {
 52662  	t["LicenseFeatureInfo"] = reflect.TypeOf((*LicenseFeatureInfo)(nil)).Elem()
 52663  }
 52664  
 52665  // A LicenseKeyEntityMismatch fault is thrown if an assignment operation tries to assign a license that does not apply to an entity.
 52666  //
 52667  // For example assigning a host license to VirtualCenter.
 52668  type LicenseKeyEntityMismatch struct {
 52669  	NotEnoughLicenses
 52670  }
 52671  
 52672  func init() {
 52673  	t["LicenseKeyEntityMismatch"] = reflect.TypeOf((*LicenseKeyEntityMismatch)(nil)).Elem()
 52674  }
 52675  
 52676  type LicenseKeyEntityMismatchFault LicenseKeyEntityMismatch
 52677  
 52678  func init() {
 52679  	t["LicenseKeyEntityMismatchFault"] = reflect.TypeOf((*LicenseKeyEntityMismatchFault)(nil)).Elem()
 52680  }
 52681  
 52682  // Encapsulates product evaluation information
 52683  type LicenseManagerEvaluationInfo struct {
 52684  	DynamicData
 52685  
 52686  	// Evaluation properties
 52687  	Properties []KeyAnyValue `xml:"properties" json:"properties"`
 52688  }
 52689  
 52690  func init() {
 52691  	t["LicenseManagerEvaluationInfo"] = reflect.TypeOf((*LicenseManagerEvaluationInfo)(nil)).Elem()
 52692  }
 52693  
 52694  // Encapsulates information about a license
 52695  type LicenseManagerLicenseInfo struct {
 52696  	DynamicData
 52697  
 52698  	// Key for the license.
 52699  	//
 52700  	// E.g. serial number.
 52701  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 52702  	// Edition key.
 52703  	EditionKey string `xml:"editionKey" json:"editionKey"`
 52704  	// Display name for the license
 52705  	Name string `xml:"name" json:"name"`
 52706  	// Total number of units contain in the license
 52707  	Total int32 `xml:"total" json:"total"`
 52708  	// Number of units used from this license
 52709  	Used int32 `xml:"used,omitempty" json:"used,omitempty"`
 52710  	// The cost unit for this license
 52711  	CostUnit string `xml:"costUnit" json:"costUnit"`
 52712  	// Additional properties associated with this license
 52713  	Properties []KeyAnyValue `xml:"properties,omitempty" json:"properties,omitempty"`
 52714  	// Key-value lables for this license
 52715  	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
 52716  }
 52717  
 52718  func init() {
 52719  	t["LicenseManagerLicenseInfo"] = reflect.TypeOf((*LicenseManagerLicenseInfo)(nil)).Elem()
 52720  }
 52721  
 52722  // This event records that the inventory is not license compliant.
 52723  type LicenseNonComplianceEvent struct {
 52724  	LicenseEvent
 52725  
 52726  	// Gives the url at which more details about non-compliance
 52727  	// can be found.
 52728  	Url string `xml:"url" json:"url"`
 52729  }
 52730  
 52731  func init() {
 52732  	t["LicenseNonComplianceEvent"] = reflect.TypeOf((*LicenseNonComplianceEvent)(nil)).Elem()
 52733  }
 52734  
 52735  // Deprecated as of vSphere API 4.0, this is not used by the system.
 52736  //
 52737  // A reservation describes how many licenses of a particular feature are being used
 52738  // by a particular feature.
 52739  type LicenseReservationInfo struct {
 52740  	DynamicData
 52741  
 52742  	// Key of the License Feature.
 52743  	//
 52744  	// See also `LicenseFeatureInfo.key`.
 52745  	Key string `xml:"key" json:"key"`
 52746  	// Describes the reservation state of a license.
 52747  	State LicenseReservationInfoState `xml:"state" json:"state"`
 52748  	// Contains the required number of licenses of the particular type that the
 52749  	// product needs in its current configuration.
 52750  	//
 52751  	// Licenses are normally allocated at the same time as they are needed, so the
 52752  	// value of required is set at the time the license is needed. For example,
 52753  	// in the case of the number of licenses based on virtual machines, the required
 52754  	// count is set at the time a virtual machine is powered on, just before the
 52755  	// license is checked out.
 52756  	Required int32 `xml:"required" json:"required"`
 52757  }
 52758  
 52759  func init() {
 52760  	t["LicenseReservationInfo"] = reflect.TypeOf((*LicenseReservationInfo)(nil)).Elem()
 52761  }
 52762  
 52763  // This fault is thrown if the required licenses were unable to be checked
 52764  // out due to a restriction in the option file of the license server.
 52765  type LicenseRestricted struct {
 52766  	NotEnoughLicenses
 52767  }
 52768  
 52769  func init() {
 52770  	t["LicenseRestricted"] = reflect.TypeOf((*LicenseRestricted)(nil)).Elem()
 52771  }
 52772  
 52773  // This event records if the required licenses could not be reserved because
 52774  // of a restriction in the option file.
 52775  type LicenseRestrictedEvent struct {
 52776  	LicenseEvent
 52777  }
 52778  
 52779  func init() {
 52780  	t["LicenseRestrictedEvent"] = reflect.TypeOf((*LicenseRestrictedEvent)(nil)).Elem()
 52781  }
 52782  
 52783  type LicenseRestrictedFault LicenseRestricted
 52784  
 52785  func init() {
 52786  	t["LicenseRestrictedFault"] = reflect.TypeOf((*LicenseRestrictedFault)(nil)).Elem()
 52787  }
 52788  
 52789  // This event is reported if the LicenseServer was previously unreachable
 52790  // and is now reachable.
 52791  type LicenseServerAvailableEvent struct {
 52792  	LicenseEvent
 52793  
 52794  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 52795  }
 52796  
 52797  func init() {
 52798  	t["LicenseServerAvailableEvent"] = reflect.TypeOf((*LicenseServerAvailableEvent)(nil)).Elem()
 52799  }
 52800  
 52801  // Deprecated as of vSphere API 4.0, this is not used by the system.
 52802  //
 52803  // Specify a license server reachable via IPv4 network.
 52804  type LicenseServerSource struct {
 52805  	LicenseSource
 52806  
 52807  	// This property defines the server to establish a TCP session to
 52808  	// obtain license data.
 52809  	//
 52810  	// Format of string is host:port
 52811  	// Port is optional unsigned 16 bit integer license
 52812  	// server is listening on. A trailing colon ':' without a port number
 52813  	// is a valid expression.
 52814  	// Host can either be an IPv4 address in dotted quad
 52815  	// format or a resolvable DNS name &leq;254 characters. See RFC 3696.
 52816  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 52817  }
 52818  
 52819  func init() {
 52820  	t["LicenseServerSource"] = reflect.TypeOf((*LicenseServerSource)(nil)).Elem()
 52821  }
 52822  
 52823  // This fault is thrown when the License Server
 52824  // is unavailable during an attempt to change license state.
 52825  type LicenseServerUnavailable struct {
 52826  	VimFault
 52827  
 52828  	// The name of the unavailable license server.
 52829  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 52830  }
 52831  
 52832  func init() {
 52833  	t["LicenseServerUnavailable"] = reflect.TypeOf((*LicenseServerUnavailable)(nil)).Elem()
 52834  }
 52835  
 52836  // This event is reported if the LicenseServer becomes unreachable.
 52837  type LicenseServerUnavailableEvent struct {
 52838  	LicenseEvent
 52839  
 52840  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 52841  }
 52842  
 52843  func init() {
 52844  	t["LicenseServerUnavailableEvent"] = reflect.TypeOf((*LicenseServerUnavailableEvent)(nil)).Elem()
 52845  }
 52846  
 52847  type LicenseServerUnavailableFault LicenseServerUnavailable
 52848  
 52849  func init() {
 52850  	t["LicenseServerUnavailableFault"] = reflect.TypeOf((*LicenseServerUnavailableFault)(nil)).Elem()
 52851  }
 52852  
 52853  // Deprecated as of vSphere API 4.0, this is not used by the system.
 52854  //
 52855  // This data object type is used to communicate configuration about
 52856  // where to find licenses to use for this system.
 52857  type LicenseSource struct {
 52858  	DynamicData
 52859  }
 52860  
 52861  func init() {
 52862  	t["LicenseSource"] = reflect.TypeOf((*LicenseSource)(nil)).Elem()
 52863  }
 52864  
 52865  // A LicenseSourceUnavailable is thrown if it is unable to check out a license because
 52866  // the license source is unavailable.
 52867  type LicenseSourceUnavailable struct {
 52868  	NotEnoughLicenses
 52869  
 52870  	// License source
 52871  	LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr" json:"licenseSource"`
 52872  }
 52873  
 52874  func init() {
 52875  	t["LicenseSourceUnavailable"] = reflect.TypeOf((*LicenseSourceUnavailable)(nil)).Elem()
 52876  }
 52877  
 52878  type LicenseSourceUnavailableFault LicenseSourceUnavailable
 52879  
 52880  func init() {
 52881  	t["LicenseSourceUnavailableFault"] = reflect.TypeOf((*LicenseSourceUnavailableFault)(nil)).Elem()
 52882  }
 52883  
 52884  // Deprecated as of vSphere API 4.0, this is not used by the system.
 52885  //
 52886  // Contains source information, licensed features, and usage.
 52887  type LicenseUsageInfo struct {
 52888  	DynamicData
 52889  
 52890  	// The source from which licensing data is acquired.
 52891  	//
 52892  	// See also `LicenseSource`.
 52893  	Source BaseLicenseSource `xml:"source,typeattr" json:"source"`
 52894  	// Returns whether or not the source is currently available.
 52895  	//
 52896  	// See also `LicenseManager.sourceAvailable`.
 52897  	SourceAvailable bool `xml:"sourceAvailable" json:"sourceAvailable"`
 52898  	// A list of feature reservations.
 52899  	ReservationInfo []LicenseReservationInfo `xml:"reservationInfo,omitempty" json:"reservationInfo,omitempty"`
 52900  	// Includes all the features that are referenced in the reservation array.
 52901  	FeatureInfo []LicenseFeatureInfo `xml:"featureInfo,omitempty" json:"featureInfo,omitempty"`
 52902  }
 52903  
 52904  func init() {
 52905  	t["LicenseUsageInfo"] = reflect.TypeOf((*LicenseUsageInfo)(nil)).Elem()
 52906  }
 52907  
 52908  // This exception is thrown if one of the arguments passed to the function exceeds
 52909  // a limit.
 52910  type LimitExceeded struct {
 52911  	VimFault
 52912  
 52913  	// The name of the property that exceeds the limit.
 52914  	Property string `xml:"property,omitempty" json:"property,omitempty"`
 52915  	// The limit value.
 52916  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 52917  }
 52918  
 52919  func init() {
 52920  	t["LimitExceeded"] = reflect.TypeOf((*LimitExceeded)(nil)).Elem()
 52921  }
 52922  
 52923  type LimitExceededFault LimitExceeded
 52924  
 52925  func init() {
 52926  	t["LimitExceededFault"] = reflect.TypeOf((*LimitExceededFault)(nil)).Elem()
 52927  }
 52928  
 52929  // Dataobject representing the link discovery protocol configuration for a
 52930  // virtual or distributed virtual switch.
 52931  type LinkDiscoveryProtocolConfig struct {
 52932  	DynamicData
 52933  
 52934  	// The discovery protocol type.
 52935  	//
 52936  	// For valid values
 52937  	// see `LinkDiscoveryProtocolConfigProtocolType_enum`.
 52938  	Protocol string `xml:"protocol" json:"protocol"`
 52939  	// Whether to advertise or listen.
 52940  	//
 52941  	// For valid values see
 52942  	// `LinkDiscoveryProtocolConfigOperationType_enum`.
 52943  	Operation string `xml:"operation" json:"operation"`
 52944  }
 52945  
 52946  func init() {
 52947  	t["LinkDiscoveryProtocolConfig"] = reflect.TypeOf((*LinkDiscoveryProtocolConfig)(nil)).Elem()
 52948  }
 52949  
 52950  // The Link Layer Discovery Protocol information.
 52951  type LinkLayerDiscoveryProtocolInfo struct {
 52952  	DynamicData
 52953  
 52954  	// ChassisId represents the chassis identification for the device that
 52955  	// transmitted the LLDP frame.
 52956  	//
 52957  	// The receiving LLDP agent combines the
 52958  	// Chassis ID and portId to represent the entity connected to the port
 52959  	// where the frame was received.
 52960  	ChassisId string `xml:"chassisId" json:"chassisId"`
 52961  	// This property identifies the specific port that transmitted the LLDP
 52962  	// frame.
 52963  	//
 52964  	// The receiving LLDP agent combines the Chassis ID and Port to
 52965  	// represent the entity connected to the port where the frame was received.
 52966  	PortId string `xml:"portId" json:"portId"`
 52967  	// It is the duration of time in seconds for which information contained
 52968  	// in the received LLDP frame shall be valid.
 52969  	//
 52970  	// If a value of zero is sent
 52971  	// it can also identify a device that has shut down or is no longer
 52972  	// transmitting, prompting deletion of the record from the local database.
 52973  	TimeToLive int32 `xml:"timeToLive" json:"timeToLive"`
 52974  	// LLDP parameters
 52975  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 52976  }
 52977  
 52978  func init() {
 52979  	t["LinkLayerDiscoveryProtocolInfo"] = reflect.TypeOf((*LinkLayerDiscoveryProtocolInfo)(nil)).Elem()
 52980  }
 52981  
 52982  // The LinkProfile data object represents a subprofile
 52983  // for links connected to virtual switch.
 52984  type LinkProfile struct {
 52985  	ApplyProfile
 52986  }
 52987  
 52988  func init() {
 52989  	t["LinkProfile"] = reflect.TypeOf((*LinkProfile)(nil)).Elem()
 52990  }
 52991  
 52992  // Customization operation is performed on a linux source vm that
 52993  // was not shut down properly.
 52994  //
 52995  // If the filesystem has significant
 52996  // fsck errors on it, customization process cannot make changes
 52997  // to it.
 52998  type LinuxVolumeNotClean struct {
 52999  	CustomizationFault
 53000  }
 53001  
 53002  func init() {
 53003  	t["LinuxVolumeNotClean"] = reflect.TypeOf((*LinuxVolumeNotClean)(nil)).Elem()
 53004  }
 53005  
 53006  type LinuxVolumeNotCleanFault LinuxVolumeNotClean
 53007  
 53008  func init() {
 53009  	t["LinuxVolumeNotCleanFault"] = reflect.TypeOf((*LinuxVolumeNotCleanFault)(nil)).Elem()
 53010  }
 53011  
 53012  type ListCACertificateRevocationLists ListCACertificateRevocationListsRequestType
 53013  
 53014  func init() {
 53015  	t["ListCACertificateRevocationLists"] = reflect.TypeOf((*ListCACertificateRevocationLists)(nil)).Elem()
 53016  }
 53017  
 53018  type ListCACertificateRevocationListsRequestType struct {
 53019  	This ManagedObjectReference `xml:"_this" json:"-"`
 53020  }
 53021  
 53022  func init() {
 53023  	t["ListCACertificateRevocationListsRequestType"] = reflect.TypeOf((*ListCACertificateRevocationListsRequestType)(nil)).Elem()
 53024  }
 53025  
 53026  type ListCACertificateRevocationListsResponse struct {
 53027  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53028  }
 53029  
 53030  type ListCACertificates ListCACertificatesRequestType
 53031  
 53032  func init() {
 53033  	t["ListCACertificates"] = reflect.TypeOf((*ListCACertificates)(nil)).Elem()
 53034  }
 53035  
 53036  type ListCACertificatesRequestType struct {
 53037  	This ManagedObjectReference `xml:"_this" json:"-"`
 53038  }
 53039  
 53040  func init() {
 53041  	t["ListCACertificatesRequestType"] = reflect.TypeOf((*ListCACertificatesRequestType)(nil)).Elem()
 53042  }
 53043  
 53044  type ListCACertificatesResponse struct {
 53045  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53046  }
 53047  
 53048  type ListFilesInGuest ListFilesInGuestRequestType
 53049  
 53050  func init() {
 53051  	t["ListFilesInGuest"] = reflect.TypeOf((*ListFilesInGuest)(nil)).Elem()
 53052  }
 53053  
 53054  // The parameters of `GuestFileManager.ListFilesInGuest`.
 53055  type ListFilesInGuestRequestType struct {
 53056  	This ManagedObjectReference `xml:"_this" json:"-"`
 53057  	// Virtual Machine to perform the operation on.
 53058  	//
 53059  	// Required privileges: VirtualMachine.GuestOperations.Query
 53060  	//
 53061  	// Refers instance of `VirtualMachine`.
 53062  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 53063  	// The guest authentication data. See
 53064  	// `GuestAuthentication`.
 53065  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 53066  	// The complete path to the directory or file to query.
 53067  	FilePath string `xml:"filePath" json:"filePath"`
 53068  	// Which result to start the list with. The default is 0.
 53069  	Index int32 `xml:"index,omitempty" json:"index,omitempty"`
 53070  	// The maximum number of results to return. The default
 53071  	// is 50.
 53072  	MaxResults int32 `xml:"maxResults,omitempty" json:"maxResults,omitempty"`
 53073  	// A filter for the return values.
 53074  	// Match patterns are specified using perl-compatible regular
 53075  	// expressions.
 53076  	// If matchPattern is unset, then the pattern '.\*' is used.
 53077  	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 53078  }
 53079  
 53080  func init() {
 53081  	t["ListFilesInGuestRequestType"] = reflect.TypeOf((*ListFilesInGuestRequestType)(nil)).Elem()
 53082  }
 53083  
 53084  type ListFilesInGuestResponse struct {
 53085  	Returnval GuestListFileInfo `xml:"returnval" json:"returnval"`
 53086  }
 53087  
 53088  type ListGuestAliases ListGuestAliasesRequestType
 53089  
 53090  func init() {
 53091  	t["ListGuestAliases"] = reflect.TypeOf((*ListGuestAliases)(nil)).Elem()
 53092  }
 53093  
 53094  // The parameters of `GuestAliasManager.ListGuestAliases`.
 53095  type ListGuestAliasesRequestType struct {
 53096  	This ManagedObjectReference `xml:"_this" json:"-"`
 53097  	// Virtual machine to perform the operation on.
 53098  	//
 53099  	// Required privileges: VirtualMachine.GuestOperations.QueryAliases
 53100  	//
 53101  	// Refers instance of `VirtualMachine`.
 53102  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 53103  	// The guest authentication data for this operation. See
 53104  	// `GuestAuthentication`. These credentials must satisfy
 53105  	// authentication requirements
 53106  	// for a guest account on the specified virtual machine.
 53107  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 53108  	// The guest user whose Alias store is being queried.
 53109  	Username string `xml:"username" json:"username"`
 53110  }
 53111  
 53112  func init() {
 53113  	t["ListGuestAliasesRequestType"] = reflect.TypeOf((*ListGuestAliasesRequestType)(nil)).Elem()
 53114  }
 53115  
 53116  type ListGuestAliasesResponse struct {
 53117  	Returnval []GuestAliases `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53118  }
 53119  
 53120  type ListGuestMappedAliases ListGuestMappedAliasesRequestType
 53121  
 53122  func init() {
 53123  	t["ListGuestMappedAliases"] = reflect.TypeOf((*ListGuestMappedAliases)(nil)).Elem()
 53124  }
 53125  
 53126  // The parameters of `GuestAliasManager.ListGuestMappedAliases`.
 53127  type ListGuestMappedAliasesRequestType struct {
 53128  	This ManagedObjectReference `xml:"_this" json:"-"`
 53129  	// Virtual machine to perform the operation on.
 53130  	//
 53131  	// Required privileges: VirtualMachine.GuestOperations.QueryAliases
 53132  	//
 53133  	// Refers instance of `VirtualMachine`.
 53134  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 53135  	// The guest authentication data for this operation. See
 53136  	// `GuestAuthentication`. These credentials must satisfy
 53137  	// authentication requirements
 53138  	// for a guest account on the specified virtual machine.
 53139  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 53140  }
 53141  
 53142  func init() {
 53143  	t["ListGuestMappedAliasesRequestType"] = reflect.TypeOf((*ListGuestMappedAliasesRequestType)(nil)).Elem()
 53144  }
 53145  
 53146  type ListGuestMappedAliasesResponse struct {
 53147  	Returnval []GuestMappedAliases `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53148  }
 53149  
 53150  type ListKeys ListKeysRequestType
 53151  
 53152  func init() {
 53153  	t["ListKeys"] = reflect.TypeOf((*ListKeys)(nil)).Elem()
 53154  }
 53155  
 53156  // The parameters of `CryptoManager.ListKeys`.
 53157  type ListKeysRequestType struct {
 53158  	This ManagedObjectReference `xml:"_this" json:"-"`
 53159  	// \[in\] maximum keys to return.
 53160  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 53161  }
 53162  
 53163  func init() {
 53164  	t["ListKeysRequestType"] = reflect.TypeOf((*ListKeysRequestType)(nil)).Elem()
 53165  }
 53166  
 53167  type ListKeysResponse struct {
 53168  	Returnval []CryptoKeyId `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53169  }
 53170  
 53171  type ListKmipServers ListKmipServersRequestType
 53172  
 53173  func init() {
 53174  	t["ListKmipServers"] = reflect.TypeOf((*ListKmipServers)(nil)).Elem()
 53175  }
 53176  
 53177  // The parameters of `CryptoManagerKmip.ListKmipServers`.
 53178  type ListKmipServersRequestType struct {
 53179  	This ManagedObjectReference `xml:"_this" json:"-"`
 53180  	// \[in\] maximum clusters to return.
 53181  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 53182  }
 53183  
 53184  func init() {
 53185  	t["ListKmipServersRequestType"] = reflect.TypeOf((*ListKmipServersRequestType)(nil)).Elem()
 53186  }
 53187  
 53188  type ListKmipServersResponse struct {
 53189  	Returnval []KmipClusterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53190  }
 53191  
 53192  type ListKmsClusters ListKmsClustersRequestType
 53193  
 53194  func init() {
 53195  	t["ListKmsClusters"] = reflect.TypeOf((*ListKmsClusters)(nil)).Elem()
 53196  }
 53197  
 53198  // The parameters of `CryptoManagerKmip.ListKmsClusters`.
 53199  type ListKmsClustersRequestType struct {
 53200  	This ManagedObjectReference `xml:"_this" json:"-"`
 53201  	// \[in\] Whether to list KMS servers information
 53202  	// in the cluster.
 53203  	// By default will not include the KMS servers
 53204  	// information.
 53205  	IncludeKmsServers *bool `xml:"includeKmsServers" json:"includeKmsServers,omitempty"`
 53206  	// \[in\] The KMS cluster management type filter.
 53207  	// Bit map values:
 53208  	// 0x01 - Return VC managed Key Providers
 53209  	// registered in the CryptoManager.
 53210  	// 0x02 - Return Trusted Key Providers
 53211  	// registered in the CryptoManager.
 53212  	// 0x04 - Return Trusted Key Providers which are
 53213  	// not registered with the CryptoManager.
 53214  	// 0x08 - Return Native Key Providers.
 53215  	// others - reserved, will be ignored
 53216  	// If omitted or -1, then all kinds of Key Providers
 53217  	// will be returned.
 53218  	ManagementTypeFilter int32 `xml:"managementTypeFilter,omitempty" json:"managementTypeFilter,omitempty"`
 53219  	// \[in\] The Key Provider status filter.
 53220  	// Bit map values:
 53221  	// 0x01 - Return active Key Providers.
 53222  	// 0x02 - Return inactive Key Providers.
 53223  	// others - reserved, will be ignored
 53224  	// If omitted or -1, then all status of Key Providers
 53225  	// will be returned.
 53226  	StatusFilter int32 `xml:"statusFilter,omitempty" json:"statusFilter,omitempty"`
 53227  }
 53228  
 53229  func init() {
 53230  	t["ListKmsClustersRequestType"] = reflect.TypeOf((*ListKmsClustersRequestType)(nil)).Elem()
 53231  }
 53232  
 53233  type ListKmsClustersResponse struct {
 53234  	Returnval []KmipClusterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53235  }
 53236  
 53237  type ListProcessesInGuest ListProcessesInGuestRequestType
 53238  
 53239  func init() {
 53240  	t["ListProcessesInGuest"] = reflect.TypeOf((*ListProcessesInGuest)(nil)).Elem()
 53241  }
 53242  
 53243  // The parameters of `GuestProcessManager.ListProcessesInGuest`.
 53244  type ListProcessesInGuestRequestType struct {
 53245  	This ManagedObjectReference `xml:"_this" json:"-"`
 53246  	// Virtual machine to perform the operation on.
 53247  	//
 53248  	// Required privileges: VirtualMachine.GuestOperations.Query
 53249  	//
 53250  	// Refers instance of `VirtualMachine`.
 53251  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 53252  	// The guest authentication data. See
 53253  	// `GuestAuthentication`.
 53254  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 53255  	// If set, only return information about the specified processes.
 53256  	// Otherwise, information about all processes are returned.
 53257  	// If a specified processes does not exist, nothing will
 53258  	// be returned for that process.
 53259  	Pids []int64 `xml:"pids,omitempty" json:"pids,omitempty"`
 53260  }
 53261  
 53262  func init() {
 53263  	t["ListProcessesInGuestRequestType"] = reflect.TypeOf((*ListProcessesInGuestRequestType)(nil)).Elem()
 53264  }
 53265  
 53266  type ListProcessesInGuestResponse struct {
 53267  	Returnval []GuestProcessInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53268  }
 53269  
 53270  type ListRegistryKeysInGuest ListRegistryKeysInGuestRequestType
 53271  
 53272  func init() {
 53273  	t["ListRegistryKeysInGuest"] = reflect.TypeOf((*ListRegistryKeysInGuest)(nil)).Elem()
 53274  }
 53275  
 53276  // The parameters of `GuestWindowsRegistryManager.ListRegistryKeysInGuest`.
 53277  type ListRegistryKeysInGuestRequestType struct {
 53278  	This ManagedObjectReference `xml:"_this" json:"-"`
 53279  	// Virtual machine to perform the operation on.
 53280  	//
 53281  	// Required privileges: VirtualMachine.GuestOperations.Query
 53282  	//
 53283  	// Refers instance of `VirtualMachine`.
 53284  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 53285  	// The guest authentication data.
 53286  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 53287  	// The path to the registry key for which all subkeys are to
 53288  	// be listed.
 53289  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 53290  	// If true, all subkeys are listed recursively.
 53291  	Recursive bool `xml:"recursive" json:"recursive"`
 53292  	// A filter for the key names returned, specified using
 53293  	// perl-compatible regular expressions. If matchPattern
 53294  	// is unset, then the pattern '.\*' is used, which returns
 53295  	// all key names found, otherwise only those key names
 53296  	// that match the input pattern shall be returned.
 53297  	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 53298  }
 53299  
 53300  func init() {
 53301  	t["ListRegistryKeysInGuestRequestType"] = reflect.TypeOf((*ListRegistryKeysInGuestRequestType)(nil)).Elem()
 53302  }
 53303  
 53304  type ListRegistryKeysInGuestResponse struct {
 53305  	Returnval []GuestRegKeyRecordSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53306  }
 53307  
 53308  type ListRegistryValuesInGuest ListRegistryValuesInGuestRequestType
 53309  
 53310  func init() {
 53311  	t["ListRegistryValuesInGuest"] = reflect.TypeOf((*ListRegistryValuesInGuest)(nil)).Elem()
 53312  }
 53313  
 53314  // The parameters of `GuestWindowsRegistryManager.ListRegistryValuesInGuest`.
 53315  type ListRegistryValuesInGuestRequestType struct {
 53316  	This ManagedObjectReference `xml:"_this" json:"-"`
 53317  	// Virtual machine to perform the operation on.
 53318  	//
 53319  	// Required privileges: VirtualMachine.GuestOperations.Query
 53320  	//
 53321  	// Refers instance of `VirtualMachine`.
 53322  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 53323  	// The guest authentication data.
 53324  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 53325  	// The path to the registry key for which all values are to be
 53326  	// listed.
 53327  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 53328  	// If true, all values that have expandable data such
 53329  	// as environment variable names, shall get expanded in
 53330  	// the result.
 53331  	ExpandStrings bool `xml:"expandStrings" json:"expandStrings"`
 53332  	// A filter for the value names returned, specified using
 53333  	// perl-compatible regular expressions. If matchPattern
 53334  	// is unset, then the pattern '.\*' is used, which returns
 53335  	// all value names found, otherwise only those value
 53336  	// names that match the input pattern shall be returned.
 53337  	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 53338  }
 53339  
 53340  func init() {
 53341  	t["ListRegistryValuesInGuestRequestType"] = reflect.TypeOf((*ListRegistryValuesInGuestRequestType)(nil)).Elem()
 53342  }
 53343  
 53344  type ListRegistryValuesInGuestResponse struct {
 53345  	Returnval []GuestRegValueSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53346  }
 53347  
 53348  type ListSmartCardTrustAnchors ListSmartCardTrustAnchorsRequestType
 53349  
 53350  func init() {
 53351  	t["ListSmartCardTrustAnchors"] = reflect.TypeOf((*ListSmartCardTrustAnchors)(nil)).Elem()
 53352  }
 53353  
 53354  type ListSmartCardTrustAnchorsRequestType struct {
 53355  	This ManagedObjectReference `xml:"_this" json:"-"`
 53356  }
 53357  
 53358  func init() {
 53359  	t["ListSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ListSmartCardTrustAnchorsRequestType)(nil)).Elem()
 53360  }
 53361  
 53362  type ListSmartCardTrustAnchorsResponse struct {
 53363  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53364  }
 53365  
 53366  type ListTagsAttachedToVStorageObject ListTagsAttachedToVStorageObjectRequestType
 53367  
 53368  func init() {
 53369  	t["ListTagsAttachedToVStorageObject"] = reflect.TypeOf((*ListTagsAttachedToVStorageObject)(nil)).Elem()
 53370  }
 53371  
 53372  // The parameters of `VcenterVStorageObjectManager.ListTagsAttachedToVStorageObject`.
 53373  type ListTagsAttachedToVStorageObjectRequestType struct {
 53374  	This ManagedObjectReference `xml:"_this" json:"-"`
 53375  	// The ID of the virtual storage object.
 53376  	Id ID `xml:"id" json:"id"`
 53377  }
 53378  
 53379  func init() {
 53380  	t["ListTagsAttachedToVStorageObjectRequestType"] = reflect.TypeOf((*ListTagsAttachedToVStorageObjectRequestType)(nil)).Elem()
 53381  }
 53382  
 53383  type ListTagsAttachedToVStorageObjectResponse struct {
 53384  	Returnval []VslmTagEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53385  }
 53386  
 53387  type ListVStorageObject ListVStorageObjectRequestType
 53388  
 53389  func init() {
 53390  	t["ListVStorageObject"] = reflect.TypeOf((*ListVStorageObject)(nil)).Elem()
 53391  }
 53392  
 53393  // The parameters of `VcenterVStorageObjectManager.ListVStorageObject`.
 53394  type ListVStorageObjectRequestType struct {
 53395  	This ManagedObjectReference `xml:"_this" json:"-"`
 53396  	// The datastore to query for the virtual storage objects.
 53397  	//
 53398  	// Refers instance of `Datastore`.
 53399  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 53400  }
 53401  
 53402  func init() {
 53403  	t["ListVStorageObjectRequestType"] = reflect.TypeOf((*ListVStorageObjectRequestType)(nil)).Elem()
 53404  }
 53405  
 53406  type ListVStorageObjectResponse struct {
 53407  	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53408  }
 53409  
 53410  type ListVStorageObjectsAttachedToTag ListVStorageObjectsAttachedToTagRequestType
 53411  
 53412  func init() {
 53413  	t["ListVStorageObjectsAttachedToTag"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTag)(nil)).Elem()
 53414  }
 53415  
 53416  // The parameters of `VcenterVStorageObjectManager.ListVStorageObjectsAttachedToTag`.
 53417  type ListVStorageObjectsAttachedToTagRequestType struct {
 53418  	This ManagedObjectReference `xml:"_this" json:"-"`
 53419  	// The category to which the tag belongs.
 53420  	Category string `xml:"category" json:"category"`
 53421  	// The tag to be queried.
 53422  	Tag string `xml:"tag" json:"tag"`
 53423  }
 53424  
 53425  func init() {
 53426  	t["ListVStorageObjectsAttachedToTagRequestType"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTagRequestType)(nil)).Elem()
 53427  }
 53428  
 53429  type ListVStorageObjectsAttachedToTagResponse struct {
 53430  	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53431  }
 53432  
 53433  // This event records when a local datastore is created.
 53434  type LocalDatastoreCreatedEvent struct {
 53435  	HostEvent
 53436  
 53437  	// The associated datastore.
 53438  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 53439  	// Url of the associated datastore.
 53440  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
 53441  }
 53442  
 53443  func init() {
 53444  	t["LocalDatastoreCreatedEvent"] = reflect.TypeOf((*LocalDatastoreCreatedEvent)(nil)).Elem()
 53445  }
 53446  
 53447  // The information details about a datastore that is local to a host.
 53448  type LocalDatastoreInfo struct {
 53449  	DatastoreInfo
 53450  
 53451  	// The local path on a host.
 53452  	//
 53453  	// May not
 53454  	// be available when the datastore is not accessible.
 53455  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 53456  }
 53457  
 53458  func init() {
 53459  	t["LocalDatastoreInfo"] = reflect.TypeOf((*LocalDatastoreInfo)(nil)).Elem()
 53460  }
 53461  
 53462  // Deprecated as of vSphere API 4.0, this is not used by the system.
 53463  //
 53464  // Specify license key data to store locally.
 53465  type LocalLicenseSource struct {
 53466  	LicenseSource
 53467  
 53468  	// The size of this string is implementation dependent.
 53469  	//
 53470  	// It must contain ASCII or ISO Latin-1 characters only.
 53471  	LicenseKeys string `xml:"licenseKeys" json:"licenseKeys"`
 53472  }
 53473  
 53474  func init() {
 53475  	t["LocalLicenseSource"] = reflect.TypeOf((*LocalLicenseSource)(nil)).Elem()
 53476  }
 53477  
 53478  // Local Tech Support Mode for the host has been enabled.
 53479  type LocalTSMEnabledEvent struct {
 53480  	HostEvent
 53481  }
 53482  
 53483  func init() {
 53484  	t["LocalTSMEnabledEvent"] = reflect.TypeOf((*LocalTSMEnabledEvent)(nil)).Elem()
 53485  }
 53486  
 53487  // Message data which is intended to be displayed according
 53488  // to the locale of a client.
 53489  //
 53490  // A `LocalizableMessage` contains both a formatted, localized
 53491  // version of the text and the data needed to perform localization in
 53492  // conjunction with localization catalogs.
 53493  //
 53494  // Clients of the VIM API may use vim.SessionManager.setLocale()
 53495  // to cause the server to emit a localized `LocalizableMessage.message`, or may perform
 53496  // client-side localization based on message catalogs provided by the
 53497  // server.
 53498  //   - If the substition variable is a string, no further lookup is required.
 53499  //   - `LocalizableMessage.arg` = \[("address" = "127.0.0.1")\]
 53500  //   - CATALOG(locmsg, `LocalizableMessage.key`) = "IP address is {address}"
 53501  //   - \==&gt; `LocalizableMessage.message` = "IP address is 127.0.0.1"
 53502  //   - If the substitution variable is an integer, value is a lookup key.
 53503  //   - `LocalizableMessage.arg` = \[("1" = "button.cancel"), ("2" = "msg.revert")\]
 53504  //   - CATALOG(locmsg, `LocalizableMessage.key`) = "Select '{1}' to {2}"
 53505  //   - CATALOG(locmsg, button.cancel) = "Cancel"
 53506  //   - CATALOG(locmsg, msg.revert) = "revert"
 53507  //   - \==&gt; `LocalizableMessage.message` = "Select 'Cancel' to revert"
 53508  //   - If the variable contains '@', value is a label lookup in another
 53509  //     catalog, where {name.@CATALOG.prefix} looks up prefix.`LocalizableMessage.arg`\[name\].label
 53510  //     in CATALOG.
 53511  //   - `LocalizableMessage.arg` = \[("field" = "queued")\]
 53512  //   - CATALOG(locmsg, `LocalizableMessage.key`) = "State is {field.@enum.TaskInfo.State}"
 53513  //   - CATALOG(enum, TaskInfo.State.queued.label) is "Queued"
 53514  //   - \==&gt; `LocalizableMessage.message` = "State is Queued"
 53515  type LocalizableMessage struct {
 53516  	DynamicData
 53517  
 53518  	// Unique key identifying the message in the localized message catalog.
 53519  	Key string `xml:"key" json:"key"`
 53520  	// Substitution arguments for variables in the localized message.
 53521  	Arg []KeyAnyValue `xml:"arg,omitempty" json:"arg,omitempty"`
 53522  	// Message in session locale.
 53523  	//
 53524  	// Use vim.SessionManager.setLocale() to change the session locale.
 53525  	Message string `xml:"message,omitempty" json:"message,omitempty"`
 53526  }
 53527  
 53528  func init() {
 53529  	t["LocalizableMessage"] = reflect.TypeOf((*LocalizableMessage)(nil)).Elem()
 53530  }
 53531  
 53532  // Description of an available message catalog
 53533  type LocalizationManagerMessageCatalog struct {
 53534  	DynamicData
 53535  
 53536  	// The module or extension that publishes this catalog.
 53537  	//
 53538  	// The moduleName will be empty for the core catalogs for the
 53539  	// VirtualCenter server itself.
 53540  	ModuleName string `xml:"moduleName" json:"moduleName"`
 53541  	// The name of the catalog.
 53542  	CatalogName string `xml:"catalogName" json:"catalogName"`
 53543  	// The locale for the catalog.
 53544  	Locale string `xml:"locale" json:"locale"`
 53545  	// The URI (relative to the connection URL for the VirtualCenter server
 53546  	// itself) from which the catalog can be downloaded.
 53547  	//
 53548  	// The caller will need to augment this with a scheme and authority (host
 53549  	// and port) to make a complete URL.
 53550  	CatalogUri string `xml:"catalogUri" json:"catalogUri"`
 53551  	// The last-modified time of the catalog file, if available
 53552  	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
 53553  	// The checksum of the catalog file, if available
 53554  	Md5sum string `xml:"md5sum,omitempty" json:"md5sum,omitempty"`
 53555  	// The version of the catalog file, if available
 53556  	// The format is dot-separated version string, e.g.
 53557  	//
 53558  	// "1.2.3".
 53559  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 53560  }
 53561  
 53562  func init() {
 53563  	t["LocalizationManagerMessageCatalog"] = reflect.TypeOf((*LocalizationManagerMessageCatalog)(nil)).Elem()
 53564  }
 53565  
 53566  // A wrapper class used to pass MethodFault data objects over the wire
 53567  // along with a localized display message for the fault.
 53568  type LocalizedMethodFault struct {
 53569  	DynamicData
 53570  
 53571  	Fault BaseMethodFault `xml:"fault,typeattr" json:"fault"`
 53572  	// The localized message that would be sent in the faultstring element
 53573  	// of the SOAP Fault.
 53574  	//
 53575  	// It is optional so that clients are not required
 53576  	// to send a localized message to the server, but servers are required
 53577  	// to send the localized message to clients.
 53578  	LocalizedMessage string `xml:"localizedMessage,omitempty" json:"localizedMessage,omitempty"`
 53579  }
 53580  
 53581  func init() {
 53582  	t["LocalizedMethodFault"] = reflect.TypeOf((*LocalizedMethodFault)(nil)).Elem()
 53583  }
 53584  
 53585  // Locker has not been configured properly.
 53586  //
 53587  // This event is fired when the datastore configured to back the locker
 53588  // does not exist or when connectivity to the datastore is lost.
 53589  type LockerMisconfiguredEvent struct {
 53590  	Event
 53591  
 53592  	// The datastore that has been configured to back the locker
 53593  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 53594  }
 53595  
 53596  func init() {
 53597  	t["LockerMisconfiguredEvent"] = reflect.TypeOf((*LockerMisconfiguredEvent)(nil)).Elem()
 53598  }
 53599  
 53600  // Locker was reconfigured to a new location.
 53601  type LockerReconfiguredEvent struct {
 53602  	Event
 53603  
 53604  	// The datastore that was previously backing the locker.
 53605  	//
 53606  	// This field is not
 53607  	// set if a datastore was not backing the locker previously.
 53608  	OldDatastore *DatastoreEventArgument `xml:"oldDatastore,omitempty" json:"oldDatastore,omitempty"`
 53609  	// The datastore that is now used to back the locker.
 53610  	//
 53611  	// This field is not set if no datastore is currently backing the locker.
 53612  	NewDatastore *DatastoreEventArgument `xml:"newDatastore,omitempty" json:"newDatastore,omitempty"`
 53613  }
 53614  
 53615  func init() {
 53616  	t["LockerReconfiguredEvent"] = reflect.TypeOf((*LockerReconfiguredEvent)(nil)).Elem()
 53617  }
 53618  
 53619  // A LogBundlingFailed exception is thrown when generation of a diagnostic
 53620  // data bundle fails.
 53621  type LogBundlingFailed struct {
 53622  	VimFault
 53623  }
 53624  
 53625  func init() {
 53626  	t["LogBundlingFailed"] = reflect.TypeOf((*LogBundlingFailed)(nil)).Elem()
 53627  }
 53628  
 53629  type LogBundlingFailedFault LogBundlingFailed
 53630  
 53631  func init() {
 53632  	t["LogBundlingFailedFault"] = reflect.TypeOf((*LogBundlingFailedFault)(nil)).Elem()
 53633  }
 53634  
 53635  type LogUserEvent LogUserEventRequestType
 53636  
 53637  func init() {
 53638  	t["LogUserEvent"] = reflect.TypeOf((*LogUserEvent)(nil)).Elem()
 53639  }
 53640  
 53641  // The parameters of `EventManager.LogUserEvent`.
 53642  type LogUserEventRequestType struct {
 53643  	This ManagedObjectReference `xml:"_this" json:"-"`
 53644  	// The entity against which the event is logged. The entity must be
 53645  	// the root folder, a DataCenter, a VirtualMachine, a HostSystem,
 53646  	// or a ComputeResource.
 53647  	//
 53648  	// Required privileges: Global.LogEvent
 53649  	//
 53650  	// Refers instance of `ManagedEntity`.
 53651  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 53652  	// The message to be logged.
 53653  	Msg string `xml:"msg" json:"msg"`
 53654  }
 53655  
 53656  func init() {
 53657  	t["LogUserEventRequestType"] = reflect.TypeOf((*LogUserEventRequestType)(nil)).Elem()
 53658  }
 53659  
 53660  type LogUserEventResponse struct {
 53661  }
 53662  
 53663  type Login LoginRequestType
 53664  
 53665  func init() {
 53666  	t["Login"] = reflect.TypeOf((*Login)(nil)).Elem()
 53667  }
 53668  
 53669  type LoginBySSPI LoginBySSPIRequestType
 53670  
 53671  func init() {
 53672  	t["LoginBySSPI"] = reflect.TypeOf((*LoginBySSPI)(nil)).Elem()
 53673  }
 53674  
 53675  // The parameters of `SessionManager.LoginBySSPI`.
 53676  type LoginBySSPIRequestType struct {
 53677  	This ManagedObjectReference `xml:"_this" json:"-"`
 53678  	// The partially formed context returned from
 53679  	// InitializeSecurityContext().
 53680  	Base64Token string `xml:"base64Token" json:"base64Token"`
 53681  	// A two-character ISO-639 language ID (like "en")
 53682  	// optionally followed by an
 53683  	// underscore and a two-character ISO 3166 country ID (like "US").
 53684  	//
 53685  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 53686  	// Note: The method uses the server default locale when
 53687  	// a locale is not provided. This default can be configured in the
 53688  	// server configuration file. If unspecified, it defaults to the
 53689  	// locale of the server environment or English ("en") if unsupported.
 53690  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 53691  }
 53692  
 53693  func init() {
 53694  	t["LoginBySSPIRequestType"] = reflect.TypeOf((*LoginBySSPIRequestType)(nil)).Elem()
 53695  }
 53696  
 53697  type LoginBySSPIResponse struct {
 53698  	Returnval UserSession `xml:"returnval" json:"returnval"`
 53699  }
 53700  
 53701  type LoginByToken LoginByTokenRequestType
 53702  
 53703  func init() {
 53704  	t["LoginByToken"] = reflect.TypeOf((*LoginByToken)(nil)).Elem()
 53705  }
 53706  
 53707  // The parameters of `SessionManager.LoginByToken`.
 53708  type LoginByTokenRequestType struct {
 53709  	This ManagedObjectReference `xml:"_this" json:"-"`
 53710  	// A two-character ISO-639 language ID (like "en")
 53711  	// optionally followed by an
 53712  	// underscore and a two-character ISO 3166 country ID (like "US").
 53713  	//
 53714  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 53715  	// Note: The method uses the server default locale when
 53716  	// a locale is not provided. This default can be configured in the
 53717  	// server configuration file. If unspecified, it defaults to the
 53718  	// locale of the server environment or English ("en") if unsupported.
 53719  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 53720  }
 53721  
 53722  func init() {
 53723  	t["LoginByTokenRequestType"] = reflect.TypeOf((*LoginByTokenRequestType)(nil)).Elem()
 53724  }
 53725  
 53726  type LoginByTokenResponse struct {
 53727  	Returnval UserSession `xml:"returnval" json:"returnval"`
 53728  }
 53729  
 53730  type LoginExtensionByCertificate LoginExtensionByCertificateRequestType
 53731  
 53732  func init() {
 53733  	t["LoginExtensionByCertificate"] = reflect.TypeOf((*LoginExtensionByCertificate)(nil)).Elem()
 53734  }
 53735  
 53736  // The parameters of `SessionManager.LoginExtensionByCertificate`.
 53737  type LoginExtensionByCertificateRequestType struct {
 53738  	This ManagedObjectReference `xml:"_this" json:"-"`
 53739  	// Key of extension that is logging in.
 53740  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 53741  	// A two-character ISO-639 language ID (like "en")
 53742  	// optionally followed by an
 53743  	// underscore and a two-character ISO 3166 country ID (like "US").
 53744  	//
 53745  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 53746  	// Note: The method uses the server default locale when
 53747  	// a locale is not provided. This default can be configured in the
 53748  	// server configuration file. If unspecified, it defaults to the
 53749  	// locale of the server environment or English ("en") if unsupported.
 53750  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 53751  }
 53752  
 53753  func init() {
 53754  	t["LoginExtensionByCertificateRequestType"] = reflect.TypeOf((*LoginExtensionByCertificateRequestType)(nil)).Elem()
 53755  }
 53756  
 53757  type LoginExtensionByCertificateResponse struct {
 53758  	Returnval UserSession `xml:"returnval" json:"returnval"`
 53759  }
 53760  
 53761  type LoginExtensionBySubjectName LoginExtensionBySubjectNameRequestType
 53762  
 53763  func init() {
 53764  	t["LoginExtensionBySubjectName"] = reflect.TypeOf((*LoginExtensionBySubjectName)(nil)).Elem()
 53765  }
 53766  
 53767  // The parameters of `SessionManager.LoginExtensionBySubjectName`.
 53768  type LoginExtensionBySubjectNameRequestType struct {
 53769  	This ManagedObjectReference `xml:"_this" json:"-"`
 53770  	// Key of extension that is logging in.
 53771  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 53772  	// A two-character ISO-639 language ID (like "en")
 53773  	// optionally followed by an
 53774  	// underscore and a two-character ISO 3166 country ID (like "US").
 53775  	//
 53776  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 53777  	// Note: The method uses the server default locale when
 53778  	// a locale is not provided. This default can be configured in the
 53779  	// server configuration file. If unspecified, it defaults to the
 53780  	// locale of the server environment or English ("en") if unsupported.
 53781  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 53782  }
 53783  
 53784  func init() {
 53785  	t["LoginExtensionBySubjectNameRequestType"] = reflect.TypeOf((*LoginExtensionBySubjectNameRequestType)(nil)).Elem()
 53786  }
 53787  
 53788  type LoginExtensionBySubjectNameResponse struct {
 53789  	Returnval UserSession `xml:"returnval" json:"returnval"`
 53790  }
 53791  
 53792  // The parameters of `SessionManager.Login`.
 53793  type LoginRequestType struct {
 53794  	This ManagedObjectReference `xml:"_this" json:"-"`
 53795  	// The `ID`
 53796  	// of the user who is logging on to the server.
 53797  	UserName string `xml:"userName" json:"userName"`
 53798  	// The `HostAccountSpec.password`
 53799  	// of the user who is logging on to the server.
 53800  	Password string `xml:"password" json:"password"`
 53801  	// A two-character ISO-639 language ID (like "en")
 53802  	// optionally followed by an
 53803  	// underscore and a two-character ISO 3166 country ID (like "US").
 53804  	//
 53805  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 53806  	// Note: The method uses the server default locale when
 53807  	// a locale is not provided. This default can be configured in the
 53808  	// server configuration file. If unspecified, it defaults to the
 53809  	// locale of the server environment or English ("en") if unsupported.
 53810  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 53811  }
 53812  
 53813  func init() {
 53814  	t["LoginRequestType"] = reflect.TypeOf((*LoginRequestType)(nil)).Elem()
 53815  }
 53816  
 53817  type LoginResponse struct {
 53818  	Returnval UserSession `xml:"returnval" json:"returnval"`
 53819  }
 53820  
 53821  type Logout LogoutRequestType
 53822  
 53823  func init() {
 53824  	t["Logout"] = reflect.TypeOf((*Logout)(nil)).Elem()
 53825  }
 53826  
 53827  type LogoutRequestType struct {
 53828  	This ManagedObjectReference `xml:"_this" json:"-"`
 53829  }
 53830  
 53831  func init() {
 53832  	t["LogoutRequestType"] = reflect.TypeOf((*LogoutRequestType)(nil)).Elem()
 53833  }
 53834  
 53835  type LogoutResponse struct {
 53836  }
 53837  
 53838  // The LongOption data object type is used to define the minimum, maximum,
 53839  // and default values for a 64-bit long option.
 53840  type LongOption struct {
 53841  	OptionType
 53842  
 53843  	// The minimum value.
 53844  	Min int64 `xml:"min" json:"min"`
 53845  	// The maximum value.
 53846  	Max int64 `xml:"max" json:"max"`
 53847  	// The default value.
 53848  	DefaultValue int64 `xml:"defaultValue" json:"defaultValue"`
 53849  }
 53850  
 53851  func init() {
 53852  	t["LongOption"] = reflect.TypeOf((*LongOption)(nil)).Elem()
 53853  }
 53854  
 53855  // The long integer type of setting or configuration that may get an
 53856  // inherited value.
 53857  type LongPolicy struct {
 53858  	InheritablePolicy
 53859  
 53860  	// The boolean value that is either set or inherited.
 53861  	Value int64 `xml:"value,omitempty" json:"value,omitempty"`
 53862  }
 53863  
 53864  func init() {
 53865  	t["LongPolicy"] = reflect.TypeOf((*LongPolicy)(nil)).Elem()
 53866  }
 53867  
 53868  type LookupDvPortGroup LookupDvPortGroupRequestType
 53869  
 53870  func init() {
 53871  	t["LookupDvPortGroup"] = reflect.TypeOf((*LookupDvPortGroup)(nil)).Elem()
 53872  }
 53873  
 53874  // The parameters of `DistributedVirtualSwitch.LookupDvPortGroup`.
 53875  type LookupDvPortGroupRequestType struct {
 53876  	This ManagedObjectReference `xml:"_this" json:"-"`
 53877  	// The key that identifies a portgroup of this VDS.
 53878  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 53879  }
 53880  
 53881  func init() {
 53882  	t["LookupDvPortGroupRequestType"] = reflect.TypeOf((*LookupDvPortGroupRequestType)(nil)).Elem()
 53883  }
 53884  
 53885  type LookupDvPortGroupResponse struct {
 53886  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 53887  }
 53888  
 53889  type LookupVmOverheadMemory LookupVmOverheadMemoryRequestType
 53890  
 53891  func init() {
 53892  	t["LookupVmOverheadMemory"] = reflect.TypeOf((*LookupVmOverheadMemory)(nil)).Elem()
 53893  }
 53894  
 53895  // The parameters of `OverheadMemoryManager.LookupVmOverheadMemory`.
 53896  type LookupVmOverheadMemoryRequestType struct {
 53897  	This ManagedObjectReference `xml:"_this" json:"-"`
 53898  	// The Virtual Machine managed object reference.
 53899  	//
 53900  	// Refers instance of `VirtualMachine`.
 53901  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 53902  	// The Host managed object reference.
 53903  	//
 53904  	// Refers instance of `HostSystem`.
 53905  	Host ManagedObjectReference `xml:"host" json:"host"`
 53906  }
 53907  
 53908  func init() {
 53909  	t["LookupVmOverheadMemoryRequestType"] = reflect.TypeOf((*LookupVmOverheadMemoryRequestType)(nil)).Elem()
 53910  }
 53911  
 53912  type LookupVmOverheadMemoryResponse struct {
 53913  	Returnval int64 `xml:"returnval" json:"returnval"`
 53914  }
 53915  
 53916  // Base class for specifying MAC addresses.
 53917  type MacAddress struct {
 53918  	NegatableExpression
 53919  }
 53920  
 53921  func init() {
 53922  	t["MacAddress"] = reflect.TypeOf((*MacAddress)(nil)).Elem()
 53923  }
 53924  
 53925  // This class defines a range of MAC address.
 53926  type MacRange struct {
 53927  	MacAddress
 53928  
 53929  	// MAC address.
 53930  	Address string `xml:"address" json:"address"`
 53931  	// Mask that is used in matching the MAC address.
 53932  	//
 53933  	// A MAC address is
 53934  	// considered matched if the "and" operation of the mask on the
 53935  	// MAC address and `MacRange.address` yields the same result.
 53936  	// For example, a MAC of "00:A0:FF:14:FF:29" is considered matched
 53937  	// for a `MacRange.address` of "00:A0:C9:14:C8:29" and a
 53938  	// `MacRange.mask` of "FF:FF:00:FF:00:FF".
 53939  	Mask string `xml:"mask" json:"mask"`
 53940  }
 53941  
 53942  func init() {
 53943  	t["MacRange"] = reflect.TypeOf((*MacRange)(nil)).Elem()
 53944  }
 53945  
 53946  // Migration of the virtual machine to the target host will need a move of
 53947  // virtual machine files, like configuration file or virtual disks, which is
 53948  // not permitted if the source host is in maintenance mode.
 53949  type MaintenanceModeFileMove struct {
 53950  	MigrationFault
 53951  }
 53952  
 53953  func init() {
 53954  	t["MaintenanceModeFileMove"] = reflect.TypeOf((*MaintenanceModeFileMove)(nil)).Elem()
 53955  }
 53956  
 53957  type MaintenanceModeFileMoveFault MaintenanceModeFileMove
 53958  
 53959  func init() {
 53960  	t["MaintenanceModeFileMoveFault"] = reflect.TypeOf((*MaintenanceModeFileMoveFault)(nil)).Elem()
 53961  }
 53962  
 53963  type MakeDirectory MakeDirectoryRequestType
 53964  
 53965  func init() {
 53966  	t["MakeDirectory"] = reflect.TypeOf((*MakeDirectory)(nil)).Elem()
 53967  }
 53968  
 53969  type MakeDirectoryInGuest MakeDirectoryInGuestRequestType
 53970  
 53971  func init() {
 53972  	t["MakeDirectoryInGuest"] = reflect.TypeOf((*MakeDirectoryInGuest)(nil)).Elem()
 53973  }
 53974  
 53975  // The parameters of `GuestFileManager.MakeDirectoryInGuest`.
 53976  type MakeDirectoryInGuestRequestType struct {
 53977  	This ManagedObjectReference `xml:"_this" json:"-"`
 53978  	// Virtual Machine to perform the operation on.
 53979  	//
 53980  	// Required privileges: VirtualMachine.GuestOperations.Modify
 53981  	//
 53982  	// Refers instance of `VirtualMachine`.
 53983  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 53984  	// The guest authentication data. See
 53985  	// `GuestAuthentication`.
 53986  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 53987  	// The complete path to the directory to be created.
 53988  	DirectoryPath string `xml:"directoryPath" json:"directoryPath"`
 53989  	// Whether any parent directories
 53990  	// are to be created.
 53991  	CreateParentDirectories bool `xml:"createParentDirectories" json:"createParentDirectories"`
 53992  }
 53993  
 53994  func init() {
 53995  	t["MakeDirectoryInGuestRequestType"] = reflect.TypeOf((*MakeDirectoryInGuestRequestType)(nil)).Elem()
 53996  }
 53997  
 53998  type MakeDirectoryInGuestResponse struct {
 53999  }
 54000  
 54001  // The parameters of `FileManager.MakeDirectory`.
 54002  type MakeDirectoryRequestType struct {
 54003  	This ManagedObjectReference `xml:"_this" json:"-"`
 54004  	// The name of the folder, either a URL or a datastore path
 54005  	// referring to the folder to be created.
 54006  	Name string `xml:"name" json:"name"`
 54007  	// If <code>name</code> is a datastore path, the datacenter for
 54008  	// that datastore path. Not needed when invoked directly on ESX.
 54009  	// If not specified on a call to VirtualCenter,
 54010  	// <code>name</code> must be a URL.
 54011  	//
 54012  	// Required privileges: System.View
 54013  	//
 54014  	// Refers instance of `Datacenter`.
 54015  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 54016  	// If true, any non-existent intermediate level
 54017  	// folders will be created. If not specified,
 54018  	// it is assumed to be false.
 54019  	CreateParentDirectories *bool `xml:"createParentDirectories" json:"createParentDirectories,omitempty"`
 54020  }
 54021  
 54022  func init() {
 54023  	t["MakeDirectoryRequestType"] = reflect.TypeOf((*MakeDirectoryRequestType)(nil)).Elem()
 54024  }
 54025  
 54026  type MakeDirectoryResponse struct {
 54027  }
 54028  
 54029  // The parameters of `VirtualMachine.MakePrimaryVM_Task`.
 54030  type MakePrimaryVMRequestType struct {
 54031  	This ManagedObjectReference `xml:"_this" json:"-"`
 54032  	// The secondary virtual machine specified will be made the primary
 54033  	// virtual machine.
 54034  	// This field must specify a secondary virtual machine that is part of the fault
 54035  	// tolerant group that this virtual machine is currently associated with. It can
 54036  	// only be invoked from the primary virtual machine in the group.
 54037  	//
 54038  	// Refers instance of `VirtualMachine`.
 54039  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 54040  }
 54041  
 54042  func init() {
 54043  	t["MakePrimaryVMRequestType"] = reflect.TypeOf((*MakePrimaryVMRequestType)(nil)).Elem()
 54044  }
 54045  
 54046  type MakePrimaryVM_Task MakePrimaryVMRequestType
 54047  
 54048  func init() {
 54049  	t["MakePrimaryVM_Task"] = reflect.TypeOf((*MakePrimaryVM_Task)(nil)).Elem()
 54050  }
 54051  
 54052  type MakePrimaryVM_TaskResponse struct {
 54053  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54054  }
 54055  
 54056  // The ManagedByInfo data object contains information about the extension
 54057  // responsible for the life-cycle of the entity.
 54058  type ManagedByInfo struct {
 54059  	DynamicData
 54060  
 54061  	// Key of the extension managing the entity.
 54062  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 54063  	// Managed entity type, as defined by the extension managing the entity.
 54064  	//
 54065  	// An extension can manage different types of entities - different kinds
 54066  	// of virtual machines, vApps, etc. - and this property is used to find
 54067  	// the corresponding `managedEntityInfo`
 54068  	// entry from the extension.
 54069  	Type string `xml:"type" json:"type"`
 54070  }
 54071  
 54072  func init() {
 54073  	t["ManagedByInfo"] = reflect.TypeOf((*ManagedByInfo)(nil)).Elem()
 54074  }
 54075  
 54076  // The general event argument for a managed entity.
 54077  type ManagedEntityEventArgument struct {
 54078  	EntityEventArgument
 54079  
 54080  	// The managed entity.
 54081  	//
 54082  	// Refers instance of `ManagedEntity`.
 54083  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 54084  }
 54085  
 54086  func init() {
 54087  	t["ManagedEntityEventArgument"] = reflect.TypeOf((*ManagedEntityEventArgument)(nil)).Elem()
 54088  }
 54089  
 54090  // A ManagedObjectNotFound exception is thrown when a request refers to
 54091  // a managed object that no longer exists or has never existed.
 54092  type ManagedObjectNotFound struct {
 54093  	RuntimeFault
 54094  
 54095  	// The managed object reference that generated the error.
 54096  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 54097  }
 54098  
 54099  func init() {
 54100  	t["ManagedObjectNotFound"] = reflect.TypeOf((*ManagedObjectNotFound)(nil)).Elem()
 54101  }
 54102  
 54103  type ManagedObjectNotFoundFault ManagedObjectNotFound
 54104  
 54105  func init() {
 54106  	t["ManagedObjectNotFoundFault"] = reflect.TypeOf((*ManagedObjectNotFoundFault)(nil)).Elem()
 54107  }
 54108  
 54109  // The ManagedObjectReference data object type is a special-purpose data object. Commonly referred to as simply a "reference", "MoRef", "MOR", or other variations of this theme, instances of managed object references contain data that identifies specific server-side managed objects. Managed object references are typically one of the return types from a method invocation.
 54110  //
 54111  // Managed object references are client application references to server-side managed objects. The client application uses ManagedObjectReference objects when it invokes operations on a server. A ManagedObjectReference is guaranteed to be unique and persistent during an object's lifetime. The reference persists after an object has moved within the inventory, across sessions, and across server restarts. If you remove an object, for example, a virtual machine, from the inventory, and then put it back, the reference changes.
 54112  type ManagedObjectReference struct {
 54113  	Type       string `xml:"type,attr" json:"type"`
 54114  	Value      string `xml:",chardata" json:"value"`
 54115  	ServerGUID string `xml:"serverGuid,attr,omitempty" json:"serverGuid,omitempty"`
 54116  }
 54117  
 54118  func init() {
 54119  	t["ManagedObjectReference"] = reflect.TypeOf((*ManagedObjectReference)(nil)).Elem()
 54120  }
 54121  
 54122  // The parameters of `HostStorageSystem.MarkAsLocal_Task`.
 54123  type MarkAsLocalRequestType struct {
 54124  	This ManagedObjectReference `xml:"_this" json:"-"`
 54125  	// The SCSI disk UUID.
 54126  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 54127  }
 54128  
 54129  func init() {
 54130  	t["MarkAsLocalRequestType"] = reflect.TypeOf((*MarkAsLocalRequestType)(nil)).Elem()
 54131  }
 54132  
 54133  type MarkAsLocal_Task MarkAsLocalRequestType
 54134  
 54135  func init() {
 54136  	t["MarkAsLocal_Task"] = reflect.TypeOf((*MarkAsLocal_Task)(nil)).Elem()
 54137  }
 54138  
 54139  type MarkAsLocal_TaskResponse struct {
 54140  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54141  }
 54142  
 54143  // The parameters of `HostStorageSystem.MarkAsNonLocal_Task`.
 54144  type MarkAsNonLocalRequestType struct {
 54145  	This ManagedObjectReference `xml:"_this" json:"-"`
 54146  	// The SCSI disk UUID.
 54147  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 54148  }
 54149  
 54150  func init() {
 54151  	t["MarkAsNonLocalRequestType"] = reflect.TypeOf((*MarkAsNonLocalRequestType)(nil)).Elem()
 54152  }
 54153  
 54154  type MarkAsNonLocal_Task MarkAsNonLocalRequestType
 54155  
 54156  func init() {
 54157  	t["MarkAsNonLocal_Task"] = reflect.TypeOf((*MarkAsNonLocal_Task)(nil)).Elem()
 54158  }
 54159  
 54160  type MarkAsNonLocal_TaskResponse struct {
 54161  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54162  }
 54163  
 54164  // The parameters of `HostStorageSystem.MarkAsNonSsd_Task`.
 54165  type MarkAsNonSsdRequestType struct {
 54166  	This ManagedObjectReference `xml:"_this" json:"-"`
 54167  	// The SCSI disk UUID.
 54168  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 54169  }
 54170  
 54171  func init() {
 54172  	t["MarkAsNonSsdRequestType"] = reflect.TypeOf((*MarkAsNonSsdRequestType)(nil)).Elem()
 54173  }
 54174  
 54175  type MarkAsNonSsd_Task MarkAsNonSsdRequestType
 54176  
 54177  func init() {
 54178  	t["MarkAsNonSsd_Task"] = reflect.TypeOf((*MarkAsNonSsd_Task)(nil)).Elem()
 54179  }
 54180  
 54181  type MarkAsNonSsd_TaskResponse struct {
 54182  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54183  }
 54184  
 54185  // The parameters of `HostStorageSystem.MarkAsSsd_Task`.
 54186  type MarkAsSsdRequestType struct {
 54187  	This ManagedObjectReference `xml:"_this" json:"-"`
 54188  	// The SCSI disk UUID.
 54189  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 54190  }
 54191  
 54192  func init() {
 54193  	t["MarkAsSsdRequestType"] = reflect.TypeOf((*MarkAsSsdRequestType)(nil)).Elem()
 54194  }
 54195  
 54196  type MarkAsSsd_Task MarkAsSsdRequestType
 54197  
 54198  func init() {
 54199  	t["MarkAsSsd_Task"] = reflect.TypeOf((*MarkAsSsd_Task)(nil)).Elem()
 54200  }
 54201  
 54202  type MarkAsSsd_TaskResponse struct {
 54203  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54204  }
 54205  
 54206  type MarkAsTemplate MarkAsTemplateRequestType
 54207  
 54208  func init() {
 54209  	t["MarkAsTemplate"] = reflect.TypeOf((*MarkAsTemplate)(nil)).Elem()
 54210  }
 54211  
 54212  type MarkAsTemplateRequestType struct {
 54213  	This ManagedObjectReference `xml:"_this" json:"-"`
 54214  }
 54215  
 54216  func init() {
 54217  	t["MarkAsTemplateRequestType"] = reflect.TypeOf((*MarkAsTemplateRequestType)(nil)).Elem()
 54218  }
 54219  
 54220  type MarkAsTemplateResponse struct {
 54221  }
 54222  
 54223  type MarkAsVirtualMachine MarkAsVirtualMachineRequestType
 54224  
 54225  func init() {
 54226  	t["MarkAsVirtualMachine"] = reflect.TypeOf((*MarkAsVirtualMachine)(nil)).Elem()
 54227  }
 54228  
 54229  // The parameters of `VirtualMachine.MarkAsVirtualMachine`.
 54230  type MarkAsVirtualMachineRequestType struct {
 54231  	This ManagedObjectReference `xml:"_this" json:"-"`
 54232  	// Resource pool to associate with the virtual machine.
 54233  	//
 54234  	// Required privileges: Resource.AssignVMToPool
 54235  	//
 54236  	// Refers instance of `ResourcePool`.
 54237  	Pool ManagedObjectReference `xml:"pool" json:"pool"`
 54238  	// The target host on which the virtual machine is intended to run. The
 54239  	// host
 54240  	// parameter must specify a host that is a member of the ComputeResource
 54241  	// indirectly specified by the pool. For a stand-alone host or a cluster with
 54242  	// DRS, it can be omitted and the system selects a default.
 54243  	//
 54244  	// Refers instance of `HostSystem`.
 54245  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 54246  }
 54247  
 54248  func init() {
 54249  	t["MarkAsVirtualMachineRequestType"] = reflect.TypeOf((*MarkAsVirtualMachineRequestType)(nil)).Elem()
 54250  }
 54251  
 54252  type MarkAsVirtualMachineResponse struct {
 54253  }
 54254  
 54255  type MarkDefault MarkDefaultRequestType
 54256  
 54257  func init() {
 54258  	t["MarkDefault"] = reflect.TypeOf((*MarkDefault)(nil)).Elem()
 54259  }
 54260  
 54261  // The parameters of `CryptoManagerKmip.MarkDefault`.
 54262  type MarkDefaultRequestType struct {
 54263  	This ManagedObjectReference `xml:"_this" json:"-"`
 54264  	// \[in\] KMIP cluster ID to become default.
 54265  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 54266  }
 54267  
 54268  func init() {
 54269  	t["MarkDefaultRequestType"] = reflect.TypeOf((*MarkDefaultRequestType)(nil)).Elem()
 54270  }
 54271  
 54272  type MarkDefaultResponse struct {
 54273  }
 54274  
 54275  type MarkForRemoval MarkForRemovalRequestType
 54276  
 54277  func init() {
 54278  	t["MarkForRemoval"] = reflect.TypeOf((*MarkForRemoval)(nil)).Elem()
 54279  }
 54280  
 54281  type MarkForRemovalRequestType struct {
 54282  	This    ManagedObjectReference `xml:"_this" json:"-"`
 54283  	HbaName string                 `xml:"hbaName" json:"hbaName"`
 54284  	Remove  bool                   `xml:"remove" json:"remove"`
 54285  }
 54286  
 54287  func init() {
 54288  	t["MarkForRemovalRequestType"] = reflect.TypeOf((*MarkForRemovalRequestType)(nil)).Elem()
 54289  }
 54290  
 54291  type MarkForRemovalResponse struct {
 54292  }
 54293  
 54294  type MarkPerenniallyReserved MarkPerenniallyReservedRequestType
 54295  
 54296  func init() {
 54297  	t["MarkPerenniallyReserved"] = reflect.TypeOf((*MarkPerenniallyReserved)(nil)).Elem()
 54298  }
 54299  
 54300  // The parameters of `HostStorageSystem.MarkPerenniallyReservedEx_Task`.
 54301  type MarkPerenniallyReservedExRequestType struct {
 54302  	This ManagedObjectReference `xml:"_this" json:"-"`
 54303  	// The UUIDs of the ScsiLun devices that need a change in
 54304  	// the perennially reserved flag state.
 54305  	LunUuid []string `xml:"lunUuid,omitempty" json:"lunUuid,omitempty"`
 54306  	// State of the ScsiLun perennially reserved flag to be set.
 54307  	State bool `xml:"state" json:"state"`
 54308  }
 54309  
 54310  func init() {
 54311  	t["MarkPerenniallyReservedExRequestType"] = reflect.TypeOf((*MarkPerenniallyReservedExRequestType)(nil)).Elem()
 54312  }
 54313  
 54314  type MarkPerenniallyReservedEx_Task MarkPerenniallyReservedExRequestType
 54315  
 54316  func init() {
 54317  	t["MarkPerenniallyReservedEx_Task"] = reflect.TypeOf((*MarkPerenniallyReservedEx_Task)(nil)).Elem()
 54318  }
 54319  
 54320  type MarkPerenniallyReservedEx_TaskResponse struct {
 54321  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54322  }
 54323  
 54324  // The parameters of `HostStorageSystem.MarkPerenniallyReserved`.
 54325  type MarkPerenniallyReservedRequestType struct {
 54326  	This ManagedObjectReference `xml:"_this" json:"-"`
 54327  	// The UUID of the ScsiLun device to be marked as perennially
 54328  	// reserved.
 54329  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 54330  	// State of the ScsiLun perennially reserved flag to be set.
 54331  	State bool `xml:"state" json:"state"`
 54332  }
 54333  
 54334  func init() {
 54335  	t["MarkPerenniallyReservedRequestType"] = reflect.TypeOf((*MarkPerenniallyReservedRequestType)(nil)).Elem()
 54336  }
 54337  
 54338  type MarkPerenniallyReservedResponse struct {
 54339  }
 54340  
 54341  type MarkServiceProviderEntities MarkServiceProviderEntitiesRequestType
 54342  
 54343  func init() {
 54344  	t["MarkServiceProviderEntities"] = reflect.TypeOf((*MarkServiceProviderEntities)(nil)).Elem()
 54345  }
 54346  
 54347  // The parameters of `TenantTenantManager.MarkServiceProviderEntities`.
 54348  type MarkServiceProviderEntitiesRequestType struct {
 54349  	This ManagedObjectReference `xml:"_this" json:"-"`
 54350  	// an array of management entities.
 54351  	//
 54352  	// Required privileges: TenantManager.Update
 54353  	//
 54354  	// Refers instances of `ManagedEntity`.
 54355  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 54356  }
 54357  
 54358  func init() {
 54359  	t["MarkServiceProviderEntitiesRequestType"] = reflect.TypeOf((*MarkServiceProviderEntitiesRequestType)(nil)).Elem()
 54360  }
 54361  
 54362  type MarkServiceProviderEntitiesResponse struct {
 54363  }
 54364  
 54365  // Virtual memory file format is not supported on the datastore.
 54366  type MemoryFileFormatNotSupportedByDatastore struct {
 54367  	UnsupportedDatastore
 54368  
 54369  	// The name of the Datastore.
 54370  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 54371  	// Datastore file system volume type.
 54372  	//
 54373  	// See `DatastoreSummary.type`
 54374  	Type string `xml:"type" json:"type"`
 54375  }
 54376  
 54377  func init() {
 54378  	t["MemoryFileFormatNotSupportedByDatastore"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastore)(nil)).Elem()
 54379  }
 54380  
 54381  type MemoryFileFormatNotSupportedByDatastoreFault MemoryFileFormatNotSupportedByDatastore
 54382  
 54383  func init() {
 54384  	t["MemoryFileFormatNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastoreFault)(nil)).Elem()
 54385  }
 54386  
 54387  // Thrown when memory cannot be hot-added or hot-removed from the virtual machine.
 54388  type MemoryHotPlugNotSupported struct {
 54389  	VmConfigFault
 54390  }
 54391  
 54392  func init() {
 54393  	t["MemoryHotPlugNotSupported"] = reflect.TypeOf((*MemoryHotPlugNotSupported)(nil)).Elem()
 54394  }
 54395  
 54396  type MemoryHotPlugNotSupportedFault MemoryHotPlugNotSupported
 54397  
 54398  func init() {
 54399  	t["MemoryHotPlugNotSupportedFault"] = reflect.TypeOf((*MemoryHotPlugNotSupportedFault)(nil)).Elem()
 54400  }
 54401  
 54402  // The memory amount of the virtual machine is not within the recommended
 54403  // memory bounds for the virtual machine's guest OS.
 54404  type MemorySizeNotRecommended struct {
 54405  	VirtualHardwareCompatibilityIssue
 54406  
 54407  	// The configured memory size of the virtual machine.
 54408  	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
 54409  	// The minimum recommended memory size.
 54410  	MinMemorySizeMB int32 `xml:"minMemorySizeMB" json:"minMemorySizeMB"`
 54411  	// The maximum recommended memory size.
 54412  	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
 54413  }
 54414  
 54415  func init() {
 54416  	t["MemorySizeNotRecommended"] = reflect.TypeOf((*MemorySizeNotRecommended)(nil)).Elem()
 54417  }
 54418  
 54419  type MemorySizeNotRecommendedFault MemorySizeNotRecommended
 54420  
 54421  func init() {
 54422  	t["MemorySizeNotRecommendedFault"] = reflect.TypeOf((*MemorySizeNotRecommendedFault)(nil)).Elem()
 54423  }
 54424  
 54425  // The memory amount of the virtual machine is not within the acceptable
 54426  // guest memory bounds supported by the virtual machine's host.
 54427  type MemorySizeNotSupported struct {
 54428  	VirtualHardwareCompatibilityIssue
 54429  
 54430  	// The configured memory size of the virtual machine.
 54431  	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
 54432  	// The minimum acceptable memory size.
 54433  	MinMemorySizeMB int32 `xml:"minMemorySizeMB" json:"minMemorySizeMB"`
 54434  	// The maximum acceptable memory size.
 54435  	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
 54436  }
 54437  
 54438  func init() {
 54439  	t["MemorySizeNotSupported"] = reflect.TypeOf((*MemorySizeNotSupported)(nil)).Elem()
 54440  }
 54441  
 54442  // The memory amount of the virtual machine is not within the acceptable
 54443  // guest memory bounds supported by the virtual machine's datastore.
 54444  type MemorySizeNotSupportedByDatastore struct {
 54445  	VirtualHardwareCompatibilityIssue
 54446  
 54447  	// The datastore which does not support the requested memory size.
 54448  	//
 54449  	// Refers instance of `Datastore`.
 54450  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 54451  	// The configured memory size of the virtual machine.
 54452  	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
 54453  	// The maximum acceptable memory size supported by the datastore.
 54454  	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
 54455  }
 54456  
 54457  func init() {
 54458  	t["MemorySizeNotSupportedByDatastore"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastore)(nil)).Elem()
 54459  }
 54460  
 54461  type MemorySizeNotSupportedByDatastoreFault MemorySizeNotSupportedByDatastore
 54462  
 54463  func init() {
 54464  	t["MemorySizeNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastoreFault)(nil)).Elem()
 54465  }
 54466  
 54467  type MemorySizeNotSupportedFault MemorySizeNotSupported
 54468  
 54469  func init() {
 54470  	t["MemorySizeNotSupportedFault"] = reflect.TypeOf((*MemorySizeNotSupportedFault)(nil)).Elem()
 54471  }
 54472  
 54473  // Thrown if a request to take a memory snapshot is issued
 54474  // on a virtual machine with an independent disk.
 54475  type MemorySnapshotOnIndependentDisk struct {
 54476  	SnapshotFault
 54477  }
 54478  
 54479  func init() {
 54480  	t["MemorySnapshotOnIndependentDisk"] = reflect.TypeOf((*MemorySnapshotOnIndependentDisk)(nil)).Elem()
 54481  }
 54482  
 54483  type MemorySnapshotOnIndependentDiskFault MemorySnapshotOnIndependentDisk
 54484  
 54485  func init() {
 54486  	t["MemorySnapshotOnIndependentDiskFault"] = reflect.TypeOf((*MemorySnapshotOnIndependentDiskFault)(nil)).Elem()
 54487  }
 54488  
 54489  // The parameters of `DistributedVirtualSwitch.MergeDvs_Task`.
 54490  type MergeDvsRequestType struct {
 54491  	This ManagedObjectReference `xml:"_this" json:"-"`
 54492  	// The switch (source) to be merged
 54493  	//
 54494  	// Required privileges: DVSwitch.Delete
 54495  	//
 54496  	// Refers instance of `DistributedVirtualSwitch`.
 54497  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 54498  }
 54499  
 54500  func init() {
 54501  	t["MergeDvsRequestType"] = reflect.TypeOf((*MergeDvsRequestType)(nil)).Elem()
 54502  }
 54503  
 54504  type MergeDvs_Task MergeDvsRequestType
 54505  
 54506  func init() {
 54507  	t["MergeDvs_Task"] = reflect.TypeOf((*MergeDvs_Task)(nil)).Elem()
 54508  }
 54509  
 54510  type MergeDvs_TaskResponse struct {
 54511  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54512  }
 54513  
 54514  type MergePermissions MergePermissionsRequestType
 54515  
 54516  func init() {
 54517  	t["MergePermissions"] = reflect.TypeOf((*MergePermissions)(nil)).Elem()
 54518  }
 54519  
 54520  // The parameters of `AuthorizationManager.MergePermissions`.
 54521  type MergePermissionsRequestType struct {
 54522  	This ManagedObjectReference `xml:"_this" json:"-"`
 54523  	// The ID of the source role providing the permissions
 54524  	// which are changing.
 54525  	SrcRoleId int32 `xml:"srcRoleId" json:"srcRoleId"`
 54526  	// The ID of the destination role to which the
 54527  	// permissions are reassigned.
 54528  	DstRoleId int32 `xml:"dstRoleId" json:"dstRoleId"`
 54529  }
 54530  
 54531  func init() {
 54532  	t["MergePermissionsRequestType"] = reflect.TypeOf((*MergePermissionsRequestType)(nil)).Elem()
 54533  }
 54534  
 54535  type MergePermissionsResponse struct {
 54536  }
 54537  
 54538  // This data object type defines an operation and its arguments, invoked
 54539  // on a particular entity.
 54540  type MethodAction struct {
 54541  	Action
 54542  
 54543  	// Name of the operation.
 54544  	Name string `xml:"name" json:"name"`
 54545  	// An array consisting of the arguments for the operation.
 54546  	Argument []MethodActionArgument `xml:"argument,omitempty" json:"argument,omitempty"`
 54547  }
 54548  
 54549  func init() {
 54550  	t["MethodAction"] = reflect.TypeOf((*MethodAction)(nil)).Elem()
 54551  }
 54552  
 54553  // This data object type defines a named argument for an operation.
 54554  type MethodActionArgument struct {
 54555  	DynamicData
 54556  
 54557  	// The value of the argument.
 54558  	Value AnyType `xml:"value,typeattr" json:"value"`
 54559  }
 54560  
 54561  func init() {
 54562  	t["MethodActionArgument"] = reflect.TypeOf((*MethodActionArgument)(nil)).Elem()
 54563  }
 54564  
 54565  // A MethodAlreadyDisabledFault fault is thrown when an attempt
 54566  // is made to disable a method that is already disabled.
 54567  type MethodAlreadyDisabledFault struct {
 54568  	RuntimeFault
 54569  
 54570  	SourceId string `xml:"sourceId" json:"sourceId"`
 54571  }
 54572  
 54573  func init() {
 54574  	t["MethodAlreadyDisabledFault"] = reflect.TypeOf((*MethodAlreadyDisabledFault)(nil)).Elem()
 54575  }
 54576  
 54577  type MethodAlreadyDisabledFaultFault MethodAlreadyDisabledFault
 54578  
 54579  func init() {
 54580  	t["MethodAlreadyDisabledFaultFault"] = reflect.TypeOf((*MethodAlreadyDisabledFaultFault)(nil)).Elem()
 54581  }
 54582  
 54583  // Static strings used for describing an object model method.
 54584  type MethodDescription struct {
 54585  	Description
 54586  
 54587  	// Method being described.
 54588  	Key string `xml:"key" json:"key"`
 54589  }
 54590  
 54591  func init() {
 54592  	t["MethodDescription"] = reflect.TypeOf((*MethodDescription)(nil)).Elem()
 54593  }
 54594  
 54595  // A MethodDisabled fault is thrown if a disabled method
 54596  // is invoked by the client.
 54597  //
 54598  // The method denote an invalid state
 54599  // operation or may have been explicitly disabled.
 54600  type MethodDisabled struct {
 54601  	RuntimeFault
 54602  
 54603  	Source string `xml:"source,omitempty" json:"source,omitempty"`
 54604  }
 54605  
 54606  func init() {
 54607  	t["MethodDisabled"] = reflect.TypeOf((*MethodDisabled)(nil)).Elem()
 54608  }
 54609  
 54610  type MethodDisabledFault MethodDisabled
 54611  
 54612  func init() {
 54613  	t["MethodDisabledFault"] = reflect.TypeOf((*MethodDisabledFault)(nil)).Elem()
 54614  }
 54615  
 54616  // The base data object type for all the object model faults
 54617  // that an application might handle.
 54618  type MethodFault struct {
 54619  	// Fault which is the cause of this fault.
 54620  	FaultCause *LocalizedMethodFault `xml:"faultCause,omitempty" json:"faultCause,omitempty"`
 54621  	// Message which has details about the error
 54622  	// Message can also contain a key to message catalog which
 54623  	// can be used to generate better localized messages.
 54624  	FaultMessage []LocalizableMessage `xml:"faultMessage,omitempty" json:"faultMessage,omitempty"`
 54625  }
 54626  
 54627  func init() {
 54628  	t["MethodFault"] = reflect.TypeOf((*MethodFault)(nil)).Elem()
 54629  }
 54630  
 54631  type MethodFaultFault BaseMethodFault
 54632  
 54633  func init() {
 54634  	t["MethodFaultFault"] = reflect.TypeOf((*MethodFaultFault)(nil)).Elem()
 54635  }
 54636  
 54637  // MethodNotFound is thrown to indicate that a method called on a managed
 54638  // object does not exist.
 54639  type MethodNotFound struct {
 54640  	InvalidRequest
 54641  
 54642  	// The receiver of the call
 54643  	Receiver ManagedObjectReference `xml:"receiver" json:"receiver"`
 54644  	// The method called.
 54645  	Method string `xml:"method" json:"method"`
 54646  }
 54647  
 54648  func init() {
 54649  	t["MethodNotFound"] = reflect.TypeOf((*MethodNotFound)(nil)).Elem()
 54650  }
 54651  
 54652  type MethodNotFoundFault MethodNotFound
 54653  
 54654  func init() {
 54655  	t["MethodNotFoundFault"] = reflect.TypeOf((*MethodNotFoundFault)(nil)).Elem()
 54656  }
 54657  
 54658  // An alarm expression that uses a metric as the condition that triggers an
 54659  // alarm.
 54660  //
 54661  // Base type.
 54662  //
 54663  // There are two alarm operands: yellow and red. At least one of them
 54664  // must be set. The value of the alarm expression is determined as follows:
 54665  //   - If the host is not connected, the host metric expression is gray.
 54666  //   - If the vm is not connected, the vm metric expression is gray.
 54667  //   - If red is set but yellow is not, the expression is red when
 54668  //     the metric is over (isAbove operator) or under (isBelow operator)
 54669  //     the red value. Otherwise, the expression is green.
 54670  //   - If yellow is set but red is not, the expression is yellow when
 54671  //     the metric is over (isAbove) or under (isBelow)
 54672  //     the yellow value. Otherwise, the expression is green.
 54673  //   - If both yellow and red are set, the value of the expression is red
 54674  //     when the metric is over (isAbove) or under (isBelow) the red value.
 54675  //     Otherwise, the expression is yellow when the metric is over (isAbove)
 54676  //     or under (isBelow) the yellow value. Otherwise, the expression is green.
 54677  type MetricAlarmExpression struct {
 54678  	AlarmExpression
 54679  
 54680  	// The operation to be tested on the metric.
 54681  	Operator MetricAlarmOperator `xml:"operator" json:"operator"`
 54682  	// Name of the object type containing the property.
 54683  	Type string `xml:"type" json:"type"`
 54684  	// The instance of the metric.
 54685  	Metric PerfMetricId `xml:"metric" json:"metric"`
 54686  	// Whether or not to test for a yellow condition.
 54687  	//
 54688  	// If not set, do not calculate yellow status.
 54689  	// If set, it contains the threshold value that triggers yellow status.
 54690  	Yellow int32 `xml:"yellow,omitempty" json:"yellow,omitempty"`
 54691  	// Time interval in seconds for which the yellow condition must be true
 54692  	// before the yellow status is triggered.
 54693  	//
 54694  	// If unset, the yellow status is
 54695  	// triggered immediately when the yellow condition becomes true.
 54696  	YellowInterval int32 `xml:"yellowInterval,omitempty" json:"yellowInterval,omitempty"`
 54697  	// Whether or not to test for a red condition.
 54698  	//
 54699  	// If not set, do not calculate red status.
 54700  	// If set, it contains the threshold value that triggers red status.
 54701  	Red int32 `xml:"red,omitempty" json:"red,omitempty"`
 54702  	// Time interval in seconds for which the red condition must be true
 54703  	// before the red status is triggered.
 54704  	//
 54705  	// If unset, the red status is
 54706  	// triggered immediately when the red condition becomes true.
 54707  	RedInterval int32 `xml:"redInterval,omitempty" json:"redInterval,omitempty"`
 54708  }
 54709  
 54710  func init() {
 54711  	t["MetricAlarmExpression"] = reflect.TypeOf((*MetricAlarmExpression)(nil)).Elem()
 54712  }
 54713  
 54714  // The parameters of `VirtualMachine.MigrateVM_Task`.
 54715  type MigrateVMRequestType struct {
 54716  	This ManagedObjectReference `xml:"_this" json:"-"`
 54717  	// The target resource pool for the virtual machine. If the pool
 54718  	// parameter is left unset, the virtual machine's current pool is used
 54719  	// as the target pool.
 54720  	//
 54721  	// Required privileges: Resource.AssignVMToPool
 54722  	//
 54723  	// Refers instance of `ResourcePool`.
 54724  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 54725  	// The target host to which the virtual machine is intended to migrate.
 54726  	// The host parameter
 54727  	// may be left unset if the compute resource associated with the
 54728  	// target pool represents a stand-alone host or a DRS-enabled cluster.
 54729  	// In the former case the stand-alone host is used as the target host.
 54730  	// In the latter case, the DRS system selects an appropriate
 54731  	// target host from the cluster.
 54732  	//
 54733  	// Refers instance of `HostSystem`.
 54734  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 54735  	// The task priority (@see vim.VirtualMachine.MovePriority).
 54736  	Priority VirtualMachineMovePriority `xml:"priority" json:"priority"`
 54737  	// If specified, the virtual machine migrates only if
 54738  	// its state matches the specified state.
 54739  	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
 54740  }
 54741  
 54742  func init() {
 54743  	t["MigrateVMRequestType"] = reflect.TypeOf((*MigrateVMRequestType)(nil)).Elem()
 54744  }
 54745  
 54746  type MigrateVM_Task MigrateVMRequestType
 54747  
 54748  func init() {
 54749  	t["MigrateVM_Task"] = reflect.TypeOf((*MigrateVM_Task)(nil)).Elem()
 54750  }
 54751  
 54752  type MigrateVM_TaskResponse struct {
 54753  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54754  }
 54755  
 54756  // An MigrationDisabled fault is thrown if the
 54757  // migration failed due to disabled migration
 54758  type MigrationDisabled struct {
 54759  	MigrationFault
 54760  }
 54761  
 54762  func init() {
 54763  	t["MigrationDisabled"] = reflect.TypeOf((*MigrationDisabled)(nil)).Elem()
 54764  }
 54765  
 54766  type MigrationDisabledFault MigrationDisabled
 54767  
 54768  func init() {
 54769  	t["MigrationDisabledFault"] = reflect.TypeOf((*MigrationDisabledFault)(nil)).Elem()
 54770  }
 54771  
 54772  // A migration error.
 54773  type MigrationErrorEvent struct {
 54774  	MigrationEvent
 54775  }
 54776  
 54777  func init() {
 54778  	t["MigrationErrorEvent"] = reflect.TypeOf((*MigrationErrorEvent)(nil)).Elem()
 54779  }
 54780  
 54781  // These are events used to describe migration warning and errors
 54782  type MigrationEvent struct {
 54783  	VmEvent
 54784  
 54785  	// The fault that describes the migration issue.
 54786  	//
 54787  	// This is typically either a
 54788  	// MigrationFault or a VmConfigFault.
 54789  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 54790  }
 54791  
 54792  func init() {
 54793  	t["MigrationEvent"] = reflect.TypeOf((*MigrationEvent)(nil)).Elem()
 54794  }
 54795  
 54796  // Base object type for issues that can occur when reassigning the execution
 54797  // host of a virtual machine using migrate or relocate.
 54798  //
 54799  // These issues are typically
 54800  // used as argument in the MigrationEvent. When a MigrationFault is used as a value
 54801  // in a MigrationEvent, the type of MigrationEvent determines if the issue is a
 54802  // warning or an error (for example, MigrationHostWarningEvent or
 54803  // MigrationHostErrorEvent). When thrown as an exception, the fault is an error.
 54804  //
 54805  // Issues are categorized as errors or warnings according to the following
 54806  // criteria:
 54807  //
 54808  // If the virtual machine is powered on:
 54809  //  1. Error for fatal problems with the VMotion interfaces or licensing.
 54810  //  2. Error if VMotion would fail.
 54811  //  3. Error if VMotion would in any way interrupt the continuous and consistent
 54812  //     operation of the virtual machine.
 54813  //  4. Warning for potential performance or connectivity problems between the
 54814  //     source and destination VMotion interfaces.
 54815  //  5. Warning if the virtual machine's currently disconnected devices may not
 54816  //     be connectable after VMotion.
 54817  //
 54818  // If the virtual machine is powered off or suspended:
 54819  //  1. Error if the destination host cannot access all the files that comprise
 54820  //     the virtual machine (including virtual disks).
 54821  //  2. Error if aspects of the virtual machine are not supported by the
 54822  //     destination host's hardware or software.
 54823  //  3. Warning if problems would occur when powering on or resuming the
 54824  //     virtual machine, if the usage/configuration of the destination
 54825  //     host were to remain in its current state.
 54826  type MigrationFault struct {
 54827  	VimFault
 54828  }
 54829  
 54830  func init() {
 54831  	t["MigrationFault"] = reflect.TypeOf((*MigrationFault)(nil)).Elem()
 54832  }
 54833  
 54834  type MigrationFaultFault BaseMigrationFault
 54835  
 54836  func init() {
 54837  	t["MigrationFaultFault"] = reflect.TypeOf((*MigrationFaultFault)(nil)).Elem()
 54838  }
 54839  
 54840  // A migration operation that requires feature support on source and
 54841  // destination hosts is lacking support on the host.
 54842  type MigrationFeatureNotSupported struct {
 54843  	MigrationFault
 54844  
 54845  	// Whether this error is for the source host.
 54846  	AtSourceHost bool `xml:"atSourceHost" json:"atSourceHost"`
 54847  	// The name of the host.
 54848  	FailedHostName string `xml:"failedHostName" json:"failedHostName"`
 54849  	// The host.
 54850  	//
 54851  	// Refers instance of `HostSystem`.
 54852  	FailedHost ManagedObjectReference `xml:"failedHost" json:"failedHost"`
 54853  }
 54854  
 54855  func init() {
 54856  	t["MigrationFeatureNotSupported"] = reflect.TypeOf((*MigrationFeatureNotSupported)(nil)).Elem()
 54857  }
 54858  
 54859  type MigrationFeatureNotSupportedFault BaseMigrationFeatureNotSupported
 54860  
 54861  func init() {
 54862  	t["MigrationFeatureNotSupportedFault"] = reflect.TypeOf((*MigrationFeatureNotSupportedFault)(nil)).Elem()
 54863  }
 54864  
 54865  // A migration error that includes the destination host.
 54866  type MigrationHostErrorEvent struct {
 54867  	MigrationEvent
 54868  
 54869  	// The name of the destination host.
 54870  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 54871  }
 54872  
 54873  func init() {
 54874  	t["MigrationHostErrorEvent"] = reflect.TypeOf((*MigrationHostErrorEvent)(nil)).Elem()
 54875  }
 54876  
 54877  // A migration warning that includes the destination host.
 54878  type MigrationHostWarningEvent struct {
 54879  	MigrationEvent
 54880  
 54881  	// The name of the destination host.
 54882  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 54883  }
 54884  
 54885  func init() {
 54886  	t["MigrationHostWarningEvent"] = reflect.TypeOf((*MigrationHostWarningEvent)(nil)).Elem()
 54887  }
 54888  
 54889  // The VM to be migrated is not ready for the migration operation.
 54890  //
 54891  // This might
 54892  // because the VM is still in the progress of powering on or resuming from a
 54893  // suspended state.
 54894  type MigrationNotReady struct {
 54895  	MigrationFault
 54896  
 54897  	Reason string `xml:"reason" json:"reason"`
 54898  }
 54899  
 54900  func init() {
 54901  	t["MigrationNotReady"] = reflect.TypeOf((*MigrationNotReady)(nil)).Elem()
 54902  }
 54903  
 54904  type MigrationNotReadyFault MigrationNotReady
 54905  
 54906  func init() {
 54907  	t["MigrationNotReadyFault"] = reflect.TypeOf((*MigrationNotReadyFault)(nil)).Elem()
 54908  }
 54909  
 54910  // A migration error that includes both the destination host and resource pool.
 54911  type MigrationResourceErrorEvent struct {
 54912  	MigrationEvent
 54913  
 54914  	// The name of the destination resource pool.
 54915  	DstPool ResourcePoolEventArgument `xml:"dstPool" json:"dstPool"`
 54916  	// The name of the destination host.
 54917  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 54918  }
 54919  
 54920  func init() {
 54921  	t["MigrationResourceErrorEvent"] = reflect.TypeOf((*MigrationResourceErrorEvent)(nil)).Elem()
 54922  }
 54923  
 54924  // A migration warning that includes both the destination host and resource pool.
 54925  type MigrationResourceWarningEvent struct {
 54926  	MigrationEvent
 54927  
 54928  	// The name of the destination resource pool.
 54929  	DstPool ResourcePoolEventArgument `xml:"dstPool" json:"dstPool"`
 54930  	// The name of the destination host.
 54931  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 54932  }
 54933  
 54934  func init() {
 54935  	t["MigrationResourceWarningEvent"] = reflect.TypeOf((*MigrationResourceWarningEvent)(nil)).Elem()
 54936  }
 54937  
 54938  // A migration warning.
 54939  type MigrationWarningEvent struct {
 54940  	MigrationEvent
 54941  }
 54942  
 54943  func init() {
 54944  	t["MigrationWarningEvent"] = reflect.TypeOf((*MigrationWarningEvent)(nil)).Elem()
 54945  }
 54946  
 54947  // A MismatchedBundle fault is thrown when the bundle supplied for
 54948  // `HostFirmwareSystem.RestoreFirmwareConfiguration` does not match the
 54949  // specifications of the host
 54950  type MismatchedBundle struct {
 54951  	VimFault
 54952  
 54953  	// The uuid of the host that the bundle was generated for
 54954  	BundleUuid string `xml:"bundleUuid" json:"bundleUuid"`
 54955  	// The uuid of the host
 54956  	HostUuid string `xml:"hostUuid" json:"hostUuid"`
 54957  	// The build number of the host that the bundle was generated for
 54958  	BundleBuildNumber int32 `xml:"bundleBuildNumber" json:"bundleBuildNumber"`
 54959  	// The build number of the host
 54960  	HostBuildNumber int32 `xml:"hostBuildNumber" json:"hostBuildNumber"`
 54961  }
 54962  
 54963  func init() {
 54964  	t["MismatchedBundle"] = reflect.TypeOf((*MismatchedBundle)(nil)).Elem()
 54965  }
 54966  
 54967  type MismatchedBundleFault MismatchedBundle
 54968  
 54969  func init() {
 54970  	t["MismatchedBundleFault"] = reflect.TypeOf((*MismatchedBundleFault)(nil)).Elem()
 54971  }
 54972  
 54973  // Deprecated as of vSphere API 5.5, use `CannotUseNetwork` with
 54974  // a correct reason for the fault.
 54975  //
 54976  // The virtual machine network uses different offload or security
 54977  // policies on the destination host than on the source host.
 54978  //
 54979  // This is an error
 54980  // if the virtual machine is currently connected to the network, and a warning
 54981  // otherwise.
 54982  type MismatchedNetworkPolicies struct {
 54983  	MigrationFault
 54984  
 54985  	// The label of the interface device.
 54986  	Device string `xml:"device" json:"device"`
 54987  	// The name of the network.
 54988  	Backing string `xml:"backing" json:"backing"`
 54989  	// The connected/disconnected state of the device.
 54990  	Connected bool `xml:"connected" json:"connected"`
 54991  }
 54992  
 54993  func init() {
 54994  	t["MismatchedNetworkPolicies"] = reflect.TypeOf((*MismatchedNetworkPolicies)(nil)).Elem()
 54995  }
 54996  
 54997  type MismatchedNetworkPoliciesFault MismatchedNetworkPolicies
 54998  
 54999  func init() {
 55000  	t["MismatchedNetworkPoliciesFault"] = reflect.TypeOf((*MismatchedNetworkPoliciesFault)(nil)).Elem()
 55001  }
 55002  
 55003  // The source and destination hosts do not use the same network name for
 55004  // their VMotion interfaces.
 55005  //
 55006  // This is a warning for migrating powered-on virtual
 55007  // machines.
 55008  type MismatchedVMotionNetworkNames struct {
 55009  	MigrationFault
 55010  
 55011  	// The name of the network used by the source host VMotion interface.
 55012  	SourceNetwork string `xml:"sourceNetwork" json:"sourceNetwork"`
 55013  	// The name of the network used by the destination host VMotion interface.
 55014  	DestNetwork string `xml:"destNetwork" json:"destNetwork"`
 55015  }
 55016  
 55017  func init() {
 55018  	t["MismatchedVMotionNetworkNames"] = reflect.TypeOf((*MismatchedVMotionNetworkNames)(nil)).Elem()
 55019  }
 55020  
 55021  type MismatchedVMotionNetworkNamesFault MismatchedVMotionNetworkNames
 55022  
 55023  func init() {
 55024  	t["MismatchedVMotionNetworkNamesFault"] = reflect.TypeOf((*MismatchedVMotionNetworkNamesFault)(nil)).Elem()
 55025  }
 55026  
 55027  // A MissingBmcSuppport fault is thrown when a host's BMC doesn't support IPMI.
 55028  //
 55029  // BMC (Board Management Controller) is a piece of hardware required for IPMI.
 55030  type MissingBmcSupport struct {
 55031  	VimFault
 55032  }
 55033  
 55034  func init() {
 55035  	t["MissingBmcSupport"] = reflect.TypeOf((*MissingBmcSupport)(nil)).Elem()
 55036  }
 55037  
 55038  type MissingBmcSupportFault MissingBmcSupport
 55039  
 55040  func init() {
 55041  	t["MissingBmcSupportFault"] = reflect.TypeOf((*MissingBmcSupportFault)(nil)).Elem()
 55042  }
 55043  
 55044  // A controller key has not been specified for a new device
 55045  // that requires a controller, such as a disk or CD-ROM device.
 55046  type MissingController struct {
 55047  	InvalidDeviceSpec
 55048  }
 55049  
 55050  func init() {
 55051  	t["MissingController"] = reflect.TypeOf((*MissingController)(nil)).Elem()
 55052  }
 55053  
 55054  type MissingControllerFault MissingController
 55055  
 55056  func init() {
 55057  	t["MissingControllerFault"] = reflect.TypeOf((*MissingControllerFault)(nil)).Elem()
 55058  }
 55059  
 55060  // No IP pool is associated with a network.
 55061  type MissingIpPool struct {
 55062  	VAppPropertyFault
 55063  }
 55064  
 55065  func init() {
 55066  	t["MissingIpPool"] = reflect.TypeOf((*MissingIpPool)(nil)).Elem()
 55067  }
 55068  
 55069  type MissingIpPoolFault MissingIpPool
 55070  
 55071  func init() {
 55072  	t["MissingIpPoolFault"] = reflect.TypeOf((*MissingIpPoolFault)(nil)).Elem()
 55073  }
 55074  
 55075  // Usable open source components required for Linux customization were not found
 55076  // on the server.
 55077  type MissingLinuxCustResources struct {
 55078  	CustomizationFault
 55079  }
 55080  
 55081  func init() {
 55082  	t["MissingLinuxCustResources"] = reflect.TypeOf((*MissingLinuxCustResources)(nil)).Elem()
 55083  }
 55084  
 55085  type MissingLinuxCustResourcesFault MissingLinuxCustResources
 55086  
 55087  func init() {
 55088  	t["MissingLinuxCustResourcesFault"] = reflect.TypeOf((*MissingLinuxCustResourcesFault)(nil)).Elem()
 55089  }
 55090  
 55091  // No IP configuration exists for network.
 55092  type MissingNetworkIpConfig struct {
 55093  	VAppPropertyFault
 55094  }
 55095  
 55096  func init() {
 55097  	t["MissingNetworkIpConfig"] = reflect.TypeOf((*MissingNetworkIpConfig)(nil)).Elem()
 55098  }
 55099  
 55100  type MissingNetworkIpConfigFault MissingNetworkIpConfig
 55101  
 55102  func init() {
 55103  	t["MissingNetworkIpConfigFault"] = reflect.TypeOf((*MissingNetworkIpConfigFault)(nil)).Elem()
 55104  }
 55105  
 55106  // Used for reporting missing objects that were explicitly referenced by a
 55107  // filter spec.
 55108  //
 55109  // In other words, any of the objects referenced in `PropertyFilterSpec.objectSet`
 55110  type MissingObject struct {
 55111  	DynamicData
 55112  
 55113  	// The object that is being reported missing
 55114  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 55115  	// Fault describing the failure to lookup this object
 55116  	//
 55117  	// The possible faults for missing objects are:
 55118  	//   - `SystemError` if there was some unknown problem
 55119  	//     looking up the object
 55120  	//   - `ManagedObjectNotFound` if the object is no
 55121  	//     longer available
 55122  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 55123  }
 55124  
 55125  func init() {
 55126  	t["MissingObject"] = reflect.TypeOf((*MissingObject)(nil)).Elem()
 55127  }
 55128  
 55129  // Attempting to power-off a vApp for which no virtual machines has been
 55130  // configured to power off.
 55131  type MissingPowerOffConfiguration struct {
 55132  	VAppConfigFault
 55133  }
 55134  
 55135  func init() {
 55136  	t["MissingPowerOffConfiguration"] = reflect.TypeOf((*MissingPowerOffConfiguration)(nil)).Elem()
 55137  }
 55138  
 55139  type MissingPowerOffConfigurationFault MissingPowerOffConfiguration
 55140  
 55141  func init() {
 55142  	t["MissingPowerOffConfigurationFault"] = reflect.TypeOf((*MissingPowerOffConfigurationFault)(nil)).Elem()
 55143  }
 55144  
 55145  // Attempting to power-on a vApp service for which no virtual machines has been
 55146  // configured to power on.
 55147  type MissingPowerOnConfiguration struct {
 55148  	VAppConfigFault
 55149  }
 55150  
 55151  func init() {
 55152  	t["MissingPowerOnConfiguration"] = reflect.TypeOf((*MissingPowerOnConfiguration)(nil)).Elem()
 55153  }
 55154  
 55155  type MissingPowerOnConfigurationFault MissingPowerOnConfiguration
 55156  
 55157  func init() {
 55158  	t["MissingPowerOnConfigurationFault"] = reflect.TypeOf((*MissingPowerOnConfigurationFault)(nil)).Elem()
 55159  }
 55160  
 55161  // Used for reporting properties for which values could not be retrieved.
 55162  type MissingProperty struct {
 55163  	DynamicData
 55164  
 55165  	// Property for which a value could not be retrieved
 55166  	Path string `xml:"path" json:"path"`
 55167  	// Fault describing the failure to retrieve the property value.
 55168  	//
 55169  	// The possible faults for missing properties are:
 55170  	//   - `SystemError` if there was some unknown problem
 55171  	//     reading the value
 55172  	//   - `SecurityError` if the logged in session did
 55173  	//     not have permission to read the value
 55174  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 55175  }
 55176  
 55177  func init() {
 55178  	t["MissingProperty"] = reflect.TypeOf((*MissingProperty)(nil)).Elem()
 55179  }
 55180  
 55181  // A usable sysprep file was not found on the server.
 55182  type MissingWindowsCustResources struct {
 55183  	CustomizationFault
 55184  }
 55185  
 55186  func init() {
 55187  	t["MissingWindowsCustResources"] = reflect.TypeOf((*MissingWindowsCustResources)(nil)).Elem()
 55188  }
 55189  
 55190  type MissingWindowsCustResourcesFault MissingWindowsCustResources
 55191  
 55192  func init() {
 55193  	t["MissingWindowsCustResourcesFault"] = reflect.TypeOf((*MissingWindowsCustResourcesFault)(nil)).Elem()
 55194  }
 55195  
 55196  // Thrown when a mouse-keyboard-screen connection ticket to a virtual machine
 55197  // cannot be granted because the configured connection limit has been reached.
 55198  type MksConnectionLimitReached struct {
 55199  	InvalidState
 55200  
 55201  	// MKS connection limit for the virtual machine.
 55202  	ConnectionLimit int32 `xml:"connectionLimit" json:"connectionLimit"`
 55203  }
 55204  
 55205  func init() {
 55206  	t["MksConnectionLimitReached"] = reflect.TypeOf((*MksConnectionLimitReached)(nil)).Elem()
 55207  }
 55208  
 55209  type MksConnectionLimitReachedFault MksConnectionLimitReached
 55210  
 55211  func init() {
 55212  	t["MksConnectionLimitReachedFault"] = reflect.TypeOf((*MksConnectionLimitReachedFault)(nil)).Elem()
 55213  }
 55214  
 55215  // The FileAccess.Modes data object type defines the known access modes
 55216  // for a datastore.
 55217  //
 55218  // The property values specify how to interpret
 55219  // the "what" property for a FileAccess object.
 55220  type ModeInfo struct {
 55221  	DynamicData
 55222  
 55223  	// Can see the existence of a file.
 55224  	Browse string `xml:"browse,omitempty" json:"browse,omitempty"`
 55225  	// Can read a file.
 55226  	Read string `xml:"read" json:"read"`
 55227  	// Can read and write a file.
 55228  	Modify string `xml:"modify" json:"modify"`
 55229  	// Can execute or operate a file or look inside a directory.
 55230  	Use string `xml:"use" json:"use"`
 55231  	// Can change permissions for a file.
 55232  	Admin string `xml:"admin,omitempty" json:"admin,omitempty"`
 55233  	// Can do anything to a file, including change permissions.
 55234  	Full string `xml:"full" json:"full"`
 55235  }
 55236  
 55237  func init() {
 55238  	t["ModeInfo"] = reflect.TypeOf((*ModeInfo)(nil)).Elem()
 55239  }
 55240  
 55241  type ModifyListView ModifyListViewRequestType
 55242  
 55243  func init() {
 55244  	t["ModifyListView"] = reflect.TypeOf((*ModifyListView)(nil)).Elem()
 55245  }
 55246  
 55247  // The parameters of `ListView.ModifyListView`.
 55248  type ModifyListViewRequestType struct {
 55249  	This ManagedObjectReference `xml:"_this" json:"-"`
 55250  	// Optional list of objects to add to the view.
 55251  	//
 55252  	// Required privileges: System.View
 55253  	Add []ManagedObjectReference `xml:"add,omitempty" json:"add,omitempty"`
 55254  	// Optional list of objects to remove from the view.
 55255  	//
 55256  	// Required privileges: System.View
 55257  	Remove []ManagedObjectReference `xml:"remove,omitempty" json:"remove,omitempty"`
 55258  }
 55259  
 55260  func init() {
 55261  	t["ModifyListViewRequestType"] = reflect.TypeOf((*ModifyListViewRequestType)(nil)).Elem()
 55262  }
 55263  
 55264  type ModifyListViewResponse struct {
 55265  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 55266  }
 55267  
 55268  // The `MonthlyByDayTaskScheduler` data object sets the time for monthly
 55269  // task execution.
 55270  //
 55271  // You can set the schedule for task execution
 55272  // on one day during the month, and you complete the schedule by
 55273  // setting the inherited properties for the hour and minute.
 55274  //
 55275  // By default the scheduler executes the task on the specified day
 55276  // every month. If you set the interval to a value greater than 1,
 55277  // the task will execute at the specified monthly interval.
 55278  // (For example, an interval of 2 will cause the task to execute
 55279  // on the specified day, hour, and minute every 2 months.)
 55280  type MonthlyByDayTaskScheduler struct {
 55281  	MonthlyTaskScheduler
 55282  
 55283  	// The day in every month to run the scheduled task.
 55284  	//
 55285  	// Valid values are 1 to 31.
 55286  	//
 55287  	// In any month where the value of "day" exceeds the total number of days
 55288  	// in the month, the scheduled task will run on the last day of the month.
 55289  	Day int32 `xml:"day" json:"day"`
 55290  }
 55291  
 55292  func init() {
 55293  	t["MonthlyByDayTaskScheduler"] = reflect.TypeOf((*MonthlyByDayTaskScheduler)(nil)).Elem()
 55294  }
 55295  
 55296  // The `MonthlyByWeekdayTaskScheduler` data object sets the time for
 55297  // monthly task execution.
 55298  //
 55299  // You identify a single day for task execution
 55300  // by specifying the week of the month and day of the week, and you
 55301  // complete the schedule by setting the inherited properties for the
 55302  // hour and minute.
 55303  //
 55304  // By default, the scheduler executes the task on the specified day
 55305  // every month. If you set the interval to a value greater than 1,
 55306  // the task will execute at the specified monthly interval. (For example,
 55307  // an interval of 2 will cause the task to execute on the specified
 55308  // day, hour, and minute every 2 months.)
 55309  type MonthlyByWeekdayTaskScheduler struct {
 55310  	MonthlyTaskScheduler
 55311  
 55312  	// The week in the month during which the scheduled task is to run.
 55313  	Offset WeekOfMonth `xml:"offset" json:"offset"`
 55314  	// The day in the week when the scheduled task is to run.
 55315  	Weekday DayOfWeek `xml:"weekday" json:"weekday"`
 55316  }
 55317  
 55318  func init() {
 55319  	t["MonthlyByWeekdayTaskScheduler"] = reflect.TypeOf((*MonthlyByWeekdayTaskScheduler)(nil)).Elem()
 55320  }
 55321  
 55322  // The `MonthlyTaskScheduler` data object is the base type for
 55323  // the monthly schedulers (`MonthlyByDayTaskScheduler` and
 55324  // `MonthlyByWeekdayTaskScheduler`).
 55325  type MonthlyTaskScheduler struct {
 55326  	DailyTaskScheduler
 55327  }
 55328  
 55329  func init() {
 55330  	t["MonthlyTaskScheduler"] = reflect.TypeOf((*MonthlyTaskScheduler)(nil)).Elem()
 55331  }
 55332  
 55333  // Customization failed because the customization process was unable to mount a remote
 55334  // virtual disk file.
 55335  type MountError struct {
 55336  	CustomizationFault
 55337  
 55338  	// The virtual machine to be customized.
 55339  	//
 55340  	// Refers instance of `VirtualMachine`.
 55341  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 55342  	// Index into the virtual machine's device list,
 55343  	// representing the key value that identifies the virtual device
 55344  	// that is the presumed boot disk.
 55345  	DiskIndex int32 `xml:"diskIndex" json:"diskIndex"`
 55346  }
 55347  
 55348  func init() {
 55349  	t["MountError"] = reflect.TypeOf((*MountError)(nil)).Elem()
 55350  }
 55351  
 55352  type MountErrorFault MountError
 55353  
 55354  func init() {
 55355  	t["MountErrorFault"] = reflect.TypeOf((*MountErrorFault)(nil)).Elem()
 55356  }
 55357  
 55358  type MountToolsInstaller MountToolsInstallerRequestType
 55359  
 55360  func init() {
 55361  	t["MountToolsInstaller"] = reflect.TypeOf((*MountToolsInstaller)(nil)).Elem()
 55362  }
 55363  
 55364  type MountToolsInstallerRequestType struct {
 55365  	This ManagedObjectReference `xml:"_this" json:"-"`
 55366  }
 55367  
 55368  func init() {
 55369  	t["MountToolsInstallerRequestType"] = reflect.TypeOf((*MountToolsInstallerRequestType)(nil)).Elem()
 55370  }
 55371  
 55372  type MountToolsInstallerResponse struct {
 55373  }
 55374  
 55375  type MountVffsVolume MountVffsVolumeRequestType
 55376  
 55377  func init() {
 55378  	t["MountVffsVolume"] = reflect.TypeOf((*MountVffsVolume)(nil)).Elem()
 55379  }
 55380  
 55381  // The parameters of `HostStorageSystem.MountVffsVolume`.
 55382  type MountVffsVolumeRequestType struct {
 55383  	This     ManagedObjectReference `xml:"_this" json:"-"`
 55384  	VffsUuid string                 `xml:"vffsUuid" json:"vffsUuid"`
 55385  }
 55386  
 55387  func init() {
 55388  	t["MountVffsVolumeRequestType"] = reflect.TypeOf((*MountVffsVolumeRequestType)(nil)).Elem()
 55389  }
 55390  
 55391  type MountVffsVolumeResponse struct {
 55392  }
 55393  
 55394  type MountVmfsVolume MountVmfsVolumeRequestType
 55395  
 55396  func init() {
 55397  	t["MountVmfsVolume"] = reflect.TypeOf((*MountVmfsVolume)(nil)).Elem()
 55398  }
 55399  
 55400  // The parameters of `HostStorageSystem.MountVmfsVolumeEx_Task`.
 55401  type MountVmfsVolumeExRequestType struct {
 55402  	This ManagedObjectReference `xml:"_this" json:"-"`
 55403  	// each element specifies the UUID of a VMFS volume to be unmounted.
 55404  	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
 55405  }
 55406  
 55407  func init() {
 55408  	t["MountVmfsVolumeExRequestType"] = reflect.TypeOf((*MountVmfsVolumeExRequestType)(nil)).Elem()
 55409  }
 55410  
 55411  type MountVmfsVolumeEx_Task MountVmfsVolumeExRequestType
 55412  
 55413  func init() {
 55414  	t["MountVmfsVolumeEx_Task"] = reflect.TypeOf((*MountVmfsVolumeEx_Task)(nil)).Elem()
 55415  }
 55416  
 55417  type MountVmfsVolumeEx_TaskResponse struct {
 55418  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 55419  }
 55420  
 55421  // The parameters of `HostStorageSystem.MountVmfsVolume`.
 55422  type MountVmfsVolumeRequestType struct {
 55423  	This     ManagedObjectReference `xml:"_this" json:"-"`
 55424  	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
 55425  }
 55426  
 55427  func init() {
 55428  	t["MountVmfsVolumeRequestType"] = reflect.TypeOf((*MountVmfsVolumeRequestType)(nil)).Elem()
 55429  }
 55430  
 55431  type MountVmfsVolumeResponse struct {
 55432  }
 55433  
 55434  // The parameters of `DistributedVirtualSwitch.MoveDVPort_Task`.
 55435  type MoveDVPortRequestType struct {
 55436  	This ManagedObjectReference `xml:"_this" json:"-"`
 55437  	// The keys of the ports to be moved into the portgroup.
 55438  	PortKey []string `xml:"portKey" json:"portKey"`
 55439  	// The key of the portgroup to be moved into.
 55440  	// If unset, the port will be moved under the switch.
 55441  	DestinationPortgroupKey string `xml:"destinationPortgroupKey,omitempty" json:"destinationPortgroupKey,omitempty"`
 55442  }
 55443  
 55444  func init() {
 55445  	t["MoveDVPortRequestType"] = reflect.TypeOf((*MoveDVPortRequestType)(nil)).Elem()
 55446  }
 55447  
 55448  type MoveDVPort_Task MoveDVPortRequestType
 55449  
 55450  func init() {
 55451  	t["MoveDVPort_Task"] = reflect.TypeOf((*MoveDVPort_Task)(nil)).Elem()
 55452  }
 55453  
 55454  type MoveDVPort_TaskResponse struct {
 55455  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 55456  }
 55457  
 55458  // The parameters of `FileManager.MoveDatastoreFile_Task`.
 55459  type MoveDatastoreFileRequestType struct {
 55460  	This ManagedObjectReference `xml:"_this" json:"-"`
 55461  	// The name of the source, either a URL or a datastore path
 55462  	// referring to the file or folder to be moved.
 55463  	SourceName string `xml:"sourceName" json:"sourceName"`
 55464  	// If <code>sourceName</code> is a datastore path, the
 55465  	// datacenter for that datastore path.
 55466  	// Not needed when invoked directly on ESX.
 55467  	// If not specified on a call to VirtualCenter,
 55468  	// <code>sourceName</code> must be a URL.
 55469  	//
 55470  	// Required privileges: System.View
 55471  	//
 55472  	// Refers instance of `Datacenter`.
 55473  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 55474  	// The name of the destination, either a URL or a
 55475  	// datastore path referring to the destination file or folder.
 55476  	DestinationName string `xml:"destinationName" json:"destinationName"`
 55477  	// If <code>destinationName</code> is a datastore
 55478  	// path, the datacenter for that datastore path.
 55479  	// Not needed when invoked directly on ESX.
 55480  	// If not specified on a call to VirtualCenter, it is assumed that
 55481  	// the destination path belongs to the source datacenter.
 55482  	//
 55483  	// Required privileges: System.View
 55484  	//
 55485  	// Refers instance of `Datacenter`.
 55486  	DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty" json:"destinationDatacenter,omitempty"`
 55487  	// If true, overwrite any identically named file
 55488  	// at the destination. If not specified, it is assumed to be false.
 55489  	Force *bool `xml:"force" json:"force,omitempty"`
 55490  }
 55491  
 55492  func init() {
 55493  	t["MoveDatastoreFileRequestType"] = reflect.TypeOf((*MoveDatastoreFileRequestType)(nil)).Elem()
 55494  }
 55495  
 55496  type MoveDatastoreFile_Task MoveDatastoreFileRequestType
 55497  
 55498  func init() {
 55499  	t["MoveDatastoreFile_Task"] = reflect.TypeOf((*MoveDatastoreFile_Task)(nil)).Elem()
 55500  }
 55501  
 55502  type MoveDatastoreFile_TaskResponse struct {
 55503  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 55504  }
 55505  
 55506  type MoveDirectoryInGuest MoveDirectoryInGuestRequestType
 55507  
 55508  func init() {
 55509  	t["MoveDirectoryInGuest"] = reflect.TypeOf((*MoveDirectoryInGuest)(nil)).Elem()
 55510  }
 55511  
 55512  // The parameters of `GuestFileManager.MoveDirectoryInGuest`.
 55513  type MoveDirectoryInGuestRequestType struct {
 55514  	This ManagedObjectReference `xml:"_this" json:"-"`
 55515  	// Virtual Machine to perform the operation on.
 55516  	//
 55517  	// Required privileges: VirtualMachine.GuestOperations.Modify
 55518  	//
 55519  	// Refers instance of `VirtualMachine`.
 55520  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 55521  	// The guest authentication data. See
 55522  	// `GuestAuthentication`.
 55523  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 55524  	// The complete path to the directory to be moved.
 55525  	SrcDirectoryPath string `xml:"srcDirectoryPath" json:"srcDirectoryPath"`
 55526  	// The complete path to the where the directory is
 55527  	// moved or its new name. It cannot be a path to an existing directory
 55528  	// or an existing file.
 55529  	DstDirectoryPath string `xml:"dstDirectoryPath" json:"dstDirectoryPath"`
 55530  }
 55531  
 55532  func init() {
 55533  	t["MoveDirectoryInGuestRequestType"] = reflect.TypeOf((*MoveDirectoryInGuestRequestType)(nil)).Elem()
 55534  }
 55535  
 55536  type MoveDirectoryInGuestResponse struct {
 55537  }
 55538  
 55539  type MoveFileInGuest MoveFileInGuestRequestType
 55540  
 55541  func init() {
 55542  	t["MoveFileInGuest"] = reflect.TypeOf((*MoveFileInGuest)(nil)).Elem()
 55543  }
 55544  
 55545  // The parameters of `GuestFileManager.MoveFileInGuest`.
 55546  type MoveFileInGuestRequestType struct {
 55547  	This ManagedObjectReference `xml:"_this" json:"-"`
 55548  	// Virtual Machine to perform the operation on.
 55549  	//
 55550  	// Required privileges: VirtualMachine.GuestOperations.Modify
 55551  	//
 55552  	// Refers instance of `VirtualMachine`.
 55553  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 55554  	// The guest authentication data. See
 55555  	// `GuestAuthentication`.
 55556  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 55557  	// The complete path to the original file or
 55558  	// symbolic link to be moved.
 55559  	SrcFilePath string `xml:"srcFilePath" json:"srcFilePath"`
 55560  	// The complete path to the where the file is renamed.
 55561  	// It cannot be a path to an existing directory.
 55562  	DstFilePath string `xml:"dstFilePath" json:"dstFilePath"`
 55563  	// If set, the destination file is clobbered.
 55564  	Overwrite bool `xml:"overwrite" json:"overwrite"`
 55565  }
 55566  
 55567  func init() {
 55568  	t["MoveFileInGuestRequestType"] = reflect.TypeOf((*MoveFileInGuestRequestType)(nil)).Elem()
 55569  }
 55570  
 55571  type MoveFileInGuestResponse struct {
 55572  }
 55573  
 55574  // The parameters of `ClusterComputeResource.MoveHostInto_Task`.
 55575  type MoveHostIntoRequestType struct {
 55576  	This ManagedObjectReference `xml:"_this" json:"-"`
 55577  	// The list of hosts to move into the cluster.
 55578  	//
 55579  	// Required privileges: Host.Inventory.MoveHost
 55580  	//
 55581  	// Refers instance of `HostSystem`.
 55582  	Host ManagedObjectReference `xml:"host" json:"host"`
 55583  	// The resource pool to match the root resource pool of
 55584  	// stand-alone hosts. This argument has no effect if the host is part of a
 55585  	// cluster.
 55586  	//
 55587  	// Refers instance of `ResourcePool`.
 55588  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 55589  }
 55590  
 55591  func init() {
 55592  	t["MoveHostIntoRequestType"] = reflect.TypeOf((*MoveHostIntoRequestType)(nil)).Elem()
 55593  }
 55594  
 55595  type MoveHostInto_Task MoveHostIntoRequestType
 55596  
 55597  func init() {
 55598  	t["MoveHostInto_Task"] = reflect.TypeOf((*MoveHostInto_Task)(nil)).Elem()
 55599  }
 55600  
 55601  type MoveHostInto_TaskResponse struct {
 55602  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 55603  }
 55604  
 55605  // The parameters of `Folder.MoveIntoFolder_Task`.
 55606  type MoveIntoFolderRequestType struct {
 55607  	This ManagedObjectReference `xml:"_this" json:"-"`
 55608  	// The list of objects to be moved into the folder.
 55609  	//
 55610  	// Refers instances of `ManagedEntity`.
 55611  	List []ManagedObjectReference `xml:"list" json:"list"`
 55612  }
 55613  
 55614  func init() {
 55615  	t["MoveIntoFolderRequestType"] = reflect.TypeOf((*MoveIntoFolderRequestType)(nil)).Elem()
 55616  }
 55617  
 55618  type MoveIntoFolder_Task MoveIntoFolderRequestType
 55619  
 55620  func init() {
 55621  	t["MoveIntoFolder_Task"] = reflect.TypeOf((*MoveIntoFolder_Task)(nil)).Elem()
 55622  }
 55623  
 55624  type MoveIntoFolder_TaskResponse struct {
 55625  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 55626  }
 55627  
 55628  // The parameters of `ClusterComputeResource.MoveInto_Task`.
 55629  type MoveIntoRequestType struct {
 55630  	This ManagedObjectReference `xml:"_this" json:"-"`
 55631  	// The list of hosts to move into the cluster.
 55632  	//
 55633  	// Required privileges: Host.Inventory.MoveHost
 55634  	//
 55635  	// Refers instances of `HostSystem`.
 55636  	Host []ManagedObjectReference `xml:"host" json:"host"`
 55637  }
 55638  
 55639  func init() {
 55640  	t["MoveIntoRequestType"] = reflect.TypeOf((*MoveIntoRequestType)(nil)).Elem()
 55641  }
 55642  
 55643  type MoveIntoResourcePool MoveIntoResourcePoolRequestType
 55644  
 55645  func init() {
 55646  	t["MoveIntoResourcePool"] = reflect.TypeOf((*MoveIntoResourcePool)(nil)).Elem()
 55647  }
 55648  
 55649  // The parameters of `ResourcePool.MoveIntoResourcePool`.
 55650  type MoveIntoResourcePoolRequestType struct {
 55651  	This ManagedObjectReference `xml:"_this" json:"-"`
 55652  	// A list of ResourcePool and VirtualMachine objects.
 55653  	//
 55654  	// Refers instances of `ManagedEntity`.
 55655  	List []ManagedObjectReference `xml:"list" json:"list"`
 55656  }
 55657  
 55658  func init() {
 55659  	t["MoveIntoResourcePoolRequestType"] = reflect.TypeOf((*MoveIntoResourcePoolRequestType)(nil)).Elem()
 55660  }
 55661  
 55662  type MoveIntoResourcePoolResponse struct {
 55663  }
 55664  
 55665  type MoveInto_Task MoveIntoRequestType
 55666  
 55667  func init() {
 55668  	t["MoveInto_Task"] = reflect.TypeOf((*MoveInto_Task)(nil)).Elem()
 55669  }
 55670  
 55671  type MoveInto_TaskResponse struct {
 55672  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 55673  }
 55674  
 55675  // The parameters of `VirtualDiskManager.MoveVirtualDisk_Task`.
 55676  type MoveVirtualDiskRequestType struct {
 55677  	This ManagedObjectReference `xml:"_this" json:"-"`
 55678  	// The name of the source, either a datastore path
 55679  	// or a URL referring to the virtual disk to be moved.
 55680  	SourceName string `xml:"sourceName" json:"sourceName"`
 55681  	// If <code>sourceName</code> is a datastore path, the
 55682  	// datacenter for that datastore path.
 55683  	// Not needed when invoked directly on ESX.
 55684  	// If not specified on a call to VirtualCenter,
 55685  	// <code>sourceName</code> must be a URL.
 55686  	//
 55687  	// Refers instance of `Datacenter`.
 55688  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 55689  	// The name of the destination, either a datastore path
 55690  	// or a URL referring to the destination virtual disk.
 55691  	DestName string `xml:"destName" json:"destName"`
 55692  	// If <code>destName</code> is a datastore
 55693  	// path, the datacenter for that datastore path.
 55694  	// Not needed when invoked directly on ESX.
 55695  	// If not specified on a call to VirtualCenter, it is assumed that
 55696  	// the destination path belongs to the source datacenter.
 55697  	//
 55698  	// Refers instance of `Datacenter`.
 55699  	DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 55700  	// If true, overwrite any indentically named disk at the destination.
 55701  	// If not specified, it is assumed to be false
 55702  	Force *bool `xml:"force" json:"force,omitempty"`
 55703  	// User can specify new set of profile when moving virtual disk.
 55704  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 55705  }
 55706  
 55707  func init() {
 55708  	t["MoveVirtualDiskRequestType"] = reflect.TypeOf((*MoveVirtualDiskRequestType)(nil)).Elem()
 55709  }
 55710  
 55711  type MoveVirtualDisk_Task MoveVirtualDiskRequestType
 55712  
 55713  func init() {
 55714  	t["MoveVirtualDisk_Task"] = reflect.TypeOf((*MoveVirtualDisk_Task)(nil)).Elem()
 55715  }
 55716  
 55717  type MoveVirtualDisk_TaskResponse struct {
 55718  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 55719  }
 55720  
 55721  // The value of MTU configured in the vSphere Distributed Switch
 55722  // matches physical switch.
 55723  type MtuMatchEvent struct {
 55724  	DvsHealthStatusChangeEvent
 55725  }
 55726  
 55727  func init() {
 55728  	t["MtuMatchEvent"] = reflect.TypeOf((*MtuMatchEvent)(nil)).Elem()
 55729  }
 55730  
 55731  // The value of MTU configured in the vSphere Distributed Switch
 55732  // mismatches physical switch.
 55733  type MtuMismatchEvent struct {
 55734  	DvsHealthStatusChangeEvent
 55735  }
 55736  
 55737  func init() {
 55738  	t["MtuMismatchEvent"] = reflect.TypeOf((*MtuMismatchEvent)(nil)).Elem()
 55739  }
 55740  
 55741  // The multi-writer sharing of the specified virtual disk is not supported.
 55742  //
 55743  // Typically, this fault is returned as part of a parent fault like
 55744  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 55745  // virtual disk's multi-writer sharing needs to be changed before fault
 55746  // tolerance can be enabled on the associated virtual machine.
 55747  type MultiWriterNotSupported struct {
 55748  	DeviceNotSupported
 55749  }
 55750  
 55751  func init() {
 55752  	t["MultiWriterNotSupported"] = reflect.TypeOf((*MultiWriterNotSupported)(nil)).Elem()
 55753  }
 55754  
 55755  type MultiWriterNotSupportedFault MultiWriterNotSupported
 55756  
 55757  func init() {
 55758  	t["MultiWriterNotSupportedFault"] = reflect.TypeOf((*MultiWriterNotSupportedFault)(nil)).Elem()
 55759  }
 55760  
 55761  // MultipleCertificatesVerifyFault is thrown by the host connect method
 55762  // `HostSystem.ReconnectHost_Task` as well as the methods to add a host to
 55763  // VirtualCenter (`Folder.AddStandaloneHost_Task` and
 55764  // `ClusterComputeResource.AddHost_Task`) if VirtualCenter detects that the
 55765  // host has different SSL certificates for different management ports.
 55766  //
 55767  // This
 55768  // can occur, for example, if an ESX 2.x host has different SSL certificates
 55769  // for the authd service (port 902) and the Management UI port (port 443).
 55770  // VirtualCenter is not able to manage such hosts. To fix this issue, the user
 55771  // should modify the host to ensure there is only one certificate for
 55772  // all services. Alternatively, different certificates are allowed as long as each
 55773  // certificate is verifiable (trusted) by the VirtualCenter server.
 55774  type MultipleCertificatesVerifyFault struct {
 55775  	HostConnectFault
 55776  
 55777  	// The thumbprints (and associated ports) used by the services on the host.
 55778  	ThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"thumbprintData" json:"thumbprintData"`
 55779  }
 55780  
 55781  func init() {
 55782  	t["MultipleCertificatesVerifyFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFault)(nil)).Elem()
 55783  }
 55784  
 55785  type MultipleCertificatesVerifyFaultFault MultipleCertificatesVerifyFault
 55786  
 55787  func init() {
 55788  	t["MultipleCertificatesVerifyFaultFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultFault)(nil)).Elem()
 55789  }
 55790  
 55791  type MultipleCertificatesVerifyFaultThumbprintData struct {
 55792  	DynamicData
 55793  
 55794  	// The port used by the service.
 55795  	Port int32 `xml:"port" json:"port"`
 55796  	// The SSL thumbprint of the host's certificate used by the service.
 55797  	Thumbprint string `xml:"thumbprint" json:"thumbprint"`
 55798  }
 55799  
 55800  func init() {
 55801  	t["MultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem()
 55802  }
 55803  
 55804  // Fault thrown when an attempt is made to create a second snapshot on a VM that only
 55805  // supports a single snapshot at a time.
 55806  type MultipleSnapshotsNotSupported struct {
 55807  	SnapshotFault
 55808  }
 55809  
 55810  func init() {
 55811  	t["MultipleSnapshotsNotSupported"] = reflect.TypeOf((*MultipleSnapshotsNotSupported)(nil)).Elem()
 55812  }
 55813  
 55814  type MultipleSnapshotsNotSupportedFault MultipleSnapshotsNotSupported
 55815  
 55816  func init() {
 55817  	t["MultipleSnapshotsNotSupportedFault"] = reflect.TypeOf((*MultipleSnapshotsNotSupportedFault)(nil)).Elem()
 55818  }
 55819  
 55820  // This event records when a NAS datastore is created.
 55821  type NASDatastoreCreatedEvent struct {
 55822  	HostEvent
 55823  
 55824  	// The associated datastore.
 55825  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 55826  	// Url of the associated datastore.
 55827  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
 55828  }
 55829  
 55830  func init() {
 55831  	t["NASDatastoreCreatedEvent"] = reflect.TypeOf((*NASDatastoreCreatedEvent)(nil)).Elem()
 55832  }
 55833  
 55834  // NamePasswordAuthentication contains the information necessary to authenticate
 55835  // within a guest using a name and password.
 55836  //
 55837  // This is the typical method for
 55838  // authentication within a guest and the one currently used by VIX.
 55839  // This method of authentication is stateless.
 55840  //
 55841  // To use NamePasswordAuthentication, populate username and password with the
 55842  // appropriate login information. You should not use `GuestAuthManager.AcquireCredentialsInGuest`
 55843  // or `GuestAuthManager.ReleaseCredentialsInGuest` for NamePasswordAuthentication.
 55844  //
 55845  // Once populated, you can use NamePasswordAuthentication in any guest operations function call.
 55846  type NamePasswordAuthentication struct {
 55847  	GuestAuthentication
 55848  
 55849  	// The user name for Name-Password authentication.
 55850  	Username string `xml:"username" json:"username"`
 55851  	// The password for Name-Password authentication.
 55852  	Password string `xml:"password" json:"password"`
 55853  }
 55854  
 55855  func init() {
 55856  	t["NamePasswordAuthentication"] = reflect.TypeOf((*NamePasswordAuthentication)(nil)).Elem()
 55857  }
 55858  
 55859  // A NamespaceFull fault is thrown when an operation
 55860  // on namespace requires more space to complete.
 55861  type NamespaceFull struct {
 55862  	VimFault
 55863  
 55864  	// The namespace in question.
 55865  	Name string `xml:"name" json:"name"`
 55866  	// Current maximum size.
 55867  	CurrentMaxSize int64 `xml:"currentMaxSize" json:"currentMaxSize"`
 55868  	// Size necessary to complete operation.
 55869  	//
 55870  	// If not present,
 55871  	// system was not able to determine how much space would
 55872  	// be necessary to complete operation.
 55873  	RequiredSize int64 `xml:"requiredSize,omitempty" json:"requiredSize,omitempty"`
 55874  }
 55875  
 55876  func init() {
 55877  	t["NamespaceFull"] = reflect.TypeOf((*NamespaceFull)(nil)).Elem()
 55878  }
 55879  
 55880  type NamespaceFullFault NamespaceFull
 55881  
 55882  func init() {
 55883  	t["NamespaceFullFault"] = reflect.TypeOf((*NamespaceFullFault)(nil)).Elem()
 55884  }
 55885  
 55886  // A NamespaceLimitReached fault is thrown when the maximum allowed
 55887  // namespaces for a virtual machine will be exceeded.
 55888  type NamespaceLimitReached struct {
 55889  	VimFault
 55890  
 55891  	// Allowed maximum number of namespaces per virtual machine.
 55892  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 55893  }
 55894  
 55895  func init() {
 55896  	t["NamespaceLimitReached"] = reflect.TypeOf((*NamespaceLimitReached)(nil)).Elem()
 55897  }
 55898  
 55899  type NamespaceLimitReachedFault NamespaceLimitReached
 55900  
 55901  func init() {
 55902  	t["NamespaceLimitReachedFault"] = reflect.TypeOf((*NamespaceLimitReachedFault)(nil)).Elem()
 55903  }
 55904  
 55905  // A NamespaceWriteProtected fault is thrown when an operation
 55906  // on namespace fails because namespace is write-protected.
 55907  type NamespaceWriteProtected struct {
 55908  	VimFault
 55909  
 55910  	// The namespace in question.
 55911  	Name string `xml:"name" json:"name"`
 55912  }
 55913  
 55914  func init() {
 55915  	t["NamespaceWriteProtected"] = reflect.TypeOf((*NamespaceWriteProtected)(nil)).Elem()
 55916  }
 55917  
 55918  type NamespaceWriteProtectedFault NamespaceWriteProtected
 55919  
 55920  func init() {
 55921  	t["NamespaceWriteProtectedFault"] = reflect.TypeOf((*NamespaceWriteProtectedFault)(nil)).Elem()
 55922  }
 55923  
 55924  // Base class for all network-attached storage configuration faults.
 55925  type NasConfigFault struct {
 55926  	HostConfigFault
 55927  
 55928  	// Name of the Nas datastore being configured.
 55929  	Name string `xml:"name" json:"name"`
 55930  }
 55931  
 55932  func init() {
 55933  	t["NasConfigFault"] = reflect.TypeOf((*NasConfigFault)(nil)).Elem()
 55934  }
 55935  
 55936  type NasConfigFaultFault BaseNasConfigFault
 55937  
 55938  func init() {
 55939  	t["NasConfigFaultFault"] = reflect.TypeOf((*NasConfigFaultFault)(nil)).Elem()
 55940  }
 55941  
 55942  // This fault is thrown when an operation to configure a CIFS volume fails
 55943  // because the request exceeds the maximum allowed connections on this host
 55944  // for the specified remote path.
 55945  type NasConnectionLimitReached struct {
 55946  	NasConfigFault
 55947  
 55948  	// The host that runs the NFS server.
 55949  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 55950  	// The remote share.
 55951  	RemotePath string `xml:"remotePath" json:"remotePath"`
 55952  }
 55953  
 55954  func init() {
 55955  	t["NasConnectionLimitReached"] = reflect.TypeOf((*NasConnectionLimitReached)(nil)).Elem()
 55956  }
 55957  
 55958  type NasConnectionLimitReachedFault NasConnectionLimitReached
 55959  
 55960  func init() {
 55961  	t["NasConnectionLimitReachedFault"] = reflect.TypeOf((*NasConnectionLimitReachedFault)(nil)).Elem()
 55962  }
 55963  
 55964  // Information details about a network-attached storage
 55965  // (NAS) datastore.
 55966  type NasDatastoreInfo struct {
 55967  	DatastoreInfo
 55968  
 55969  	// The NFS mount information for the datastore.
 55970  	//
 55971  	// May not
 55972  	// be available when the datastore is not accessible.
 55973  	Nas *HostNasVolume `xml:"nas,omitempty" json:"nas,omitempty"`
 55974  }
 55975  
 55976  func init() {
 55977  	t["NasDatastoreInfo"] = reflect.TypeOf((*NasDatastoreInfo)(nil)).Elem()
 55978  }
 55979  
 55980  // This fault is thrown when an operation to configure a CIFS volume fails
 55981  // when attempting to log on more than once with the same user name.
 55982  type NasSessionCredentialConflict struct {
 55983  	NasConfigFault
 55984  
 55985  	// The host that runs the NFS server.
 55986  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 55987  	// The remote share.
 55988  	RemotePath string `xml:"remotePath" json:"remotePath"`
 55989  	UserName   string `xml:"userName" json:"userName"`
 55990  }
 55991  
 55992  func init() {
 55993  	t["NasSessionCredentialConflict"] = reflect.TypeOf((*NasSessionCredentialConflict)(nil)).Elem()
 55994  }
 55995  
 55996  type NasSessionCredentialConflictFault NasSessionCredentialConflict
 55997  
 55998  func init() {
 55999  	t["NasSessionCredentialConflictFault"] = reflect.TypeOf((*NasSessionCredentialConflictFault)(nil)).Elem()
 56000  }
 56001  
 56002  // The `NasStorageProfile` data object represents one NAS datastore configuration.
 56003  //
 56004  // Use the `ApplyProfile.policy` list for access to configuration data
 56005  // for the NAS storage profile. Use the `ApplyProfile.property` list
 56006  // for access to subprofile configuration data, if any.
 56007  type NasStorageProfile struct {
 56008  	ApplyProfile
 56009  
 56010  	// Linkable identifier.
 56011  	Key string `xml:"key" json:"key"`
 56012  }
 56013  
 56014  func init() {
 56015  	t["NasStorageProfile"] = reflect.TypeOf((*NasStorageProfile)(nil)).Elem()
 56016  }
 56017  
 56018  // This fault is thrown when an operation to configure a NAS datastore
 56019  // fails because the specified NFS volume is not mounted.
 56020  type NasVolumeNotMounted struct {
 56021  	NasConfigFault
 56022  
 56023  	// The host that runs the NFS server.
 56024  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 56025  	// The remote share.
 56026  	RemotePath string `xml:"remotePath" json:"remotePath"`
 56027  }
 56028  
 56029  func init() {
 56030  	t["NasVolumeNotMounted"] = reflect.TypeOf((*NasVolumeNotMounted)(nil)).Elem()
 56031  }
 56032  
 56033  type NasVolumeNotMountedFault NasVolumeNotMounted
 56034  
 56035  func init() {
 56036  	t["NasVolumeNotMountedFault"] = reflect.TypeOf((*NasVolumeNotMountedFault)(nil)).Elem()
 56037  }
 56038  
 56039  // The base class for any type of setting or configuration to which negation
 56040  // can be applied.
 56041  //
 56042  // When used in a configuration information object:
 56043  // if `NegatableExpression.negate` is true, then ~(objectValue) will be used for the
 56044  // configuration. If false, then objectValue will be used as it is.
 56045  type NegatableExpression struct {
 56046  	DynamicData
 56047  
 56048  	// Whether the configuration needs to be negated or not.
 56049  	Negate *bool `xml:"negate" json:"negate,omitempty"`
 56050  }
 56051  
 56052  func init() {
 56053  	t["NegatableExpression"] = reflect.TypeOf((*NegatableExpression)(nil)).Elem()
 56054  }
 56055  
 56056  // This data object type describes the NetBIOS configuration of
 56057  // an operating system.
 56058  type NetBIOSConfigInfo struct {
 56059  	DynamicData
 56060  
 56061  	// NetBIOS configuration mode.
 56062  	//
 56063  	// The supported values are described by
 56064  	// `NetBIOSConfigInfoMode_enum`.
 56065  	Mode string `xml:"mode" json:"mode"`
 56066  }
 56067  
 56068  func init() {
 56069  	t["NetBIOSConfigInfo"] = reflect.TypeOf((*NetBIOSConfigInfo)(nil)).Elem()
 56070  }
 56071  
 56072  // Dynamic Host Configuration Protocol reporting for IP version 4 and version 6.
 56073  type NetDhcpConfigInfo struct {
 56074  	DynamicData
 56075  
 56076  	// IPv6 DHCP client settings.
 56077  	Ipv6 *NetDhcpConfigInfoDhcpOptions `xml:"ipv6,omitempty" json:"ipv6,omitempty"`
 56078  	// IPv4 DHCP client settings.
 56079  	Ipv4 *NetDhcpConfigInfoDhcpOptions `xml:"ipv4,omitempty" json:"ipv4,omitempty"`
 56080  }
 56081  
 56082  func init() {
 56083  	t["NetDhcpConfigInfo"] = reflect.TypeOf((*NetDhcpConfigInfo)(nil)).Elem()
 56084  }
 56085  
 56086  // Provides for reporting of DHCP client.
 56087  //
 56088  // This data object may be used
 56089  // at a per interface or per system scope.
 56090  type NetDhcpConfigInfoDhcpOptions struct {
 56091  	DynamicData
 56092  
 56093  	// Report state of dhcp client services.
 56094  	Enable bool `xml:"enable" json:"enable"`
 56095  	// Platform specific settings for DHCP Client.
 56096  	//
 56097  	// The key part is a unique number, the value part
 56098  	// is the platform specific configuration command.
 56099  	// For example on Linux, BSD systems using the file dhclient.conf
 56100  	// output would be reported at system scope:
 56101  	// key='1', value='timeout 60;'
 56102  	// key='2', value='reboot 10;'
 56103  	// output reported at per interface scope:
 56104  	// key='1', value='prepend domain-name-servers 192.0.2.1;'
 56105  	// key='2', value='equire subnet-mask, domain-name-servers;'
 56106  	Config []KeyValue `xml:"config,omitempty" json:"config,omitempty"`
 56107  }
 56108  
 56109  func init() {
 56110  	t["NetDhcpConfigInfoDhcpOptions"] = reflect.TypeOf((*NetDhcpConfigInfoDhcpOptions)(nil)).Elem()
 56111  }
 56112  
 56113  // Dynamic Host Configuration Protocol Configuration for IP version 4 and version 6.
 56114  type NetDhcpConfigSpec struct {
 56115  	DynamicData
 56116  
 56117  	// Configure IPv6 DHCP client settings.
 56118  	Ipv6 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv6,omitempty" json:"ipv6,omitempty"`
 56119  	// Configure IPv4 DHCP client settings.
 56120  	Ipv4 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv4,omitempty" json:"ipv4,omitempty"`
 56121  }
 56122  
 56123  func init() {
 56124  	t["NetDhcpConfigSpec"] = reflect.TypeOf((*NetDhcpConfigSpec)(nil)).Elem()
 56125  }
 56126  
 56127  // Provides for configuration of IPv6
 56128  type NetDhcpConfigSpecDhcpOptionsSpec struct {
 56129  	DynamicData
 56130  
 56131  	// Enable or disable dhcp for IPv4.
 56132  	Enable *bool `xml:"enable" json:"enable,omitempty"`
 56133  	// Platform specific settings for DHCP Client.
 56134  	//
 56135  	// The key part is a unique number, the value part
 56136  	// is the platform specific configuration command.
 56137  	// See `NetDhcpConfigInfo` for value formatting.
 56138  	Config []KeyValue `xml:"config" json:"config"`
 56139  	// Requires one of the values from `HostConfigChangeOperation_enum`.
 56140  	Operation string `xml:"operation" json:"operation"`
 56141  }
 56142  
 56143  func init() {
 56144  	t["NetDhcpConfigSpecDhcpOptionsSpec"] = reflect.TypeOf((*NetDhcpConfigSpecDhcpOptionsSpec)(nil)).Elem()
 56145  }
 56146  
 56147  // Domain Name Server (DNS) Configuration Specification -
 56148  // a data object for reporting the configuration of RFC 1034 client side DNS settings.
 56149  type NetDnsConfigInfo struct {
 56150  	DynamicData
 56151  
 56152  	// Indicates whether or not dynamic host control
 56153  	// protocol (DHCP) is used to configure DNS configuration.
 56154  	Dhcp bool `xml:"dhcp" json:"dhcp"`
 56155  	// The host name portion of DNS name.
 56156  	//
 56157  	// For example, "esx01" part of
 56158  	// esx01.example.com.
 56159  	HostName string `xml:"hostName" json:"hostName"`
 56160  	// The domain name portion of the DNS name.
 56161  	//
 56162  	// "example.com" part of
 56163  	// esx01.example.com.
 56164  	DomainName string `xml:"domainName" json:"domainName"`
 56165  	// The IP addresses of the DNS servers in order of use.
 56166  	//
 56167  	// IPv4 addresses are specified using
 56168  	// dotted decimal notation. For example, "192.0.2.1".
 56169  	// IPv6 addresses are 128-bit addresses represented as
 56170  	// eight fields of up to four hexadecimal digits.
 56171  	// A colon separates each field (:). For example,
 56172  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 56173  	// symbol '::' to represent multiple 16-bit groups of
 56174  	// contiguous 0's only once in an address as described in RFC 2373.
 56175  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 56176  	// The domain in which to search for hosts, placed in order of preference.
 56177  	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
 56178  }
 56179  
 56180  func init() {
 56181  	t["NetDnsConfigInfo"] = reflect.TypeOf((*NetDnsConfigInfo)(nil)).Elem()
 56182  }
 56183  
 56184  // Domain Name Server (DNS) Configuration Specification -
 56185  // a data object for configuring the RFC 1034 client side DNS settings.
 56186  //
 56187  // TBD: remove this section, only for discussing what goes into this object.
 56188  // Place properties here that are specific to the RFC/common to all systems.
 56189  // Properties that are platform specific should go into a separate config spec.
 56190  // http://technet.microsoft.com/en-us/library/cc778792.aspx
 56191  // http://en.wikipedia.org/wiki/Microsoft\_DNS
 56192  type NetDnsConfigSpec struct {
 56193  	DynamicData
 56194  
 56195  	// The flag to indicate whether or not dynamic host control
 56196  	// protocol (DHCP) will be used to set DNS configuration automatically.
 56197  	//
 56198  	// See vim.net.DhcpConfigSpec
 56199  	Dhcp *bool `xml:"dhcp" json:"dhcp,omitempty"`
 56200  	// The host name portion of DNS name.
 56201  	//
 56202  	// For example,
 56203  	// "esx01" part of esx01.example.com. The rules for forming a hostname
 56204  	// are specified in RFC 1034.
 56205  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 56206  	// The domain name portion of the DNS name.
 56207  	//
 56208  	// This would be the
 56209  	// "example.com" part of esx01.example.com. The rules for forming
 56210  	// a domain name are defined in RFC 1034.
 56211  	DomainName string `xml:"domainName,omitempty" json:"domainName,omitempty"`
 56212  	// Unicast IP address(s) of one or more DNS servers in order of use.
 56213  	//
 56214  	// IPv4 addresses are specified using
 56215  	// dotted decimal notation. For example, "192.0.2.1".
 56216  	// IPv6 addresses are 128-bit addresses represented as
 56217  	// eight fields of up to four hexadecimal digits.
 56218  	// A colon separates each field (:). For example,
 56219  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 56220  	// symbol '::' to represent multiple 16-bit groups of
 56221  	// contiguous 0's only once in an address as described in RFC 2373.
 56222  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 56223  	// The domain in which to search for hosts in order of preference.
 56224  	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
 56225  }
 56226  
 56227  func init() {
 56228  	t["NetDnsConfigSpec"] = reflect.TypeOf((*NetDnsConfigSpec)(nil)).Elem()
 56229  }
 56230  
 56231  // Protocol version independent address reporting data object for network
 56232  // interfaces.
 56233  type NetIpConfigInfo struct {
 56234  	DynamicData
 56235  
 56236  	// Zero, one or more manual (static) assigned IP addresses to be configured
 56237  	// on a given interface.
 56238  	IpAddress []NetIpConfigInfoIpAddress `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 56239  	// Client side DHCP for a given interface.
 56240  	Dhcp *NetDhcpConfigInfo `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 56241  	// Enable or disable ICMPv6 router solictitation requests from a given interface
 56242  	// to acquire an IPv6 address and default gateway route from zero, one or more
 56243  	// routers on the connected network.
 56244  	//
 56245  	// If not set then ICMPv6 is not available on this system,
 56246  	// See vim.host.Network.Capabilities
 56247  	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
 56248  }
 56249  
 56250  func init() {
 56251  	t["NetIpConfigInfo"] = reflect.TypeOf((*NetIpConfigInfo)(nil)).Elem()
 56252  }
 56253  
 56254  // Information about a specific IP Address.
 56255  type NetIpConfigInfoIpAddress struct {
 56256  	DynamicData
 56257  
 56258  	// IPv4 address is specified using dotted decimal notation.
 56259  	//
 56260  	// For example, "192.0.2.1".
 56261  	// IPv6 addresses are 128-bit addresses represented as eight fields
 56262  	// of up to four hexadecimal digits.
 56263  	// A colon separates each field (:). For example,
 56264  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 56265  	// symbol '::' to represent multiple 16-bit groups of
 56266  	// contiguous 0's only once in an address as described in RFC 2373.
 56267  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 56268  	// Denotes the length of a generic Internet network address
 56269  	// prefix.
 56270  	//
 56271  	// The prefix length for IPv4 the value range is 0-32.
 56272  	// For IPv6 prefixLength is a decimal value range 0-128.
 56273  	// A value of n corresponds to an IP address mask
 56274  	// that has n contiguous 1-bits from the most significant
 56275  	// bit (MSB), with all other bits set to 0.
 56276  	// A value of zero is valid only if the calling context defines
 56277  	// it.
 56278  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 56279  	// How this address was configured.
 56280  	//
 56281  	// This can be
 56282  	// one of the values from the enum IpAddressOrigin
 56283  	// See `NetIpConfigInfoIpAddressOrigin_enum` for values.
 56284  	Origin string `xml:"origin,omitempty" json:"origin,omitempty"`
 56285  	// The state of this ipAddress.
 56286  	//
 56287  	// Can be one of `NetIpConfigInfoIpAddressStatus_enum`.
 56288  	State string `xml:"state,omitempty" json:"state,omitempty"`
 56289  	// The time when will this address expire.
 56290  	//
 56291  	// Durning this time
 56292  	// `state` may change states but is still visible
 56293  	// from the network.
 56294  	Lifetime *time.Time `xml:"lifetime" json:"lifetime,omitempty"`
 56295  }
 56296  
 56297  func init() {
 56298  	t["NetIpConfigInfoIpAddress"] = reflect.TypeOf((*NetIpConfigInfoIpAddress)(nil)).Elem()
 56299  }
 56300  
 56301  // Internet Protocol Address Configuration for version 4 and version 6.
 56302  type NetIpConfigSpec struct {
 56303  	DynamicData
 56304  
 56305  	// A set of manual (static) IP addresses to be configured on a given interface.
 56306  	IpAddress []NetIpConfigSpecIpAddressSpec `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 56307  	// Configure client side DHCP for a given interface.
 56308  	Dhcp *NetDhcpConfigSpec `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 56309  	// Enable or disable ICMPv6 router solictitation requests from a given interface
 56310  	// to acquire an IPv6 address and default gateway route from zero, one or more
 56311  	// routers on the connected network.
 56312  	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
 56313  }
 56314  
 56315  func init() {
 56316  	t["NetIpConfigSpec"] = reflect.TypeOf((*NetIpConfigSpec)(nil)).Elem()
 56317  }
 56318  
 56319  // Provides for configuration of IP Addresses.
 56320  type NetIpConfigSpecIpAddressSpec struct {
 56321  	DynamicData
 56322  
 56323  	// IPv4 address is specified using
 56324  	// dotted decimal notation.
 56325  	//
 56326  	// For example, "192.0.2.1".
 56327  	// IPv6 addresses are 128-bit addresses specified as
 56328  	// eight fields of up to four hexadecimal digits.
 56329  	// A colon separates each field (:). For example,
 56330  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 56331  	// symbol '::' to represent multiple 16-bit groups of
 56332  	// contiguous 0's only once in an address as described in RFC 2373.
 56333  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 56334  	// Denotes the length of a generic Internet network address
 56335  	// prefix.
 56336  	//
 56337  	// The prefix length for IPv4 the value range is 0-32.
 56338  	// For IPv6 prefixLength is a decimal value range 0-128.
 56339  	// A value of n corresponds to an IP address mask
 56340  	// that has n contiguous 1-bits from the most significant
 56341  	// bit (MSB), with all other bits set to 0.
 56342  	// A value of zero is valid only if the calling context defines
 56343  	// it.
 56344  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 56345  	// Requires one of: "add" and "remove" or "change"
 56346  	// See `HostConfigChangeOperation_enum`.
 56347  	Operation string `xml:"operation" json:"operation"`
 56348  }
 56349  
 56350  func init() {
 56351  	t["NetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*NetIpConfigSpecIpAddressSpec)(nil)).Elem()
 56352  }
 56353  
 56354  // This data object reports the IP Route Table.
 56355  type NetIpRouteConfigInfo struct {
 56356  	DynamicData
 56357  
 56358  	// IP routing table for all address families.
 56359  	IpRoute []NetIpRouteConfigInfoIpRoute `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 56360  }
 56361  
 56362  func init() {
 56363  	t["NetIpRouteConfigInfo"] = reflect.TypeOf((*NetIpRouteConfigInfo)(nil)).Elem()
 56364  }
 56365  
 56366  // Next hop Gateway for a given route.
 56367  type NetIpRouteConfigInfoGateway struct {
 56368  	DynamicData
 56369  
 56370  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 56371  	Device    string `xml:"device,omitempty" json:"device,omitempty"`
 56372  }
 56373  
 56374  func init() {
 56375  	t["NetIpRouteConfigInfoGateway"] = reflect.TypeOf((*NetIpRouteConfigInfoGateway)(nil)).Elem()
 56376  }
 56377  
 56378  // IpRoute report an individual host, network or default destination network
 56379  // reachable through a given gateway.
 56380  type NetIpRouteConfigInfoIpRoute struct {
 56381  	DynamicData
 56382  
 56383  	// IP Address of the destination IP network.
 56384  	//
 56385  	// IPv6 addresses are 128-bit addresses represented
 56386  	// as eight fields of up to four hexadecimal digits. A colon separates each
 56387  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 56388  	// also consist of symbol '::' to represent multiple 16-bit groups of
 56389  	// contiguous 0's only once in an address as described in RFC 2373.
 56390  	Network string `xml:"network" json:"network"`
 56391  	// The prefix length.
 56392  	//
 56393  	// For IPv4 the value range is 0-31.
 56394  	// For IPv6 prefixLength is a decimal value range 0-127. The property
 56395  	// represents the number of contiguous, higher-order bits of the address that make
 56396  	// up the network portion of the IP address.
 56397  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 56398  	// Where to send the packets for this route.
 56399  	Gateway NetIpRouteConfigInfoGateway `xml:"gateway" json:"gateway"`
 56400  }
 56401  
 56402  func init() {
 56403  	t["NetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*NetIpRouteConfigInfoIpRoute)(nil)).Elem()
 56404  }
 56405  
 56406  // Address family independent IP Route Table Configuration data object.
 56407  type NetIpRouteConfigSpec struct {
 56408  	DynamicData
 56409  
 56410  	// The set of updates to apply to the routing table.
 56411  	IpRoute []NetIpRouteConfigSpecIpRouteSpec `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 56412  }
 56413  
 56414  func init() {
 56415  	t["NetIpRouteConfigSpec"] = reflect.TypeOf((*NetIpRouteConfigSpec)(nil)).Elem()
 56416  }
 56417  
 56418  // IpRoute report an individual host, network or default destination network
 56419  // reachable through a given gateway.
 56420  type NetIpRouteConfigSpecGatewaySpec struct {
 56421  	DynamicData
 56422  
 56423  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 56424  	Device    string `xml:"device,omitempty" json:"device,omitempty"`
 56425  }
 56426  
 56427  func init() {
 56428  	t["NetIpRouteConfigSpecGatewaySpec"] = reflect.TypeOf((*NetIpRouteConfigSpecGatewaySpec)(nil)).Elem()
 56429  }
 56430  
 56431  // Specify an individual host, network or default destination network
 56432  // reachable through a given gateway.
 56433  type NetIpRouteConfigSpecIpRouteSpec struct {
 56434  	DynamicData
 56435  
 56436  	// IP Address of the destination IP network.
 56437  	//
 56438  	// IPv6 addresses are 128-bit addresses represented
 56439  	// as eight fields of up to four hexadecimal digits. A colon separates each
 56440  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 56441  	// also consist of symbol '::' to represent multiple 16-bit groups of
 56442  	// contiguous 0's only once in an address as described in RFC 2373.
 56443  	// To Specify a default network use the value: 0 with prefixLenth 0.
 56444  	Network string `xml:"network" json:"network"`
 56445  	// The prefix length.
 56446  	//
 56447  	// For IPv4 the value range is 0-31.
 56448  	// For IPv6 prefixLength is a decimal value range 0-127. The property
 56449  	// represents the number of contiguous, higher-order bits of the address that make
 56450  	// up the network portion of the IP address.
 56451  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 56452  	// Where to send the packets for this route.
 56453  	Gateway NetIpRouteConfigSpecGatewaySpec `xml:"gateway" json:"gateway"`
 56454  	// Requires one of the values from `HostConfigChangeOperation_enum`.
 56455  	Operation string `xml:"operation" json:"operation"`
 56456  }
 56457  
 56458  func init() {
 56459  	t["NetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*NetIpRouteConfigSpecIpRouteSpec)(nil)).Elem()
 56460  }
 56461  
 56462  // Protocol version independent reporting data object for IP stack.
 56463  type NetIpStackInfo struct {
 56464  	DynamicData
 56465  
 56466  	// Zero, one or more entries of neighbors discovered using ARP or NDP.
 56467  	//
 56468  	// This information is used to help diagnose connectivity or performance
 56469  	// issues. This property maps to RFC 4293 ipNetToPhysicalTable.
 56470  	Neighbor []NetIpStackInfoNetToMedia `xml:"neighbor,omitempty" json:"neighbor,omitempty"`
 56471  	// Zero one or more entries of discovered IP routers that are directly
 56472  	// reachable from a an interface on this system.
 56473  	//
 56474  	// This property maps to RFC 4293 ipDefaultRouterTable.
 56475  	DefaultRouter []NetIpStackInfoDefaultRouter `xml:"defaultRouter,omitempty" json:"defaultRouter,omitempty"`
 56476  }
 56477  
 56478  func init() {
 56479  	t["NetIpStackInfo"] = reflect.TypeOf((*NetIpStackInfo)(nil)).Elem()
 56480  }
 56481  
 56482  type NetIpStackInfoDefaultRouter struct {
 56483  	DynamicData
 56484  
 56485  	// Unicast IP address of a next-hop router.
 56486  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 56487  	// This value will contain the name of the interface as reported by the
 56488  	// operationg system.
 56489  	Device string `xml:"device" json:"device"`
 56490  	// When this entry will no longer valid.
 56491  	//
 56492  	// For IPv6 this value
 56493  	// see For IPv6 RFC 2462 sections 4.2 and 6.3.4.
 56494  	Lifetime time.Time `xml:"lifetime" json:"lifetime"`
 56495  	// Value of this entry compared to others that this IP stack uses
 56496  	// when making selection to route traffic on the default
 56497  	// route when there are multiple default routers.
 56498  	//
 56499  	// Value must be one of
 56500  	// `NetIpStackInfoPreference_enum`
 56501  	Preference string `xml:"preference" json:"preference"`
 56502  }
 56503  
 56504  func init() {
 56505  	t["NetIpStackInfoDefaultRouter"] = reflect.TypeOf((*NetIpStackInfoDefaultRouter)(nil)).Elem()
 56506  }
 56507  
 56508  // Information from an IP stack about known mappings betwwen an IP address
 56509  // and the underlying physical address it maps to as learned by:
 56510  // IPv4: Address Resolution Protocol (ARP) RFC 826
 56511  // IPv6: Neighbor Discovery Protocol (NDP) RFC 4861
 56512  type NetIpStackInfoNetToMedia struct {
 56513  	DynamicData
 56514  
 56515  	// A Unicast IP address of another system directly reachable w/o routing.
 56516  	//
 56517  	// IPv4 address is specified using dotted decimal notation.
 56518  	// For example, "192.0.2.1".
 56519  	// IPv6 addresses are 128-bit addresses represented as eight fields
 56520  	// of up to four hexadecimal digits.
 56521  	// A colon separates each field (:). For example,
 56522  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 56523  	// symbol '::' to represent multiple 16-bit groups of
 56524  	// contiguous 0's only once in an address as described in RFC 2373.
 56525  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 56526  	// The media-dependent of the address or empty string if not yet learned.
 56527  	//
 56528  	// For Ethernet interfaces this is a MAC address reported in the format:
 56529  	// XX:XX:XX:XX:XX:XX where XX are hexadecimal numbers.
 56530  	PhysicalAddress string `xml:"physicalAddress" json:"physicalAddress"`
 56531  	// The value will be the name of the interface as reported by the
 56532  	// operating system.
 56533  	Device string `xml:"device" json:"device"`
 56534  	// The type/state of this entry as reported by the IP stack.
 56535  	//
 56536  	// See `NetIpStackInfoEntryType_enum` for values.
 56537  	Type string `xml:"type" json:"type"`
 56538  }
 56539  
 56540  func init() {
 56541  	t["NetIpStackInfoNetToMedia"] = reflect.TypeOf((*NetIpStackInfoNetToMedia)(nil)).Elem()
 56542  }
 56543  
 56544  // The `NetStackInstanceProfile` data object represents a subprofile
 56545  // for a netStackInstance.
 56546  type NetStackInstanceProfile struct {
 56547  	ApplyProfile
 56548  
 56549  	// Linkable identifier.
 56550  	Key string `xml:"key" json:"key"`
 56551  	// DnsConfig SubProfile for this instance of the stack.
 56552  	DnsConfig NetworkProfileDnsConfigProfile `xml:"dnsConfig" json:"dnsConfig"`
 56553  	// IpRoute SubProfile for this instance of the stack.
 56554  	IpRouteConfig IpRouteProfile `xml:"ipRouteConfig" json:"ipRouteConfig"`
 56555  }
 56556  
 56557  func init() {
 56558  	t["NetStackInstanceProfile"] = reflect.TypeOf((*NetStackInstanceProfile)(nil)).Elem()
 56559  }
 56560  
 56561  // A network copy of the file failed.
 56562  type NetworkCopyFault struct {
 56563  	FileFault
 56564  }
 56565  
 56566  func init() {
 56567  	t["NetworkCopyFault"] = reflect.TypeOf((*NetworkCopyFault)(nil)).Elem()
 56568  }
 56569  
 56570  type NetworkCopyFaultFault NetworkCopyFault
 56571  
 56572  func init() {
 56573  	t["NetworkCopyFaultFault"] = reflect.TypeOf((*NetworkCopyFaultFault)(nil)).Elem()
 56574  }
 56575  
 56576  // Thrown if network configuration change disconnected the host from vCenter server
 56577  // and has been rolled back.
 56578  type NetworkDisruptedAndConfigRolledBack struct {
 56579  	VimFault
 56580  
 56581  	// The name of host on which the network configuration was rolled back.
 56582  	Host string `xml:"host" json:"host"`
 56583  }
 56584  
 56585  func init() {
 56586  	t["NetworkDisruptedAndConfigRolledBack"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBack)(nil)).Elem()
 56587  }
 56588  
 56589  type NetworkDisruptedAndConfigRolledBackFault NetworkDisruptedAndConfigRolledBack
 56590  
 56591  func init() {
 56592  	t["NetworkDisruptedAndConfigRolledBackFault"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBackFault)(nil)).Elem()
 56593  }
 56594  
 56595  // The event argument is a Network object.
 56596  type NetworkEventArgument struct {
 56597  	EntityEventArgument
 56598  
 56599  	// The Network object.
 56600  	//
 56601  	// Refers instance of `Network`.
 56602  	Network ManagedObjectReference `xml:"network" json:"network"`
 56603  }
 56604  
 56605  func init() {
 56606  	t["NetworkEventArgument"] = reflect.TypeOf((*NetworkEventArgument)(nil)).Elem()
 56607  }
 56608  
 56609  // This fault is thrown when an operation to configure a NAS volume fails
 56610  // because network access is unavailable.
 56611  type NetworkInaccessible struct {
 56612  	NasConfigFault
 56613  }
 56614  
 56615  func init() {
 56616  	t["NetworkInaccessible"] = reflect.TypeOf((*NetworkInaccessible)(nil)).Elem()
 56617  }
 56618  
 56619  type NetworkInaccessibleFault NetworkInaccessible
 56620  
 56621  func init() {
 56622  	t["NetworkInaccessibleFault"] = reflect.TypeOf((*NetworkInaccessibleFault)(nil)).Elem()
 56623  }
 56624  
 56625  // The `NetworkPolicyProfile` data object represents a
 56626  // network policy.
 56627  //
 56628  // The `ApplyProfile.policy` property
 56629  // contains network configuration data values.
 56630  type NetworkPolicyProfile struct {
 56631  	ApplyProfile
 56632  }
 56633  
 56634  func init() {
 56635  	t["NetworkPolicyProfile"] = reflect.TypeOf((*NetworkPolicyProfile)(nil)).Elem()
 56636  }
 56637  
 56638  // The `NetworkProfile` data object contains a set of subprofiles for
 56639  // network configuration.
 56640  type NetworkProfile struct {
 56641  	ApplyProfile
 56642  
 56643  	// List of virtual switch subprofiles.
 56644  	//
 56645  	// Use the `VirtualSwitchProfile.key` property to access
 56646  	// a subprofile in the list.
 56647  	Vswitch []VirtualSwitchProfile `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 56648  	// List of port groups for use by virtual machines.
 56649  	//
 56650  	// Use the `VmPortGroupProfile*.*PortGroupProfile.key`
 56651  	// property to access a port group in the list.
 56652  	VmPortGroup []VmPortGroupProfile `xml:"vmPortGroup,omitempty" json:"vmPortGroup,omitempty"`
 56653  	// List of port groups for use by the host.
 56654  	//
 56655  	// Use the `HostPortGroupProfile*.*PortGroupProfile.key` property
 56656  	// to access port groups in the list.
 56657  	HostPortGroup []HostPortGroupProfile `xml:"hostPortGroup,omitempty" json:"hostPortGroup,omitempty"`
 56658  	// List of port groups for use by the service console.
 56659  	//
 56660  	// The Profile Engine uses this field only when applying a profile
 56661  	// to a host that has a service console.
 56662  	ServiceConsolePortGroup []ServiceConsolePortGroupProfile `xml:"serviceConsolePortGroup,omitempty" json:"serviceConsolePortGroup,omitempty"`
 56663  	// DNS (Domain Name System) configuration subprofile.
 56664  	DnsConfig *NetworkProfileDnsConfigProfile `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
 56665  	// Subprofile that describes the IP Route
 56666  	// configuration for the VMKernel gateway.
 56667  	IpRouteConfig *IpRouteProfile `xml:"ipRouteConfig,omitempty" json:"ipRouteConfig,omitempty"`
 56668  	// Subprofile that describes the IP Route configuration
 56669  	// for the Service Console gateway.
 56670  	ConsoleIpRouteConfig *IpRouteProfile `xml:"consoleIpRouteConfig,omitempty" json:"consoleIpRouteConfig,omitempty"`
 56671  	// List of subprofiles that represent physical NIC configuration.
 56672  	//
 56673  	// Use the `PhysicalNicProfile.key` property to access a
 56674  	// subprofile in the list.
 56675  	Pnic []PhysicalNicProfile `xml:"pnic,omitempty" json:"pnic,omitempty"`
 56676  	// List of subprofiles for distributed virtual switches to which this host is connected.
 56677  	//
 56678  	// Use the `DvsProfile.key` property to access a subprofile in the list.
 56679  	Dvswitch []DvsProfile `xml:"dvswitch,omitempty" json:"dvswitch,omitempty"`
 56680  	// List of subprofiles for service console Virtual NICs connected to a distributed virtual switch.
 56681  	//
 56682  	// Use the `DvsServiceConsoleVNicProfile*.*DvsVNicProfile.key` property
 56683  	// to access a subprofile in the list.
 56684  	DvsServiceConsoleNic []DvsServiceConsoleVNicProfile `xml:"dvsServiceConsoleNic,omitempty" json:"dvsServiceConsoleNic,omitempty"`
 56685  	// List of subprofiles for host Virtual NICs connected to a distributed virtual switch.
 56686  	//
 56687  	// Use the `DvsHostVNicProfile*.*DvsVNicProfile.key` property
 56688  	// to access a subprofile in the list.
 56689  	DvsHostNic []DvsHostVNicProfile `xml:"dvsHostNic,omitempty" json:"dvsHostNic,omitempty"`
 56690  	// List of subprofiles for host Virtual NICs connected to a NSX logic switch.
 56691  	//
 56692  	// Use the `NsxHostVNicProfile*.*NsxHostVNicProfile.key` property
 56693  	// to access a subprofile in the list.
 56694  	NsxHostNic []NsxHostVNicProfile `xml:"nsxHostNic,omitempty" json:"nsxHostNic,omitempty"`
 56695  	// List of NetStackInstance subprofiles.
 56696  	//
 56697  	// Use the `NetStackInstanceProfile.key` property to access
 56698  	// a subprofile in the list.
 56699  	NetStackInstance []NetStackInstanceProfile `xml:"netStackInstance,omitempty" json:"netStackInstance,omitempty"`
 56700  	// OpaqueSwitch subprofile.
 56701  	OpaqueSwitch *OpaqueSwitchProfile `xml:"opaqueSwitch,omitempty" json:"opaqueSwitch,omitempty"`
 56702  }
 56703  
 56704  func init() {
 56705  	t["NetworkProfile"] = reflect.TypeOf((*NetworkProfile)(nil)).Elem()
 56706  }
 56707  
 56708  // The `NetworkProfileDnsConfigProfile` data object represents DNS configuration
 56709  // for the host.
 56710  //
 56711  // Use the `ApplyProfile.policy` list for
 56712  // access to configuration data for the DNS profile. Use the
 56713  // `ApplyProfile.property` list for access to subprofiles, if any.
 56714  type NetworkProfileDnsConfigProfile struct {
 56715  	ApplyProfile
 56716  }
 56717  
 56718  func init() {
 56719  	t["NetworkProfileDnsConfigProfile"] = reflect.TypeOf((*NetworkProfileDnsConfigProfile)(nil)).Elem()
 56720  }
 56721  
 56722  // This event records when networking configuration on the host
 56723  // is rolled back as it disconnects the host from vCenter server.
 56724  type NetworkRollbackEvent struct {
 56725  	Event
 56726  
 56727  	// Method name which caused the disconnect
 56728  	MethodName string `xml:"methodName" json:"methodName"`
 56729  	// Transaction ID for the method call that caused the disconnect
 56730  	TransactionId string `xml:"transactionId" json:"transactionId"`
 56731  }
 56732  
 56733  func init() {
 56734  	t["NetworkRollbackEvent"] = reflect.TypeOf((*NetworkRollbackEvent)(nil)).Elem()
 56735  }
 56736  
 56737  // General information about a network.
 56738  type NetworkSummary struct {
 56739  	DynamicData
 56740  
 56741  	// Reference to the associated managed object.
 56742  	//
 56743  	// Refers instance of `Network`.
 56744  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
 56745  	// Name of the network.
 56746  	Name string `xml:"name" json:"name"`
 56747  	// At least one host is configured to provide this network.
 56748  	Accessible bool `xml:"accessible" json:"accessible"`
 56749  	// Name of the associated IP pool.
 56750  	//
 56751  	// Empty if the network is not associated with an
 56752  	// IP pool.
 56753  	IpPoolName string `xml:"ipPoolName" json:"ipPoolName"`
 56754  	// Identifier of the associated IP pool.
 56755  	//
 56756  	// Zero if the network is not associated
 56757  	// with an IP pool.
 56758  	IpPoolId *int32 `xml:"ipPoolId" json:"ipPoolId,omitempty"`
 56759  }
 56760  
 56761  func init() {
 56762  	t["NetworkSummary"] = reflect.TypeOf((*NetworkSummary)(nil)).Elem()
 56763  }
 56764  
 56765  // Used as a warning if a virtual machine provisioning operation is done
 56766  // across datacenters.
 56767  //
 56768  // This warns that the network used by the virtual
 56769  // machine before and after the operation may not be the same even though
 56770  // the two networks have the same name. This is because network names
 56771  // are only unique within a datacenter.
 56772  type NetworksMayNotBeTheSame struct {
 56773  	MigrationFault
 56774  
 56775  	// The name of the network.
 56776  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 56777  }
 56778  
 56779  func init() {
 56780  	t["NetworksMayNotBeTheSame"] = reflect.TypeOf((*NetworksMayNotBeTheSame)(nil)).Elem()
 56781  }
 56782  
 56783  type NetworksMayNotBeTheSameFault NetworksMayNotBeTheSame
 56784  
 56785  func init() {
 56786  	t["NetworksMayNotBeTheSameFault"] = reflect.TypeOf((*NetworksMayNotBeTheSameFault)(nil)).Elem()
 56787  }
 56788  
 56789  // The number of network adapter settings in the customization specification
 56790  // does not match the number of network adapters present in the virtual machine.
 56791  type NicSettingMismatch struct {
 56792  	CustomizationFault
 56793  
 56794  	// The number of network adapter settings specified in the customization
 56795  	// specification.
 56796  	NumberOfNicsInSpec int32 `xml:"numberOfNicsInSpec" json:"numberOfNicsInSpec"`
 56797  	// The number of network adapters present in the virtual machine.
 56798  	NumberOfNicsInVM int32 `xml:"numberOfNicsInVM" json:"numberOfNicsInVM"`
 56799  }
 56800  
 56801  func init() {
 56802  	t["NicSettingMismatch"] = reflect.TypeOf((*NicSettingMismatch)(nil)).Elem()
 56803  }
 56804  
 56805  type NicSettingMismatchFault NicSettingMismatch
 56806  
 56807  func init() {
 56808  	t["NicSettingMismatchFault"] = reflect.TypeOf((*NicSettingMismatchFault)(nil)).Elem()
 56809  }
 56810  
 56811  // This event records a failed user logon due to insufficient access permission.
 56812  type NoAccessUserEvent struct {
 56813  	SessionEvent
 56814  
 56815  	// The IP address of the peer that initiated the connection.
 56816  	//
 56817  	// This may
 56818  	// be the client that originated the session, or it may be an intervening
 56819  	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
 56820  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 56821  }
 56822  
 56823  func init() {
 56824  	t["NoAccessUserEvent"] = reflect.TypeOf((*NoAccessUserEvent)(nil)).Elem()
 56825  }
 56826  
 56827  // A NoActiveHostInCluster fault is thrown when there is no host in a valid
 56828  // state in the given compute resource to perform a specified operation.
 56829  //
 56830  // This
 56831  // can happen, for example, if all the hosts are disconnected or in maintenance
 56832  // mode.
 56833  type NoActiveHostInCluster struct {
 56834  	InvalidState
 56835  
 56836  	// The compute resource that does not have any active hosts.
 56837  	//
 56838  	// Refers instance of `ComputeResource`.
 56839  	ComputeResource ManagedObjectReference `xml:"computeResource" json:"computeResource"`
 56840  }
 56841  
 56842  func init() {
 56843  	t["NoActiveHostInCluster"] = reflect.TypeOf((*NoActiveHostInCluster)(nil)).Elem()
 56844  }
 56845  
 56846  type NoActiveHostInClusterFault NoActiveHostInCluster
 56847  
 56848  func init() {
 56849  	t["NoActiveHostInClusterFault"] = reflect.TypeOf((*NoActiveHostInClusterFault)(nil)).Elem()
 56850  }
 56851  
 56852  // There are no more IP addresses available on the given network.
 56853  type NoAvailableIp struct {
 56854  	VAppPropertyFault
 56855  
 56856  	// A reference to the network
 56857  	//
 56858  	// Refers instance of `Network`.
 56859  	Network ManagedObjectReference `xml:"network" json:"network"`
 56860  }
 56861  
 56862  func init() {
 56863  	t["NoAvailableIp"] = reflect.TypeOf((*NoAvailableIp)(nil)).Elem()
 56864  }
 56865  
 56866  type NoAvailableIpFault NoAvailableIp
 56867  
 56868  func init() {
 56869  	t["NoAvailableIpFault"] = reflect.TypeOf((*NoAvailableIpFault)(nil)).Elem()
 56870  }
 56871  
 56872  // This exception is thrown when a client has connected without supplying a
 56873  // certificate but the associated call expects that the client has done so.
 56874  type NoClientCertificate struct {
 56875  	VimFault
 56876  }
 56877  
 56878  func init() {
 56879  	t["NoClientCertificate"] = reflect.TypeOf((*NoClientCertificate)(nil)).Elem()
 56880  }
 56881  
 56882  type NoClientCertificateFault NoClientCertificate
 56883  
 56884  func init() {
 56885  	t["NoClientCertificateFault"] = reflect.TypeOf((*NoClientCertificateFault)(nil)).Elem()
 56886  }
 56887  
 56888  // A NoCompatibleDatastore fault is thrown when Storage DRS cannot find a compatible
 56889  // datastore in a given storage pod to place a disk or a virtual machine.
 56890  //
 56891  // a virtual machine.
 56892  type NoCompatibleDatastore struct {
 56893  	VimFault
 56894  }
 56895  
 56896  func init() {
 56897  	t["NoCompatibleDatastore"] = reflect.TypeOf((*NoCompatibleDatastore)(nil)).Elem()
 56898  }
 56899  
 56900  type NoCompatibleDatastoreFault NoCompatibleDatastore
 56901  
 56902  func init() {
 56903  	t["NoCompatibleDatastoreFault"] = reflect.TypeOf((*NoCompatibleDatastoreFault)(nil)).Elem()
 56904  }
 56905  
 56906  // The cluster contains no hosts satisfying the hard VM/host affinity rules
 56907  // constraint for the VM.
 56908  type NoCompatibleHardAffinityHost struct {
 56909  	VmConfigFault
 56910  
 56911  	// The vm for which there are no compatible hard-affine hosts in the cluster.
 56912  	VmName string `xml:"vmName" json:"vmName"`
 56913  }
 56914  
 56915  func init() {
 56916  	t["NoCompatibleHardAffinityHost"] = reflect.TypeOf((*NoCompatibleHardAffinityHost)(nil)).Elem()
 56917  }
 56918  
 56919  type NoCompatibleHardAffinityHostFault NoCompatibleHardAffinityHost
 56920  
 56921  func init() {
 56922  	t["NoCompatibleHardAffinityHostFault"] = reflect.TypeOf((*NoCompatibleHardAffinityHostFault)(nil)).Elem()
 56923  }
 56924  
 56925  // A NoCompatibleHost fault is thrown when DRS cannot find a compatible
 56926  // host in a given compute resource to run a virtual machine on.
 56927  type NoCompatibleHost struct {
 56928  	VimFault
 56929  
 56930  	// The list of hosts that are not compatible, each element has a
 56931  	// corresponding fault in the error array.
 56932  	//
 56933  	// Refers instances of `HostSystem`.
 56934  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 56935  	// An error in this array indicates why the corresponding host in the
 56936  	// host array is incompatible.
 56937  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 56938  }
 56939  
 56940  func init() {
 56941  	t["NoCompatibleHost"] = reflect.TypeOf((*NoCompatibleHost)(nil)).Elem()
 56942  }
 56943  
 56944  type NoCompatibleHostFault BaseNoCompatibleHost
 56945  
 56946  func init() {
 56947  	t["NoCompatibleHostFault"] = reflect.TypeOf((*NoCompatibleHostFault)(nil)).Elem()
 56948  }
 56949  
 56950  // This fault is used to report that a FT VM cannot be placed because there is
 56951  // no compatible host that can access all devices required to be connected when
 56952  // the VM powers on.
 56953  type NoCompatibleHostWithAccessToDevice struct {
 56954  	NoCompatibleHost
 56955  }
 56956  
 56957  func init() {
 56958  	t["NoCompatibleHostWithAccessToDevice"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDevice)(nil)).Elem()
 56959  }
 56960  
 56961  type NoCompatibleHostWithAccessToDeviceFault NoCompatibleHostWithAccessToDevice
 56962  
 56963  func init() {
 56964  	t["NoCompatibleHostWithAccessToDeviceFault"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDeviceFault)(nil)).Elem()
 56965  }
 56966  
 56967  // The cluster contains no hosts satisfying the soft VM/host affinity rules
 56968  // constraint for the VM.
 56969  type NoCompatibleSoftAffinityHost struct {
 56970  	VmConfigFault
 56971  
 56972  	// The vm for which there are no compatible soft-affine hosts in the cluster.
 56973  	VmName string `xml:"vmName" json:"vmName"`
 56974  }
 56975  
 56976  func init() {
 56977  	t["NoCompatibleSoftAffinityHost"] = reflect.TypeOf((*NoCompatibleSoftAffinityHost)(nil)).Elem()
 56978  }
 56979  
 56980  type NoCompatibleSoftAffinityHostFault NoCompatibleSoftAffinityHost
 56981  
 56982  func init() {
 56983  	t["NoCompatibleSoftAffinityHostFault"] = reflect.TypeOf((*NoCompatibleSoftAffinityHostFault)(nil)).Elem()
 56984  }
 56985  
 56986  // The fault occurs when Storage DRS cannot move a virtual machine because
 56987  // the host it is registered on is not connected to any other datastore
 56988  // in the storage pod.
 56989  type NoConnectedDatastore struct {
 56990  	VimFault
 56991  }
 56992  
 56993  func init() {
 56994  	t["NoConnectedDatastore"] = reflect.TypeOf((*NoConnectedDatastore)(nil)).Elem()
 56995  }
 56996  
 56997  type NoConnectedDatastoreFault NoConnectedDatastore
 56998  
 56999  func init() {
 57000  	t["NoConnectedDatastoreFault"] = reflect.TypeOf((*NoConnectedDatastoreFault)(nil)).Elem()
 57001  }
 57002  
 57003  // No datastores have been configured on the host.
 57004  type NoDatastoresConfiguredEvent struct {
 57005  	HostEvent
 57006  }
 57007  
 57008  func init() {
 57009  	t["NoDatastoresConfiguredEvent"] = reflect.TypeOf((*NoDatastoresConfiguredEvent)(nil)).Elem()
 57010  }
 57011  
 57012  // This exception is thrown when a virtual machine
 57013  // which has no virtual disks is being upgraded or relaid out
 57014  // using the VirtualMachine.upgradeVirtualHardware or upgradeVmLayout
 57015  // commands.
 57016  type NoDiskFound struct {
 57017  	VimFault
 57018  }
 57019  
 57020  func init() {
 57021  	t["NoDiskFound"] = reflect.TypeOf((*NoDiskFound)(nil)).Elem()
 57022  }
 57023  
 57024  type NoDiskFoundFault NoDiskFound
 57025  
 57026  func init() {
 57027  	t["NoDiskFoundFault"] = reflect.TypeOf((*NoDiskFoundFault)(nil)).Elem()
 57028  }
 57029  
 57030  // This fault is thrown when an operation fails because of insufficient
 57031  // disk space.
 57032  type NoDiskSpace struct {
 57033  	FileFault
 57034  
 57035  	// The name of the datastore with insufficient disk space.
 57036  	Datastore string `xml:"datastore" json:"datastore"`
 57037  }
 57038  
 57039  func init() {
 57040  	t["NoDiskSpace"] = reflect.TypeOf((*NoDiskSpace)(nil)).Elem()
 57041  }
 57042  
 57043  type NoDiskSpaceFault NoDiskSpace
 57044  
 57045  func init() {
 57046  	t["NoDiskSpaceFault"] = reflect.TypeOf((*NoDiskSpaceFault)(nil)).Elem()
 57047  }
 57048  
 57049  // None of the disks attached to the VM are suitable for customization.
 57050  type NoDisksToCustomize struct {
 57051  	CustomizationFault
 57052  }
 57053  
 57054  func init() {
 57055  	t["NoDisksToCustomize"] = reflect.TypeOf((*NoDisksToCustomize)(nil)).Elem()
 57056  }
 57057  
 57058  type NoDisksToCustomizeFault NoDisksToCustomize
 57059  
 57060  func init() {
 57061  	t["NoDisksToCustomizeFault"] = reflect.TypeOf((*NoDisksToCustomizeFault)(nil)).Elem()
 57062  }
 57063  
 57064  // This error occurs when an operation fails because of vmkernel gateway
 57065  // is unset.
 57066  type NoGateway struct {
 57067  	HostConfigFault
 57068  }
 57069  
 57070  func init() {
 57071  	t["NoGateway"] = reflect.TypeOf((*NoGateway)(nil)).Elem()
 57072  }
 57073  
 57074  type NoGatewayFault NoGateway
 57075  
 57076  func init() {
 57077  	t["NoGatewayFault"] = reflect.TypeOf((*NoGatewayFault)(nil)).Elem()
 57078  }
 57079  
 57080  // A powered-on virtual machine has a guest OS with Tools installed, but it does not
 57081  // have a valid heartbeat.
 57082  type NoGuestHeartbeat struct {
 57083  	MigrationFault
 57084  }
 57085  
 57086  func init() {
 57087  	t["NoGuestHeartbeat"] = reflect.TypeOf((*NoGuestHeartbeat)(nil)).Elem()
 57088  }
 57089  
 57090  type NoGuestHeartbeatFault NoGuestHeartbeat
 57091  
 57092  func init() {
 57093  	t["NoGuestHeartbeatFault"] = reflect.TypeOf((*NoGuestHeartbeatFault)(nil)).Elem()
 57094  }
 57095  
 57096  // A NoHostFault fault occurs when a host
 57097  // cannot be reached.
 57098  type NoHost struct {
 57099  	HostConnectFault
 57100  
 57101  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 57102  }
 57103  
 57104  func init() {
 57105  	t["NoHost"] = reflect.TypeOf((*NoHost)(nil)).Elem()
 57106  }
 57107  
 57108  type NoHostFault NoHost
 57109  
 57110  func init() {
 57111  	t["NoHostFault"] = reflect.TypeOf((*NoHostFault)(nil)).Elem()
 57112  }
 57113  
 57114  // The NoHostSuitableForFtSecondary fault is thrown when the system is unable to
 57115  // find a suitable host for the Fault Tolerance secondary virtual machine.
 57116  //
 57117  // This fault can be thrown when Virtual Center is trying to place or power on
 57118  // a Fault Tolerance Secondary, in both DRS or non-DRS cases.
 57119  type NoHostSuitableForFtSecondary struct {
 57120  	VmFaultToleranceIssue
 57121  
 57122  	// The primary virtual machine corresponding to the secondary virtual
 57123  	// machine.
 57124  	//
 57125  	// Refers instance of `VirtualMachine`.
 57126  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 57127  	// The name of the primary virtual machine corresponding to the secondary
 57128  	// virtual machine.
 57129  	VmName string `xml:"vmName" json:"vmName"`
 57130  }
 57131  
 57132  func init() {
 57133  	t["NoHostSuitableForFtSecondary"] = reflect.TypeOf((*NoHostSuitableForFtSecondary)(nil)).Elem()
 57134  }
 57135  
 57136  type NoHostSuitableForFtSecondaryFault NoHostSuitableForFtSecondary
 57137  
 57138  func init() {
 57139  	t["NoHostSuitableForFtSecondaryFault"] = reflect.TypeOf((*NoHostSuitableForFtSecondaryFault)(nil)).Elem()
 57140  }
 57141  
 57142  // These are events reported by License Manager.
 57143  //
 57144  // A NoLicenseEvent is reported if the required licenses could not be
 57145  // reserved. Each feature that is not fully licensed is reported.
 57146  type NoLicenseEvent struct {
 57147  	LicenseEvent
 57148  
 57149  	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
 57150  }
 57151  
 57152  func init() {
 57153  	t["NoLicenseEvent"] = reflect.TypeOf((*NoLicenseEvent)(nil)).Elem()
 57154  }
 57155  
 57156  // The NoLicenseServerConfigured fault is thrown when there is no
 57157  // valid license server configured for the system and the system
 57158  // is not in evaluation mode.
 57159  //
 57160  // Any operation occurs that requires
 57161  // evaluation license or a valid license will throw the
 57162  // NoLicenseServerConfigured. This can happen with the new licensing
 57163  // scheme that is a hybrid of flex-based licensing and serial number
 57164  // based licensing. There can be cases where VirtualCenter is licensed
 57165  // by a serial number and there is no need for a flex license server.
 57166  // These cases are valid as long as no operation that requires flex-
 57167  // based license server is invoked, for example, adding a pre-4.0
 57168  // host that requires flex licenses. If however, such an operation is
 57169  // invoked, the NoLicenseServerConfigured fault is thrown.
 57170  type NoLicenseServerConfigured struct {
 57171  	NotEnoughLicenses
 57172  }
 57173  
 57174  func init() {
 57175  	t["NoLicenseServerConfigured"] = reflect.TypeOf((*NoLicenseServerConfigured)(nil)).Elem()
 57176  }
 57177  
 57178  type NoLicenseServerConfiguredFault NoLicenseServerConfigured
 57179  
 57180  func init() {
 57181  	t["NoLicenseServerConfiguredFault"] = reflect.TypeOf((*NoLicenseServerConfiguredFault)(nil)).Elem()
 57182  }
 57183  
 57184  // This event records that DRS did not recommend a migration for a
 57185  // powered on virtual machine, even though its host is going
 57186  // into maintenance mode.
 57187  //
 57188  // DRS may not be able to recommend a migration for a virtual machine
 57189  // for reasons, include but not limited to:
 57190  //   - No other connected host is compatible with this virtual machine.
 57191  //   - None of the other compatible hosts have sufficient resources
 57192  //     to satisfy the reservation requirements of this virtual machine.
 57193  //   - Moving to any other host would violate a DRS rule. For example, all
 57194  //     other compatible hosts have some incompatible virtual machines
 57195  //     running.
 57196  //   - DRS is disabled on this virtual machine.
 57197  //   - This virtual machine was still in the process of migrating
 57198  //     into the host going into maintenance mode and was not
 57199  //     considered by DRS.
 57200  //   - This virtual machine was in the process of migrating to another
 57201  //     host when the host tried to enter maintenance mode.
 57202  type NoMaintenanceModeDrsRecommendationForVM struct {
 57203  	VmEvent
 57204  }
 57205  
 57206  func init() {
 57207  	t["NoMaintenanceModeDrsRecommendationForVM"] = reflect.TypeOf((*NoMaintenanceModeDrsRecommendationForVM)(nil)).Elem()
 57208  }
 57209  
 57210  // This fault is thrown when no peer host is found to wake up this host.
 57211  type NoPeerHostFound struct {
 57212  	HostPowerOpFailed
 57213  }
 57214  
 57215  func init() {
 57216  	t["NoPeerHostFound"] = reflect.TypeOf((*NoPeerHostFound)(nil)).Elem()
 57217  }
 57218  
 57219  type NoPeerHostFoundFault NoPeerHostFound
 57220  
 57221  func init() {
 57222  	t["NoPeerHostFoundFault"] = reflect.TypeOf((*NoPeerHostFoundFault)(nil)).Elem()
 57223  }
 57224  
 57225  // Thrown when an operation is denied because of privileges
 57226  // not held on managed object(s).
 57227  type NoPermission struct {
 57228  	SecurityError
 57229  
 57230  	// Deprecated as of vSphere 8.0, use the `NoPermission.missingPrivileges` field.
 57231  	//
 57232  	// The managed object on which a permission is required.
 57233  	Object *ManagedObjectReference `xml:"object,omitempty" json:"object,omitempty"`
 57234  	// Deprecated as of vSphere 8.0, use the `NoPermission.missingPrivileges` field.
 57235  	//
 57236  	// The privilege identifier required
 57237  	PrivilegeId string `xml:"privilegeId,omitempty" json:"privilegeId,omitempty"`
 57238  	// List of entities and missing privileges for each entity
 57239  	MissingPrivileges []NoPermissionEntityPrivileges `xml:"missingPrivileges,omitempty" json:"missingPrivileges,omitempty" vim:"7.0.3.2"`
 57240  }
 57241  
 57242  func init() {
 57243  	t["NoPermission"] = reflect.TypeOf((*NoPermission)(nil)).Elem()
 57244  }
 57245  
 57246  // Entity and privileges for the entity
 57247  type NoPermissionEntityPrivileges struct {
 57248  	DynamicData
 57249  
 57250  	Entity       ManagedObjectReference `xml:"entity" json:"entity"`
 57251  	PrivilegeIds []string               `xml:"privilegeIds,omitempty" json:"privilegeIds,omitempty"`
 57252  }
 57253  
 57254  func init() {
 57255  	t["NoPermissionEntityPrivileges"] = reflect.TypeOf((*NoPermissionEntityPrivileges)(nil)).Elem()
 57256  	minAPIVersionForType["NoPermissionEntityPrivileges"] = "7.0.3.2"
 57257  }
 57258  
 57259  type NoPermissionFault BaseNoPermission
 57260  
 57261  func init() {
 57262  	t["NoPermissionFault"] = reflect.TypeOf((*NoPermissionFault)(nil)).Elem()
 57263  }
 57264  
 57265  // Fault indicating that the user account used to connect to the
 57266  // Active Directory doesn not have enough permissions for the action
 57267  // that was attempted.
 57268  type NoPermissionOnAD struct {
 57269  	ActiveDirectoryFault
 57270  }
 57271  
 57272  func init() {
 57273  	t["NoPermissionOnAD"] = reflect.TypeOf((*NoPermissionOnAD)(nil)).Elem()
 57274  }
 57275  
 57276  type NoPermissionOnADFault NoPermissionOnAD
 57277  
 57278  func init() {
 57279  	t["NoPermissionOnADFault"] = reflect.TypeOf((*NoPermissionOnADFault)(nil)).Elem()
 57280  }
 57281  
 57282  // This indicates that the user account used to connect to the host does
 57283  // not have enough permissions to enable VirtualCenter to manage the host.
 57284  type NoPermissionOnHost struct {
 57285  	HostConnectFault
 57286  }
 57287  
 57288  func init() {
 57289  	t["NoPermissionOnHost"] = reflect.TypeOf((*NoPermissionOnHost)(nil)).Elem()
 57290  }
 57291  
 57292  type NoPermissionOnHostFault NoPermissionOnHost
 57293  
 57294  func init() {
 57295  	t["NoPermissionOnHostFault"] = reflect.TypeOf((*NoPermissionOnHostFault)(nil)).Elem()
 57296  }
 57297  
 57298  // This fault is thrown when an operation to configure a NAS volume fails
 57299  // because of insufficient user permissions.
 57300  //
 57301  // For CIFS volumes, this implies that the user specified in the
 57302  // `spec` does not have access to the
 57303  // network resource.
 57304  type NoPermissionOnNasVolume struct {
 57305  	NasConfigFault
 57306  
 57307  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 57308  }
 57309  
 57310  func init() {
 57311  	t["NoPermissionOnNasVolume"] = reflect.TypeOf((*NoPermissionOnNasVolume)(nil)).Elem()
 57312  }
 57313  
 57314  type NoPermissionOnNasVolumeFault NoPermissionOnNasVolume
 57315  
 57316  func init() {
 57317  	t["NoPermissionOnNasVolumeFault"] = reflect.TypeOf((*NoPermissionOnNasVolumeFault)(nil)).Elem()
 57318  }
 57319  
 57320  // This exception is thrown when an extension has attempted to use certificate-based
 57321  // authentication but the extension has been registered without a subject name.
 57322  type NoSubjectName struct {
 57323  	VimFault
 57324  }
 57325  
 57326  func init() {
 57327  	t["NoSubjectName"] = reflect.TypeOf((*NoSubjectName)(nil)).Elem()
 57328  }
 57329  
 57330  type NoSubjectNameFault NoSubjectName
 57331  
 57332  func init() {
 57333  	t["NoSubjectNameFault"] = reflect.TypeOf((*NoSubjectNameFault)(nil)).Elem()
 57334  }
 57335  
 57336  // The IP address of the VC server has not be configured, and a vApp
 57337  // property is requesting to use it.
 57338  type NoVcManagedIpConfigured struct {
 57339  	VAppPropertyFault
 57340  }
 57341  
 57342  func init() {
 57343  	t["NoVcManagedIpConfigured"] = reflect.TypeOf((*NoVcManagedIpConfigured)(nil)).Elem()
 57344  }
 57345  
 57346  type NoVcManagedIpConfiguredFault NoVcManagedIpConfigured
 57347  
 57348  func init() {
 57349  	t["NoVcManagedIpConfiguredFault"] = reflect.TypeOf((*NoVcManagedIpConfiguredFault)(nil)).Elem()
 57350  }
 57351  
 57352  // This error occurs when an operation fails because of
 57353  // no virtual NIC available.
 57354  type NoVirtualNic struct {
 57355  	HostConfigFault
 57356  }
 57357  
 57358  func init() {
 57359  	t["NoVirtualNic"] = reflect.TypeOf((*NoVirtualNic)(nil)).Elem()
 57360  }
 57361  
 57362  type NoVirtualNicFault NoVirtualNic
 57363  
 57364  func init() {
 57365  	t["NoVirtualNicFault"] = reflect.TypeOf((*NoVirtualNicFault)(nil)).Elem()
 57366  }
 57367  
 57368  // Attempting to power-on or power-off a vApp that contains no
 57369  // virtual machines.
 57370  type NoVmInVApp struct {
 57371  	VAppConfigFault
 57372  }
 57373  
 57374  func init() {
 57375  	t["NoVmInVApp"] = reflect.TypeOf((*NoVmInVApp)(nil)).Elem()
 57376  }
 57377  
 57378  type NoVmInVAppFault NoVmInVApp
 57379  
 57380  func init() {
 57381  	t["NoVmInVAppFault"] = reflect.TypeOf((*NoVmInVAppFault)(nil)).Elem()
 57382  }
 57383  
 57384  // The NodeDeploymentSpec class defines location
 57385  // specification of the nodes the VCHA Cluster along with Management
 57386  // vCenter Server information that manages node VM.
 57387  type NodeDeploymentSpec struct {
 57388  	DynamicData
 57389  
 57390  	// ESX host on which the VM is to be deployed.
 57391  	//
 57392  	// For behavior when an esxHost is not specified,
 57393  	//
 57394  	// See also `VirtualMachineRelocateSpec.host`.
 57395  	//
 57396  	// Refers instance of `HostSystem`.
 57397  	EsxHost *ManagedObjectReference `xml:"esxHost,omitempty" json:"esxHost,omitempty"`
 57398  	// Datastore used for deploying the VM.
 57399  	//
 57400  	// For behavior when a datastore is not specified,
 57401  	//
 57402  	// See also `VirtualMachineRelocateSpec.datastore`.
 57403  	//
 57404  	// Refers instance of `Datastore`.
 57405  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 57406  	// Name of the portgroup that is associated with the public IP address
 57407  	// where clients connect to vCenter Server.
 57408  	//
 57409  	// If a portgroup is not
 57410  	// specified same portgroup present on source is used to deploy the VM
 57411  	// with an assumption that portgroup is present on destination.
 57412  	//
 57413  	// Refers instance of `Network`.
 57414  	PublicNetworkPortGroup *ManagedObjectReference `xml:"publicNetworkPortGroup,omitempty" json:"publicNetworkPortGroup,omitempty"`
 57415  	// Name of the portgroup that is associated with the VCHA Cluster IP
 57416  	// address where clients connect to vCenter Server.
 57417  	//
 57418  	// If a portgroup is not
 57419  	// specified same portgroup present on source is used to deploy the VM
 57420  	// with an assumption that portgroup is present on destination.
 57421  	//
 57422  	// Refers instance of `Network`.
 57423  	ClusterNetworkPortGroup *ManagedObjectReference `xml:"clusterNetworkPortGroup,omitempty" json:"clusterNetworkPortGroup,omitempty"`
 57424  	// Folder in which the VM is to be created.
 57425  	//
 57426  	// Refers instance of `Folder`.
 57427  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
 57428  	// ResourcePool that will be used to deploy this node.
 57429  	//
 57430  	// If the ResourcePool is not specified, the root resource pool for the
 57431  	// host will be used.
 57432  	//
 57433  	// Refers instance of `ResourcePool`.
 57434  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 57435  	// Management vCenter Server managing this VM.
 57436  	//
 57437  	// If the managementVc is not specified, managementVc specified as
 57438  	// part of SourceNodeSpec is used.
 57439  	ManagementVc *ServiceLocator `xml:"managementVc,omitempty" json:"managementVc,omitempty"`
 57440  	// nodeName here refers to a name that will be assigned to the VM to which
 57441  	// this node will be deployed to.
 57442  	NodeName string `xml:"nodeName" json:"nodeName"`
 57443  	// VCHA Cluster network configuration of the node.
 57444  	//
 57445  	// All cluster communication (state replication, heartbeat,
 57446  	// cluster messages) happens over this network.
 57447  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 57448  }
 57449  
 57450  func init() {
 57451  	t["NodeDeploymentSpec"] = reflect.TypeOf((*NodeDeploymentSpec)(nil)).Elem()
 57452  }
 57453  
 57454  // The NodeNetworkSpec class defines network specification of a node
 57455  // in the VCHA Cluster.
 57456  type NodeNetworkSpec struct {
 57457  	DynamicData
 57458  
 57459  	// VCHA Cluster network configuration of the node.
 57460  	//
 57461  	// All cluster communication (state replication, heartbeat,
 57462  	// cluster messages) happens over this network.
 57463  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 57464  }
 57465  
 57466  func init() {
 57467  	t["NodeNetworkSpec"] = reflect.TypeOf((*NodeNetworkSpec)(nil)).Elem()
 57468  }
 57469  
 57470  // Fault indicating that an operation must be executed by a
 57471  // non Active Directory user.
 57472  type NonADUserRequired struct {
 57473  	ActiveDirectoryFault
 57474  }
 57475  
 57476  func init() {
 57477  	t["NonADUserRequired"] = reflect.TypeOf((*NonADUserRequired)(nil)).Elem()
 57478  }
 57479  
 57480  type NonADUserRequiredFault NonADUserRequired
 57481  
 57482  func init() {
 57483  	t["NonADUserRequiredFault"] = reflect.TypeOf((*NonADUserRequiredFault)(nil)).Elem()
 57484  }
 57485  
 57486  // An operation on a powered-on virtual machine requests that an existing
 57487  // Raw Disk Mapping end up in a location other than the new home datastore
 57488  // for the virtual machine, but the host does not have that capability.
 57489  type NonHomeRDMVMotionNotSupported struct {
 57490  	MigrationFeatureNotSupported
 57491  
 57492  	// The label of an RDM device for which an unsupported move was requested.
 57493  	//
 57494  	// This is not guaranteed to be the only such device.
 57495  	Device string `xml:"device" json:"device"`
 57496  }
 57497  
 57498  func init() {
 57499  	t["NonHomeRDMVMotionNotSupported"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupported)(nil)).Elem()
 57500  }
 57501  
 57502  type NonHomeRDMVMotionNotSupportedFault NonHomeRDMVMotionNotSupported
 57503  
 57504  func init() {
 57505  	t["NonHomeRDMVMotionNotSupportedFault"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupportedFault)(nil)).Elem()
 57506  }
 57507  
 57508  // The virtual machine has nonpersistent virtual disk.
 57509  //
 57510  // This is an error for
 57511  // any powered-on migration which involves moving virtual disks.
 57512  type NonPersistentDisksNotSupported struct {
 57513  	DeviceNotSupported
 57514  }
 57515  
 57516  func init() {
 57517  	t["NonPersistentDisksNotSupported"] = reflect.TypeOf((*NonPersistentDisksNotSupported)(nil)).Elem()
 57518  }
 57519  
 57520  type NonPersistentDisksNotSupportedFault NonPersistentDisksNotSupported
 57521  
 57522  func init() {
 57523  	t["NonPersistentDisksNotSupportedFault"] = reflect.TypeOf((*NonPersistentDisksNotSupportedFault)(nil)).Elem()
 57524  }
 57525  
 57526  // This event records that non-VI workload is detected on the datastore.
 57527  type NonVIWorkloadDetectedOnDatastoreEvent struct {
 57528  	DatastoreEvent
 57529  }
 57530  
 57531  func init() {
 57532  	t["NonVIWorkloadDetectedOnDatastoreEvent"] = reflect.TypeOf((*NonVIWorkloadDetectedOnDatastoreEvent)(nil)).Elem()
 57533  }
 57534  
 57535  // The host does not support VM that has VPX assigned prefix or ranged based
 57536  // MAC address (i.e.
 57537  //
 57538  // MAC is not prefixed with 00:50:56:\[80-BF\])
 57539  type NonVmwareOuiMacNotSupportedHost struct {
 57540  	NotSupportedHost
 57541  
 57542  	// The name of the host.
 57543  	HostName string `xml:"hostName" json:"hostName"`
 57544  }
 57545  
 57546  func init() {
 57547  	t["NonVmwareOuiMacNotSupportedHost"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHost)(nil)).Elem()
 57548  }
 57549  
 57550  type NonVmwareOuiMacNotSupportedHostFault NonVmwareOuiMacNotSupportedHost
 57551  
 57552  func init() {
 57553  	t["NonVmwareOuiMacNotSupportedHostFault"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHostFault)(nil)).Elem()
 57554  }
 57555  
 57556  // This fault is thrown when an operation fails because the specified object
 57557  // is not a directory.
 57558  type NotADirectory struct {
 57559  	FileFault
 57560  }
 57561  
 57562  func init() {
 57563  	t["NotADirectory"] = reflect.TypeOf((*NotADirectory)(nil)).Elem()
 57564  }
 57565  
 57566  type NotADirectoryFault NotADirectory
 57567  
 57568  func init() {
 57569  	t["NotADirectoryFault"] = reflect.TypeOf((*NotADirectoryFault)(nil)).Elem()
 57570  }
 57571  
 57572  // This fault is thrown when an operation fails because the specified object
 57573  // is not a file.
 57574  type NotAFile struct {
 57575  	FileFault
 57576  }
 57577  
 57578  func init() {
 57579  	t["NotAFile"] = reflect.TypeOf((*NotAFile)(nil)).Elem()
 57580  }
 57581  
 57582  type NotAFileFault NotAFile
 57583  
 57584  func init() {
 57585  	t["NotAFileFault"] = reflect.TypeOf((*NotAFileFault)(nil)).Elem()
 57586  }
 57587  
 57588  // Thrown when an operation is denied because the session
 57589  // has not yet successfully logged in.
 57590  type NotAuthenticated struct {
 57591  	NoPermission
 57592  }
 57593  
 57594  func init() {
 57595  	t["NotAuthenticated"] = reflect.TypeOf((*NotAuthenticated)(nil)).Elem()
 57596  }
 57597  
 57598  type NotAuthenticatedFault NotAuthenticated
 57599  
 57600  func init() {
 57601  	t["NotAuthenticatedFault"] = reflect.TypeOf((*NotAuthenticatedFault)(nil)).Elem()
 57602  }
 57603  
 57604  // The host hardware does not have enough CPU cores to support the number of
 57605  // virtual CPUs in the virtual machine.
 57606  //
 57607  // If the host is using hyperthreading, NotEnoughLogicalCpus is
 57608  // employed instead of NotEnoughCpus.
 57609  type NotEnoughCpus struct {
 57610  	VirtualHardwareCompatibilityIssue
 57611  
 57612  	// The number of CPUs present on the host.
 57613  	NumCpuDest int32 `xml:"numCpuDest" json:"numCpuDest"`
 57614  	// The number of virtual CPUs present in the virtual machine.
 57615  	NumCpuVm int32 `xml:"numCpuVm" json:"numCpuVm"`
 57616  }
 57617  
 57618  func init() {
 57619  	t["NotEnoughCpus"] = reflect.TypeOf((*NotEnoughCpus)(nil)).Elem()
 57620  }
 57621  
 57622  type NotEnoughCpusFault BaseNotEnoughCpus
 57623  
 57624  func init() {
 57625  	t["NotEnoughCpusFault"] = reflect.TypeOf((*NotEnoughCpusFault)(nil)).Elem()
 57626  }
 57627  
 57628  // A NotEnoughLicensesFault occurs when an operation
 57629  // fails because there are not enough licenses installed.
 57630  type NotEnoughLicenses struct {
 57631  	RuntimeFault
 57632  }
 57633  
 57634  func init() {
 57635  	t["NotEnoughLicenses"] = reflect.TypeOf((*NotEnoughLicenses)(nil)).Elem()
 57636  }
 57637  
 57638  type NotEnoughLicensesFault BaseNotEnoughLicenses
 57639  
 57640  func init() {
 57641  	t["NotEnoughLicensesFault"] = reflect.TypeOf((*NotEnoughLicensesFault)(nil)).Elem()
 57642  }
 57643  
 57644  // The host hardware does not have enough logical CPUs (hyperthreads) to
 57645  // support the number of virtual CPUs in the virtual machine.
 57646  type NotEnoughLogicalCpus struct {
 57647  	NotEnoughCpus
 57648  
 57649  	// The host that does not have enough logical CPUs.
 57650  	//
 57651  	// Refers instance of `HostSystem`.
 57652  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 57653  }
 57654  
 57655  func init() {
 57656  	t["NotEnoughLogicalCpus"] = reflect.TypeOf((*NotEnoughLogicalCpus)(nil)).Elem()
 57657  }
 57658  
 57659  type NotEnoughLogicalCpusFault NotEnoughLogicalCpus
 57660  
 57661  func init() {
 57662  	t["NotEnoughLogicalCpusFault"] = reflect.TypeOf((*NotEnoughLogicalCpusFault)(nil)).Elem()
 57663  }
 57664  
 57665  // This event records when the HA does not find sufficient resources to failover a
 57666  // virtual machine.
 57667  type NotEnoughResourcesToStartVmEvent struct {
 57668  	VmEvent
 57669  
 57670  	// The reason why the virtual machine could not be restarted
 57671  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 57672  }
 57673  
 57674  func init() {
 57675  	t["NotEnoughResourcesToStartVmEvent"] = reflect.TypeOf((*NotEnoughResourcesToStartVmEvent)(nil)).Elem()
 57676  }
 57677  
 57678  // A NotFound error occurs when a referenced component of a managed
 57679  // object cannot be found.
 57680  //
 57681  // The referenced component can be a data
 57682  // object type (such as a role or permission) or a primitive
 57683  // (such as a string).
 57684  //
 57685  // For example, if the missing referenced component is a data object, such as
 57686  // VirtualSwitch, the NotFound error is
 57687  // thrown. The NotFound error is also thrown if the data object is found, but the referenced name
 57688  // (for example, "vswitch0") is not.
 57689  type NotFound struct {
 57690  	VimFault
 57691  }
 57692  
 57693  func init() {
 57694  	t["NotFound"] = reflect.TypeOf((*NotFound)(nil)).Elem()
 57695  }
 57696  
 57697  type NotFoundFault NotFound
 57698  
 57699  func init() {
 57700  	t["NotFoundFault"] = reflect.TypeOf((*NotFoundFault)(nil)).Elem()
 57701  }
 57702  
 57703  // NotImplemented exception is thrown if the method is not
 57704  // yet implemented.
 57705  type NotImplemented struct {
 57706  	RuntimeFault
 57707  }
 57708  
 57709  func init() {
 57710  	t["NotImplemented"] = reflect.TypeOf((*NotImplemented)(nil)).Elem()
 57711  }
 57712  
 57713  type NotImplementedFault NotImplemented
 57714  
 57715  func init() {
 57716  	t["NotImplementedFault"] = reflect.TypeOf((*NotImplementedFault)(nil)).Elem()
 57717  }
 57718  
 57719  // Thrown if the method is not supported on the
 57720  // server.
 57721  //
 57722  // Not all methods are supported on all servers
 57723  // (for example, an ESX Server host supports less functionality than
 57724  // a VirtualCenter server). A feature might also be disabled
 57725  // due to missing liceneses.
 57726  type NotSupported struct {
 57727  	RuntimeFault
 57728  }
 57729  
 57730  func init() {
 57731  	t["NotSupported"] = reflect.TypeOf((*NotSupported)(nil)).Elem()
 57732  }
 57733  
 57734  // Deprecated as of vSphere API 7.0. Not used since vSphere API 6.5.
 57735  //
 57736  // VMs with pvscsi or vmxnet3 virtual devices support Fault Tolerance only
 57737  // on 4.1 or later hosts.
 57738  type NotSupportedDeviceForFT struct {
 57739  	VmFaultToleranceIssue
 57740  
 57741  	// The host
 57742  	//
 57743  	// Refers instance of `HostSystem`.
 57744  	Host ManagedObjectReference `xml:"host" json:"host"`
 57745  	// The host name
 57746  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 57747  	// The virtual machine
 57748  	//
 57749  	// Refers instance of `VirtualMachine`.
 57750  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 57751  	// The virtual machine name
 57752  	VmName string `xml:"vmName,omitempty" json:"vmName,omitempty"`
 57753  	// The device type
 57754  	DeviceType string `xml:"deviceType" json:"deviceType"`
 57755  	// The device label
 57756  	DeviceLabel string `xml:"deviceLabel,omitempty" json:"deviceLabel,omitempty"`
 57757  }
 57758  
 57759  func init() {
 57760  	t["NotSupportedDeviceForFT"] = reflect.TypeOf((*NotSupportedDeviceForFT)(nil)).Elem()
 57761  }
 57762  
 57763  type NotSupportedDeviceForFTFault NotSupportedDeviceForFT
 57764  
 57765  func init() {
 57766  	t["NotSupportedDeviceForFTFault"] = reflect.TypeOf((*NotSupportedDeviceForFTFault)(nil)).Elem()
 57767  }
 57768  
 57769  type NotSupportedFault BaseNotSupported
 57770  
 57771  func init() {
 57772  	t["NotSupportedFault"] = reflect.TypeOf((*NotSupportedFault)(nil)).Elem()
 57773  }
 57774  
 57775  // A NotSupportedHostFault occurs when the host is of a type
 57776  // that is not supported.
 57777  type NotSupportedHost struct {
 57778  	HostConnectFault
 57779  
 57780  	// The name of the unsupported product if available;
 57781  	// for example, "VMware ESX Server".
 57782  	ProductName string `xml:"productName,omitempty" json:"productName,omitempty"`
 57783  	// The version of the unsupported product; for example, "1.5.2"
 57784  	ProductVersion string `xml:"productVersion,omitempty" json:"productVersion,omitempty"`
 57785  }
 57786  
 57787  func init() {
 57788  	t["NotSupportedHost"] = reflect.TypeOf((*NotSupportedHost)(nil)).Elem()
 57789  }
 57790  
 57791  type NotSupportedHostFault BaseNotSupportedHost
 57792  
 57793  func init() {
 57794  	t["NotSupportedHostFault"] = reflect.TypeOf((*NotSupportedHostFault)(nil)).Elem()
 57795  }
 57796  
 57797  // Base class for host checksum related faults
 57798  type NotSupportedHostForChecksum struct {
 57799  	VimFault
 57800  }
 57801  
 57802  func init() {
 57803  	t["NotSupportedHostForChecksum"] = reflect.TypeOf((*NotSupportedHostForChecksum)(nil)).Elem()
 57804  }
 57805  
 57806  type NotSupportedHostForChecksumFault NotSupportedHostForChecksum
 57807  
 57808  func init() {
 57809  	t["NotSupportedHostForChecksumFault"] = reflect.TypeOf((*NotSupportedHostForChecksumFault)(nil)).Elem()
 57810  }
 57811  
 57812  // The host does not support vFlash feature.
 57813  type NotSupportedHostForVFlash struct {
 57814  	NotSupportedHost
 57815  
 57816  	// The name of the host.
 57817  	HostName string `xml:"hostName" json:"hostName"`
 57818  }
 57819  
 57820  func init() {
 57821  	t["NotSupportedHostForVFlash"] = reflect.TypeOf((*NotSupportedHostForVFlash)(nil)).Elem()
 57822  }
 57823  
 57824  type NotSupportedHostForVFlashFault NotSupportedHostForVFlash
 57825  
 57826  func init() {
 57827  	t["NotSupportedHostForVFlashFault"] = reflect.TypeOf((*NotSupportedHostForVFlashFault)(nil)).Elem()
 57828  }
 57829  
 57830  // The host does not support VM Component Protection.
 57831  type NotSupportedHostForVmcp struct {
 57832  	NotSupportedHost
 57833  
 57834  	// The name of the host.
 57835  	HostName string `xml:"hostName" json:"hostName"`
 57836  }
 57837  
 57838  func init() {
 57839  	t["NotSupportedHostForVmcp"] = reflect.TypeOf((*NotSupportedHostForVmcp)(nil)).Elem()
 57840  }
 57841  
 57842  type NotSupportedHostForVmcpFault NotSupportedHostForVmcp
 57843  
 57844  func init() {
 57845  	t["NotSupportedHostForVmcpFault"] = reflect.TypeOf((*NotSupportedHostForVmcpFault)(nil)).Elem()
 57846  }
 57847  
 57848  // The host does not support VM Component Protection.
 57849  type NotSupportedHostForVmemFile struct {
 57850  	NotSupportedHost
 57851  
 57852  	// The name of the host.
 57853  	HostName string `xml:"hostName" json:"hostName"`
 57854  }
 57855  
 57856  func init() {
 57857  	t["NotSupportedHostForVmemFile"] = reflect.TypeOf((*NotSupportedHostForVmemFile)(nil)).Elem()
 57858  }
 57859  
 57860  type NotSupportedHostForVmemFileFault NotSupportedHostForVmemFile
 57861  
 57862  func init() {
 57863  	t["NotSupportedHostForVmemFileFault"] = reflect.TypeOf((*NotSupportedHostForVmemFileFault)(nil)).Elem()
 57864  }
 57865  
 57866  // The host does not support VSAN.
 57867  type NotSupportedHostForVsan struct {
 57868  	NotSupportedHost
 57869  
 57870  	// The name of the host.
 57871  	HostName string `xml:"hostName" json:"hostName"`
 57872  }
 57873  
 57874  func init() {
 57875  	t["NotSupportedHostForVsan"] = reflect.TypeOf((*NotSupportedHostForVsan)(nil)).Elem()
 57876  }
 57877  
 57878  type NotSupportedHostForVsanFault NotSupportedHostForVsan
 57879  
 57880  func init() {
 57881  	t["NotSupportedHostForVsanFault"] = reflect.TypeOf((*NotSupportedHostForVsanFault)(nil)).Elem()
 57882  }
 57883  
 57884  // A NotSupportedHostInCluster fault occurs when the host does not support
 57885  // the necessary features to participate in the cluster.
 57886  type NotSupportedHostInCluster struct {
 57887  	NotSupportedHost
 57888  }
 57889  
 57890  func init() {
 57891  	t["NotSupportedHostInCluster"] = reflect.TypeOf((*NotSupportedHostInCluster)(nil)).Elem()
 57892  }
 57893  
 57894  type NotSupportedHostInClusterFault BaseNotSupportedHostInCluster
 57895  
 57896  func init() {
 57897  	t["NotSupportedHostInClusterFault"] = reflect.TypeOf((*NotSupportedHostInClusterFault)(nil)).Elem()
 57898  }
 57899  
 57900  // A NotSupportedHostInDvs fault occurs when the host does not support
 57901  // the necessary features to participate in the DVS.
 57902  type NotSupportedHostInDvs struct {
 57903  	NotSupportedHost
 57904  
 57905  	// The product spec of the DVS.
 57906  	//
 57907  	// This determines which host versions may
 57908  	// participate in the DVS; that information may be queried by using
 57909  	// `DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec`.
 57910  	SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec" json:"switchProductSpec"`
 57911  }
 57912  
 57913  func init() {
 57914  	t["NotSupportedHostInDvs"] = reflect.TypeOf((*NotSupportedHostInDvs)(nil)).Elem()
 57915  }
 57916  
 57917  type NotSupportedHostInDvsFault NotSupportedHostInDvs
 57918  
 57919  func init() {
 57920  	t["NotSupportedHostInDvsFault"] = reflect.TypeOf((*NotSupportedHostInDvsFault)(nil)).Elem()
 57921  }
 57922  
 57923  // A NotSupportedHostInHACluster fault occurs when the host does not support
 57924  // the necessary features to participate in the HA cluster.
 57925  type NotSupportedHostInHACluster struct {
 57926  	NotSupportedHost
 57927  
 57928  	// The name of the host.
 57929  	HostName string `xml:"hostName" json:"hostName"`
 57930  	// The product build number of the host.
 57931  	Build string `xml:"build" json:"build"`
 57932  }
 57933  
 57934  func init() {
 57935  	t["NotSupportedHostInHACluster"] = reflect.TypeOf((*NotSupportedHostInHACluster)(nil)).Elem()
 57936  }
 57937  
 57938  type NotSupportedHostInHAClusterFault NotSupportedHostInHACluster
 57939  
 57940  func init() {
 57941  	t["NotSupportedHostInHAClusterFault"] = reflect.TypeOf((*NotSupportedHostInHAClusterFault)(nil)).Elem()
 57942  }
 57943  
 57944  // The property value cannot be changed since it is not
 57945  // user configurable.
 57946  type NotUserConfigurableProperty struct {
 57947  	VAppPropertyFault
 57948  }
 57949  
 57950  func init() {
 57951  	t["NotUserConfigurableProperty"] = reflect.TypeOf((*NotUserConfigurableProperty)(nil)).Elem()
 57952  }
 57953  
 57954  type NotUserConfigurablePropertyFault NotUserConfigurableProperty
 57955  
 57956  func init() {
 57957  	t["NotUserConfigurablePropertyFault"] = reflect.TypeOf((*NotUserConfigurablePropertyFault)(nil)).Elem()
 57958  }
 57959  
 57960  type NotifyAffectedServices NotifyAffectedServicesRequestType
 57961  
 57962  func init() {
 57963  	t["NotifyAffectedServices"] = reflect.TypeOf((*NotifyAffectedServices)(nil)).Elem()
 57964  }
 57965  
 57966  // The parameters of `HostCertificateManager.NotifyAffectedServices`.
 57967  type NotifyAffectedServicesRequestType struct {
 57968  	This ManagedObjectReference `xml:"_this" json:"-"`
 57969  	// list of services that need to be notified and no
 57970  	// other service would be notified. if not provided all supported
 57971  	// services would be notified.
 57972  	Services []string `xml:"services,omitempty" json:"services,omitempty" vim:"8.0.1.0"`
 57973  }
 57974  
 57975  func init() {
 57976  	t["NotifyAffectedServicesRequestType"] = reflect.TypeOf((*NotifyAffectedServicesRequestType)(nil)).Elem()
 57977  }
 57978  
 57979  type NotifyAffectedServicesResponse struct {
 57980  }
 57981  
 57982  // The `NsxHostVNicProfile` data object is the base object
 57983  // for host Virtual NIC connected to NSX logic switch subprofiles.
 57984  //
 57985  // If a profile plug-in defines additional policies or subprofiles, use the
 57986  // `ApplyProfile.policy` or `ApplyProfile.property`
 57987  // list to access the configuration data.
 57988  type NsxHostVNicProfile struct {
 57989  	ApplyProfile
 57990  
 57991  	// Linkable identifier.
 57992  	Key string `xml:"key" json:"key"`
 57993  	// IP address for the Virtual NIC belonging to a logic switch.
 57994  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 57995  }
 57996  
 57997  func init() {
 57998  	t["NsxHostVNicProfile"] = reflect.TypeOf((*NsxHostVNicProfile)(nil)).Elem()
 57999  }
 58000  
 58001  // The NumPortsProfile data object represents a
 58002  // subprofile for the number of ports for a
 58003  // virtual switch
 58004  type NumPortsProfile struct {
 58005  	ApplyProfile
 58006  }
 58007  
 58008  func init() {
 58009  	t["NumPortsProfile"] = reflect.TypeOf((*NumPortsProfile)(nil)).Elem()
 58010  }
 58011  
 58012  // The host's software does not support enough cores per socket to
 58013  // accommodate the virtual machine.
 58014  //
 58015  // This is always an error.
 58016  type NumVirtualCoresPerSocketNotSupported struct {
 58017  	VirtualHardwareCompatibilityIssue
 58018  
 58019  	// The maximum number of cores per socket supported on the host.
 58020  	MaxSupportedCoresPerSocketDest int32 `xml:"maxSupportedCoresPerSocketDest" json:"maxSupportedCoresPerSocketDest"`
 58021  	// The number of cores per socket in the virtual machine.
 58022  	NumCoresPerSocketVm int32 `xml:"numCoresPerSocketVm" json:"numCoresPerSocketVm"`
 58023  }
 58024  
 58025  func init() {
 58026  	t["NumVirtualCoresPerSocketNotSupported"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupported)(nil)).Elem()
 58027  }
 58028  
 58029  type NumVirtualCoresPerSocketNotSupportedFault NumVirtualCoresPerSocketNotSupported
 58030  
 58031  func init() {
 58032  	t["NumVirtualCoresPerSocketNotSupportedFault"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupportedFault)(nil)).Elem()
 58033  }
 58034  
 58035  // This fault is thrown when the total number of virtual CPUs present or requested
 58036  // in virtual machines' configuration has exceeded the limit on the host.
 58037  type NumVirtualCpusExceedsLimit struct {
 58038  	InsufficientResourcesFault
 58039  
 58040  	// The maximum number of virtual CPUs supported on the host.
 58041  	MaxSupportedVcpus int32 `xml:"maxSupportedVcpus" json:"maxSupportedVcpus"`
 58042  }
 58043  
 58044  func init() {
 58045  	t["NumVirtualCpusExceedsLimit"] = reflect.TypeOf((*NumVirtualCpusExceedsLimit)(nil)).Elem()
 58046  }
 58047  
 58048  type NumVirtualCpusExceedsLimitFault NumVirtualCpusExceedsLimit
 58049  
 58050  func init() {
 58051  	t["NumVirtualCpusExceedsLimitFault"] = reflect.TypeOf((*NumVirtualCpusExceedsLimitFault)(nil)).Elem()
 58052  }
 58053  
 58054  // The number of virtual CPUs present or requested in the virtual machine's
 58055  // configuration is not supported for a specific feature.
 58056  type NumVirtualCpusIncompatible struct {
 58057  	VmConfigFault
 58058  
 58059  	// The reason for the incompatibility.
 58060  	//
 58061  	// See `NumVirtualCpusIncompatibleReason_enum` for valid values.
 58062  	Reason string `xml:"reason" json:"reason"`
 58063  	// The number of virtual CPUs in the virtual machine.
 58064  	NumCpu int32 `xml:"numCpu" json:"numCpu"`
 58065  }
 58066  
 58067  func init() {
 58068  	t["NumVirtualCpusIncompatible"] = reflect.TypeOf((*NumVirtualCpusIncompatible)(nil)).Elem()
 58069  }
 58070  
 58071  type NumVirtualCpusIncompatibleFault NumVirtualCpusIncompatible
 58072  
 58073  func init() {
 58074  	t["NumVirtualCpusIncompatibleFault"] = reflect.TypeOf((*NumVirtualCpusIncompatibleFault)(nil)).Elem()
 58075  }
 58076  
 58077  // The host's software does not support enough virtual CPUs to
 58078  // accommodate the virtual machine.
 58079  //
 58080  // This is always an error.
 58081  type NumVirtualCpusNotSupported struct {
 58082  	VirtualHardwareCompatibilityIssue
 58083  
 58084  	// The maximum number of virtual CPUs supported on the host.
 58085  	MaxSupportedVcpusDest int32 `xml:"maxSupportedVcpusDest" json:"maxSupportedVcpusDest"`
 58086  	// The number of virtual CPUs in the virtual machine.
 58087  	NumCpuVm int32 `xml:"numCpuVm" json:"numCpuVm"`
 58088  }
 58089  
 58090  func init() {
 58091  	t["NumVirtualCpusNotSupported"] = reflect.TypeOf((*NumVirtualCpusNotSupported)(nil)).Elem()
 58092  }
 58093  
 58094  type NumVirtualCpusNotSupportedFault NumVirtualCpusNotSupported
 58095  
 58096  func init() {
 58097  	t["NumVirtualCpusNotSupportedFault"] = reflect.TypeOf((*NumVirtualCpusNotSupportedFault)(nil)).Elem()
 58098  }
 58099  
 58100  // The class that describe an integer range.
 58101  type NumericRange struct {
 58102  	DynamicData
 58103  
 58104  	// The starting number.
 58105  	Start int32 `xml:"start" json:"start"`
 58106  	// The ending number (inclusive).
 58107  	End int32 `xml:"end" json:"end"`
 58108  }
 58109  
 58110  func init() {
 58111  	t["NumericRange"] = reflect.TypeOf((*NumericRange)(nil)).Elem()
 58112  }
 58113  
 58114  // Get detailed information of a nvdimm
 58115  type NvdimmDimmInfo struct {
 58116  	DynamicData
 58117  
 58118  	// Unique device identifier
 58119  	DimmHandle int32 `xml:"dimmHandle" json:"dimmHandle"`
 58120  	// Health status of nvdimm.
 58121  	//
 58122  	// `NvdimmHealthInfo`
 58123  	HealthInfo NvdimmHealthInfo `xml:"healthInfo" json:"healthInfo"`
 58124  	// Total capacity of NVDIMM in bytes
 58125  	TotalCapacity int64 `xml:"totalCapacity" json:"totalCapacity"`
 58126  	// Total persistent capacity in DIMM (in bytes)
 58127  	PersistentCapacity int64 `xml:"persistentCapacity" json:"persistentCapacity"`
 58128  	// Persistent Capacity in DIMM currently not allocated
 58129  	AvailablePersistentCapacity int64 `xml:"availablePersistentCapacity" json:"availablePersistentCapacity"`
 58130  	// Total volatile capacity in DIMM (in bytes)
 58131  	VolatileCapacity int64 `xml:"volatileCapacity" json:"volatileCapacity"`
 58132  	// Volatile capacity in DIMM currently not allocated
 58133  	AvailableVolatileCapacity int64 `xml:"availableVolatileCapacity" json:"availableVolatileCapacity"`
 58134  	// Total block capacity in DIMM (in bytes)
 58135  	BlockCapacity int64 `xml:"blockCapacity" json:"blockCapacity"`
 58136  	// NVDIMM region information.
 58137  	//
 58138  	// List of regions in the NVDIMM. These regions may or maynot
 58139  	// be a part of an interleave set.
 58140  	RegionInfo []NvdimmRegionInfo `xml:"regionInfo,omitempty" json:"regionInfo,omitempty"`
 58141  	// NVDIMM Representation string which is a sequence of
 58142  	// numbers to uniquely identify the DIMM.
 58143  	RepresentationString string `xml:"representationString" json:"representationString"`
 58144  }
 58145  
 58146  func init() {
 58147  	t["NvdimmDimmInfo"] = reflect.TypeOf((*NvdimmDimmInfo)(nil)).Elem()
 58148  }
 58149  
 58150  // A unique identifier used for namespaces
 58151  type NvdimmGuid struct {
 58152  	DynamicData
 58153  
 58154  	// Universally unique identifier in string format
 58155  	Uuid string `xml:"uuid" json:"uuid"`
 58156  }
 58157  
 58158  func init() {
 58159  	t["NvdimmGuid"] = reflect.TypeOf((*NvdimmGuid)(nil)).Elem()
 58160  }
 58161  
 58162  // \\brief NVDIMM health information
 58163  type NvdimmHealthInfo struct {
 58164  	DynamicData
 58165  
 58166  	// Device health status.
 58167  	HealthStatus string `xml:"healthStatus" json:"healthStatus"`
 58168  	// Health status description.
 58169  	HealthInformation string `xml:"healthInformation" json:"healthInformation"`
 58170  	// State flag information.
 58171  	//
 58172  	// This information is the cumulation of state flags of all the
 58173  	// NVDIMM region state flags. It must be one or more of
 58174  	// `NvdimmNvdimmHealthInfoState_enum`
 58175  	StateFlagInfo []string `xml:"stateFlagInfo,omitempty" json:"stateFlagInfo,omitempty"`
 58176  	// Current Nvdimm temperature in degree Celsius.
 58177  	DimmTemperature int32 `xml:"dimmTemperature" json:"dimmTemperature"`
 58178  	// Nvdimm temperature threshold.
 58179  	//
 58180  	// Default value is 0, indicating threshold has not reached,
 58181  	// if set to 1, reached threshold limit.
 58182  	DimmTemperatureThreshold int32 `xml:"dimmTemperatureThreshold" json:"dimmTemperatureThreshold"`
 58183  	// Percentage of spare capavity as a percentage of
 58184  	// factory configured space (valid range 0 to 100)
 58185  	SpareBlocksPercentage int32 `xml:"spareBlocksPercentage" json:"spareBlocksPercentage"`
 58186  	// Spare block threshold.
 58187  	//
 58188  	// Default value is 0, indicating threshold has not reached,
 58189  	// if set to 1, reached threshold limit.
 58190  	SpareBlockThreshold int32 `xml:"spareBlockThreshold" json:"spareBlockThreshold"`
 58191  	// Lifespan of Nvdimm as percentage.
 58192  	//
 58193  	// 100% = Warranted life span has reached.
 58194  	DimmLifespanPercentage int32 `xml:"dimmLifespanPercentage" json:"dimmLifespanPercentage"`
 58195  	// Energy source current temperature in degree Celsius.
 58196  	//
 58197  	// Default value is 0, indicating there is no
 58198  	// energy source for these nvdimms.
 58199  	EsTemperature int32 `xml:"esTemperature,omitempty" json:"esTemperature,omitempty"`
 58200  	// Energy source temperature threshold.
 58201  	//
 58202  	// Default value is 0, indicating threshold has not reached,
 58203  	// if set to 1, reached threshold limit.
 58204  	EsTemperatureThreshold int32 `xml:"esTemperatureThreshold,omitempty" json:"esTemperatureThreshold,omitempty"`
 58205  	// Lifespan of Energy source as percentage.
 58206  	//
 58207  	// 100% = Warranted life span has reached.
 58208  	// Default value is 0, indicating there is no energy
 58209  	// source.
 58210  	EsLifespanPercentage int32 `xml:"esLifespanPercentage,omitempty" json:"esLifespanPercentage,omitempty"`
 58211  }
 58212  
 58213  func init() {
 58214  	t["NvdimmHealthInfo"] = reflect.TypeOf((*NvdimmHealthInfo)(nil)).Elem()
 58215  }
 58216  
 58217  // Characteristics of an interleave set of a NVDIMM
 58218  type NvdimmInterleaveSetInfo struct {
 58219  	DynamicData
 58220  
 58221  	// Unique set ID
 58222  	SetId int32 `xml:"setId" json:"setId"`
 58223  	// Volatile or persistent interleave set.
 58224  	//
 58225  	// Must be one of the values of
 58226  	// `NvdimmRangeType_enum`
 58227  	RangeType string `xml:"rangeType" json:"rangeType"`
 58228  	// Start address of range
 58229  	BaseAddress int64 `xml:"baseAddress" json:"baseAddress"`
 58230  	// Length of range in bytes
 58231  	Size int64 `xml:"size" json:"size"`
 58232  	// Capacity currently not allocated to namespace in bytes
 58233  	AvailableSize int64 `xml:"availableSize" json:"availableSize"`
 58234  	// List of nvdimms contributing to this interleave set
 58235  	DeviceList []int32 `xml:"deviceList,omitempty" json:"deviceList,omitempty"`
 58236  	// State of interleave set.
 58237  	//
 58238  	// Must be one of the values in
 58239  	// `NvdimmInterleaveSetState_enum`
 58240  	State string `xml:"state" json:"state"`
 58241  }
 58242  
 58243  func init() {
 58244  	t["NvdimmInterleaveSetInfo"] = reflect.TypeOf((*NvdimmInterleaveSetInfo)(nil)).Elem()
 58245  }
 58246  
 58247  // Deprecated as of vSphere 6.7u1, use PMemNamespaceCreateReq.
 58248  //
 58249  // Arguments for creating a namespace.
 58250  type NvdimmNamespaceCreateSpec struct {
 58251  	DynamicData
 58252  
 58253  	// Friendly name of the namespace to be created.
 58254  	//
 58255  	// A friendly name can be provided by user to assosiate a name to
 58256  	// the created namespace, but such a name is not mandatory and is
 58257  	// empty string by default.
 58258  	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
 58259  	// Size of block in the namespace.
 58260  	//
 58261  	// For persistent region type, block size is one.
 58262  	// For block region, block size represents one of the logical block sizes
 58263  	// of 512, 4096 etc.
 58264  	BlockSize int64 `xml:"blockSize" json:"blockSize"`
 58265  	// Number of blocks in the namespace.
 58266  	//
 58267  	// For persistent region type, blockCount is the size of persistent
 58268  	// region in bytes.
 58269  	// For block region type, block count represent number of bytes per
 58270  	// block size.
 58271  	BlockCount int64 `xml:"blockCount" json:"blockCount"`
 58272  	// Type of the namespace to be created - block or persistent.
 58273  	//
 58274  	// Must be one of the values in
 58275  	// `NvdimmNamespaceType_enum`
 58276  	Type string `xml:"type" json:"type"`
 58277  	// This identifier is the interleave set ID if the namespace
 58278  	// is being used in persistent mode.
 58279  	//
 58280  	// If in block mode, this
 58281  	// is a device handle.
 58282  	LocationID int32 `xml:"locationID" json:"locationID"`
 58283  }
 58284  
 58285  func init() {
 58286  	t["NvdimmNamespaceCreateSpec"] = reflect.TypeOf((*NvdimmNamespaceCreateSpec)(nil)).Elem()
 58287  }
 58288  
 58289  // Arguments for deleting a namespace
 58290  type NvdimmNamespaceDeleteSpec struct {
 58291  	DynamicData
 58292  
 58293  	// Universally unique identifier of the namespace to be deleted
 58294  	Uuid string `xml:"uuid" json:"uuid"`
 58295  }
 58296  
 58297  func init() {
 58298  	t["NvdimmNamespaceDeleteSpec"] = reflect.TypeOf((*NvdimmNamespaceDeleteSpec)(nil)).Elem()
 58299  }
 58300  
 58301  // Detailed information about a particular namespace.
 58302  type NvdimmNamespaceDetails struct {
 58303  	DynamicData
 58304  
 58305  	// Universally unique identifier assigned to namespace
 58306  	// in string format
 58307  	Uuid string `xml:"uuid" json:"uuid"`
 58308  	// Human readable name of namespace
 58309  	FriendlyName string `xml:"friendlyName" json:"friendlyName"`
 58310  	// Size of namespace in bytes.
 58311  	Size int64 `xml:"size" json:"size"`
 58312  	// Type of the namespace to be created - block or persistent.
 58313  	//
 58314  	// Must be one of the values in
 58315  	// `NvdimmNamespaceType_enum`
 58316  	Type string `xml:"type" json:"type"`
 58317  	// Health status of DIMM(s) part of the namespace.
 58318  	//
 58319  	// Must be one of the values of
 58320  	// `NvdimmNamespaceDetailsHealthStatus_enum`
 58321  	NamespaceHealthStatus string `xml:"namespaceHealthStatus" json:"namespaceHealthStatus"`
 58322  	// The interleave set ID of the namespace.
 58323  	InterleavesetID int32 `xml:"interleavesetID" json:"interleavesetID"`
 58324  	// State of namespace.
 58325  	//
 58326  	// Must be one of
 58327  	// `NvdimmNamespaceDetailsState_enum`
 58328  	State string `xml:"state" json:"state"`
 58329  }
 58330  
 58331  func init() {
 58332  	t["NvdimmNamespaceDetails"] = reflect.TypeOf((*NvdimmNamespaceDetails)(nil)).Elem()
 58333  }
 58334  
 58335  // Deprecated as of vSphere 6.7u1, use NamespaceDetails.
 58336  //
 58337  // Detailed information about a particular namespace.
 58338  type NvdimmNamespaceInfo struct {
 58339  	DynamicData
 58340  
 58341  	// Universally unique identifier assigned to namespace
 58342  	// in string format
 58343  	Uuid string `xml:"uuid" json:"uuid"`
 58344  	// Friendly name of namespace
 58345  	FriendlyName string `xml:"friendlyName" json:"friendlyName"`
 58346  	// Size of logical block size.
 58347  	//
 58348  	// For persistent region type, block size is one.
 58349  	// For block region, block size represents one of the logical block sizes
 58350  	// of 512, 4096 etc.
 58351  	BlockSize int64 `xml:"blockSize" json:"blockSize"`
 58352  	// Number of blocks in the namespace.
 58353  	//
 58354  	// For persistent region type, blockCount is the size of persistent
 58355  	// region in bytes.
 58356  	// For block region type, block count represent number of bytes per
 58357  	// block size.
 58358  	BlockCount int64 `xml:"blockCount" json:"blockCount"`
 58359  	// Type of the namespace to be created - block or persistent.
 58360  	//
 58361  	// Must be one of the values in
 58362  	// `NvdimmNamespaceType_enum`
 58363  	Type string `xml:"type" json:"type"`
 58364  	// Health status of DIMM(s) part of the namespace.
 58365  	//
 58366  	// Must be one of the values of
 58367  	// `NvdimmNamespaceHealthStatus_enum`
 58368  	NamespaceHealthStatus string `xml:"namespaceHealthStatus" json:"namespaceHealthStatus"`
 58369  	// This identifier is the interleave set ID if this namespace
 58370  	// is being used in persistent mode.
 58371  	//
 58372  	// If in block mode, this
 58373  	// is a nvdimm device handle.
 58374  	LocationID int32 `xml:"locationID" json:"locationID"`
 58375  	// State of namespace.
 58376  	//
 58377  	// Must be one of
 58378  	// `NvdimmNamespaceState_enum`
 58379  	State string `xml:"state" json:"state"`
 58380  }
 58381  
 58382  func init() {
 58383  	t["NvdimmNamespaceInfo"] = reflect.TypeOf((*NvdimmNamespaceInfo)(nil)).Elem()
 58384  }
 58385  
 58386  // Arguments for creating a persistent memory mode namespace
 58387  type NvdimmPMemNamespaceCreateSpec struct {
 58388  	DynamicData
 58389  
 58390  	// Friendly name of the namespace to be created.
 58391  	//
 58392  	// A friendly name can be provided by user to associate a name to
 58393  	// the created namespace, but such a name is not mandatory and is
 58394  	// empty string by default.
 58395  	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
 58396  	// Size of the namespace in bytes.
 58397  	Size int64 `xml:"size" json:"size"`
 58398  	// The interleave set ID of the namespace.
 58399  	InterleavesetID int32 `xml:"interleavesetID" json:"interleavesetID"`
 58400  }
 58401  
 58402  func init() {
 58403  	t["NvdimmPMemNamespaceCreateSpec"] = reflect.TypeOf((*NvdimmPMemNamespaceCreateSpec)(nil)).Elem()
 58404  }
 58405  
 58406  // \\brief NVDIMM region information.
 58407  //
 58408  // This represents a region which is a part of NVDIMM.
 58409  type NvdimmRegionInfo struct {
 58410  	DynamicData
 58411  
 58412  	// NVDIMM region ID
 58413  	RegionId int32 `xml:"regionId" json:"regionId"`
 58414  	// Interleave set ID.
 58415  	//
 58416  	// Interleave set to which this region belongs. A value
 58417  	// of 0 indicates that this region is not a part of any
 58418  	// interleave set.
 58419  	SetId int32 `xml:"setId" json:"setId"`
 58420  	// Type of region.
 58421  	//
 58422  	// Must be one of the values of
 58423  	// `NvdimmRangeType_enum`
 58424  	RangeType string `xml:"rangeType" json:"rangeType"`
 58425  	// Region start address.
 58426  	//
 58427  	// This represents the address within the NVDIMM to which this
 58428  	// NVDIMM region belongs (Dimm physical address).
 58429  	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
 58430  	StartAddr int64 `xml:"startAddr" json:"startAddr"`
 58431  	// Size of region in bytes.
 58432  	//
 58433  	// If this region is part of interleave set (represented by non zero
 58434  	// `NvdimmRegionInfo.setId`) and the region is interleaved across
 58435  	// multiple dimms (represented by more that one element in
 58436  	// `NvdimmInterleaveSetInfo.deviceList` for assosiated set id
 58437  	// `NvdimmRegionInfo.setId`), this size represents part of the
 58438  	// interleave set size - (total interleave set size / number
 58439  	// of dimms in `NvdimmInterleaveSetInfo.deviceList`).
 58440  	// Example: If Interleave set with set id 5, has a size of 2TB
 58441  	// and has 2 NVDIMMs contributing to it (size of
 58442  	// `NvdimmInterleaveSetInfo.deviceList` is 2), then this size
 58443  	// parameter is 2TB/2 = 1TB.
 58444  	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
 58445  	Size int64 `xml:"size" json:"size"`
 58446  	// Offset of nvdimm within interleave set.
 58447  	//
 58448  	// This represents offset with respect to base address
 58449  	// in `NvdimmInterleaveSetInfo.baseAddress`.
 58450  	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
 58451  	Offset int64 `xml:"offset" json:"offset"`
 58452  }
 58453  
 58454  func init() {
 58455  	t["NvdimmRegionInfo"] = reflect.TypeOf((*NvdimmRegionInfo)(nil)).Elem()
 58456  }
 58457  
 58458  // \\brief Get summary of nvdimm
 58459  type NvdimmSummary struct {
 58460  	DynamicData
 58461  
 58462  	// Number of NVDIMMs in the system
 58463  	NumDimms int32 `xml:"numDimms" json:"numDimms"`
 58464  	// Summary of health status of all NVDIMMs in the system.
 58465  	HealthStatus string `xml:"healthStatus" json:"healthStatus"`
 58466  	// Total capacity of all NVDIMMs in bytes
 58467  	TotalCapacity int64 `xml:"totalCapacity" json:"totalCapacity"`
 58468  	// Persistent region capacity in bytes
 58469  	PersistentCapacity int64 `xml:"persistentCapacity" json:"persistentCapacity"`
 58470  	// Block region capacity in bytes
 58471  	BlockCapacity int64 `xml:"blockCapacity" json:"blockCapacity"`
 58472  	// Capacity not covered by namespace in bytes
 58473  	AvailableCapacity int64 `xml:"availableCapacity" json:"availableCapacity"`
 58474  	// Total number of interleave sets in the system
 58475  	NumInterleavesets int32 `xml:"numInterleavesets" json:"numInterleavesets"`
 58476  	// Total number of namespaces in the system
 58477  	NumNamespaces int32 `xml:"numNamespaces" json:"numNamespaces"`
 58478  }
 58479  
 58480  func init() {
 58481  	t["NvdimmSummary"] = reflect.TypeOf((*NvdimmSummary)(nil)).Elem()
 58482  }
 58483  
 58484  // This data object represents Non-Volatile DIMMs host
 58485  // configuration.
 58486  type NvdimmSystemInfo struct {
 58487  	DynamicData
 58488  
 58489  	// Host NVDIMM system summary.
 58490  	//
 58491  	// Summary is unset if the system does not support PMem feature.
 58492  	Summary *NvdimmSummary `xml:"summary,omitempty" json:"summary,omitempty"`
 58493  	// List of NVDIMMs on the host.
 58494  	//
 58495  	// NVDIMM list unset if the system does not support PMem feature.
 58496  	Dimms []int32 `xml:"dimms,omitempty" json:"dimms,omitempty"`
 58497  	// List of DIMM information of all NVDIMMs on the host.
 58498  	//
 58499  	// Dimm information is unset if the system does not support PMem feature.
 58500  	DimmInfo []NvdimmDimmInfo `xml:"dimmInfo,omitempty" json:"dimmInfo,omitempty"`
 58501  	// List of NVDIMM Interleave sets on the host.
 58502  	//
 58503  	// Interleave set is unset if the system does not support PMem feature.
 58504  	InterleaveSet []int32 `xml:"interleaveSet,omitempty" json:"interleaveSet,omitempty"`
 58505  	// List of information of all NVDIMM interleave sets on the host.
 58506  	//
 58507  	// Interleave set information is unset if the system does not
 58508  	// support PMem feature.
 58509  	ISetInfo []NvdimmInterleaveSetInfo `xml:"iSetInfo,omitempty" json:"iSetInfo,omitempty"`
 58510  	// List of NVDIMM namespaces on the host.
 58511  	//
 58512  	// Namespace is unset if the system does not support PMem feature.
 58513  	Namespace []NvdimmGuid `xml:"namespace,omitempty" json:"namespace,omitempty"`
 58514  	// Deprecated as of vSphere 6.7u1, use nsDetails.
 58515  	//
 58516  	// List of information of all NVDIMM namespaces on the host.
 58517  	//
 58518  	// Namespace information is unset if the system does not support
 58519  	// PMem feature.
 58520  	NsInfo []NvdimmNamespaceInfo `xml:"nsInfo,omitempty" json:"nsInfo,omitempty"`
 58521  	// List of details of all NVDIMM namespaces on the host.
 58522  	//
 58523  	// Namespace details is unset if the system does not support
 58524  	// PMem feature.
 58525  	NsDetails []NvdimmNamespaceDetails `xml:"nsDetails,omitempty" json:"nsDetails,omitempty"`
 58526  }
 58527  
 58528  func init() {
 58529  	t["NvdimmSystemInfo"] = reflect.TypeOf((*NvdimmSystemInfo)(nil)).Elem()
 58530  }
 58531  
 58532  // The `ObjectContent` data object type contains the
 58533  // contents retrieved for a single managed object.
 58534  type ObjectContent struct {
 58535  	DynamicData
 58536  
 58537  	// Reference to the managed object that contains properties of interest.
 58538  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 58539  	// Set of name-value pairs for the properties of the managed object.
 58540  	PropSet []DynamicProperty `xml:"propSet,omitempty" json:"propSet,omitempty"`
 58541  	// Properties for which values could not be retrieved and the associated
 58542  	// fault.
 58543  	MissingSet []MissingProperty `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
 58544  }
 58545  
 58546  func init() {
 58547  	t["ObjectContent"] = reflect.TypeOf((*ObjectContent)(nil)).Elem()
 58548  }
 58549  
 58550  // Within a `PropertyFilterSpec`, the `ObjectSpec` data object type specifies the managed
 58551  // object at which the filter begins to collect the managed object
 58552  // references and properties specified by the associated `PropertySpec` set.
 58553  //
 58554  // If the "skip" property is present
 58555  // and set to true, then the filter does not check to see if the starting
 58556  // object's type matches any of the types listed in the associated sets of
 58557  // `PropertySpec` data objects.
 58558  //
 58559  // If the `ObjectSpec.selectSet` property is
 58560  // present, then this specifies additional objects to filter. These objects
 58561  // are defined by one or more `SelectionSpec`
 58562  // objects.
 58563  type ObjectSpec struct {
 58564  	DynamicData
 58565  
 58566  	// Starting object.
 58567  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 58568  	// Flag to specify whether or not to report this managed object's
 58569  	// properties.
 58570  	//
 58571  	// If the flag is true, the filter will not report this
 58572  	// managed object's properties.
 58573  	Skip *bool `xml:"skip" json:"skip,omitempty"`
 58574  	// Set of selections to specify additional objects to filter.
 58575  	SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr" json:"selectSet,omitempty"`
 58576  }
 58577  
 58578  func init() {
 58579  	t["ObjectSpec"] = reflect.TypeOf((*ObjectSpec)(nil)).Elem()
 58580  }
 58581  
 58582  // The `ObjectUpdate` data object type contains
 58583  // information about changes to a particular managed object.
 58584  //
 58585  // We distinguish
 58586  // updates when an object is created, destroyed, or modified, as well as
 58587  // when the object enters or leaves the set of objects dynamically
 58588  // associated with a filter.
 58589  type ObjectUpdate struct {
 58590  	DynamicData
 58591  
 58592  	// Kind of update that caused the filter to report a change.
 58593  	Kind ObjectUpdateKind `xml:"kind" json:"kind"`
 58594  	// Reference to the managed object to which this update applies.
 58595  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 58596  	// Optional set of changes to the object.
 58597  	//
 58598  	// Present only if the "kind" is
 58599  	// either "modify" or "enter".
 58600  	ChangeSet []PropertyChange `xml:"changeSet,omitempty" json:"changeSet,omitempty"`
 58601  	// Properties whose value could not be retrieved and their associated
 58602  	// faults.
 58603  	//
 58604  	// Present only if the "kind" is either "modify" or "enter".
 58605  	MissingSet []MissingProperty `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
 58606  }
 58607  
 58608  func init() {
 58609  	t["ObjectUpdate"] = reflect.TypeOf((*ObjectUpdate)(nil)).Elem()
 58610  }
 58611  
 58612  // The `OnceTaskScheduler` data object establishes the time for running
 58613  // a scheduled task only once.
 58614  type OnceTaskScheduler struct {
 58615  	TaskScheduler
 58616  
 58617  	// The time a task will run.
 58618  	//
 58619  	// If you do not set the time, it executes immediately.
 58620  	RunAt *time.Time `xml:"runAt" json:"runAt,omitempty"`
 58621  }
 58622  
 58623  func init() {
 58624  	t["OnceTaskScheduler"] = reflect.TypeOf((*OnceTaskScheduler)(nil)).Elem()
 58625  }
 58626  
 58627  // The data object representing the capabilities supported by the Opaque
 58628  // Network.
 58629  type OpaqueNetworkCapability struct {
 58630  	DynamicData
 58631  
 58632  	// Indicates whether network I/O control is supported for a network
 58633  	// adapter that connects to the opaque network.
 58634  	NetworkReservationSupported bool `xml:"networkReservationSupported" json:"networkReservationSupported"`
 58635  }
 58636  
 58637  func init() {
 58638  	t["OpaqueNetworkCapability"] = reflect.TypeOf((*OpaqueNetworkCapability)(nil)).Elem()
 58639  }
 58640  
 58641  // The summary of a opaque network.
 58642  //
 58643  // An object of this class is returned by the `Network.summary` property.
 58644  type OpaqueNetworkSummary struct {
 58645  	NetworkSummary
 58646  
 58647  	// The opaque network ID
 58648  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 58649  	// The opaque network type
 58650  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 58651  }
 58652  
 58653  func init() {
 58654  	t["OpaqueNetworkSummary"] = reflect.TypeOf((*OpaqueNetworkSummary)(nil)).Elem()
 58655  }
 58656  
 58657  // This class describes an opaque network that a device backing
 58658  // can attached to.
 58659  type OpaqueNetworkTargetInfo struct {
 58660  	VirtualMachineTargetInfo
 58661  
 58662  	// Information about the opaque network
 58663  	Network OpaqueNetworkSummary `xml:"network" json:"network"`
 58664  	// Indicates whether network bandwidth reservation is supported on
 58665  	// the opaque network
 58666  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty"`
 58667  }
 58668  
 58669  func init() {
 58670  	t["OpaqueNetworkTargetInfo"] = reflect.TypeOf((*OpaqueNetworkTargetInfo)(nil)).Elem()
 58671  }
 58672  
 58673  // The `OpaqueSwitchProfile` data object represents opaque switch
 58674  // configuration for the host.
 58675  //
 58676  // If a profile plug-in defines policies or subprofiles, use the
 58677  // `ApplyProfile.policy` or `ApplyProfile.property`
 58678  // list to access the additional configuration data.
 58679  type OpaqueSwitchProfile struct {
 58680  	ApplyProfile
 58681  }
 58682  
 58683  func init() {
 58684  	t["OpaqueSwitchProfile"] = reflect.TypeOf((*OpaqueSwitchProfile)(nil)).Elem()
 58685  }
 58686  
 58687  type OpenInventoryViewFolder OpenInventoryViewFolderRequestType
 58688  
 58689  func init() {
 58690  	t["OpenInventoryViewFolder"] = reflect.TypeOf((*OpenInventoryViewFolder)(nil)).Elem()
 58691  }
 58692  
 58693  // The parameters of `InventoryView.OpenInventoryViewFolder`.
 58694  type OpenInventoryViewFolderRequestType struct {
 58695  	This ManagedObjectReference `xml:"_this" json:"-"`
 58696  	// An array of managed object references. Each array entry is a reference
 58697  	// to an entity to expand. Expands each entity in the
 58698  	// order given. If an entity is not in the current view,
 58699  	// expands the view as needed.
 58700  	//
 58701  	// Required privileges: System.View
 58702  	//
 58703  	// Refers instances of `ManagedEntity`.
 58704  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
 58705  }
 58706  
 58707  func init() {
 58708  	t["OpenInventoryViewFolderRequestType"] = reflect.TypeOf((*OpenInventoryViewFolderRequestType)(nil)).Elem()
 58709  }
 58710  
 58711  type OpenInventoryViewFolderResponse struct {
 58712  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 58713  }
 58714  
 58715  // An OperationDisabledByGuest exception is thrown when an
 58716  // operation fails because the guest operations agent has been configured to
 58717  // disable the operation.
 58718  type OperationDisabledByGuest struct {
 58719  	GuestOperationsFault
 58720  }
 58721  
 58722  func init() {
 58723  	t["OperationDisabledByGuest"] = reflect.TypeOf((*OperationDisabledByGuest)(nil)).Elem()
 58724  }
 58725  
 58726  type OperationDisabledByGuestFault OperationDisabledByGuest
 58727  
 58728  func init() {
 58729  	t["OperationDisabledByGuestFault"] = reflect.TypeOf((*OperationDisabledByGuestFault)(nil)).Elem()
 58730  }
 58731  
 58732  // An OperationDisallowedOnHost is thrown if an operation is diasllowed
 58733  // on host when a direct connection is used.
 58734  //
 58735  // Examples for such operations include VM powering on / memory hot-plug
 58736  // which could potentially violate hard-enforcement licenses if allowed
 58737  // on host.
 58738  // The functionality these operations provide is still available, but only
 58739  // through calls to an external entity.
 58740  type OperationDisallowedOnHost struct {
 58741  	RuntimeFault
 58742  }
 58743  
 58744  func init() {
 58745  	t["OperationDisallowedOnHost"] = reflect.TypeOf((*OperationDisallowedOnHost)(nil)).Elem()
 58746  }
 58747  
 58748  type OperationDisallowedOnHostFault OperationDisallowedOnHost
 58749  
 58750  func init() {
 58751  	t["OperationDisallowedOnHostFault"] = reflect.TypeOf((*OperationDisallowedOnHostFault)(nil)).Elem()
 58752  }
 58753  
 58754  // An OperationNotSupportedByGuest exception is thrown when an
 58755  // operation fails because the guest OS does not support
 58756  // the operation (e.g., Registry manipulation in Linux guests.).
 58757  type OperationNotSupportedByGuest struct {
 58758  	GuestOperationsFault
 58759  }
 58760  
 58761  func init() {
 58762  	t["OperationNotSupportedByGuest"] = reflect.TypeOf((*OperationNotSupportedByGuest)(nil)).Elem()
 58763  }
 58764  
 58765  type OperationNotSupportedByGuestFault OperationNotSupportedByGuest
 58766  
 58767  func init() {
 58768  	t["OperationNotSupportedByGuestFault"] = reflect.TypeOf((*OperationNotSupportedByGuestFault)(nil)).Elem()
 58769  }
 58770  
 58771  // Describes a user-defined option.
 58772  //
 58773  // The name of each option is identified by the
 58774  // "key" property, inherited from the `ElementDescription`
 58775  // data object type.
 58776  // You can indicate the property's position in a hierarchy by using a dot-separated
 58777  // notation. The string preceding the first dot is the top of the hierarchy. The
 58778  // hierarchy descends to a new sublevel with each dot.
 58779  // For example, "Ethernet.NetworkConnection.Bridged".
 58780  type OptionDef struct {
 58781  	ElementDescription
 58782  
 58783  	// The option type which defines allowed values.
 58784  	OptionType BaseOptionType `xml:"optionType,typeattr" json:"optionType"`
 58785  }
 58786  
 58787  func init() {
 58788  	t["OptionDef"] = reflect.TypeOf((*OptionDef)(nil)).Elem()
 58789  }
 58790  
 58791  // The `OptionProfile` data object encapsulates one advanced configuration.
 58792  //
 58793  // Use the `ApplyProfile.policy` list for access to configuration data
 58794  // for the option profile. Use the `ApplyProfile.property` list for access
 58795  // to subprofile configuration data, if any.
 58796  type OptionProfile struct {
 58797  	ApplyProfile
 58798  
 58799  	// Linkable identifier.
 58800  	Key string `xml:"key" json:"key"`
 58801  }
 58802  
 58803  func init() {
 58804  	t["OptionProfile"] = reflect.TypeOf((*OptionProfile)(nil)).Elem()
 58805  }
 58806  
 58807  // The base data object type for all options.
 58808  type OptionType struct {
 58809  	DynamicData
 58810  
 58811  	// The flag to indicate whether or not a user
 58812  	// can modify a value belonging to this option type.
 58813  	//
 58814  	// If
 58815  	// the flag is not set, the value can be modified.
 58816  	ValueIsReadonly *bool `xml:"valueIsReadonly" json:"valueIsReadonly,omitempty"`
 58817  }
 58818  
 58819  func init() {
 58820  	t["OptionType"] = reflect.TypeOf((*OptionType)(nil)).Elem()
 58821  }
 58822  
 58823  // Describes the key/value pair of a configured option.
 58824  type OptionValue struct {
 58825  	DynamicData
 58826  
 58827  	// The name of the option using dot notation to reflect the
 58828  	// option's position in a hierarchy.
 58829  	//
 58830  	// For example, you might
 58831  	// have an option called "Ethernet" and another option that is
 58832  	// a child of that called "Connection". In this case, the key
 58833  	// for the latter could be defined as "Ethernet.Connection"
 58834  	Key string `xml:"key" json:"key"`
 58835  	// The value of the option.
 58836  	//
 58837  	// The Any data object type enables you to
 58838  	// define any value for the option. Typically, however, the value
 58839  	// of an option is of type String or Integer.
 58840  	Value AnyType `xml:"value,typeattr" json:"value"`
 58841  }
 58842  
 58843  func init() {
 58844  	t["OptionValue"] = reflect.TypeOf((*OptionValue)(nil)).Elem()
 58845  }
 58846  
 58847  // A data object type that links multiple alarm expressions with OR operators.
 58848  type OrAlarmExpression struct {
 58849  	AlarmExpression
 58850  
 58851  	// List of alarm expressions that define the overall status of the alarm.
 58852  	//   - The state of the alarm expression is gray if all subexpressions are gray.
 58853  	//     Otherwise, gray subexpressions are ignored.
 58854  	//   - The state is red if any subexpression is red.
 58855  	//   - Otherwise, the state is yellow if any subexpression is yellow.
 58856  	//   - Otherwise, the state of the alarm expression is green.
 58857  	Expression []BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
 58858  }
 58859  
 58860  func init() {
 58861  	t["OrAlarmExpression"] = reflect.TypeOf((*OrAlarmExpression)(nil)).Elem()
 58862  }
 58863  
 58864  // Thrown if a parameter exceeds the acceptable range of values.
 58865  type OutOfBounds struct {
 58866  	VimFault
 58867  
 58868  	// This should be the name of the field that holds the allowed maximum
 58869  	// (for example, Host.capability.maxSupportedVMs).
 58870  	ArgumentName string `xml:"argumentName" json:"argumentName"`
 58871  }
 58872  
 58873  func init() {
 58874  	t["OutOfBounds"] = reflect.TypeOf((*OutOfBounds)(nil)).Elem()
 58875  }
 58876  
 58877  type OutOfBoundsFault OutOfBounds
 58878  
 58879  func init() {
 58880  	t["OutOfBoundsFault"] = reflect.TypeOf((*OutOfBoundsFault)(nil)).Elem()
 58881  }
 58882  
 58883  // The list of hosts that have the DVS configuration on the host
 58884  // diverged from that of the Virtual Center Server.
 58885  type OutOfSyncDvsHost struct {
 58886  	DvsEvent
 58887  
 58888  	// The host that went out of sync.
 58889  	HostOutOfSync []DvsOutOfSyncHostArgument `xml:"hostOutOfSync" json:"hostOutOfSync"`
 58890  }
 58891  
 58892  func init() {
 58893  	t["OutOfSyncDvsHost"] = reflect.TypeOf((*OutOfSyncDvsHost)(nil)).Elem()
 58894  }
 58895  
 58896  type OverwriteCustomizationSpec OverwriteCustomizationSpecRequestType
 58897  
 58898  func init() {
 58899  	t["OverwriteCustomizationSpec"] = reflect.TypeOf((*OverwriteCustomizationSpec)(nil)).Elem()
 58900  }
 58901  
 58902  // The parameters of `CustomizationSpecManager.OverwriteCustomizationSpec`.
 58903  type OverwriteCustomizationSpecRequestType struct {
 58904  	This ManagedObjectReference `xml:"_this" json:"-"`
 58905  	Item CustomizationSpecItem  `xml:"item" json:"item"`
 58906  }
 58907  
 58908  func init() {
 58909  	t["OverwriteCustomizationSpecRequestType"] = reflect.TypeOf((*OverwriteCustomizationSpecRequestType)(nil)).Elem()
 58910  }
 58911  
 58912  type OverwriteCustomizationSpecResponse struct {
 58913  }
 58914  
 58915  // An OVF descriptor Attribute base class.
 58916  type OvfAttribute struct {
 58917  	OvfInvalidPackage
 58918  
 58919  	// Element name where the attribute is defined
 58920  	ElementName string `xml:"elementName" json:"elementName"`
 58921  	// Attribute name
 58922  	AttributeName string `xml:"attributeName" json:"attributeName"`
 58923  }
 58924  
 58925  func init() {
 58926  	t["OvfAttribute"] = reflect.TypeOf((*OvfAttribute)(nil)).Elem()
 58927  }
 58928  
 58929  type OvfAttributeFault BaseOvfAttribute
 58930  
 58931  func init() {
 58932  	t["OvfAttributeFault"] = reflect.TypeOf((*OvfAttributeFault)(nil)).Elem()
 58933  }
 58934  
 58935  type OvfConnectedDevice struct {
 58936  	OvfHardwareExport
 58937  }
 58938  
 58939  func init() {
 58940  	t["OvfConnectedDevice"] = reflect.TypeOf((*OvfConnectedDevice)(nil)).Elem()
 58941  }
 58942  
 58943  type OvfConnectedDeviceFault BaseOvfConnectedDevice
 58944  
 58945  func init() {
 58946  	t["OvfConnectedDeviceFault"] = reflect.TypeOf((*OvfConnectedDeviceFault)(nil)).Elem()
 58947  }
 58948  
 58949  type OvfConnectedDeviceFloppy struct {
 58950  	OvfConnectedDevice
 58951  
 58952  	// The filename of the floppy image
 58953  	Filename string `xml:"filename" json:"filename"`
 58954  }
 58955  
 58956  func init() {
 58957  	t["OvfConnectedDeviceFloppy"] = reflect.TypeOf((*OvfConnectedDeviceFloppy)(nil)).Elem()
 58958  }
 58959  
 58960  type OvfConnectedDeviceFloppyFault OvfConnectedDeviceFloppy
 58961  
 58962  func init() {
 58963  	t["OvfConnectedDeviceFloppyFault"] = reflect.TypeOf((*OvfConnectedDeviceFloppyFault)(nil)).Elem()
 58964  }
 58965  
 58966  type OvfConnectedDeviceIso struct {
 58967  	OvfConnectedDevice
 58968  
 58969  	// The filename of the ISO
 58970  	Filename string `xml:"filename" json:"filename"`
 58971  }
 58972  
 58973  func init() {
 58974  	t["OvfConnectedDeviceIso"] = reflect.TypeOf((*OvfConnectedDeviceIso)(nil)).Elem()
 58975  }
 58976  
 58977  type OvfConnectedDeviceIsoFault OvfConnectedDeviceIso
 58978  
 58979  func init() {
 58980  	t["OvfConnectedDeviceIsoFault"] = reflect.TypeOf((*OvfConnectedDeviceIsoFault)(nil)).Elem()
 58981  }
 58982  
 58983  // A base fault for Ovf descriptor constraints
 58984  type OvfConstraint struct {
 58985  	OvfInvalidPackage
 58986  
 58987  	// The name of the element
 58988  	Name string `xml:"name" json:"name"`
 58989  }
 58990  
 58991  func init() {
 58992  	t["OvfConstraint"] = reflect.TypeOf((*OvfConstraint)(nil)).Elem()
 58993  }
 58994  
 58995  type OvfConstraintFault BaseOvfConstraint
 58996  
 58997  func init() {
 58998  	t["OvfConstraintFault"] = reflect.TypeOf((*OvfConstraintFault)(nil)).Elem()
 58999  }
 59000  
 59001  // Superclass for all faults that can be thrown during the callback to an OVF
 59002  // consumer.
 59003  //
 59004  // The `MethodFault.faultCause` gives details about what went
 59005  // wrong.
 59006  type OvfConsumerCallbackFault struct {
 59007  	OvfFault
 59008  
 59009  	// The OVF consumer's extension key.
 59010  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 59011  	// The OVF consumer's extension name.
 59012  	ExtensionName string `xml:"extensionName" json:"extensionName"`
 59013  }
 59014  
 59015  func init() {
 59016  	t["OvfConsumerCallbackFault"] = reflect.TypeOf((*OvfConsumerCallbackFault)(nil)).Elem()
 59017  }
 59018  
 59019  type OvfConsumerCallbackFaultFault BaseOvfConsumerCallbackFault
 59020  
 59021  func init() {
 59022  	t["OvfConsumerCallbackFaultFault"] = reflect.TypeOf((*OvfConsumerCallbackFaultFault)(nil)).Elem()
 59023  }
 59024  
 59025  // A fault type indicating that network communication with an OVF consumer failed.
 59026  type OvfConsumerCommunicationError struct {
 59027  	OvfConsumerCallbackFault
 59028  
 59029  	// The network library error message.
 59030  	Description string `xml:"description" json:"description"`
 59031  }
 59032  
 59033  func init() {
 59034  	t["OvfConsumerCommunicationError"] = reflect.TypeOf((*OvfConsumerCommunicationError)(nil)).Elem()
 59035  }
 59036  
 59037  type OvfConsumerCommunicationErrorFault OvfConsumerCommunicationError
 59038  
 59039  func init() {
 59040  	t["OvfConsumerCommunicationErrorFault"] = reflect.TypeOf((*OvfConsumerCommunicationErrorFault)(nil)).Elem()
 59041  }
 59042  
 59043  // Localized fault that may be thrown by an OVF consumer.
 59044  type OvfConsumerFault struct {
 59045  	OvfConsumerCallbackFault
 59046  
 59047  	// An error code that uniquely describes the fault within this extension.
 59048  	ErrorKey string `xml:"errorKey" json:"errorKey"`
 59049  	// The error message, localized by the OVF consumer
 59050  	Message string `xml:"message" json:"message"`
 59051  	// Additional parameters for this fault
 59052  	Params []KeyValue `xml:"params,omitempty" json:"params,omitempty"`
 59053  }
 59054  
 59055  func init() {
 59056  	t["OvfConsumerFault"] = reflect.TypeOf((*OvfConsumerFault)(nil)).Elem()
 59057  }
 59058  
 59059  type OvfConsumerFaultFault OvfConsumerFault
 59060  
 59061  func init() {
 59062  	t["OvfConsumerFaultFault"] = reflect.TypeOf((*OvfConsumerFaultFault)(nil)).Elem()
 59063  }
 59064  
 59065  // A fault type indicating that the XML of a section appended by an OVF consumer was
 59066  // invalid.
 59067  type OvfConsumerInvalidSection struct {
 59068  	OvfConsumerCallbackFault
 59069  
 59070  	// The line number in the section on which the error was found.
 59071  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 59072  	// The XML parser error message.
 59073  	Description string `xml:"description" json:"description"`
 59074  }
 59075  
 59076  func init() {
 59077  	t["OvfConsumerInvalidSection"] = reflect.TypeOf((*OvfConsumerInvalidSection)(nil)).Elem()
 59078  }
 59079  
 59080  type OvfConsumerInvalidSectionFault OvfConsumerInvalidSection
 59081  
 59082  func init() {
 59083  	t["OvfConsumerInvalidSectionFault"] = reflect.TypeOf((*OvfConsumerInvalidSectionFault)(nil)).Elem()
 59084  }
 59085  
 59086  // A node in the OVF section tree.
 59087  //
 59088  // This class represents a node on which OVF sections can be defined. The possible
 59089  // node types are OstNodeType.envelope, OstNodeType.virtualSystem or
 59090  // OstNodeType.virtualSystemCollection, corresponding to the identically named OVF
 59091  // element types.
 59092  //
 59093  // Since the node contains a list of children, it can also be regarded as a tree. This
 59094  // tree mirrors the structure of the OVF descriptor. It is provided to OVF consumers
 59095  // as a more convenient way to navigate and modify the OVF than by working directly on
 59096  // the XML.
 59097  type OvfConsumerOstNode struct {
 59098  	DynamicData
 59099  
 59100  	// The OVF id of the Content (VirtualSystem or VirtualSystemCollection)
 59101  	// element.
 59102  	//
 59103  	// Empty on the envelope node.
 59104  	Id string `xml:"id" json:"id"`
 59105  	// The type of the node.
 59106  	//
 59107  	// Possible values are defined in the OstNodeType enum.
 59108  	//
 59109  	// Since the OstNode tree structure mirrors the structure of the OVF descriptor,
 59110  	// only one Envelope node is defined, and it is always the root of the tree.
 59111  	Type string `xml:"type" json:"type"`
 59112  	// The list of sections on this node.
 59113  	Section []OvfConsumerOvfSection `xml:"section,omitempty" json:"section,omitempty"`
 59114  	// The list of child nodes.
 59115  	//
 59116  	// As dictated by OVF, this list is subject to the
 59117  	// following rules:
 59118  	//   - The Envelope node must have exactly one child.
 59119  	//   - VirtualSystemCollection nodes may have zero or more children.
 59120  	//   - VirtualSystem nodes must have no children.
 59121  	Child []OvfConsumerOstNode `xml:"child,omitempty" json:"child,omitempty"`
 59122  	// The VM or vApp corresponding to this node.
 59123  	//
 59124  	// This field is set when this OstNode represents an existing managed entity.
 59125  	//
 59126  	// The entity is unset on nodes of type OstNodeType.envelope.
 59127  	//
 59128  	// Refers instance of `ManagedEntity`.
 59129  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 59130  }
 59131  
 59132  func init() {
 59133  	t["OvfConsumerOstNode"] = reflect.TypeOf((*OvfConsumerOstNode)(nil)).Elem()
 59134  }
 59135  
 59136  // A self-contained OVF section
 59137  type OvfConsumerOvfSection struct {
 59138  	DynamicData
 59139  
 59140  	// The line number in the OVF descriptor on which this section starts.
 59141  	//
 59142  	// The line number is only present on sections that were imported as part of an OVF
 59143  	// descriptor (as opposed to sections that are about to be exported to OVF).
 59144  	//
 59145  	// The value is zero if the section did not originate from an OVF descriptor.
 59146  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 59147  	// The XML fragment for the section.
 59148  	//
 59149  	// The XML fragment must explicitly define all namespaces and namespace prefixes
 59150  	// that are used in the fragment, including the default namespace.
 59151  	Xml string `xml:"xml" json:"xml"`
 59152  }
 59153  
 59154  func init() {
 59155  	t["OvfConsumerOvfSection"] = reflect.TypeOf((*OvfConsumerOvfSection)(nil)).Elem()
 59156  }
 59157  
 59158  // A fault type indicating that the power on operation failed.
 59159  type OvfConsumerPowerOnFault struct {
 59160  	InvalidState
 59161  
 59162  	// The OVF consumer's extension key.
 59163  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 59164  	// The OVF consumer's extension name.
 59165  	ExtensionName string `xml:"extensionName" json:"extensionName"`
 59166  	// A localized, human-readable description of the error.
 59167  	Description string `xml:"description" json:"description"`
 59168  }
 59169  
 59170  func init() {
 59171  	t["OvfConsumerPowerOnFault"] = reflect.TypeOf((*OvfConsumerPowerOnFault)(nil)).Elem()
 59172  }
 59173  
 59174  type OvfConsumerPowerOnFaultFault OvfConsumerPowerOnFault
 59175  
 59176  func init() {
 59177  	t["OvfConsumerPowerOnFaultFault"] = reflect.TypeOf((*OvfConsumerPowerOnFaultFault)(nil)).Elem()
 59178  }
 59179  
 59180  // A fault type indicating that an OVF consumer appended an undeclared section to an OST.
 59181  //
 59182  // An undeclared section means a section with a qualified type that the OVF consumer was
 59183  // not registered as a handler of.
 59184  type OvfConsumerUndeclaredSection struct {
 59185  	OvfConsumerCallbackFault
 59186  
 59187  	// The undeclared qualified section type appended by the OVF consumer.
 59188  	QualifiedSectionType string `xml:"qualifiedSectionType" json:"qualifiedSectionType"`
 59189  }
 59190  
 59191  func init() {
 59192  	t["OvfConsumerUndeclaredSection"] = reflect.TypeOf((*OvfConsumerUndeclaredSection)(nil)).Elem()
 59193  }
 59194  
 59195  type OvfConsumerUndeclaredSectionFault OvfConsumerUndeclaredSection
 59196  
 59197  func init() {
 59198  	t["OvfConsumerUndeclaredSectionFault"] = reflect.TypeOf((*OvfConsumerUndeclaredSectionFault)(nil)).Elem()
 59199  }
 59200  
 59201  // A fault type indicating that an OVF consumer added a section with an unbound prefix.
 59202  type OvfConsumerUndefinedPrefix struct {
 59203  	OvfConsumerCallbackFault
 59204  
 59205  	// The prefix for which no namespace definition was found.
 59206  	Prefix string `xml:"prefix" json:"prefix"`
 59207  }
 59208  
 59209  func init() {
 59210  	t["OvfConsumerUndefinedPrefix"] = reflect.TypeOf((*OvfConsumerUndefinedPrefix)(nil)).Elem()
 59211  }
 59212  
 59213  type OvfConsumerUndefinedPrefixFault OvfConsumerUndefinedPrefix
 59214  
 59215  func init() {
 59216  	t["OvfConsumerUndefinedPrefixFault"] = reflect.TypeOf((*OvfConsumerUndefinedPrefixFault)(nil)).Elem()
 59217  }
 59218  
 59219  // Thrown by an OVF consumer if an error occurred while validating an instantiation OST.
 59220  type OvfConsumerValidationFault struct {
 59221  	VmConfigFault
 59222  
 59223  	// The OVF consumer's extension key.
 59224  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 59225  	// The OVF consumer's extension name.
 59226  	ExtensionName string `xml:"extensionName" json:"extensionName"`
 59227  	// The error message, localized by the OVF consumer
 59228  	Message string `xml:"message" json:"message"`
 59229  }
 59230  
 59231  func init() {
 59232  	t["OvfConsumerValidationFault"] = reflect.TypeOf((*OvfConsumerValidationFault)(nil)).Elem()
 59233  }
 59234  
 59235  type OvfConsumerValidationFaultFault OvfConsumerValidationFault
 59236  
 59237  func init() {
 59238  	t["OvfConsumerValidationFaultFault"] = reflect.TypeOf((*OvfConsumerValidationFaultFault)(nil)).Elem()
 59239  }
 59240  
 59241  type OvfCpuCompatibility struct {
 59242  	OvfImport
 59243  
 59244  	// Possible register names are eax, ebx, ecx, or edx.
 59245  	RegisterName string `xml:"registerName" json:"registerName"`
 59246  	// The CpuId level where a problem was detected.
 59247  	//
 59248  	// Other levels may
 59249  	// also have problems
 59250  	Level int32 `xml:"level" json:"level"`
 59251  	// The register value where the problem was detected
 59252  	RegisterValue string `xml:"registerValue" json:"registerValue"`
 59253  	// The desired register value return from the host
 59254  	DesiredRegisterValue string `xml:"desiredRegisterValue" json:"desiredRegisterValue"`
 59255  }
 59256  
 59257  func init() {
 59258  	t["OvfCpuCompatibility"] = reflect.TypeOf((*OvfCpuCompatibility)(nil)).Elem()
 59259  }
 59260  
 59261  type OvfCpuCompatibilityCheckNotSupported struct {
 59262  	OvfImport
 59263  }
 59264  
 59265  func init() {
 59266  	t["OvfCpuCompatibilityCheckNotSupported"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupported)(nil)).Elem()
 59267  }
 59268  
 59269  type OvfCpuCompatibilityCheckNotSupportedFault OvfCpuCompatibilityCheckNotSupported
 59270  
 59271  func init() {
 59272  	t["OvfCpuCompatibilityCheckNotSupportedFault"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupportedFault)(nil)).Elem()
 59273  }
 59274  
 59275  type OvfCpuCompatibilityFault OvfCpuCompatibility
 59276  
 59277  func init() {
 59278  	t["OvfCpuCompatibilityFault"] = reflect.TypeOf((*OvfCpuCompatibilityFault)(nil)).Elem()
 59279  }
 59280  
 59281  // Collection of parameters for createDescriptor
 59282  type OvfCreateDescriptorParams struct {
 59283  	DynamicData
 59284  
 59285  	// Contains information about the files of the entity, if they have already been
 59286  	// downloaded.
 59287  	//
 59288  	// Needed to construct the References section of the descriptor.
 59289  	//
 59290  	// OvfFile is a positive list of files to include in the export. An Empty list
 59291  	// will do no filtering.
 59292  	OvfFiles []OvfFile `xml:"ovfFiles,omitempty" json:"ovfFiles,omitempty"`
 59293  	// The ovf:id to use for the top-level OVF Entity.
 59294  	//
 59295  	// If unset, the entity's
 59296  	// product name is used if available. Otherwise, the VI entity name is used.
 59297  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 59298  	// The contents of the Annontation section of the top-level OVF Entity.
 59299  	//
 59300  	// If unset,
 59301  	// any existing annotation on the entity is left unchanged.
 59302  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 59303  	// Controls whether attached image files should be included in the descriptor.
 59304  	//
 59305  	// This applies to image files attached to VirtualCdrom and VirtualFloppy.
 59306  	IncludeImageFiles *bool `xml:"includeImageFiles" json:"includeImageFiles,omitempty"`
 59307  	// An optional argument for modifying the export process.
 59308  	//
 59309  	// The option is used to control what extra information that will be included in the
 59310  	// OVF descriptor.
 59311  	//
 59312  	// To get a list of supported keywords see `OvfManager.ovfExportOption`. Unknown
 59313  	// options will be ignored by the server.
 59314  	ExportOption []string `xml:"exportOption,omitempty" json:"exportOption,omitempty"`
 59315  	// Snapshot reference from which the OVF descriptor should be based.
 59316  	//
 59317  	// If this parameter is set, the OVF descriptor is based off the
 59318  	// snapshot point. This means that the OVF descriptor will have the
 59319  	// same configuration as the virtual machine at the time the snapshot
 59320  	// was taken.
 59321  	//
 59322  	// The snapshot must be belong to the specified ManagedEntity in the
 59323  	// createDescriptor call.
 59324  	//
 59325  	// Refers instance of `VirtualMachineSnapshot`.
 59326  	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 59327  }
 59328  
 59329  func init() {
 59330  	t["OvfCreateDescriptorParams"] = reflect.TypeOf((*OvfCreateDescriptorParams)(nil)).Elem()
 59331  }
 59332  
 59333  // The result of creating the OVF descriptor for the entity.
 59334  type OvfCreateDescriptorResult struct {
 59335  	DynamicData
 59336  
 59337  	// The OVF descriptor for the entity.
 59338  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 59339  	// Errors that happened during processing.
 59340  	//
 59341  	// For example, unknown or unsupported devices could be found (in which case
 59342  	// this array will contain one or more instances of Unsupported-/UnknownDevice).
 59343  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 59344  	// Non-fatal warnings from the processing.
 59345  	//
 59346  	// The result will be valid, but the user may choose to reject it based on these
 59347  	// warnings.
 59348  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 59349  	// Returns true if there are ISO or Floppy images attached to one or more VMs.
 59350  	IncludeImageFiles *bool `xml:"includeImageFiles" json:"includeImageFiles,omitempty"`
 59351  }
 59352  
 59353  func init() {
 59354  	t["OvfCreateDescriptorResult"] = reflect.TypeOf((*OvfCreateDescriptorResult)(nil)).Elem()
 59355  }
 59356  
 59357  // Parameters for deploying an OVF.
 59358  type OvfCreateImportSpecParams struct {
 59359  	OvfManagerCommonParams
 59360  
 59361  	// The name to set on the entity (more precisely, on the top-level vApp or
 59362  	// VM of the entity) as it appears in VI.
 59363  	//
 59364  	// If empty, the product name is obtained
 59365  	// from the ProductSection of the descriptor. If that name is not specified, the
 59366  	// ovf:id of the top-level entity is used.
 59367  	EntityName string `xml:"entityName" json:"entityName"`
 59368  	// The host to validate the OVF descriptor against, if it cannot be deduced from
 59369  	// the resource pool.
 59370  	//
 59371  	// The privilege System.Read is required on the host.
 59372  	//
 59373  	// Refers instance of `HostSystem`.
 59374  	HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty" json:"hostSystem,omitempty"`
 59375  	// The mapping of network identifiers from the descriptor to networks in the VI
 59376  	// infrastructure.
 59377  	//
 59378  	// The privilege Network.Assign is required on all networks in the list.
 59379  	NetworkMapping []OvfNetworkMapping `xml:"networkMapping,omitempty" json:"networkMapping,omitempty"`
 59380  	// The IP allocation policy chosen by the caller.
 59381  	//
 59382  	// See `VAppIPAssignmentInfo`.
 59383  	IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty" json:"ipAllocationPolicy,omitempty"`
 59384  	// The IP protocol chosen by the caller.
 59385  	//
 59386  	// See `VAppIPAssignmentInfo`.
 59387  	IpProtocol string `xml:"ipProtocol,omitempty" json:"ipProtocol,omitempty"`
 59388  	// The assignment of values to the properties found in the descriptor.
 59389  	//
 59390  	// If no value
 59391  	// is specified for an option, the default value from the descriptor is used.
 59392  	PropertyMapping []KeyValue `xml:"propertyMapping,omitempty" json:"propertyMapping,omitempty"`
 59393  	// Deprecated as of vSphere API 5.1.
 59394  	//
 59395  	// The resource configuration for the created vApp.
 59396  	//
 59397  	// This can be used to distribute
 59398  	// a vApp across multiple resource pools (and create linked children).
 59399  	ResourceMapping []OvfResourceMap `xml:"resourceMapping,omitempty" json:"resourceMapping,omitempty"`
 59400  	// An optional disk provisioning.
 59401  	//
 59402  	// If set, all the disks in the deployed OVF will
 59403  	// have get the same specified disk type (e.g., thin provisioned).
 59404  	// The valide values for disk provisioning are:
 59405  	//   - `monolithicSparse`
 59406  	//   - `monolithicFlat`
 59407  	//   - `twoGbMaxExtentSparse`
 59408  	//   - `twoGbMaxExtentFlat`
 59409  	//   - `thin`
 59410  	//   - `thick`
 59411  	//   - `sparse`
 59412  	//   - `flat`
 59413  	//   - `seSparse`
 59414  	//
 59415  	// See also `VirtualDiskMode_enum`.
 59416  	DiskProvisioning string `xml:"diskProvisioning,omitempty" json:"diskProvisioning,omitempty"`
 59417  	// The instantiation OST to configure OVF consumers.
 59418  	//
 59419  	// This is created by the client
 59420  	// from the annotated OST. See `OvfConsumer` for details.
 59421  	InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty" json:"instantiationOst,omitempty"`
 59422  }
 59423  
 59424  func init() {
 59425  	t["OvfCreateImportSpecParams"] = reflect.TypeOf((*OvfCreateImportSpecParams)(nil)).Elem()
 59426  }
 59427  
 59428  // The CreateImportSpecResult contains all information regarding the import that can
 59429  // be extracted from the OVF descriptor.
 59430  //
 59431  // For example, this includes the list of items that the caller must upload in order
 59432  // to complete the import, but not the list of URLs to which the files must be
 59433  // uploaded. These paths are not known until the VMs have been created, ie. until
 59434  // `ResourcePool.importVApp` has been
 59435  // called.
 59436  type OvfCreateImportSpecResult struct {
 59437  	DynamicData
 59438  
 59439  	// The ImportSpec contains information about which `VirtualMachine`s
 59440  	// and `VirtualApp`s are present in the entity and
 59441  	// how they relate to each other.
 59442  	ImportSpec BaseImportSpec `xml:"importSpec,omitempty,typeattr" json:"importSpec,omitempty"`
 59443  	// The files that must be uploaded by the caller as part of importing the entity.
 59444  	//
 59445  	// The files must be uploaded in order, because some of them may be delta files
 59446  	// that patch already-uploaded files.
 59447  	FileItem []OvfFileItem `xml:"fileItem,omitempty" json:"fileItem,omitempty"`
 59448  	// Non-fatal warnings from the processing.
 59449  	//
 59450  	// The ImportSpec will be valid, but the
 59451  	// user may choose to reject it based on these warnings.
 59452  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 59453  	// Errors that happened during processing.
 59454  	//
 59455  	// Something will be wrong with the
 59456  	// ImportSpec, or it is not present.
 59457  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 59458  }
 59459  
 59460  func init() {
 59461  	t["OvfCreateImportSpecResult"] = reflect.TypeOf((*OvfCreateImportSpecResult)(nil)).Elem()
 59462  }
 59463  
 59464  // A DatastoreMapping is a choice made by the caller about which datastore to
 59465  // use for a specific disk in the OVF descriptor as specified by "ovf:diskId".
 59466  type OvfDatastoreMapping struct {
 59467  	DynamicData
 59468  
 59469  	DiskId string `xml:"diskId" json:"diskId"`
 59470  	// Refers instance of `Datastore`.
 59471  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 59472  }
 59473  
 59474  func init() {
 59475  	t["OvfDatastoreMapping"] = reflect.TypeOf((*OvfDatastoreMapping)(nil)).Elem()
 59476  	minAPIVersionForType["OvfDatastoreMapping"] = "9.0.0.0"
 59477  }
 59478  
 59479  // A deployment option as defined in the OVF specfication.
 59480  //
 59481  // This corresponds to the Configuration element of the DeploymentOptionSection in the
 59482  // specification.
 59483  type OvfDeploymentOption struct {
 59484  	DynamicData
 59485  
 59486  	// The key of the deployment option, corresponding to the ovf:id attribute in the
 59487  	// OVF descriptor
 59488  	Key string `xml:"key" json:"key"`
 59489  	// A localized label for the deployment option
 59490  	Label string `xml:"label" json:"label"`
 59491  	// A localizable description for the deployment option.
 59492  	Description string `xml:"description" json:"description"`
 59493  }
 59494  
 59495  func init() {
 59496  	t["OvfDeploymentOption"] = reflect.TypeOf((*OvfDeploymentOption)(nil)).Elem()
 59497  }
 59498  
 59499  type OvfDiskMappingNotFound struct {
 59500  	OvfSystemFault
 59501  
 59502  	// The disk name that is not found
 59503  	DiskName string `xml:"diskName" json:"diskName"`
 59504  	// The VM Name
 59505  	VmName string `xml:"vmName" json:"vmName"`
 59506  }
 59507  
 59508  func init() {
 59509  	t["OvfDiskMappingNotFound"] = reflect.TypeOf((*OvfDiskMappingNotFound)(nil)).Elem()
 59510  }
 59511  
 59512  type OvfDiskMappingNotFoundFault OvfDiskMappingNotFound
 59513  
 59514  func init() {
 59515  	t["OvfDiskMappingNotFoundFault"] = reflect.TypeOf((*OvfDiskMappingNotFoundFault)(nil)).Elem()
 59516  }
 59517  
 59518  // Class used to indicate that the Disks in a DiskSection was not defined
 59519  // in the same order as in the Reference section
 59520  type OvfDiskOrderConstraint struct {
 59521  	OvfConstraint
 59522  }
 59523  
 59524  func init() {
 59525  	t["OvfDiskOrderConstraint"] = reflect.TypeOf((*OvfDiskOrderConstraint)(nil)).Elem()
 59526  }
 59527  
 59528  type OvfDiskOrderConstraintFault OvfDiskOrderConstraint
 59529  
 59530  func init() {
 59531  	t["OvfDiskOrderConstraintFault"] = reflect.TypeOf((*OvfDiskOrderConstraintFault)(nil)).Elem()
 59532  }
 59533  
 59534  // OvfDuplicateElement is thrown if Ovf descriptor contains an invalid duplicate element.
 59535  type OvfDuplicateElement struct {
 59536  	OvfElement
 59537  }
 59538  
 59539  func init() {
 59540  	t["OvfDuplicateElement"] = reflect.TypeOf((*OvfDuplicateElement)(nil)).Elem()
 59541  }
 59542  
 59543  type OvfDuplicateElementFault OvfDuplicateElement
 59544  
 59545  func init() {
 59546  	t["OvfDuplicateElementFault"] = reflect.TypeOf((*OvfDuplicateElementFault)(nil)).Elem()
 59547  }
 59548  
 59549  // If the Ovf descriptor element have duplicated element bound.
 59550  type OvfDuplicatedElementBoundary struct {
 59551  	OvfElement
 59552  
 59553  	// Name of duplicated boundary
 59554  	Boundary string `xml:"boundary" json:"boundary"`
 59555  }
 59556  
 59557  func init() {
 59558  	t["OvfDuplicatedElementBoundary"] = reflect.TypeOf((*OvfDuplicatedElementBoundary)(nil)).Elem()
 59559  }
 59560  
 59561  type OvfDuplicatedElementBoundaryFault OvfDuplicatedElementBoundary
 59562  
 59563  func init() {
 59564  	t["OvfDuplicatedElementBoundaryFault"] = reflect.TypeOf((*OvfDuplicatedElementBoundaryFault)(nil)).Elem()
 59565  }
 59566  
 59567  // Two or more user-configurable properties are
 59568  // found with the same fully-qualified property
 59569  // name.
 59570  type OvfDuplicatedPropertyIdExport struct {
 59571  	OvfExport
 59572  
 59573  	// The fully qualified property id.
 59574  	Fqid string `xml:"fqid" json:"fqid"`
 59575  }
 59576  
 59577  func init() {
 59578  	t["OvfDuplicatedPropertyIdExport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExport)(nil)).Elem()
 59579  }
 59580  
 59581  type OvfDuplicatedPropertyIdExportFault OvfDuplicatedPropertyIdExport
 59582  
 59583  func init() {
 59584  	t["OvfDuplicatedPropertyIdExportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExportFault)(nil)).Elem()
 59585  }
 59586  
 59587  // Two or more user-configurable properties are
 59588  // found with the same fully-qualified property
 59589  // name.
 59590  type OvfDuplicatedPropertyIdImport struct {
 59591  	OvfExport
 59592  }
 59593  
 59594  func init() {
 59595  	t["OvfDuplicatedPropertyIdImport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImport)(nil)).Elem()
 59596  }
 59597  
 59598  type OvfDuplicatedPropertyIdImportFault OvfDuplicatedPropertyIdImport
 59599  
 59600  func init() {
 59601  	t["OvfDuplicatedPropertyIdImportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImportFault)(nil)).Elem()
 59602  }
 59603  
 59604  // A base fault for element exceptions in the Ovf XML descriptor.
 59605  type OvfElement struct {
 59606  	OvfInvalidPackage
 59607  
 59608  	// The name of the element
 59609  	Name string `xml:"name" json:"name"`
 59610  }
 59611  
 59612  func init() {
 59613  	t["OvfElement"] = reflect.TypeOf((*OvfElement)(nil)).Elem()
 59614  }
 59615  
 59616  type OvfElementFault BaseOvfElement
 59617  
 59618  func init() {
 59619  	t["OvfElementFault"] = reflect.TypeOf((*OvfElementFault)(nil)).Elem()
 59620  }
 59621  
 59622  // A class used if a element node is found to have an invalid value.
 59623  //
 59624  // Base class for OvfProperty errors.
 59625  type OvfElementInvalidValue struct {
 59626  	OvfElement
 59627  
 59628  	// The value of the element
 59629  	Value string `xml:"value" json:"value"`
 59630  }
 59631  
 59632  func init() {
 59633  	t["OvfElementInvalidValue"] = reflect.TypeOf((*OvfElementInvalidValue)(nil)).Elem()
 59634  }
 59635  
 59636  type OvfElementInvalidValueFault OvfElementInvalidValue
 59637  
 59638  func init() {
 59639  	t["OvfElementInvalidValueFault"] = reflect.TypeOf((*OvfElementInvalidValueFault)(nil)).Elem()
 59640  }
 59641  
 59642  // A common base class to host all the Ovf Lib Export Exceptions.
 59643  type OvfExport struct {
 59644  	OvfFault
 59645  }
 59646  
 59647  func init() {
 59648  	t["OvfExport"] = reflect.TypeOf((*OvfExport)(nil)).Elem()
 59649  }
 59650  
 59651  // This fault is used if we fail to export an OVF package.
 59652  type OvfExportFailed struct {
 59653  	OvfExport
 59654  }
 59655  
 59656  func init() {
 59657  	t["OvfExportFailed"] = reflect.TypeOf((*OvfExportFailed)(nil)).Elem()
 59658  }
 59659  
 59660  type OvfExportFailedFault OvfExportFailed
 59661  
 59662  func init() {
 59663  	t["OvfExportFailedFault"] = reflect.TypeOf((*OvfExportFailedFault)(nil)).Elem()
 59664  }
 59665  
 59666  type OvfExportFault BaseOvfExport
 59667  
 59668  func init() {
 59669  	t["OvfExportFault"] = reflect.TypeOf((*OvfExportFault)(nil)).Elem()
 59670  }
 59671  
 59672  // A common base type fault for all Ovf related faults.
 59673  //
 59674  // The structure of OvfFault is as listed.
 59675  //   - OvfFault
 59676  //   - OvfInvalidPackage
 59677  //   - OvfXmlFormat
 59678  //   - OvfWrongNamespace
 59679  //   - OvfElement
 59680  //   - OvfElementInvalidValue
 59681  //   - OvfUnexpectedElement
 59682  //   - OvfDuplicateElement
 59683  //   - OvfMissingElement
 59684  //   - OvfMissingElementNormalBoundary
 59685  //   - OvfDuplicatedElementBoundary
 59686  //   - OvfAttribute
 59687  //   - OvfMissingAttribute
 59688  //   - OvfInvalidValue
 59689  //   - OvfInvalidValueFormatMalformed
 59690  //   - OvfInvalidValueConfiguration
 59691  //   - OvfInvalidValueReference
 59692  //   - OvfInvalidValueEmpty
 59693  //   - OvfProperty
 59694  //   - OvfPropertyType
 59695  //   - OvfPropertyValue
 59696  //   - OvfPropertyNetwork
 59697  //   - OvfPropertyQualifier
 59698  //   - OvfPropertyQualifierWarning
 59699  //   - OvfConstraint
 59700  //   - OvfDiskOrderConstraint
 59701  //   - OvfHostResourceConstraint
 59702  //   - OvfUnsupportedPackage
 59703  //   - OvfNoHostNic
 59704  //   - OvfInvalidVmName
 59705  //   - OvfUnsupportedAttribute
 59706  //   - OvfUnsupportedAttributeValue
 59707  //   - OvfUnsupportedElement
 59708  //   - OvfUnsupportedElementValue
 59709  //   - OvfUnsupportedSection
 59710  //   - OvfNoSpaceOnController
 59711  //   - OvfUnsupportedType
 59712  //   - OvfUnsupportedSubType
 59713  //   - OvfHardwareCheck
 59714  //   - OvfNoSupportedHardwareFamily
 59715  //   - OvfExport
 59716  //   - OvfExportFailed
 59717  //   - OvfHardwareExport
 59718  //   - OvfUnsupportedDeviceExport
 59719  //   - OvfUnknownDeviceBacking
 59720  //   - OvfConnectedDevice
 59721  //   - OvfConnectedDeviceISO
 59722  //   - OvfUnableToExportDisk
 59723  //   - OvfPropertyExport
 59724  //   - OvfPropertyNetworkExport
 59725  //   - OvfDuplicatedPropertyIdExport
 59726  //   - OvfImport (these are typically returned as warnings)
 59727  //   - OvfImportFailed
 59728  //   - OvfHardwareCheck
 59729  //   - OvfMissingHardware
 59730  //   - OvfCpuCompatibility
 59731  //   - OvfCpuCompatibilityCheckNotSupported
 59732  //   - OvfUnsupportedDiskProvisioning
 59733  //   - OvfDuplicatedPropertyIdImport
 59734  //   - OvfNetworkMappingNotSupported
 59735  //   - OvfSystemFault
 59736  //   - OvfDiskMappingNotFound
 59737  //   - OvfHostValueNotParsed
 59738  //   - OvfInternalError
 59739  //   - OvfUnsupportedDeviceBackingOption
 59740  //   - OvfUnsupportedDeviceBackingInfo
 59741  //   - OvfToXmlUnsupportedElement
 59742  //   - OvfUnknownDevice
 59743  //   - OvfUnknownEntity
 59744  //   - OvfConsumerCallbackFault
 59745  //   - OvfConsumerFault
 59746  //   - OvfConsumerCommunicationError
 59747  //   - OvfConsumerInvalidSection
 59748  //   - OvfConsumerUndeclaredSection
 59749  //   - OvfConsumerUndefinedPrefix
 59750  //
 59751  // All messages go into the vimlocale
 59752  type OvfFault struct {
 59753  	VimFault
 59754  }
 59755  
 59756  func init() {
 59757  	t["OvfFault"] = reflect.TypeOf((*OvfFault)(nil)).Elem()
 59758  }
 59759  
 59760  type OvfFaultFault BaseOvfFault
 59761  
 59762  func init() {
 59763  	t["OvfFaultFault"] = reflect.TypeOf((*OvfFaultFault)(nil)).Elem()
 59764  }
 59765  
 59766  // Represents a file that the caller has downloaded and stored somewhere appropriate.
 59767  //
 59768  // An instance of this class is used to tell OvfManager about the choices the caller
 59769  // made about a file. This information is needed when the OVF descriptor is generated
 59770  // with createDescriptor.
 59771  type OvfFile struct {
 59772  	DynamicData
 59773  
 59774  	// The ID of the device backed by this file.
 59775  	//
 59776  	// This ID uniquely identifies the
 59777  	// device within the entity hierarchy.
 59778  	//
 59779  	// The caller will have received this along with the URL needed to download the
 59780  	// file (this is handled by another service interface).
 59781  	DeviceId string `xml:"deviceId" json:"deviceId"`
 59782  	// The path chosen by the caller for this file.
 59783  	//
 59784  	// This path becomes the value of the
 59785  	// "href" attribute of the corresponding "File" element in the OVF descriptor.
 59786  	//
 59787  	// This path must be relative to the path chosen for the OVF descriptor. This
 59788  	// implies that the caller must decide in advance on the path to which it will
 59789  	// write the OVF descriptor, once it is returned.
 59790  	//
 59791  	// The folder separator must be "/" (forward slash).
 59792  	//
 59793  	// The path must not begin with a slash - ie. it must not be an absolute path.
 59794  	Path string `xml:"path" json:"path"`
 59795  	// The compression method the caller chose to employ for this file.
 59796  	CompressionMethod string `xml:"compressionMethod,omitempty" json:"compressionMethod,omitempty"`
 59797  	// The chunksize chosen by the caller.
 59798  	//
 59799  	// When using chunking, the caller must adhere to the method described in the OVF
 59800  	// specification.
 59801  	ChunkSize int64 `xml:"chunkSize,omitempty" json:"chunkSize,omitempty"`
 59802  	// The file size, as observed by the caller during download.
 59803  	Size int64 `xml:"size" json:"size"`
 59804  	// The capacity of the disk backed by this file.
 59805  	//
 59806  	// This should only be set if the
 59807  	// device backed by this file is a disk. This value will be written in the
 59808  	// "capacity" attribute of the corresponding "Disk" element in the OVF descriptor.
 59809  	//
 59810  	// Note that the "capacity" attribute is normally set to the capacity of the
 59811  	// corresponding `VirtualDisk`. Setting this variable
 59812  	// overrides the capacity from the VirtualDisk.
 59813  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 59814  	// The populated size of the disk backed by this file.
 59815  	//
 59816  	// This should only be set if
 59817  	// the device backed by this file is a disk. This value will be written in the
 59818  	// "populatedSize" attribute of the corresponding "Disk" element in the OVF
 59819  	// descriptor.
 59820  	PopulatedSize int64 `xml:"populatedSize,omitempty" json:"populatedSize,omitempty"`
 59821  }
 59822  
 59823  func init() {
 59824  	t["OvfFile"] = reflect.TypeOf((*OvfFile)(nil)).Elem()
 59825  }
 59826  
 59827  // An FileItem represents a file that must be uploaded by the caller when the
 59828  // inventory objects has been created in VI.
 59829  //
 59830  // These objects are created by `ResourcePool.importVApp`.
 59831  //
 59832  // Files can either be new files, in which case the "create" flag will be true, or
 59833  // updates to existing files in VI. The latter is used to support the OVF parentRef
 59834  // mechanism for Disks.
 59835  type OvfFileItem struct {
 59836  	DynamicData
 59837  
 59838  	// Uniquely identifies the device (disk, CD-ROM etc.) within the entity hierarchy.
 59839  	//
 59840  	// When `ResourcePool.importVApp` is
 59841  	// called to create the `VirtualMachine`s and `VirtualApp`s, it returns a map,
 59842  	// device ID -&gt; URL, of where to upload the backing files.
 59843  	DeviceId string `xml:"deviceId" json:"deviceId"`
 59844  	// The path of the item to upload, relative to the path of the OVF descriptor.
 59845  	Path string `xml:"path" json:"path"`
 59846  	// The compression method as specified by the OVF
 59847  	// specification (for example "gzip" or "bzip2").
 59848  	CompressionMethod string `xml:"compressionMethod,omitempty" json:"compressionMethod,omitempty"`
 59849  	// The chunksize as specified by the OVF specification.
 59850  	//
 59851  	// If this attribute is set, the "path" attribute is a prefix to
 59852  	// each chunk of the complete file.
 59853  	// For example, if chunksize is 2000000000 bytes, the actual files
 59854  	// might be:
 59855  	// myfile.000000000 (2000000000 bytes)
 59856  	// myfile.000000001 (2000000000 bytes)
 59857  	// myfile.000000002 (1500000000 bytes)
 59858  	ChunkSize int64 `xml:"chunkSize,omitempty" json:"chunkSize,omitempty"`
 59859  	// The complete size of the file, if it is specified in the
 59860  	// OVF descriptor.
 59861  	Size int64 `xml:"size,omitempty" json:"size,omitempty"`
 59862  	// The CIM type of the device for which this file provides
 59863  	// backing.
 59864  	//
 59865  	// For example, the value 17 means "Disk drive".
 59866  	CimType int32 `xml:"cimType" json:"cimType"`
 59867  	// True if the item is not expected to exist in the infrastructure
 59868  	// and should therefore be created by the caller (for example using HTTP PUT).
 59869  	Create bool `xml:"create" json:"create"`
 59870  }
 59871  
 59872  func init() {
 59873  	t["OvfFileItem"] = reflect.TypeOf((*OvfFileItem)(nil)).Elem()
 59874  }
 59875  
 59876  type OvfHardwareCheck struct {
 59877  	OvfImport
 59878  }
 59879  
 59880  func init() {
 59881  	t["OvfHardwareCheck"] = reflect.TypeOf((*OvfHardwareCheck)(nil)).Elem()
 59882  }
 59883  
 59884  type OvfHardwareCheckFault OvfHardwareCheck
 59885  
 59886  func init() {
 59887  	t["OvfHardwareCheckFault"] = reflect.TypeOf((*OvfHardwareCheckFault)(nil)).Elem()
 59888  }
 59889  
 59890  // A common base class to host all the OvfLib Export Exceptions for hardware.
 59891  type OvfHardwareExport struct {
 59892  	OvfExport
 59893  
 59894  	// The virtual device we are exporting to OVF
 59895  	Device BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
 59896  	// The path to the VM containing the device.
 59897  	//
 59898  	// This path shows the location of the VM in the vApp hierarchy, on the form:
 59899  	//
 59900  	// /ParentVApp/ChildVApp/VMName
 59901  	VmPath string `xml:"vmPath" json:"vmPath"`
 59902  }
 59903  
 59904  func init() {
 59905  	t["OvfHardwareExport"] = reflect.TypeOf((*OvfHardwareExport)(nil)).Elem()
 59906  }
 59907  
 59908  type OvfHardwareExportFault BaseOvfHardwareExport
 59909  
 59910  func init() {
 59911  	t["OvfHardwareExportFault"] = reflect.TypeOf((*OvfHardwareExportFault)(nil)).Elem()
 59912  }
 59913  
 59914  // Class used to indicate that the value in HostResoruce did not map to
 59915  // a valid reference element.
 59916  type OvfHostResourceConstraint struct {
 59917  	OvfConstraint
 59918  
 59919  	// Value of the element
 59920  	Value string `xml:"value" json:"value"`
 59921  }
 59922  
 59923  func init() {
 59924  	t["OvfHostResourceConstraint"] = reflect.TypeOf((*OvfHostResourceConstraint)(nil)).Elem()
 59925  }
 59926  
 59927  type OvfHostResourceConstraintFault OvfHostResourceConstraint
 59928  
 59929  func init() {
 59930  	t["OvfHostResourceConstraintFault"] = reflect.TypeOf((*OvfHostResourceConstraintFault)(nil)).Elem()
 59931  }
 59932  
 59933  type OvfHostValueNotParsed struct {
 59934  	OvfSystemFault
 59935  
 59936  	// The host property field that could not be parsed.
 59937  	Property string `xml:"property" json:"property"`
 59938  	// Value of the field that could not be parsed.
 59939  	Value string `xml:"value" json:"value"`
 59940  }
 59941  
 59942  func init() {
 59943  	t["OvfHostValueNotParsed"] = reflect.TypeOf((*OvfHostValueNotParsed)(nil)).Elem()
 59944  }
 59945  
 59946  type OvfHostValueNotParsedFault OvfHostValueNotParsed
 59947  
 59948  func init() {
 59949  	t["OvfHostValueNotParsedFault"] = reflect.TypeOf((*OvfHostValueNotParsedFault)(nil)).Elem()
 59950  }
 59951  
 59952  // A common base class for errors that can happen during Import and
 59953  // that is not due to an invalid package (OvfInvalidPackage).
 59954  //
 59955  // These
 59956  // are typically issued as warnings.
 59957  type OvfImport struct {
 59958  	OvfFault
 59959  }
 59960  
 59961  func init() {
 59962  	t["OvfImport"] = reflect.TypeOf((*OvfImport)(nil)).Elem()
 59963  }
 59964  
 59965  // This fault is used if we fail to deploy an OVF package.
 59966  type OvfImportFailed struct {
 59967  	OvfImport
 59968  }
 59969  
 59970  func init() {
 59971  	t["OvfImportFailed"] = reflect.TypeOf((*OvfImportFailed)(nil)).Elem()
 59972  }
 59973  
 59974  type OvfImportFailedFault OvfImportFailed
 59975  
 59976  func init() {
 59977  	t["OvfImportFailedFault"] = reflect.TypeOf((*OvfImportFailedFault)(nil)).Elem()
 59978  }
 59979  
 59980  type OvfImportFault BaseOvfImport
 59981  
 59982  func init() {
 59983  	t["OvfImportFault"] = reflect.TypeOf((*OvfImportFault)(nil)).Elem()
 59984  }
 59985  
 59986  // Custom parameters used while deploying an OVF.
 59987  type OvfImportParams struct {
 59988  	OvfCreateImportSpecParams
 59989  
 59990  	// Use Push mode for transferring VM files to ESX.
 59991  	//
 59992  	// Push mode transfers
 59993  	// files from client to ESXi, whereas in Pull mode ESX "pulls" the files
 59994  	// directly from source. This flag only applies to vCenter as ESXi
 59995  	// can only pull directly if `OvfManager.DeployVm_Task` is invoked
 59996  	// on ESX itself.
 59997  	// See (@link vim.HttpNfcLease#pullFromUrls) for more on Pull mode.
 59998  	// The default/Default: false
 59999  	PushMode *bool `xml:"pushMode" json:"pushMode,omitempty"`
 60000  	// Require that the OVF package has a signed certificate and manifest
 60001  	// and both match.
 60002  	//
 60003  	// See also manifest validation.
 60004  	// Default is false.
 60005  	SignatureRequired *bool `xml:"signatureRequired" json:"signatureRequired,omitempty"`
 60006  	// If a manifest file is present in the OVF package the format is checked.
 60007  	//
 60008  	// Also all file SHA entries are validated against SHA of read files. If
 60009  	// value is true and manifest file is present a warning is generated.
 60010  	// Default is false.
 60011  	SkipManifestCheck *bool `xml:"skipManifestCheck" json:"skipManifestCheck,omitempty"`
 60012  	// Whether to power on the deployed entity.
 60013  	//
 60014  	// Note for ESX and Virtual Machine deployment: In order to customize
 60015  	// GuestOS on a deployed Virtual Machine we require that the
 60016  	// powerOn flag must be true. GuestOS customization happens
 60017  	// after VM is powered On and then reconfigured. vCenter does not
 60018  	// require a powerOn and reconfigure to customize GuestOS as it
 60019  	// stores all OVF properties as VApp properties and pushes them to
 60020  	// GuestOS upon powerOn for consumption.
 60021  	// Default is false.
 60022  	PowerOn *bool `xml:"powerOn" json:"powerOn,omitempty"`
 60023  	// For the case when remote server requires authentication or any other
 60024  	// type of custom HTTP headers be provided with the request.
 60025  	CustomHttpHeaders []KeyValue `xml:"customHttpHeaders,omitempty" json:"customHttpHeaders,omitempty"`
 60026  	// Optionally used for source validation.
 60027  	//
 60028  	// The source server certificate
 60029  	// in PEM format.
 60030  	SourceCertificate string `xml:"sourceCertificate,omitempty" json:"sourceCertificate,omitempty"`
 60031  	// The optional datastore mapping(s).
 60032  	DatastoreMappings []OvfDatastoreMapping `xml:"datastoreMappings,omitempty" json:"datastoreMappings,omitempty"`
 60033  	// The optional Storage Profile Id for VM's home.
 60034  	VmProfile string `xml:"vmProfile,omitempty" json:"vmProfile,omitempty"`
 60035  	// The optional Storage Profile mapping(s).
 60036  	DiskProfiles []OvfStorageProfileMapping `xml:"diskProfiles,omitempty" json:"diskProfiles,omitempty"`
 60037  }
 60038  
 60039  func init() {
 60040  	t["OvfImportParams"] = reflect.TypeOf((*OvfImportParams)(nil)).Elem()
 60041  	minAPIVersionForType["OvfImportParams"] = "9.0.0.0"
 60042  }
 60043  
 60044  // Disk mode not supported
 60045  type OvfInternalError struct {
 60046  	OvfSystemFault
 60047  }
 60048  
 60049  func init() {
 60050  	t["OvfInternalError"] = reflect.TypeOf((*OvfInternalError)(nil)).Elem()
 60051  }
 60052  
 60053  type OvfInternalErrorFault OvfInternalError
 60054  
 60055  func init() {
 60056  	t["OvfInternalErrorFault"] = reflect.TypeOf((*OvfInternalErrorFault)(nil)).Elem()
 60057  }
 60058  
 60059  // Base fault class for all Invalid OVF package faults.
 60060  type OvfInvalidPackage struct {
 60061  	OvfFault
 60062  
 60063  	// XML OVF descriptor line numbers
 60064  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 60065  }
 60066  
 60067  func init() {
 60068  	t["OvfInvalidPackage"] = reflect.TypeOf((*OvfInvalidPackage)(nil)).Elem()
 60069  }
 60070  
 60071  type OvfInvalidPackageFault BaseOvfInvalidPackage
 60072  
 60073  func init() {
 60074  	t["OvfInvalidPackageFault"] = reflect.TypeOf((*OvfInvalidPackageFault)(nil)).Elem()
 60075  }
 60076  
 60077  // If an invalid value is found in the Ovf descriptor we throw an OvfInvalidValue exception.
 60078  type OvfInvalidValue struct {
 60079  	OvfAttribute
 60080  
 60081  	// Attribute value
 60082  	Value string `xml:"value" json:"value"`
 60083  }
 60084  
 60085  func init() {
 60086  	t["OvfInvalidValue"] = reflect.TypeOf((*OvfInvalidValue)(nil)).Elem()
 60087  }
 60088  
 60089  // If an malformed ovf:configuration attribute value is found in the
 60090  // Ovf descriptor we throw an OvfInvalidValueConfiguration exception.
 60091  type OvfInvalidValueConfiguration struct {
 60092  	OvfInvalidValue
 60093  }
 60094  
 60095  func init() {
 60096  	t["OvfInvalidValueConfiguration"] = reflect.TypeOf((*OvfInvalidValueConfiguration)(nil)).Elem()
 60097  }
 60098  
 60099  type OvfInvalidValueConfigurationFault OvfInvalidValueConfiguration
 60100  
 60101  func init() {
 60102  	t["OvfInvalidValueConfigurationFault"] = reflect.TypeOf((*OvfInvalidValueConfigurationFault)(nil)).Elem()
 60103  }
 60104  
 60105  // If an attribute is found with an empty value where it is not allowed.
 60106  type OvfInvalidValueEmpty struct {
 60107  	OvfInvalidValue
 60108  }
 60109  
 60110  func init() {
 60111  	t["OvfInvalidValueEmpty"] = reflect.TypeOf((*OvfInvalidValueEmpty)(nil)).Elem()
 60112  }
 60113  
 60114  type OvfInvalidValueEmptyFault OvfInvalidValueEmpty
 60115  
 60116  func init() {
 60117  	t["OvfInvalidValueEmptyFault"] = reflect.TypeOf((*OvfInvalidValueEmptyFault)(nil)).Elem()
 60118  }
 60119  
 60120  type OvfInvalidValueFault BaseOvfInvalidValue
 60121  
 60122  func init() {
 60123  	t["OvfInvalidValueFault"] = reflect.TypeOf((*OvfInvalidValueFault)(nil)).Elem()
 60124  }
 60125  
 60126  // If an malformed value is found in the Ovf descriptor we throw an OvfInvalidValueFormatMalformed
 60127  // exception.
 60128  type OvfInvalidValueFormatMalformed struct {
 60129  	OvfInvalidValue
 60130  }
 60131  
 60132  func init() {
 60133  	t["OvfInvalidValueFormatMalformed"] = reflect.TypeOf((*OvfInvalidValueFormatMalformed)(nil)).Elem()
 60134  }
 60135  
 60136  type OvfInvalidValueFormatMalformedFault OvfInvalidValueFormatMalformed
 60137  
 60138  func init() {
 60139  	t["OvfInvalidValueFormatMalformedFault"] = reflect.TypeOf((*OvfInvalidValueFormatMalformedFault)(nil)).Elem()
 60140  }
 60141  
 60142  // If a value refer to something that is not found is found in the Ovf descriptor
 60143  // we throw an OvfInvalidValueReference exception.
 60144  type OvfInvalidValueReference struct {
 60145  	OvfInvalidValue
 60146  }
 60147  
 60148  func init() {
 60149  	t["OvfInvalidValueReference"] = reflect.TypeOf((*OvfInvalidValueReference)(nil)).Elem()
 60150  }
 60151  
 60152  type OvfInvalidValueReferenceFault OvfInvalidValueReference
 60153  
 60154  func init() {
 60155  	t["OvfInvalidValueReferenceFault"] = reflect.TypeOf((*OvfInvalidValueReferenceFault)(nil)).Elem()
 60156  }
 60157  
 60158  // This fault is used if we can not normalize the vm name
 60159  type OvfInvalidVmName struct {
 60160  	OvfUnsupportedPackage
 60161  
 60162  	// The name of the invalid Virtual Machine
 60163  	Name string `xml:"name" json:"name"`
 60164  }
 60165  
 60166  func init() {
 60167  	t["OvfInvalidVmName"] = reflect.TypeOf((*OvfInvalidVmName)(nil)).Elem()
 60168  }
 60169  
 60170  type OvfInvalidVmNameFault OvfInvalidVmName
 60171  
 60172  func init() {
 60173  	t["OvfInvalidVmNameFault"] = reflect.TypeOf((*OvfInvalidVmNameFault)(nil)).Elem()
 60174  }
 60175  
 60176  // A common super-class for basic OVF descriptor parameters
 60177  type OvfManagerCommonParams struct {
 60178  	DynamicData
 60179  
 60180  	// The locale-identifier to choose from the descriptor.
 60181  	//
 60182  	// If empty, the
 60183  	// default locale on the server is used.
 60184  	Locale string `xml:"locale" json:"locale"`
 60185  	// The key of the chosen deployment option.
 60186  	//
 60187  	// If empty, the default option is
 60188  	// chosen. The list of possible deployment options is returned in the result of
 60189  	// parseDescriptor.
 60190  	DeploymentOption string `xml:"deploymentOption" json:"deploymentOption"`
 60191  	// An optional set of localization strings to be used.
 60192  	//
 60193  	// The server will use
 60194  	// these message strings to localize information in the result and in
 60195  	// error and warning messages.
 60196  	//
 60197  	// This argument allows a client to pass messages from external
 60198  	// string bundles. The client is responsible for selecting the right string
 60199  	// bundle (based on locale) and parsing the external string bundle. The
 60200  	// passed in key/value pairs are looked up before any messages
 60201  	// included in the OVF descriptor itself.
 60202  	MsgBundle []KeyValue `xml:"msgBundle,omitempty" json:"msgBundle,omitempty"`
 60203  	// An optional argument for modifing the OVF parsing.
 60204  	//
 60205  	// When the server parses an OVF
 60206  	// descriptor a set of options can be used to modify the parsing. The argument is a list
 60207  	// of keywords.
 60208  	//
 60209  	// To get a list of supported keywords see `OvfManager.ovfImportOption`. Unknown
 60210  	// options will be ignored by the server.
 60211  	ImportOption []string `xml:"importOption,omitempty" json:"importOption,omitempty"`
 60212  }
 60213  
 60214  func init() {
 60215  	t["OvfManagerCommonParams"] = reflect.TypeOf((*OvfManagerCommonParams)(nil)).Elem()
 60216  }
 60217  
 60218  type OvfMappedOsId struct {
 60219  	OvfImport
 60220  
 60221  	// The operating system id specified in the OVF descriptor.
 60222  	OvfId int32 `xml:"ovfId" json:"ovfId"`
 60223  	// The OS description specified in the OVF descriptor.
 60224  	OvfDescription string `xml:"ovfDescription" json:"ovfDescription"`
 60225  	// The display name of the target OS
 60226  	TargetDescription string `xml:"targetDescription" json:"targetDescription"`
 60227  }
 60228  
 60229  func init() {
 60230  	t["OvfMappedOsId"] = reflect.TypeOf((*OvfMappedOsId)(nil)).Elem()
 60231  }
 60232  
 60233  type OvfMappedOsIdFault OvfMappedOsId
 60234  
 60235  func init() {
 60236  	t["OvfMappedOsIdFault"] = reflect.TypeOf((*OvfMappedOsIdFault)(nil)).Elem()
 60237  }
 60238  
 60239  // If the Ovf descriptor is missing an attribute this exception is thrown.
 60240  type OvfMissingAttribute struct {
 60241  	OvfAttribute
 60242  }
 60243  
 60244  func init() {
 60245  	t["OvfMissingAttribute"] = reflect.TypeOf((*OvfMissingAttribute)(nil)).Elem()
 60246  }
 60247  
 60248  type OvfMissingAttributeFault OvfMissingAttribute
 60249  
 60250  func init() {
 60251  	t["OvfMissingAttributeFault"] = reflect.TypeOf((*OvfMissingAttributeFault)(nil)).Elem()
 60252  }
 60253  
 60254  // If the Ovf descriptor is missing an Element this exception is thrown.
 60255  type OvfMissingElement struct {
 60256  	OvfElement
 60257  }
 60258  
 60259  func init() {
 60260  	t["OvfMissingElement"] = reflect.TypeOf((*OvfMissingElement)(nil)).Elem()
 60261  }
 60262  
 60263  type OvfMissingElementFault BaseOvfMissingElement
 60264  
 60265  func init() {
 60266  	t["OvfMissingElementFault"] = reflect.TypeOf((*OvfMissingElementFault)(nil)).Elem()
 60267  }
 60268  
 60269  // If the Ovf descriptor element normal boundary is not met this exception is thrown.
 60270  type OvfMissingElementNormalBoundary struct {
 60271  	OvfMissingElement
 60272  
 60273  	// The missing bound
 60274  	Boundary string `xml:"boundary" json:"boundary"`
 60275  }
 60276  
 60277  func init() {
 60278  	t["OvfMissingElementNormalBoundary"] = reflect.TypeOf((*OvfMissingElementNormalBoundary)(nil)).Elem()
 60279  }
 60280  
 60281  type OvfMissingElementNormalBoundaryFault OvfMissingElementNormalBoundary
 60282  
 60283  func init() {
 60284  	t["OvfMissingElementNormalBoundaryFault"] = reflect.TypeOf((*OvfMissingElementNormalBoundaryFault)(nil)).Elem()
 60285  }
 60286  
 60287  // The OVF descriptor does not have a description of
 60288  // a required hardware element e.g CPU, Memory
 60289  type OvfMissingHardware struct {
 60290  	OvfImport
 60291  
 60292  	// Name of the missing hardware.
 60293  	Name string `xml:"name" json:"name"`
 60294  	// OVF rasd resource type of the missing hardware.
 60295  	ResourceType int32 `xml:"resourceType" json:"resourceType"`
 60296  }
 60297  
 60298  func init() {
 60299  	t["OvfMissingHardware"] = reflect.TypeOf((*OvfMissingHardware)(nil)).Elem()
 60300  }
 60301  
 60302  type OvfMissingHardwareFault OvfMissingHardware
 60303  
 60304  func init() {
 60305  	t["OvfMissingHardwareFault"] = reflect.TypeOf((*OvfMissingHardwareFault)(nil)).Elem()
 60306  }
 60307  
 60308  // The name and description of a network as specified by the OVF descriptor.
 60309  type OvfNetworkInfo struct {
 60310  	DynamicData
 60311  
 60312  	Name        string `xml:"name" json:"name"`
 60313  	Description string `xml:"description" json:"description"`
 60314  }
 60315  
 60316  func init() {
 60317  	t["OvfNetworkInfo"] = reflect.TypeOf((*OvfNetworkInfo)(nil)).Elem()
 60318  }
 60319  
 60320  // A NetworkMapping is a choice made by the caller about which VI network to use for a
 60321  // specific network in the OVF descriptor.
 60322  type OvfNetworkMapping struct {
 60323  	DynamicData
 60324  
 60325  	Name string `xml:"name" json:"name"`
 60326  	// Refers instance of `Network`.
 60327  	Network ManagedObjectReference `xml:"network" json:"network"`
 60328  }
 60329  
 60330  func init() {
 60331  	t["OvfNetworkMapping"] = reflect.TypeOf((*OvfNetworkMapping)(nil)).Elem()
 60332  }
 60333  
 60334  // The network mapping provided for OVF Import
 60335  // is not supported by any hosts
 60336  type OvfNetworkMappingNotSupported struct {
 60337  	OvfImport
 60338  }
 60339  
 60340  func init() {
 60341  	t["OvfNetworkMappingNotSupported"] = reflect.TypeOf((*OvfNetworkMappingNotSupported)(nil)).Elem()
 60342  }
 60343  
 60344  type OvfNetworkMappingNotSupportedFault OvfNetworkMappingNotSupported
 60345  
 60346  func init() {
 60347  	t["OvfNetworkMappingNotSupportedFault"] = reflect.TypeOf((*OvfNetworkMappingNotSupportedFault)(nil)).Elem()
 60348  }
 60349  
 60350  // This fault is used if there is no network defined on host
 60351  type OvfNoHostNic struct {
 60352  	OvfUnsupportedPackage
 60353  }
 60354  
 60355  func init() {
 60356  	t["OvfNoHostNic"] = reflect.TypeOf((*OvfNoHostNic)(nil)).Elem()
 60357  }
 60358  
 60359  type OvfNoHostNicFault OvfNoHostNic
 60360  
 60361  func init() {
 60362  	t["OvfNoHostNicFault"] = reflect.TypeOf((*OvfNoHostNicFault)(nil)).Elem()
 60363  }
 60364  
 60365  // If the hardware element (RASD) point to a parent controller where there is no
 60366  // space left.
 60367  type OvfNoSpaceOnController struct {
 60368  	OvfUnsupportedElement
 60369  
 60370  	// The parent reference
 60371  	Parent string `xml:"parent" json:"parent"`
 60372  }
 60373  
 60374  func init() {
 60375  	t["OvfNoSpaceOnController"] = reflect.TypeOf((*OvfNoSpaceOnController)(nil)).Elem()
 60376  }
 60377  
 60378  type OvfNoSpaceOnControllerFault OvfNoSpaceOnController
 60379  
 60380  func init() {
 60381  	t["OvfNoSpaceOnControllerFault"] = reflect.TypeOf((*OvfNoSpaceOnControllerFault)(nil)).Elem()
 60382  }
 60383  
 60384  type OvfNoSupportedHardwareFamily struct {
 60385  	OvfUnsupportedPackage
 60386  
 60387  	// Version found that was not supported
 60388  	Version string `xml:"version" json:"version"`
 60389  }
 60390  
 60391  func init() {
 60392  	t["OvfNoSupportedHardwareFamily"] = reflect.TypeOf((*OvfNoSupportedHardwareFamily)(nil)).Elem()
 60393  }
 60394  
 60395  type OvfNoSupportedHardwareFamilyFault OvfNoSupportedHardwareFamily
 60396  
 60397  func init() {
 60398  	t["OvfNoSupportedHardwareFamilyFault"] = reflect.TypeOf((*OvfNoSupportedHardwareFamilyFault)(nil)).Elem()
 60399  }
 60400  
 60401  // Represents the OVF options the server support for import and export of
 60402  // OVFs
 60403  type OvfOptionInfo struct {
 60404  	DynamicData
 60405  
 60406  	// The name of the OVF option that is supported by the server
 60407  	Option string `xml:"option" json:"option"`
 60408  	// A description of the OVF option
 60409  	Description LocalizableMessage `xml:"description" json:"description"`
 60410  }
 60411  
 60412  func init() {
 60413  	t["OvfOptionInfo"] = reflect.TypeOf((*OvfOptionInfo)(nil)).Elem()
 60414  }
 60415  
 60416  type OvfParseDescriptorParams struct {
 60417  	OvfManagerCommonParams
 60418  }
 60419  
 60420  func init() {
 60421  	t["OvfParseDescriptorParams"] = reflect.TypeOf((*OvfParseDescriptorParams)(nil)).Elem()
 60422  }
 60423  
 60424  type OvfParseDescriptorResult struct {
 60425  	DynamicData
 60426  
 60427  	// The list of all EULAs contained in the OVF
 60428  	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
 60429  	// The list of networks required by the OVF
 60430  	Network []OvfNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
 60431  	// The kind of IP allocation supported by the guest.
 60432  	//
 60433  	// See `VAppIPAssignmentInfo`.
 60434  	IpAllocationScheme []string `xml:"ipAllocationScheme,omitempty" json:"ipAllocationScheme,omitempty"`
 60435  	// The IP protocols supported by the guest.
 60436  	//
 60437  	// See `VAppIPAssignmentInfo`.
 60438  	IpProtocols []string `xml:"ipProtocols,omitempty" json:"ipProtocols,omitempty"`
 60439  	// Metadata about the properties contained in the OVF
 60440  	Property []VAppPropertyInfo `xml:"property,omitempty" json:"property,omitempty"`
 60441  	// The product info contained in the OVF
 60442  	ProductInfo *VAppProductInfo `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 60443  	// The annotation info contained in the OVF
 60444  	Annotation string `xml:"annotation" json:"annotation"`
 60445  	// The OVF Manager's best guess as to the total amount
 60446  	// of data that must be transferred to download the entity.
 60447  	//
 60448  	// This may be inaccurate due to disk compression etc.
 60449  	ApproximateDownloadSize int64 `xml:"approximateDownloadSize,omitempty" json:"approximateDownloadSize,omitempty"`
 60450  	// The OVF Manager's best guess as to the total amount of space required to deploy
 60451  	// the entity if using flat disks.
 60452  	ApproximateFlatDeploymentSize int64 `xml:"approximateFlatDeploymentSize,omitempty" json:"approximateFlatDeploymentSize,omitempty"`
 60453  	// The OVF Manager's best guess as to the total amount of space required to deploy
 60454  	// the entity using sparse disks.
 60455  	ApproximateSparseDeploymentSize int64 `xml:"approximateSparseDeploymentSize,omitempty" json:"approximateSparseDeploymentSize,omitempty"`
 60456  	// The default name to use for the entity, if a product name is not
 60457  	// specified.
 60458  	//
 60459  	// This is the ID of the OVF top-level entity, or taken from a
 60460  	// ProductSection.
 60461  	DefaultEntityName string `xml:"defaultEntityName" json:"defaultEntityName"`
 60462  	// True if the OVF contains a vApp (containing one or more vApps
 60463  	// and/or virtual machines), as opposed to a single virtual machine.
 60464  	VirtualApp bool `xml:"virtualApp" json:"virtualApp"`
 60465  	// The list of possible deployment options.
 60466  	DeploymentOption []OvfDeploymentOption `xml:"deploymentOption,omitempty" json:"deploymentOption,omitempty"`
 60467  	// The key of the default deployment option.
 60468  	//
 60469  	// Empty only if there are no
 60470  	// deployment options.
 60471  	DefaultDeploymentOption string `xml:"defaultDeploymentOption" json:"defaultDeploymentOption"`
 60472  	// A list of the child entities contained in this package
 60473  	// and their location in the vApp hierarchy.
 60474  	//
 60475  	// Each entry is a
 60476  	// (key,value) pair, where the key is the display name, and
 60477  	// the value is a unique path identifier for the entity in
 60478  	// the vApp. The path is constructed by appending the id
 60479  	// of each entity of the path down to the entity, separated
 60480  	// by slashes. For example, the path for a child of the root
 60481  	// entity with id = "vm1", would simply be "vm1". If the vm is
 60482  	// the child of a VirtualSystemCollection called "webTier", then
 60483  	// the path would be "webTier/vm".
 60484  	EntityName []KeyValue `xml:"entityName,omitempty" json:"entityName,omitempty"`
 60485  	// The annotated OST for the OVF descriptor, generated by OVF
 60486  	// consumers.
 60487  	//
 60488  	// See `OvfConsumer` for details.
 60489  	AnnotatedOst *OvfConsumerOstNode `xml:"annotatedOst,omitempty" json:"annotatedOst,omitempty"`
 60490  	// Errors that happened during processing.
 60491  	//
 60492  	// Something
 60493  	// will be wrong with the result.
 60494  	//
 60495  	// For example, during export, devices could be
 60496  	// missing (in which case this array will contain one
 60497  	// or more instances of Unsupported-/UnknownDevice).
 60498  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 60499  	// Non-fatal warnings from the processing.
 60500  	//
 60501  	// The result will be valid, but the
 60502  	// user may choose to reject it based on these
 60503  	// warnings.
 60504  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 60505  }
 60506  
 60507  func init() {
 60508  	t["OvfParseDescriptorResult"] = reflect.TypeOf((*OvfParseDescriptorResult)(nil)).Elem()
 60509  }
 60510  
 60511  // A base fault for property faults in the property section of the Ovf XML descriptor.
 60512  type OvfProperty struct {
 60513  	OvfInvalidPackage
 60514  
 60515  	// The type of the property
 60516  	Type string `xml:"type" json:"type"`
 60517  	// The value of the property
 60518  	Value string `xml:"value" json:"value"`
 60519  }
 60520  
 60521  func init() {
 60522  	t["OvfProperty"] = reflect.TypeOf((*OvfProperty)(nil)).Elem()
 60523  }
 60524  
 60525  // VIM property type that can not be converted to OVF
 60526  type OvfPropertyExport struct {
 60527  	OvfExport
 60528  
 60529  	// VIM type
 60530  	Type string `xml:"type" json:"type"`
 60531  	// VIM value
 60532  	Value string `xml:"value" json:"value"`
 60533  }
 60534  
 60535  func init() {
 60536  	t["OvfPropertyExport"] = reflect.TypeOf((*OvfPropertyExport)(nil)).Elem()
 60537  }
 60538  
 60539  type OvfPropertyExportFault OvfPropertyExport
 60540  
 60541  func init() {
 60542  	t["OvfPropertyExportFault"] = reflect.TypeOf((*OvfPropertyExportFault)(nil)).Elem()
 60543  }
 60544  
 60545  type OvfPropertyFault BaseOvfProperty
 60546  
 60547  func init() {
 60548  	t["OvfPropertyFault"] = reflect.TypeOf((*OvfPropertyFault)(nil)).Elem()
 60549  }
 60550  
 60551  // A class used indicate there was a property network error
 60552  type OvfPropertyNetwork struct {
 60553  	OvfProperty
 60554  }
 60555  
 60556  func init() {
 60557  	t["OvfPropertyNetwork"] = reflect.TypeOf((*OvfPropertyNetwork)(nil)).Elem()
 60558  }
 60559  
 60560  // VIM property type that refers to a network that
 60561  // does not exist in the package since no virtual machines
 60562  // are hooked up to it.
 60563  type OvfPropertyNetworkExport struct {
 60564  	OvfExport
 60565  
 60566  	// name of network
 60567  	Network string `xml:"network" json:"network"`
 60568  }
 60569  
 60570  func init() {
 60571  	t["OvfPropertyNetworkExport"] = reflect.TypeOf((*OvfPropertyNetworkExport)(nil)).Elem()
 60572  }
 60573  
 60574  type OvfPropertyNetworkExportFault OvfPropertyNetworkExport
 60575  
 60576  func init() {
 60577  	t["OvfPropertyNetworkExportFault"] = reflect.TypeOf((*OvfPropertyNetworkExportFault)(nil)).Elem()
 60578  }
 60579  
 60580  type OvfPropertyNetworkFault OvfPropertyNetwork
 60581  
 60582  func init() {
 60583  	t["OvfPropertyNetworkFault"] = reflect.TypeOf((*OvfPropertyNetworkFault)(nil)).Elem()
 60584  }
 60585  
 60586  // A class used to indicate there was a property qualifier error
 60587  type OvfPropertyQualifier struct {
 60588  	OvfProperty
 60589  
 60590  	// qualifiers
 60591  	Qualifier string `xml:"qualifier" json:"qualifier"`
 60592  }
 60593  
 60594  func init() {
 60595  	t["OvfPropertyQualifier"] = reflect.TypeOf((*OvfPropertyQualifier)(nil)).Elem()
 60596  }
 60597  
 60598  // Indicate that a property qualifier was duplicated.
 60599  type OvfPropertyQualifierDuplicate struct {
 60600  	OvfProperty
 60601  
 60602  	// qualifiers
 60603  	Qualifier string `xml:"qualifier" json:"qualifier"`
 60604  }
 60605  
 60606  func init() {
 60607  	t["OvfPropertyQualifierDuplicate"] = reflect.TypeOf((*OvfPropertyQualifierDuplicate)(nil)).Elem()
 60608  }
 60609  
 60610  type OvfPropertyQualifierDuplicateFault OvfPropertyQualifierDuplicate
 60611  
 60612  func init() {
 60613  	t["OvfPropertyQualifierDuplicateFault"] = reflect.TypeOf((*OvfPropertyQualifierDuplicateFault)(nil)).Elem()
 60614  }
 60615  
 60616  type OvfPropertyQualifierFault OvfPropertyQualifier
 60617  
 60618  func init() {
 60619  	t["OvfPropertyQualifierFault"] = reflect.TypeOf((*OvfPropertyQualifierFault)(nil)).Elem()
 60620  }
 60621  
 60622  // Indicate that the was qualifier was ignored
 60623  type OvfPropertyQualifierIgnored struct {
 60624  	OvfProperty
 60625  
 60626  	// qualifiers
 60627  	Qualifier string `xml:"qualifier" json:"qualifier"`
 60628  }
 60629  
 60630  func init() {
 60631  	t["OvfPropertyQualifierIgnored"] = reflect.TypeOf((*OvfPropertyQualifierIgnored)(nil)).Elem()
 60632  }
 60633  
 60634  type OvfPropertyQualifierIgnoredFault OvfPropertyQualifierIgnored
 60635  
 60636  func init() {
 60637  	t["OvfPropertyQualifierIgnoredFault"] = reflect.TypeOf((*OvfPropertyQualifierIgnoredFault)(nil)).Elem()
 60638  }
 60639  
 60640  // A class used to indicate there was a property type error
 60641  type OvfPropertyType struct {
 60642  	OvfProperty
 60643  }
 60644  
 60645  func init() {
 60646  	t["OvfPropertyType"] = reflect.TypeOf((*OvfPropertyType)(nil)).Elem()
 60647  }
 60648  
 60649  type OvfPropertyTypeFault OvfPropertyType
 60650  
 60651  func init() {
 60652  	t["OvfPropertyTypeFault"] = reflect.TypeOf((*OvfPropertyTypeFault)(nil)).Elem()
 60653  }
 60654  
 60655  // A class used indicate there was a property value error
 60656  type OvfPropertyValue struct {
 60657  	OvfProperty
 60658  }
 60659  
 60660  func init() {
 60661  	t["OvfPropertyValue"] = reflect.TypeOf((*OvfPropertyValue)(nil)).Elem()
 60662  }
 60663  
 60664  type OvfPropertyValueFault OvfPropertyValue
 60665  
 60666  func init() {
 60667  	t["OvfPropertyValueFault"] = reflect.TypeOf((*OvfPropertyValueFault)(nil)).Elem()
 60668  }
 60669  
 60670  // Deprecated as of vSphere API 5.1.
 60671  //
 60672  // Maps source child entities to destination resource pools
 60673  // and resource settings.
 60674  //
 60675  // If a mapping is not specified,
 60676  // a child is copied as a direct child of the parent.
 60677  type OvfResourceMap struct {
 60678  	DynamicData
 60679  
 60680  	// Identifies a source VirtualSystem or VirtualSystemCollection in an OVF
 60681  	// descriptor.
 60682  	//
 60683  	// The source cannot be the root VirtualSystem or
 60684  	// VirtualSystemCollection of the OVF.
 60685  	// This is a path created by concatenating the OVF ids for each entity, e.g., "vm1",
 60686  	// "WebTier/vm2", etc.
 60687  	Source string `xml:"source" json:"source"`
 60688  	// The parent resource pool to use for the entity.
 60689  	//
 60690  	// This must specify a
 60691  	// resource pool that is not part of the vApp. If this is specified, a linked
 60692  	// child (as opposed to a direct child) is created for the vApp.
 60693  	//
 60694  	// Refers instance of `ResourcePool`.
 60695  	Parent *ManagedObjectReference `xml:"parent,omitempty" json:"parent,omitempty"`
 60696  	// An optional resource configuration for the created entity.
 60697  	//
 60698  	// If
 60699  	// not specified, the resource configuration given in the OVF descriptor
 60700  	// is used.
 60701  	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
 60702  	// A client can optionally specify a datastore location in the resource map to
 60703  	// override the default datastore passed into `OvfManager.CreateImportSpec` field.
 60704  	//
 60705  	// This enables importing to different compute resources that do not have shared
 60706  	// datastores.
 60707  	//
 60708  	// Refers instance of `Datastore`.
 60709  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 60710  }
 60711  
 60712  func init() {
 60713  	t["OvfResourceMap"] = reflect.TypeOf((*OvfResourceMap)(nil)).Elem()
 60714  }
 60715  
 60716  // A StorageProfileMapping is the mapping of diskId in "ovf:diskId" field in
 60717  // OVF to the Storage Profile Id(SPBM ID) in the inventory.
 60718  //
 60719  // The SPBM profile
 60720  // ID will apply to non-PMem disks only.
 60721  type OvfStorageProfileMapping struct {
 60722  	DynamicData
 60723  
 60724  	DiskId           string `xml:"diskId" json:"diskId"`
 60725  	StorageProfileId string `xml:"storageProfileId" json:"storageProfileId"`
 60726  }
 60727  
 60728  func init() {
 60729  	t["OvfStorageProfileMapping"] = reflect.TypeOf((*OvfStorageProfileMapping)(nil)).Elem()
 60730  	minAPIVersionForType["OvfStorageProfileMapping"] = "9.0.0.0"
 60731  }
 60732  
 60733  // A common base class to host all the OVF subsystems's system faults.
 60734  //
 60735  // This is a class of fault that can be thrown because of
 60736  // some api changes, new hardware that are not supported by
 60737  // the host.
 60738  type OvfSystemFault struct {
 60739  	OvfFault
 60740  }
 60741  
 60742  func init() {
 60743  	t["OvfSystemFault"] = reflect.TypeOf((*OvfSystemFault)(nil)).Elem()
 60744  }
 60745  
 60746  type OvfSystemFaultFault BaseOvfSystemFault
 60747  
 60748  func init() {
 60749  	t["OvfSystemFaultFault"] = reflect.TypeOf((*OvfSystemFaultFault)(nil)).Elem()
 60750  }
 60751  
 60752  // Unsupported element to export to XML
 60753  type OvfToXmlUnsupportedElement struct {
 60754  	OvfSystemFault
 60755  
 60756  	// The name of the xml element we could not write to the xml descriptor
 60757  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 60758  }
 60759  
 60760  func init() {
 60761  	t["OvfToXmlUnsupportedElement"] = reflect.TypeOf((*OvfToXmlUnsupportedElement)(nil)).Elem()
 60762  }
 60763  
 60764  type OvfToXmlUnsupportedElementFault OvfToXmlUnsupportedElement
 60765  
 60766  func init() {
 60767  	t["OvfToXmlUnsupportedElementFault"] = reflect.TypeOf((*OvfToXmlUnsupportedElementFault)(nil)).Elem()
 60768  }
 60769  
 60770  type OvfUnableToExportDisk struct {
 60771  	OvfHardwareExport
 60772  
 60773  	// disk name
 60774  	DiskName string `xml:"diskName" json:"diskName"`
 60775  }
 60776  
 60777  func init() {
 60778  	t["OvfUnableToExportDisk"] = reflect.TypeOf((*OvfUnableToExportDisk)(nil)).Elem()
 60779  }
 60780  
 60781  type OvfUnableToExportDiskFault OvfUnableToExportDisk
 60782  
 60783  func init() {
 60784  	t["OvfUnableToExportDiskFault"] = reflect.TypeOf((*OvfUnableToExportDiskFault)(nil)).Elem()
 60785  }
 60786  
 60787  // Class used to indicate an unexpected element in the Ovf descriptor
 60788  type OvfUnexpectedElement struct {
 60789  	OvfElement
 60790  }
 60791  
 60792  func init() {
 60793  	t["OvfUnexpectedElement"] = reflect.TypeOf((*OvfUnexpectedElement)(nil)).Elem()
 60794  }
 60795  
 60796  type OvfUnexpectedElementFault OvfUnexpectedElement
 60797  
 60798  func init() {
 60799  	t["OvfUnexpectedElementFault"] = reflect.TypeOf((*OvfUnexpectedElementFault)(nil)).Elem()
 60800  }
 60801  
 60802  type OvfUnknownDevice struct {
 60803  	OvfSystemFault
 60804  
 60805  	// The unknown device
 60806  	Device BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
 60807  	// The name of the Virtual Machine containing the unkown device
 60808  	VmName string `xml:"vmName" json:"vmName"`
 60809  }
 60810  
 60811  func init() {
 60812  	t["OvfUnknownDevice"] = reflect.TypeOf((*OvfUnknownDevice)(nil)).Elem()
 60813  }
 60814  
 60815  type OvfUnknownDeviceBacking struct {
 60816  	OvfHardwareExport
 60817  
 60818  	// The VirtualDevice BackingInfo that is not supported by OVF export.
 60819  	Backing BaseVirtualDeviceBackingInfo `xml:"backing,typeattr" json:"backing"`
 60820  }
 60821  
 60822  func init() {
 60823  	t["OvfUnknownDeviceBacking"] = reflect.TypeOf((*OvfUnknownDeviceBacking)(nil)).Elem()
 60824  }
 60825  
 60826  type OvfUnknownDeviceBackingFault OvfUnknownDeviceBacking
 60827  
 60828  func init() {
 60829  	t["OvfUnknownDeviceBackingFault"] = reflect.TypeOf((*OvfUnknownDeviceBackingFault)(nil)).Elem()
 60830  }
 60831  
 60832  type OvfUnknownDeviceFault OvfUnknownDevice
 60833  
 60834  func init() {
 60835  	t["OvfUnknownDeviceFault"] = reflect.TypeOf((*OvfUnknownDeviceFault)(nil)).Elem()
 60836  }
 60837  
 60838  type OvfUnknownEntity struct {
 60839  	OvfSystemFault
 60840  
 60841  	// line number where the unknown entity was found
 60842  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 60843  }
 60844  
 60845  func init() {
 60846  	t["OvfUnknownEntity"] = reflect.TypeOf((*OvfUnknownEntity)(nil)).Elem()
 60847  }
 60848  
 60849  type OvfUnknownEntityFault OvfUnknownEntity
 60850  
 60851  func init() {
 60852  	t["OvfUnknownEntityFault"] = reflect.TypeOf((*OvfUnknownEntityFault)(nil)).Elem()
 60853  }
 60854  
 60855  // If the Ovf descriptor have an unsupported attribute.
 60856  type OvfUnsupportedAttribute struct {
 60857  	OvfUnsupportedPackage
 60858  
 60859  	// The name of the element with the unsupported attribute
 60860  	ElementName string `xml:"elementName" json:"elementName"`
 60861  	// The name of the unsupported attribute
 60862  	AttributeName string `xml:"attributeName" json:"attributeName"`
 60863  }
 60864  
 60865  func init() {
 60866  	t["OvfUnsupportedAttribute"] = reflect.TypeOf((*OvfUnsupportedAttribute)(nil)).Elem()
 60867  }
 60868  
 60869  type OvfUnsupportedAttributeFault BaseOvfUnsupportedAttribute
 60870  
 60871  func init() {
 60872  	t["OvfUnsupportedAttributeFault"] = reflect.TypeOf((*OvfUnsupportedAttributeFault)(nil)).Elem()
 60873  }
 60874  
 60875  // Used when an OVF descriptor attribute has an unsupported value.
 60876  type OvfUnsupportedAttributeValue struct {
 60877  	OvfUnsupportedAttribute
 60878  
 60879  	// Unsupported attribute value
 60880  	Value string `xml:"value" json:"value"`
 60881  }
 60882  
 60883  func init() {
 60884  	t["OvfUnsupportedAttributeValue"] = reflect.TypeOf((*OvfUnsupportedAttributeValue)(nil)).Elem()
 60885  }
 60886  
 60887  type OvfUnsupportedAttributeValueFault OvfUnsupportedAttributeValue
 60888  
 60889  func init() {
 60890  	t["OvfUnsupportedAttributeValueFault"] = reflect.TypeOf((*OvfUnsupportedAttributeValueFault)(nil)).Elem()
 60891  }
 60892  
 60893  type OvfUnsupportedDeviceBackingInfo struct {
 60894  	OvfSystemFault
 60895  
 60896  	// The element name
 60897  	ElementName string `xml:"elementName,omitempty" json:"elementName,omitempty"`
 60898  	// The InstanceId on the hardware description
 60899  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 60900  	// The device name
 60901  	DeviceName string `xml:"deviceName" json:"deviceName"`
 60902  	// The name of the VirtualDevice Backing Info not supported on the device.
 60903  	BackingName string `xml:"backingName,omitempty" json:"backingName,omitempty"`
 60904  }
 60905  
 60906  func init() {
 60907  	t["OvfUnsupportedDeviceBackingInfo"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfo)(nil)).Elem()
 60908  }
 60909  
 60910  type OvfUnsupportedDeviceBackingInfoFault OvfUnsupportedDeviceBackingInfo
 60911  
 60912  func init() {
 60913  	t["OvfUnsupportedDeviceBackingInfoFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfoFault)(nil)).Elem()
 60914  }
 60915  
 60916  type OvfUnsupportedDeviceBackingOption struct {
 60917  	OvfSystemFault
 60918  
 60919  	// The element name
 60920  	ElementName string `xml:"elementName,omitempty" json:"elementName,omitempty"`
 60921  	// The InstanceId for the hardware element
 60922  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 60923  	// The device name
 60924  	DeviceName string `xml:"deviceName" json:"deviceName"`
 60925  	// The name of the VirtualDevice Backing Option not supported on the device.
 60926  	BackingName string `xml:"backingName,omitempty" json:"backingName,omitempty"`
 60927  }
 60928  
 60929  func init() {
 60930  	t["OvfUnsupportedDeviceBackingOption"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOption)(nil)).Elem()
 60931  }
 60932  
 60933  type OvfUnsupportedDeviceBackingOptionFault OvfUnsupportedDeviceBackingOption
 60934  
 60935  func init() {
 60936  	t["OvfUnsupportedDeviceBackingOptionFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOptionFault)(nil)).Elem()
 60937  }
 60938  
 60939  type OvfUnsupportedDeviceExport struct {
 60940  	OvfHardwareExport
 60941  }
 60942  
 60943  func init() {
 60944  	t["OvfUnsupportedDeviceExport"] = reflect.TypeOf((*OvfUnsupportedDeviceExport)(nil)).Elem()
 60945  }
 60946  
 60947  type OvfUnsupportedDeviceExportFault OvfUnsupportedDeviceExport
 60948  
 60949  func init() {
 60950  	t["OvfUnsupportedDeviceExportFault"] = reflect.TypeOf((*OvfUnsupportedDeviceExportFault)(nil)).Elem()
 60951  }
 60952  
 60953  // Disk provisioning not supported
 60954  type OvfUnsupportedDiskProvisioning struct {
 60955  	OvfImport
 60956  
 60957  	// The disk provisioning that was not supported.
 60958  	DiskProvisioning string `xml:"diskProvisioning" json:"diskProvisioning"`
 60959  	// Disk modes supported by the host.
 60960  	SupportedDiskProvisioning string `xml:"supportedDiskProvisioning" json:"supportedDiskProvisioning"`
 60961  }
 60962  
 60963  func init() {
 60964  	t["OvfUnsupportedDiskProvisioning"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioning)(nil)).Elem()
 60965  }
 60966  
 60967  type OvfUnsupportedDiskProvisioningFault OvfUnsupportedDiskProvisioning
 60968  
 60969  func init() {
 60970  	t["OvfUnsupportedDiskProvisioningFault"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioningFault)(nil)).Elem()
 60971  }
 60972  
 60973  // If the Ovf descriptor has an unsupported element where it is not allowed.
 60974  type OvfUnsupportedElement struct {
 60975  	OvfUnsupportedPackage
 60976  
 60977  	// The name of the unsupported element
 60978  	Name string `xml:"name" json:"name"`
 60979  }
 60980  
 60981  func init() {
 60982  	t["OvfUnsupportedElement"] = reflect.TypeOf((*OvfUnsupportedElement)(nil)).Elem()
 60983  }
 60984  
 60985  type OvfUnsupportedElementFault BaseOvfUnsupportedElement
 60986  
 60987  func init() {
 60988  	t["OvfUnsupportedElementFault"] = reflect.TypeOf((*OvfUnsupportedElementFault)(nil)).Elem()
 60989  }
 60990  
 60991  // If the Ovf descriptor has an unsupported value of a element in the
 60992  // OVF descriptor.
 60993  type OvfUnsupportedElementValue struct {
 60994  	OvfUnsupportedElement
 60995  
 60996  	// The unsupported element value
 60997  	Value string `xml:"value" json:"value"`
 60998  }
 60999  
 61000  func init() {
 61001  	t["OvfUnsupportedElementValue"] = reflect.TypeOf((*OvfUnsupportedElementValue)(nil)).Elem()
 61002  }
 61003  
 61004  type OvfUnsupportedElementValueFault OvfUnsupportedElementValue
 61005  
 61006  func init() {
 61007  	t["OvfUnsupportedElementValueFault"] = reflect.TypeOf((*OvfUnsupportedElementValueFault)(nil)).Elem()
 61008  }
 61009  
 61010  // A common base class to host all the Ovf Lib Unsupported Package faults
 61011  type OvfUnsupportedPackage struct {
 61012  	OvfFault
 61013  
 61014  	// OVF descriptor linenumber
 61015  	LineNumber int32 `xml:"lineNumber,omitempty" json:"lineNumber,omitempty"`
 61016  }
 61017  
 61018  func init() {
 61019  	t["OvfUnsupportedPackage"] = reflect.TypeOf((*OvfUnsupportedPackage)(nil)).Elem()
 61020  }
 61021  
 61022  type OvfUnsupportedPackageFault BaseOvfUnsupportedPackage
 61023  
 61024  func init() {
 61025  	t["OvfUnsupportedPackageFault"] = reflect.TypeOf((*OvfUnsupportedPackageFault)(nil)).Elem()
 61026  }
 61027  
 61028  // If the Ovf descriptor has an unsupported required section.
 61029  type OvfUnsupportedSection struct {
 61030  	OvfUnsupportedElement
 61031  
 61032  	// The info of the unsupported section
 61033  	Info string `xml:"info" json:"info"`
 61034  }
 61035  
 61036  func init() {
 61037  	t["OvfUnsupportedSection"] = reflect.TypeOf((*OvfUnsupportedSection)(nil)).Elem()
 61038  }
 61039  
 61040  type OvfUnsupportedSectionFault OvfUnsupportedSection
 61041  
 61042  func init() {
 61043  	t["OvfUnsupportedSectionFault"] = reflect.TypeOf((*OvfUnsupportedSectionFault)(nil)).Elem()
 61044  }
 61045  
 61046  type OvfUnsupportedSubType struct {
 61047  	OvfUnsupportedPackage
 61048  
 61049  	// The name of the element with the unsupported type
 61050  	ElementName string `xml:"elementName" json:"elementName"`
 61051  	// The OVF RASD InstanceId for the hardware description
 61052  	InstanceId string `xml:"instanceId" json:"instanceId"`
 61053  	// The device type
 61054  	DeviceType int32 `xml:"deviceType" json:"deviceType"`
 61055  	// The device subtype that is unsupported
 61056  	DeviceSubType string `xml:"deviceSubType" json:"deviceSubType"`
 61057  }
 61058  
 61059  func init() {
 61060  	t["OvfUnsupportedSubType"] = reflect.TypeOf((*OvfUnsupportedSubType)(nil)).Elem()
 61061  }
 61062  
 61063  type OvfUnsupportedSubTypeFault OvfUnsupportedSubType
 61064  
 61065  func init() {
 61066  	t["OvfUnsupportedSubTypeFault"] = reflect.TypeOf((*OvfUnsupportedSubTypeFault)(nil)).Elem()
 61067  }
 61068  
 61069  type OvfUnsupportedType struct {
 61070  	OvfUnsupportedPackage
 61071  
 61072  	// The name of the element with the unsupported type
 61073  	Name string `xml:"name" json:"name"`
 61074  	// The OVF RASD InstanceId for the hardware description
 61075  	InstanceId string `xml:"instanceId" json:"instanceId"`
 61076  	// The device type that is unsupported
 61077  	DeviceType int32 `xml:"deviceType" json:"deviceType"`
 61078  }
 61079  
 61080  func init() {
 61081  	t["OvfUnsupportedType"] = reflect.TypeOf((*OvfUnsupportedType)(nil)).Elem()
 61082  }
 61083  
 61084  type OvfUnsupportedTypeFault OvfUnsupportedType
 61085  
 61086  func init() {
 61087  	t["OvfUnsupportedTypeFault"] = reflect.TypeOf((*OvfUnsupportedTypeFault)(nil)).Elem()
 61088  }
 61089  
 61090  type OvfValidateHostParams struct {
 61091  	OvfManagerCommonParams
 61092  }
 61093  
 61094  func init() {
 61095  	t["OvfValidateHostParams"] = reflect.TypeOf((*OvfValidateHostParams)(nil)).Elem()
 61096  }
 61097  
 61098  type OvfValidateHostResult struct {
 61099  	DynamicData
 61100  
 61101  	// The total amount of data that must be transferred to download the entity.
 61102  	//
 61103  	// This may be inaccurate due to disk compression etc.
 61104  	DownloadSize int64 `xml:"downloadSize,omitempty" json:"downloadSize,omitempty"`
 61105  	// The total amount of space required to deploy the entity if using flat disks.
 61106  	FlatDeploymentSize int64 `xml:"flatDeploymentSize,omitempty" json:"flatDeploymentSize,omitempty"`
 61107  	// The total amount of space required to deploy the entity using sparse disks,
 61108  	// if known.
 61109  	SparseDeploymentSize int64 `xml:"sparseDeploymentSize,omitempty" json:"sparseDeploymentSize,omitempty"`
 61110  	// Errors that happened during validation.
 61111  	//
 61112  	// The presence of faults in this list
 61113  	// indicates that the validation failed.
 61114  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 61115  	// Non-fatal warnings from the validation.
 61116  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 61117  	// An array of the disk provisioning type supported by the target host system.
 61118  	SupportedDiskProvisioning []string `xml:"supportedDiskProvisioning,omitempty" json:"supportedDiskProvisioning,omitempty"`
 61119  }
 61120  
 61121  func init() {
 61122  	t["OvfValidateHostResult"] = reflect.TypeOf((*OvfValidateHostResult)(nil)).Elem()
 61123  }
 61124  
 61125  // If the Ovf descriptor has an element that is not accepted, this exception is thrown.
 61126  type OvfWrongElement struct {
 61127  	OvfElement
 61128  }
 61129  
 61130  func init() {
 61131  	t["OvfWrongElement"] = reflect.TypeOf((*OvfWrongElement)(nil)).Elem()
 61132  }
 61133  
 61134  type OvfWrongElementFault OvfWrongElement
 61135  
 61136  func init() {
 61137  	t["OvfWrongElementFault"] = reflect.TypeOf((*OvfWrongElementFault)(nil)).Elem()
 61138  }
 61139  
 61140  // A OvfWrongNamespace exception is throw if the ovf descriptor has a
 61141  // Namespace error as defined in the Ovf spec
 61142  type OvfWrongNamespace struct {
 61143  	OvfInvalidPackage
 61144  
 61145  	// The name of the invalid namespace
 61146  	NamespaceName string `xml:"namespaceName" json:"namespaceName"`
 61147  }
 61148  
 61149  func init() {
 61150  	t["OvfWrongNamespace"] = reflect.TypeOf((*OvfWrongNamespace)(nil)).Elem()
 61151  }
 61152  
 61153  type OvfWrongNamespaceFault OvfWrongNamespace
 61154  
 61155  func init() {
 61156  	t["OvfWrongNamespaceFault"] = reflect.TypeOf((*OvfWrongNamespaceFault)(nil)).Elem()
 61157  }
 61158  
 61159  // Class used to specify if the Ovf XML descriptor could not be parsed
 61160  type OvfXmlFormat struct {
 61161  	OvfInvalidPackage
 61162  
 61163  	// Description of the XML parser error
 61164  	//
 61165  	// High level error description
 61166  	Description string `xml:"description" json:"description"`
 61167  }
 61168  
 61169  func init() {
 61170  	t["OvfXmlFormat"] = reflect.TypeOf((*OvfXmlFormat)(nil)).Elem()
 61171  }
 61172  
 61173  type OvfXmlFormatFault OvfXmlFormat
 61174  
 61175  func init() {
 61176  	t["OvfXmlFormatFault"] = reflect.TypeOf((*OvfXmlFormatFault)(nil)).Elem()
 61177  }
 61178  
 61179  type PMemDatastoreInfo struct {
 61180  	DatastoreInfo
 61181  
 61182  	Pmem HostPMemVolume `xml:"pmem" json:"pmem"`
 61183  }
 61184  
 61185  func init() {
 61186  	t["PMemDatastoreInfo"] = reflect.TypeOf((*PMemDatastoreInfo)(nil)).Elem()
 61187  }
 61188  
 61189  // ParaVirtualSCSIController is the data object that represents
 61190  // a paravirtualized SCSI controller.
 61191  type ParaVirtualSCSIController struct {
 61192  	VirtualSCSIController
 61193  }
 61194  
 61195  func init() {
 61196  	t["ParaVirtualSCSIController"] = reflect.TypeOf((*ParaVirtualSCSIController)(nil)).Elem()
 61197  }
 61198  
 61199  // ParaVirtualSCSIControllerOption is the data object that contains
 61200  // the options for a a paravirtualized SCSI controller.
 61201  type ParaVirtualSCSIControllerOption struct {
 61202  	VirtualSCSIControllerOption
 61203  }
 61204  
 61205  func init() {
 61206  	t["ParaVirtualSCSIControllerOption"] = reflect.TypeOf((*ParaVirtualSCSIControllerOption)(nil)).Elem()
 61207  }
 61208  
 61209  type ParseDescriptor ParseDescriptorRequestType
 61210  
 61211  func init() {
 61212  	t["ParseDescriptor"] = reflect.TypeOf((*ParseDescriptor)(nil)).Elem()
 61213  }
 61214  
 61215  // The parameters of `OvfManager.ParseDescriptor`.
 61216  type ParseDescriptorRequestType struct {
 61217  	This ManagedObjectReference `xml:"_this" json:"-"`
 61218  	// The OVF descriptor to examine.
 61219  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 61220  	// Additional parameters for parseDescriptor, wrapped in an instance of
 61221  	// ParseDescriptorParams.
 61222  	Pdp OvfParseDescriptorParams `xml:"pdp" json:"pdp"`
 61223  }
 61224  
 61225  func init() {
 61226  	t["ParseDescriptorRequestType"] = reflect.TypeOf((*ParseDescriptorRequestType)(nil)).Elem()
 61227  }
 61228  
 61229  type ParseDescriptorResponse struct {
 61230  	Returnval OvfParseDescriptorResult `xml:"returnval" json:"returnval"`
 61231  }
 61232  
 61233  // The PassiveNodeDeploymentSpec class defines VCHA Cluster configuration
 61234  // of the Passive node VM in the VCHA Cluster.
 61235  type PassiveNodeDeploymentSpec struct {
 61236  	NodeDeploymentSpec
 61237  
 61238  	// Failover IP address that this node must assume after the failover
 61239  	// to serve client requests.
 61240  	//
 61241  	// If not specified, it will assume the public
 61242  	// IP address of the Active vCenter Server.
 61243  	FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty" json:"failoverIpSettings,omitempty"`
 61244  }
 61245  
 61246  func init() {
 61247  	t["PassiveNodeDeploymentSpec"] = reflect.TypeOf((*PassiveNodeDeploymentSpec)(nil)).Elem()
 61248  }
 61249  
 61250  // The PassiveNodeNetworkSpec class defines VCHA Failover and Cluster
 61251  // network configuration of the Passive node VM in the VCHA Cluster.
 61252  type PassiveNodeNetworkSpec struct {
 61253  	NodeNetworkSpec
 61254  
 61255  	// Failover IP address that this node must assume after the failover
 61256  	// to serve client requests.
 61257  	//
 61258  	// If not specified, it will assume the public
 61259  	// IP address of the Active vCenter Server.
 61260  	FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty" json:"failoverIpSettings,omitempty"`
 61261  }
 61262  
 61263  func init() {
 61264  	t["PassiveNodeNetworkSpec"] = reflect.TypeOf((*PassiveNodeNetworkSpec)(nil)).Elem()
 61265  }
 61266  
 61267  // Thrown when a server login fails due to expired user password.
 61268  type PasswordExpired struct {
 61269  	InvalidLogin
 61270  }
 61271  
 61272  func init() {
 61273  	t["PasswordExpired"] = reflect.TypeOf((*PasswordExpired)(nil)).Elem()
 61274  }
 61275  
 61276  type PasswordExpiredFault PasswordExpired
 61277  
 61278  func init() {
 61279  	t["PasswordExpiredFault"] = reflect.TypeOf((*PasswordExpiredFault)(nil)).Elem()
 61280  }
 61281  
 61282  // DataObject which represents a Password field.
 61283  //
 61284  // Password is functionally equivalent to String.
 61285  type PasswordField struct {
 61286  	DynamicData
 61287  
 61288  	Value string `xml:"value" json:"value"`
 61289  }
 61290  
 61291  func init() {
 61292  	t["PasswordField"] = reflect.TypeOf((*PasswordField)(nil)).Elem()
 61293  }
 61294  
 61295  // This fault is thrown if a patch install fails because the patch
 61296  // is already installed on the host.
 61297  type PatchAlreadyInstalled struct {
 61298  	PatchNotApplicable
 61299  }
 61300  
 61301  func init() {
 61302  	t["PatchAlreadyInstalled"] = reflect.TypeOf((*PatchAlreadyInstalled)(nil)).Elem()
 61303  }
 61304  
 61305  type PatchAlreadyInstalledFault PatchAlreadyInstalled
 61306  
 61307  func init() {
 61308  	t["PatchAlreadyInstalledFault"] = reflect.TypeOf((*PatchAlreadyInstalledFault)(nil)).Elem()
 61309  }
 61310  
 61311  // This fault is thrown if a patch install fails
 61312  // because the binaries associated with the patch are not found.
 61313  type PatchBinariesNotFound struct {
 61314  	VimFault
 61315  
 61316  	// The patch whose associated binaries are not found.
 61317  	PatchID string `xml:"patchID" json:"patchID"`
 61318  	// The binaries that are not found.
 61319  	Binary []string `xml:"binary,omitempty" json:"binary,omitempty"`
 61320  }
 61321  
 61322  func init() {
 61323  	t["PatchBinariesNotFound"] = reflect.TypeOf((*PatchBinariesNotFound)(nil)).Elem()
 61324  }
 61325  
 61326  type PatchBinariesNotFoundFault PatchBinariesNotFound
 61327  
 61328  func init() {
 61329  	t["PatchBinariesNotFoundFault"] = reflect.TypeOf((*PatchBinariesNotFoundFault)(nil)).Elem()
 61330  }
 61331  
 61332  // This is a general-purpose fault indicating that some error has
 61333  // occurred regarding a patch install.
 61334  //
 61335  // Data about the fault is
 61336  // available and is presented as a platform specific string.
 61337  type PatchInstallFailed struct {
 61338  	PlatformConfigFault
 61339  
 61340  	// Whether or not the patch install has been rolled back.
 61341  	//
 61342  	// If not,
 61343  	// a manual rollback is required.
 61344  	RolledBack bool `xml:"rolledBack" json:"rolledBack"`
 61345  }
 61346  
 61347  func init() {
 61348  	t["PatchInstallFailed"] = reflect.TypeOf((*PatchInstallFailed)(nil)).Elem()
 61349  }
 61350  
 61351  type PatchInstallFailedFault PatchInstallFailed
 61352  
 61353  func init() {
 61354  	t["PatchInstallFailedFault"] = reflect.TypeOf((*PatchInstallFailedFault)(nil)).Elem()
 61355  }
 61356  
 61357  // This fault is thrown if a patch operation fails because the signature of
 61358  // the patch did not check out.
 61359  type PatchIntegrityError struct {
 61360  	PlatformConfigFault
 61361  }
 61362  
 61363  func init() {
 61364  	t["PatchIntegrityError"] = reflect.TypeOf((*PatchIntegrityError)(nil)).Elem()
 61365  }
 61366  
 61367  type PatchIntegrityErrorFault PatchIntegrityError
 61368  
 61369  func init() {
 61370  	t["PatchIntegrityErrorFault"] = reflect.TypeOf((*PatchIntegrityErrorFault)(nil)).Elem()
 61371  }
 61372  
 61373  // This fault is thrown if the metadata associated with a patch is
 61374  // corrupted or unreadable when a patch query or install is attempted.
 61375  type PatchMetadataCorrupted struct {
 61376  	PatchMetadataInvalid
 61377  }
 61378  
 61379  func init() {
 61380  	t["PatchMetadataCorrupted"] = reflect.TypeOf((*PatchMetadataCorrupted)(nil)).Elem()
 61381  }
 61382  
 61383  type PatchMetadataCorruptedFault PatchMetadataCorrupted
 61384  
 61385  func init() {
 61386  	t["PatchMetadataCorruptedFault"] = reflect.TypeOf((*PatchMetadataCorruptedFault)(nil)).Elem()
 61387  }
 61388  
 61389  // This fault is thrown if a patch query or
 61390  // installation operation fails because of a problem with the metadata
 61391  // associated with the patch.
 61392  //
 61393  // Typically, a subclass of this exception is
 61394  // thrown, indicating a problem such as the metadata is not found or the
 61395  // metadata is corrupted.
 61396  type PatchMetadataInvalid struct {
 61397  	VimFault
 61398  
 61399  	// The patch ID whose associated metadata is invalid.
 61400  	PatchID string `xml:"patchID" json:"patchID"`
 61401  	// The metadata file that is not available or corrupted.
 61402  	MetaData []string `xml:"metaData,omitempty" json:"metaData,omitempty"`
 61403  }
 61404  
 61405  func init() {
 61406  	t["PatchMetadataInvalid"] = reflect.TypeOf((*PatchMetadataInvalid)(nil)).Elem()
 61407  }
 61408  
 61409  type PatchMetadataInvalidFault BasePatchMetadataInvalid
 61410  
 61411  func init() {
 61412  	t["PatchMetadataInvalidFault"] = reflect.TypeOf((*PatchMetadataInvalidFault)(nil)).Elem()
 61413  }
 61414  
 61415  // This fault is thrown if the metadata associated with a patch is not
 61416  // found when a patch query or install is attempted.
 61417  type PatchMetadataNotFound struct {
 61418  	PatchMetadataInvalid
 61419  }
 61420  
 61421  func init() {
 61422  	t["PatchMetadataNotFound"] = reflect.TypeOf((*PatchMetadataNotFound)(nil)).Elem()
 61423  }
 61424  
 61425  type PatchMetadataNotFoundFault PatchMetadataNotFound
 61426  
 61427  func init() {
 61428  	t["PatchMetadataNotFoundFault"] = reflect.TypeOf((*PatchMetadataNotFoundFault)(nil)).Elem()
 61429  }
 61430  
 61431  // This fault is thrown if a patch install fails because the patch
 61432  // requires other patches or libraries that are not installed on the host.
 61433  type PatchMissingDependencies struct {
 61434  	PatchNotApplicable
 61435  
 61436  	// The ID of required patches.
 61437  	PrerequisitePatch []string `xml:"prerequisitePatch,omitempty" json:"prerequisitePatch,omitempty"`
 61438  	// The names of required libraries or RPMs.
 61439  	PrerequisiteLib []string `xml:"prerequisiteLib,omitempty" json:"prerequisiteLib,omitempty"`
 61440  }
 61441  
 61442  func init() {
 61443  	t["PatchMissingDependencies"] = reflect.TypeOf((*PatchMissingDependencies)(nil)).Elem()
 61444  }
 61445  
 61446  type PatchMissingDependenciesFault PatchMissingDependencies
 61447  
 61448  func init() {
 61449  	t["PatchMissingDependenciesFault"] = reflect.TypeOf((*PatchMissingDependenciesFault)(nil)).Elem()
 61450  }
 61451  
 61452  // This fault is thrown if a patch install fails because the patch is not
 61453  // applicable to the host.
 61454  //
 61455  // Typically, a subclass of this exception is
 61456  // thrown, indicating a problem such as the patch is superseded, already
 61457  // installed, or has dependencies missing, and so on.
 61458  type PatchNotApplicable struct {
 61459  	VimFault
 61460  
 61461  	// The ID of the patch that is not applicable to the host.
 61462  	PatchID string `xml:"patchID" json:"patchID"`
 61463  }
 61464  
 61465  func init() {
 61466  	t["PatchNotApplicable"] = reflect.TypeOf((*PatchNotApplicable)(nil)).Elem()
 61467  }
 61468  
 61469  type PatchNotApplicableFault BasePatchNotApplicable
 61470  
 61471  func init() {
 61472  	t["PatchNotApplicableFault"] = reflect.TypeOf((*PatchNotApplicableFault)(nil)).Elem()
 61473  }
 61474  
 61475  // This fault is thrown if a patch install fails because the patch is
 61476  // superseded by patches already installed.
 61477  type PatchSuperseded struct {
 61478  	PatchNotApplicable
 61479  
 61480  	// The patches that supersede this patch.
 61481  	Supersede []string `xml:"supersede,omitempty" json:"supersede,omitempty"`
 61482  }
 61483  
 61484  func init() {
 61485  	t["PatchSuperseded"] = reflect.TypeOf((*PatchSuperseded)(nil)).Elem()
 61486  }
 61487  
 61488  type PatchSupersededFault PatchSuperseded
 61489  
 61490  func init() {
 61491  	t["PatchSupersededFault"] = reflect.TypeOf((*PatchSupersededFault)(nil)).Elem()
 61492  }
 61493  
 61494  // `PerfCompositeMetric` includes an optional
 61495  // aggregated entity performance statistics and a list of composite entities
 61496  // performance statistics&#46; The aggregated entity statistics are optional
 61497  // because some entities, such as folders, do not have their own
 61498  // statistics&#46;
 61499  type PerfCompositeMetric struct {
 61500  	DynamicData
 61501  
 61502  	// The aggregated entity performance metrics.
 61503  	//
 61504  	// If it exists, the `PerfSampleInfo` list of the aggregate entity is a
 61505  	// complete list of `PerfSampleInfo` that could
 61506  	// be contained in `PerfSampleInfo` lists of
 61507  	// child entities.
 61508  	Entity BasePerfEntityMetricBase `xml:"entity,omitempty,typeattr" json:"entity,omitempty"`
 61509  	// A list of `metrics` of
 61510  	// performance providers that comprise the aggregated entity.
 61511  	//
 61512  	// For
 61513  	// example, Host is an aggregated entity for virtual machines and
 61514  	// virtual machine Folders. ResourcePools are aggregate entities for
 61515  	// virtual machines. Host, Folder, and Cluster are aggregate entities
 61516  	// for hosts in the cluster or folder.
 61517  	ChildEntity []BasePerfEntityMetricBase `xml:"childEntity,omitempty,typeattr" json:"childEntity,omitempty"`
 61518  }
 61519  
 61520  func init() {
 61521  	t["PerfCompositeMetric"] = reflect.TypeOf((*PerfCompositeMetric)(nil)).Elem()
 61522  }
 61523  
 61524  // This data object type contains metadata for a performance counter.
 61525  //
 61526  // See
 61527  // `PerformanceManager` for definitions of available counters.
 61528  type PerfCounterInfo struct {
 61529  	DynamicData
 61530  
 61531  	// A system-generated number that uniquely identifies the counter in the
 61532  	// context of the system.
 61533  	//
 61534  	// The performance counter ID.
 61535  	Key int32 `xml:"key" json:"key"`
 61536  	// The name of the counter with label and summary details.
 61537  	//
 61538  	// For example,
 61539  	// the counter with name "usage" for the "cpu" group of performance
 61540  	// counters.
 61541  	NameInfo BaseElementDescription `xml:"nameInfo,typeattr" json:"nameInfo"`
 61542  	// The group of the performance counter with its label and summary
 61543  	// details.
 61544  	//
 61545  	// Counter groups include "cpu," "mem," "net," "disk," "system,"
 61546  	// "rescpu," and "clusterServices," for example.
 61547  	GroupInfo BaseElementDescription `xml:"groupInfo,typeattr" json:"groupInfo"`
 61548  	// The unit for the values of the performance counter with its label and
 61549  	// summary details.
 61550  	//
 61551  	// See `PerformanceManagerUnit_enum` for a
 61552  	// description of the valid values.
 61553  	UnitInfo BaseElementDescription `xml:"unitInfo,typeattr" json:"unitInfo"`
 61554  	// The counter type.
 61555  	//
 61556  	// Valid values include average, maximum, minimum,
 61557  	// latest, summation, or none. This determines the type of statistical
 61558  	// values that are returned for the counter. None means that the counter
 61559  	// is never rolled up.
 61560  	RollupType PerfSummaryType `xml:"rollupType" json:"rollupType"`
 61561  	// Statistics type for the counter.
 61562  	//
 61563  	// Valid values include absolute, delta,
 61564  	// or rate.
 61565  	StatsType PerfStatsType `xml:"statsType" json:"statsType"`
 61566  	// Minimum level at which metrics of this type will be collected by
 61567  	// VirtualCenter Server.
 61568  	//
 61569  	// The value for this property for any performance
 61570  	// counter is a number from 1 to 4. The higher the setting, the more data
 61571  	// is collected by VirtualCenter Server. The default setting for
 61572  	// VirtualCenter Server is 1, which collects the minimal amount of
 61573  	// performance data that is typically useful to administrators and
 61574  	// developers alike. The specific level of each counter is documented in
 61575  	// the respective counter-documentation pages, by group. See `PerformanceManager` for links to the counter group pages.
 61576  	Level int32 `xml:"level,omitempty" json:"level,omitempty"`
 61577  	// Minimum level at which the per device metrics of this type will be
 61578  	// collected by vCenter Server.
 61579  	//
 61580  	// The value for this property for any
 61581  	// performance counter is a number from 1 to 4. By default all per device
 61582  	// metrics are calculated at level 3 or more. If a certain per device
 61583  	// counter is collected at a certain level, the aggregate metric is also
 61584  	// calculated at that level, i.e., perDeviceLevel is greater than or
 61585  	// equal to level.
 61586  	PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty" json:"perDeviceLevel,omitempty"`
 61587  	// Deprecated as of VI API 2.5, this property is not used.
 61588  	//
 61589  	// The counter IDs associated with the same performance counter name for
 61590  	// the same device type.
 61591  	//
 61592  	// For example, the rollup types for CPU Usage for
 61593  	// a host are average, minimum, and maximum&#46; Therefore, their counter
 61594  	// IDs are associated.
 61595  	AssociatedCounterId []int32 `xml:"associatedCounterId,omitempty" json:"associatedCounterId,omitempty"`
 61596  }
 61597  
 61598  func init() {
 61599  	t["PerfCounterInfo"] = reflect.TypeOf((*PerfCounterInfo)(nil)).Elem()
 61600  }
 61601  
 61602  // This data object type stores values and metadata for metrics associated
 61603  // with a specific entity, in 'normal' format.
 61604  type PerfEntityMetric struct {
 61605  	PerfEntityMetricBase
 61606  
 61607  	// A list of objects containing information (an interval and a timestamp)
 61608  	// about the samples collected.
 61609  	SampleInfo []PerfSampleInfo `xml:"sampleInfo,omitempty" json:"sampleInfo,omitempty"`
 61610  	// A list of values that corresponds to the samples collected.
 61611  	Value []BasePerfMetricSeries `xml:"value,omitempty,typeattr" json:"value,omitempty"`
 61612  }
 61613  
 61614  func init() {
 61615  	t["PerfEntityMetric"] = reflect.TypeOf((*PerfEntityMetric)(nil)).Elem()
 61616  }
 61617  
 61618  // Base type for the various `PerfEntityMetric`
 61619  // encodings.
 61620  type PerfEntityMetricBase struct {
 61621  	DynamicData
 61622  
 61623  	// Performance provider ID.
 61624  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 61625  }
 61626  
 61627  func init() {
 61628  	t["PerfEntityMetricBase"] = reflect.TypeOf((*PerfEntityMetricBase)(nil)).Elem()
 61629  }
 61630  
 61631  // This data object type stores metric values for a specific entity in CSV
 61632  // format.
 61633  type PerfEntityMetricCSV struct {
 61634  	PerfEntityMetricBase
 61635  
 61636  	// The `PerfSampleInfo` encoded in the following CSV
 61637  	// format: \[interval1\], \[date1\], \[interval2\], \[date2\], and so on.
 61638  	SampleInfoCSV string `xml:"sampleInfoCSV" json:"sampleInfoCSV"`
 61639  	// Metric values corresponding to the samples collected in this list.
 61640  	Value []PerfMetricSeriesCSV `xml:"value,omitempty" json:"value,omitempty"`
 61641  }
 61642  
 61643  func init() {
 61644  	t["PerfEntityMetricCSV"] = reflect.TypeOf((*PerfEntityMetricCSV)(nil)).Elem()
 61645  }
 61646  
 61647  // This data object type contains metadata about a performance interval.
 61648  //   - For VirtualCenter Server systems, instances of this data object are
 61649  //     referred to as &#147;historical intervals&#148; because they control
 61650  //     how data collected from the ESX systems will be aggregated and stored
 61651  //     in the database.
 61652  //   - For ESX system, this data object is typically referred to simply as the
 61653  //     &#147;interval&#148; or &#147;performance interval&#148; because ESX
 61654  //     does not aggregate statistical data.
 61655  //
 61656  // For ESX systems, a single instance of this data object exists. It cannot
 61657  // be modified. It has these properties:
 61658  // <table border="1"width="100%">
 61659  // <tr>
 61660  // <th>key</th>
 61661  // <th>samplingPeriod</th>
 61662  // <th>length</th>
 61663  // <th>name</th>
 61664  // <th>level</th>
 61665  // <th>enabled</th>
 61666  // </tr>
 61667  // <tr>
 61668  // <td>1</td>
 61669  // <td>300</td>
 61670  // <td>129600</td>
 61671  // <td>PastDay</td>
 61672  // <td>null</td>
 61673  // <td>true</td>
 61674  // </tr>
 61675  // </table>
 61676  //
 61677  // VirtualCenter Server system provides four instances of this data object
 61678  // by default, that apply globally to all system entities.
 61679  //
 61680  // **Example Collection Levels**
 61681  // VirtualCenter Server
 61682  // uses the specifications configured in its historical intervals to collect metrics
 61683  // from the ESX systems that it manages. The quantity of data collected depends on
 61684  // the level settings for the server, and the level associated with a specific counter.
 61685  // Both factors may change from one version of the products to the next. In general,
 61686  // the lower the number, the smaller the amount of data collected. For VirtualCenter
 61687  // Server 2.5, for example, the levels 1 through 4 collected data as follows:
 61688  //  1. Basic counters defined with "average" *rollup type* for CPU, Memory,
 61689  //     Disk, and Network; plus counters for System Uptime, System Heartbeat,
 61690  //     and DRS (Distributed Resource Scheduler, tracked in the
 61691  //     "clusterServices" group). Does not include counters for devices.
 61692  //  2. Counters defined with "average," "summation," and "latest" *rollup types* for CPU,
 61693  //     Memory, Disk, and Network; plus counters for System Uptime, System
 61694  //     Heartbeat, and DRS (clusterServices). Does not include counters for
 61695  //     devices.
 61696  //  3. Counters defined with "average," "summmation," and "latest" *rollup types* for CPU,
 61697  //     Memory, Disk, Network, and all devices; plus counters for System
 61698  //     Uptime, System Heartbeat, and DRS (clusterServices).
 61699  //  4. All counters defined for all entities and devices, for every *rollup type*, including
 61700  //     &#147;minimum&#148; and &#147;maximum&#46;&#148;
 61701  //
 61702  // Default properties for the four built-in historical intervals
 61703  // include:
 61704  // <table border="1"width="100%">
 61705  // <tr>
 61706  // <th>key</th>
 61707  // <th>samplingPeriod</th>
 61708  // <th>length</th>
 61709  // <th>name</th>
 61710  // <th>level</th>
 61711  // <th>enabled</th>
 61712  // </tr>
 61713  // <tr>
 61714  // <td>1</td>
 61715  // <td>300</td>
 61716  // <td>86400</td>
 61717  // <td>Past&nbsp;day</td>
 61718  // <td>1</td>
 61719  // <td>true</td>
 61720  // </tr>
 61721  // <tr>
 61722  // <td>2</td>
 61723  // <td>1800</td>
 61724  // <td>604800</td>
 61725  // <td>Past&nbsp;week</td>
 61726  // <td>1</td>
 61727  // <td>true</td>
 61728  // </tr>
 61729  // <tr>
 61730  // <td>3</td>
 61731  // <td>7200</td>
 61732  // <td>2592000</td>
 61733  // <td>Past&nbsp;month</td>
 61734  // <td>1</td>
 61735  // <td>true</td>
 61736  // </tr>
 61737  // <tr>
 61738  // <td>4</td>
 61739  // <td>86400</td>
 61740  // <td>31536000</td>
 61741  // <td>Past&nbsp;year</td>
 61742  // <td>1</td>
 61743  // <td>true</td>
 61744  // </tr>
 61745  // </table>
 61746  //
 61747  // All values are in seconds. The default setting for vCenter Server is
 61748  // level 1, which retains sampled statistical data as follows:
 61749  //   - 5-minute samples for the past day
 61750  //   - 30-minute samples for the past week
 61751  //   - 2-hour samples for the past month
 61752  //   - 1-day samples for the past year
 61753  //
 61754  // Data older than a year is purged from the vCenter Server database.
 61755  //
 61756  // Prior to version 2&#46;5 of the API, this data object could be used in
 61757  // conjunction with the `PerformanceManager.CreatePerfInterval`
 61758  // operation, to define new, custom historical intervals. That operation has
 61759  // been deprecated: Adding and deleting objects of this type is no longer
 61760  // supported. However, the default historical intervals can be enabled or
 61761  // disabled, and can be modified within certain limits (with the `PerformanceManager.UpdatePerfInterval` operation)&#46;
 61762  type PerfInterval struct {
 61763  	DynamicData
 61764  
 61765  	// A unique identifier for the interval.
 61766  	Key int32 `xml:"key" json:"key"`
 61767  	// Number of seconds that data is sampled for this interval.
 61768  	//
 61769  	// The real-time
 61770  	// samplingPeriod is 20 seconds.
 61771  	SamplingPeriod int32 `xml:"samplingPeriod" json:"samplingPeriod"`
 61772  	// The name of the historical interval.
 61773  	//
 61774  	// A localized string that provides a
 61775  	// name for the interval. Names include:
 61776  	//   - "Past Day"
 61777  	//   - "Past Week"
 61778  	//   - "Past Month"
 61779  	//   - "Past Year"
 61780  	//
 61781  	// The name is not meaningful in terms of system behavior. That is, the
 61782  	// interval named &#147;Past Week&#148; works as it does because of its
 61783  	// length, level, and so on, not because of the value of this string.
 61784  	Name string `xml:"name" json:"name"`
 61785  	// Number of seconds that the statistics corresponding to this interval are
 61786  	// kept on the system.
 61787  	Length int32 `xml:"length" json:"length"`
 61788  	// Statistics collection level for this historical interval.
 61789  	//
 61790  	// vCenter Server
 61791  	// will aggregate only those statistics that match the value of this
 61792  	// property for this historical interval. For ESX, the value of this
 61793  	// property is null. For vCenter Server, the value will be a number from 1
 61794  	// to 4.
 61795  	Level int32 `xml:"level,omitempty" json:"level,omitempty"`
 61796  	// Indicates whether the interval is enabled (true) or disabled (false).
 61797  	//
 61798  	// Disabling a historical interval prevents vCenter Server from collecting
 61799  	// metrics for that interval and all higher (longer) intervals.
 61800  	//
 61801  	// For example, disabling the "Past Month" interval disables both "Past
 61802  	// Month" and "Past Year" intervals. The system will aggregate and retain
 61803  	// performance data using the "Past Day" and "Past Week" intervals only.
 61804  	Enabled bool `xml:"enabled" json:"enabled"`
 61805  }
 61806  
 61807  func init() {
 61808  	t["PerfInterval"] = reflect.TypeOf((*PerfInterval)(nil)).Elem()
 61809  }
 61810  
 61811  // This data object type contains information that associates a performance
 61812  // counter with a performance metric.
 61813  //
 61814  // When constructing this data object for
 61815  // the `PerfQuerySpec.metricId` property of the `PerfQuerySpec` to submit to one of the `PerformanceManager` query operations, the `PerfMetricId.instance` property
 61816  // supports these special characters:
 61817  //   - An asterisk (\*) to specify all instances of the metric for the
 61818  //     specified `PerfMetricId.counterId`
 61819  //   - Double-quotes ("") to specify aggregated statistics
 61820  type PerfMetricId struct {
 61821  	DynamicData
 61822  
 61823  	// The `ID` of the counter for
 61824  	// the metric.
 61825  	CounterId int32 `xml:"counterId" json:"counterId"`
 61826  	// An identifier that is derived from configuration names for the device
 61827  	// associated with the metric.
 61828  	//
 61829  	// It identifies the instance of the metric
 61830  	// with its source. This property may be empty.
 61831  	//   - For memory and aggregated statistics, this property is empty.
 61832  	//   - For host and virtual machine devices, this property contains the
 61833  	//     name of the device, such as the name of the host-bus adapter or
 61834  	//     the name of the virtual Ethernet adapter. For example,
 61835  	//     &#147;mpx&#46;vmhba33&#58;C0&#58;T0&#58;L0&#148; or
 61836  	//     &#147;vmnic0&#58;&#148;
 61837  	//   - For a CPU, this property identifies the numeric position within
 61838  	//     the CPU core, such as 0, 1, 2, 3.
 61839  	//   - For a virtual disk, this property identifies the file type:
 61840  	//   - DISKFILE, for virtual machine base-disk files
 61841  	//   - SWAPFILE, for virtual machine swap files
 61842  	//   - DELTAFILE, for virtual machine snapshot overhead files
 61843  	//   - OTHERFILE, for all other files of a virtual machine
 61844  	Instance string `xml:"instance" json:"instance"`
 61845  }
 61846  
 61847  func init() {
 61848  	t["PerfMetricId"] = reflect.TypeOf((*PerfMetricId)(nil)).Elem()
 61849  }
 61850  
 61851  // This data object type describes integer metric values.
 61852  //
 61853  // The size of the
 61854  // array must match the size of `PerfEntityMetric.sampleInfo` property in the `PerfEntityMetric` that contains this series.
 61855  type PerfMetricIntSeries struct {
 61856  	PerfMetricSeries
 61857  
 61858  	// An array of 64-bit integer values.
 61859  	//
 61860  	// The size of the array matches the
 61861  	// size as the `PerfSampleInfo`, because the values
 61862  	// can only be interpreted in the context of the sample that generated
 61863  	// the value.
 61864  	Value []int64 `xml:"value,omitempty" json:"value,omitempty"`
 61865  }
 61866  
 61867  func init() {
 61868  	t["PerfMetricIntSeries"] = reflect.TypeOf((*PerfMetricIntSeries)(nil)).Elem()
 61869  }
 61870  
 61871  // This is a generic data object type that stores values for a specific
 61872  // performance metric.
 61873  //
 61874  // Useful data objects that store actual metric values
 61875  // extend this data object (see `PerfMetricIntSeries`).
 61876  type PerfMetricSeries struct {
 61877  	DynamicData
 61878  
 61879  	// An identifier for the performance metric.
 61880  	Id PerfMetricId `xml:"id" json:"id"`
 61881  }
 61882  
 61883  func init() {
 61884  	t["PerfMetricSeries"] = reflect.TypeOf((*PerfMetricSeries)(nil)).Elem()
 61885  }
 61886  
 61887  // This data object type represents a `PerfMetricSeries` encoded in CSV format.
 61888  type PerfMetricSeriesCSV struct {
 61889  	PerfMetricSeries
 61890  
 61891  	// An array of sample values in CSV format
 61892  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 61893  }
 61894  
 61895  func init() {
 61896  	t["PerfMetricSeriesCSV"] = reflect.TypeOf((*PerfMetricSeriesCSV)(nil)).Elem()
 61897  }
 61898  
 61899  // This data object type contains information about a performance provider,
 61900  // the type of statistics it generates, and the `PerfProviderSummary.refreshRate` for
 61901  // statistics generation.
 61902  //
 61903  // A performance provider is any *managed object* that generates real-time or
 61904  // historical statistics (or both&#151;the `PerfProviderSummary.currentSupported` and
 61905  // `PerfProviderSummary.summarySupported` properties are not mutually exclusive).
 61906  type PerfProviderSummary struct {
 61907  	DynamicData
 61908  
 61909  	// Reference to the performance provider, the *managed object* that provides real-time or
 61910  	// historical metrics.
 61911  	//
 61912  	// The managed objects include but are not limited to
 61913  	// *managed entities*, such as *host systems*, *virtual machines*, and *resource pools*.
 61914  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 61915  	// True if this entity supports real-time (current) statistics; false if
 61916  	// it does not.
 61917  	//
 61918  	// If this property is true for an entity, a client application
 61919  	// can set the `PerfQuerySpec.intervalId` of the
 61920  	// `PerfQuerySpec` (passed to the
 61921  	// `PerformanceManager.QueryPerf` operation) to the `PerfProviderSummary.refreshRate` to obtain the maximum information possible for the
 61922  	// entity.
 61923  	CurrentSupported bool `xml:"currentSupported" json:"currentSupported"`
 61924  	// True if this entity supports historical (aggregated) statistics; false
 61925  	// if it does not.
 61926  	//
 61927  	// When this property is true for an entity, a client
 61928  	// application can set the `PerfQuerySpec.intervalId` of `PerformanceManager.QueryPerf` to one of the historical `intervals` to obtain historical statistics for this
 61929  	// entity.
 61930  	SummarySupported bool `xml:"summarySupported" json:"summarySupported"`
 61931  	// Number of seconds between the generation of each counter.
 61932  	//
 61933  	// This value
 61934  	// applies only to entities that support real-time (current)
 61935  	// statistics&#46;
 61936  	RefreshRate int32 `xml:"refreshRate,omitempty" json:"refreshRate,omitempty"`
 61937  }
 61938  
 61939  func init() {
 61940  	t["PerfProviderSummary"] = reflect.TypeOf((*PerfProviderSummary)(nil)).Elem()
 61941  }
 61942  
 61943  // This data object specifies the query parameters, including the managed
 61944  // object reference to the target entity for statistics retrieval.
 61945  //   - If the optional `PerfQuerySpec.intervalId` is omitted, the metrics are
 61946  //     returned in their originally sampled interval.
 61947  //   - When an `PerfQuerySpec.intervalId` is specified, the server tries to
 61948  //     summarize the information for the specified `PerfQuerySpec.intervalId`.
 61949  //     However, if that interval does not exist or has no data, the
 61950  //     server summarizes the information using the best interval
 61951  //     available.
 61952  //   - If the range between `PerfQuerySpec.startTime` and `PerfQuerySpec.endTime` crosses
 61953  //     multiple sample interval periods, the result contains data from the
 61954  //     longest interval in the period.
 61955  type PerfQuerySpec struct {
 61956  	DynamicData
 61957  
 61958  	// The managed object whose performance statistics are being queried.
 61959  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 61960  	// The server time from which to obtain counters.
 61961  	//
 61962  	// If not specified,
 61963  	// defaults to the first available counter. When a startTime is
 61964  	// specified, the returned samples do not include the sample at
 61965  	// startTime.
 61966  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
 61967  	// The time up to which statistics are retrieved.
 61968  	//
 61969  	// Corresponds to server
 61970  	// time. When endTime is omitted, the returned result includes up to the
 61971  	// most recent metric value. When an endTime is specified, the returned
 61972  	// samples include the sample at endTime.
 61973  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 61974  	// Limits the number of samples returned.
 61975  	//
 61976  	// Defaults to the most recent
 61977  	// sample (or samples), unless a time range is specified. Use this
 61978  	// property only in conjunction with the `PerfQuerySpec.intervalId` to obtain
 61979  	// real-time statistics (set the `PerfQuerySpec.intervalId` to the `PerfProviderSummary.refreshRate`. This property is
 61980  	// ignored for historical statistics, and is not valid for the `PerformanceManager.QueryPerfComposite` operation.
 61981  	MaxSample int32 `xml:"maxSample,omitempty" json:"maxSample,omitempty"`
 61982  	// The performance metrics to be retrieved.
 61983  	//
 61984  	// This property is required for
 61985  	// the `PerformanceManager.QueryPerfComposite` operation.
 61986  	MetricId []PerfMetricId `xml:"metricId,omitempty" json:"metricId,omitempty"`
 61987  	// The interval (`PerfInterval.samplingPeriod`), in seconds,
 61988  	// for the performance statistics&#46; For aggregated information, use
 61989  	// one of the historical intervals for this property.
 61990  	//
 61991  	// See `PerfInterval` for more information.
 61992  	//   - To obtain the greatest detail, use the provider&#146;s `PerfProviderSummary.refreshRate` for this
 61993  	//     property.
 61994  	IntervalId int32 `xml:"intervalId,omitempty" json:"intervalId,omitempty"`
 61995  	// The format to be used while returning the statistics&#46;
 61996  	//
 61997  	// See also `PerfFormat_enum`.
 61998  	Format string `xml:"format,omitempty" json:"format,omitempty"`
 61999  }
 62000  
 62001  func init() {
 62002  	t["PerfQuerySpec"] = reflect.TypeOf((*PerfQuerySpec)(nil)).Elem()
 62003  }
 62004  
 62005  // This data object type describes information contained in a sample
 62006  // collection, its timestamp, and sampling interval.
 62007  type PerfSampleInfo struct {
 62008  	DynamicData
 62009  
 62010  	// The time at which the sample was collected.
 62011  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 62012  	// The interval in seconds for which performance statistics were
 62013  	// collected.
 62014  	//
 62015  	// This can be the refreshRate of the managed object for which
 62016  	// this statistics was collected or one of the intervals for historical
 62017  	// statistics configured in the system. See `PerformanceManager.UpdatePerfInterval` for more information about the intervals
 62018  	// configured in the system.
 62019  	Interval int32 `xml:"interval" json:"interval"`
 62020  }
 62021  
 62022  func init() {
 62023  	t["PerfSampleInfo"] = reflect.TypeOf((*PerfSampleInfo)(nil)).Elem()
 62024  }
 62025  
 62026  // The parameters of `DistributedVirtualSwitch.PerformDvsProductSpecOperation_Task`.
 62027  type PerformDvsProductSpecOperationRequestType struct {
 62028  	This ManagedObjectReference `xml:"_this" json:"-"`
 62029  	// The operation. See `DistributedVirtualSwitchProductSpecOperationType_enum` for
 62030  	// valid values. For
 62031  	// `VmwareDistributedVirtualSwitch`,
 62032  	// only `upgrade`
 62033  	// is valid.
 62034  	Operation string `xml:"operation" json:"operation"`
 62035  	// The product info of the implementation.
 62036  	ProductSpec *DistributedVirtualSwitchProductSpec `xml:"productSpec,omitempty" json:"productSpec,omitempty"`
 62037  }
 62038  
 62039  func init() {
 62040  	t["PerformDvsProductSpecOperationRequestType"] = reflect.TypeOf((*PerformDvsProductSpecOperationRequestType)(nil)).Elem()
 62041  }
 62042  
 62043  type PerformDvsProductSpecOperation_Task PerformDvsProductSpecOperationRequestType
 62044  
 62045  func init() {
 62046  	t["PerformDvsProductSpecOperation_Task"] = reflect.TypeOf((*PerformDvsProductSpecOperation_Task)(nil)).Elem()
 62047  }
 62048  
 62049  type PerformDvsProductSpecOperation_TaskResponse struct {
 62050  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62051  }
 62052  
 62053  type PerformVsanUpgradePreflightCheck PerformVsanUpgradePreflightCheckRequestType
 62054  
 62055  func init() {
 62056  	t["PerformVsanUpgradePreflightCheck"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheck)(nil)).Elem()
 62057  }
 62058  
 62059  // The parameters of `VsanUpgradeSystem.PerformVsanUpgradePreflightCheck`.
 62060  type PerformVsanUpgradePreflightCheckRequestType struct {
 62061  	This ManagedObjectReference `xml:"_this" json:"-"`
 62062  	// The cluster for which to perform the check.
 62063  	//
 62064  	// Refers instance of `ClusterComputeResource`.
 62065  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 62066  	// Intend to perform a on-disk format downgrade instead
 62067  	// of upgrade. Adds additional checks.
 62068  	DowngradeFormat *bool `xml:"downgradeFormat" json:"downgradeFormat,omitempty"`
 62069  }
 62070  
 62071  func init() {
 62072  	t["PerformVsanUpgradePreflightCheckRequestType"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheckRequestType)(nil)).Elem()
 62073  }
 62074  
 62075  type PerformVsanUpgradePreflightCheckResponse struct {
 62076  	Returnval VsanUpgradeSystemPreflightCheckResult `xml:"returnval" json:"returnval"`
 62077  }
 62078  
 62079  // The parameters of `VsanUpgradeSystem.PerformVsanUpgrade_Task`.
 62080  type PerformVsanUpgradeRequestType struct {
 62081  	This ManagedObjectReference `xml:"_this" json:"-"`
 62082  	// The cluster to be upgraded
 62083  	//
 62084  	// Refers instance of `ClusterComputeResource`.
 62085  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 62086  	// After all disk groups have been updated, also
 62087  	// upgrade all objects. Once started, rollback
 62088  	// of the on disk format is no longer possible.
 62089  	// Object upgrade unlocks new VSAN features.
 62090  	PerformObjectUpgrade *bool `xml:"performObjectUpgrade" json:"performObjectUpgrade,omitempty"`
 62091  	// Perform a on-disk format downgrade instead of
 62092  	// upgrade. Only possible if no upgraded objects exist.
 62093  	DowngradeFormat *bool `xml:"downgradeFormat" json:"downgradeFormat,omitempty"`
 62094  	// Removes the need for one disk group worth of
 62095  	// free space, by allowing reduced redundancy
 62096  	// during disk upgrade.
 62097  	AllowReducedRedundancy *bool `xml:"allowReducedRedundancy" json:"allowReducedRedundancy,omitempty"`
 62098  	// Internal debug option meant for functional testing
 62099  	// of VSAN upgrades. Skips upgrade on certain hosts and
 62100  	// implies performObjectUpgrade being false. Should not
 62101  	// be used by customers.
 62102  	//
 62103  	// Refers instances of `HostSystem`.
 62104  	ExcludeHosts []ManagedObjectReference `xml:"excludeHosts,omitempty" json:"excludeHosts,omitempty"`
 62105  }
 62106  
 62107  func init() {
 62108  	t["PerformVsanUpgradeRequestType"] = reflect.TypeOf((*PerformVsanUpgradeRequestType)(nil)).Elem()
 62109  }
 62110  
 62111  type PerformVsanUpgrade_Task PerformVsanUpgradeRequestType
 62112  
 62113  func init() {
 62114  	t["PerformVsanUpgrade_Task"] = reflect.TypeOf((*PerformVsanUpgrade_Task)(nil)).Elem()
 62115  }
 62116  
 62117  type PerformVsanUpgrade_TaskResponse struct {
 62118  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62119  }
 62120  
 62121  // Static strings for performance metrics.
 62122  type PerformanceDescription struct {
 62123  	DynamicData
 62124  
 62125  	// Identifies the `type` of
 62126  	// the counter.
 62127  	CounterType []BaseElementDescription `xml:"counterType,typeattr" json:"counterType"`
 62128  	// Identifies the `type`
 62129  	// of statistic.
 62130  	StatsType []BaseElementDescription `xml:"statsType,typeattr" json:"statsType"`
 62131  }
 62132  
 62133  func init() {
 62134  	t["PerformanceDescription"] = reflect.TypeOf((*PerformanceDescription)(nil)).Elem()
 62135  }
 62136  
 62137  // `PerformanceManagerCounterLevelMapping` class captures the counter
 62138  // and level mapping.
 62139  //
 62140  // Any counter has two aspects: aggregate value or the
 62141  // per-device value. For example, cpu.usage.average on a host is an
 62142  // aggregate counter and cpu.usage.average on pcpus in a host is a
 62143  // per-device counters. There is a need to be able to specify different
 62144  // levels for the two versions. Currently, all per-device stats are
 62145  // collected at level greater than or equal to 3.
 62146  //
 62147  // In order to be able to configure the level of collections for
 62148  // aggregate and per-device counters we have two optional level fields.
 62149  // `PerformanceManagerCounterLevelMapping` is used to update the
 62150  // levels for a counter.
 62151  type PerformanceManagerCounterLevelMapping struct {
 62152  	DynamicData
 62153  
 62154  	// The counter Id
 62155  	CounterId int32 `xml:"counterId" json:"counterId"`
 62156  	// Level for the aggregate counter.
 62157  	//
 62158  	// If not set then the value is not
 62159  	// changed when updateCounterLevelMapping is called.
 62160  	AggregateLevel int32 `xml:"aggregateLevel,omitempty" json:"aggregateLevel,omitempty"`
 62161  	// Level for the per device counter.
 62162  	//
 62163  	// If not set then the value is not
 62164  	// changed when updateCounterLevelMapping is called.
 62165  	PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty" json:"perDeviceLevel,omitempty"`
 62166  }
 62167  
 62168  func init() {
 62169  	t["PerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*PerformanceManagerCounterLevelMapping)(nil)).Elem()
 62170  }
 62171  
 62172  // Data object to capture all information needed to
 62173  // describe a sample inventory.
 62174  type PerformanceStatisticsDescription struct {
 62175  	DynamicData
 62176  
 62177  	// Historic interval setting.
 62178  	//
 62179  	// Default value is the same as the historic
 62180  	// interval settings of the current instance
 62181  	// of running VC.
 62182  	Intervals []PerfInterval `xml:"intervals,omitempty" json:"intervals,omitempty"`
 62183  }
 62184  
 62185  func init() {
 62186  	t["PerformanceStatisticsDescription"] = reflect.TypeOf((*PerformanceStatisticsDescription)(nil)).Elem()
 62187  }
 62188  
 62189  // This data object type provides assignment of some role access to
 62190  // a principal on a specific entity.
 62191  //
 62192  // A ManagedEntity is limited to
 62193  // one permission per principal.
 62194  type Permission struct {
 62195  	DynamicData
 62196  
 62197  	// Managed entity the permission is defined on.
 62198  	//
 62199  	// Left unset
 62200  	// when calling setPermissions or resetPermissions, but present
 62201  	// for the results of permission queries.
 62202  	//
 62203  	// Refers instance of `ManagedEntity`.
 62204  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 62205  	// User or group receiving access in the form of
 62206  	// "login" for local or "DOMAIN\\login" for users in a Windows domain.
 62207  	Principal string `xml:"principal" json:"principal"`
 62208  	// Whether principal refers to a user or a group.
 62209  	//
 62210  	// True for
 62211  	// a group and false for a user.
 62212  	Group bool `xml:"group" json:"group"`
 62213  	// Reference to the role providing the access.
 62214  	RoleId int32 `xml:"roleId" json:"roleId"`
 62215  	// Whether or not this permission propagates down the hierarchy
 62216  	// to sub-entities.
 62217  	Propagate bool `xml:"propagate" json:"propagate"`
 62218  }
 62219  
 62220  func init() {
 62221  	t["Permission"] = reflect.TypeOf((*Permission)(nil)).Elem()
 62222  }
 62223  
 62224  // This event records the creation of a permission.
 62225  type PermissionAddedEvent struct {
 62226  	PermissionEvent
 62227  
 62228  	// The associated role.
 62229  	Role RoleEventArgument `xml:"role" json:"role"`
 62230  	// Whether or not the permission applies to sub-entities.
 62231  	Propagate bool `xml:"propagate" json:"propagate"`
 62232  }
 62233  
 62234  func init() {
 62235  	t["PermissionAddedEvent"] = reflect.TypeOf((*PermissionAddedEvent)(nil)).Elem()
 62236  }
 62237  
 62238  // This event records a permission operation.
 62239  type PermissionEvent struct {
 62240  	AuthorizationEvent
 62241  
 62242  	// The entity to which the permission applied.
 62243  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
 62244  	// The user name or group to which the permission was granted.
 62245  	Principal string `xml:"principal" json:"principal"`
 62246  	// Whether or not the principal was a group.
 62247  	Group bool `xml:"group" json:"group"`
 62248  }
 62249  
 62250  func init() {
 62251  	t["PermissionEvent"] = reflect.TypeOf((*PermissionEvent)(nil)).Elem()
 62252  }
 62253  
 62254  // The `PermissionProfile` data object represents the profile
 62255  // for a permission rule.
 62256  //
 62257  // Use the `ApplyProfile.policy` list for
 62258  // access to configuration data for the permission profile. Use the
 62259  // `ApplyProfile.property` list for access to subprofiles, if any.
 62260  type PermissionProfile struct {
 62261  	ApplyProfile
 62262  
 62263  	Key string `xml:"key" json:"key"`
 62264  }
 62265  
 62266  func init() {
 62267  	t["PermissionProfile"] = reflect.TypeOf((*PermissionProfile)(nil)).Elem()
 62268  }
 62269  
 62270  // This event records the removal of a permission.
 62271  type PermissionRemovedEvent struct {
 62272  	PermissionEvent
 62273  }
 62274  
 62275  func init() {
 62276  	t["PermissionRemovedEvent"] = reflect.TypeOf((*PermissionRemovedEvent)(nil)).Elem()
 62277  }
 62278  
 62279  // This event records the update of a permission.
 62280  type PermissionUpdatedEvent struct {
 62281  	PermissionEvent
 62282  
 62283  	// The associated role.
 62284  	Role RoleEventArgument `xml:"role" json:"role"`
 62285  	// Whether or not the permission applies to sub-entities.
 62286  	Propagate bool `xml:"propagate" json:"propagate"`
 62287  	// The previous associated role.
 62288  	PrevRole *RoleEventArgument `xml:"prevRole,omitempty" json:"prevRole,omitempty"`
 62289  	// Previous propogate value.
 62290  	PrevPropagate *bool `xml:"prevPropagate" json:"prevPropagate,omitempty"`
 62291  }
 62292  
 62293  func init() {
 62294  	t["PermissionUpdatedEvent"] = reflect.TypeOf((*PermissionUpdatedEvent)(nil)).Elem()
 62295  }
 62296  
 62297  // The virtual machine is configured with a Raw Disk Mapping in physical compatibility mode.
 62298  //
 62299  // This mode is not supported on the host.
 62300  type PhysCompatRDMNotSupported struct {
 62301  	RDMNotSupported
 62302  }
 62303  
 62304  func init() {
 62305  	t["PhysCompatRDMNotSupported"] = reflect.TypeOf((*PhysCompatRDMNotSupported)(nil)).Elem()
 62306  }
 62307  
 62308  type PhysCompatRDMNotSupportedFault PhysCompatRDMNotSupported
 62309  
 62310  func init() {
 62311  	t["PhysCompatRDMNotSupportedFault"] = reflect.TypeOf((*PhysCompatRDMNotSupportedFault)(nil)).Elem()
 62312  }
 62313  
 62314  // This data object type describes the physical network adapter
 62315  // as seen by the primary operating system.
 62316  type PhysicalNic struct {
 62317  	DynamicData
 62318  
 62319  	// The linkable identifier.
 62320  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 62321  	// The device name of the physical network adapter.
 62322  	Device string `xml:"device" json:"device"`
 62323  	// Device hash of the PCI device corresponding to this
 62324  	// physical network adapter.
 62325  	Pci string `xml:"pci" json:"pci"`
 62326  	// The name of the driver.
 62327  	//
 62328  	// From command line: esxcli network nic get
 62329  	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
 62330  	// The version of the physical network adapter operating system driver.
 62331  	DriverVersion string `xml:"driverVersion,omitempty" json:"driverVersion,omitempty" vim:"8.0.0.1"`
 62332  	// The version of the firmware running in the network adapter.
 62333  	FirmwareVersion string `xml:"firmwareVersion,omitempty" json:"firmwareVersion,omitempty" vim:"8.0.0.1"`
 62334  	// The current link state of the physical network adapter.
 62335  	//
 62336  	// If this object is not set, then the link is down.
 62337  	LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
 62338  	// The valid combinations of speed and duplexity for this
 62339  	// physical network adapter.
 62340  	//
 62341  	// The speed and the duplex settings usually must be configured
 62342  	// as a pair. This array lists all the valid combinations available
 62343  	// for a physical network adapter.
 62344  	//
 62345  	// Autonegotiate is not listed as one of the combinations supported.
 62346  	// If is implicitly supported by the physical network adapter
 62347  	// unless `PhysicalNic.autoNegotiateSupported` is set to false.
 62348  	ValidLinkSpecification []PhysicalNicLinkInfo `xml:"validLinkSpecification,omitempty" json:"validLinkSpecification,omitempty"`
 62349  	// The specification of the physical network adapter.
 62350  	Spec PhysicalNicSpec `xml:"spec" json:"spec"`
 62351  	// Flag indicating whether the NIC is wake-on-LAN capable
 62352  	WakeOnLanSupported bool `xml:"wakeOnLanSupported" json:"wakeOnLanSupported"`
 62353  	// The media access control (MAC) address of the physical
 62354  	// network adapter.
 62355  	Mac string `xml:"mac" json:"mac"`
 62356  	// The FCoE configuration of the physical network adapter.
 62357  	FcoeConfiguration *FcoeConfig `xml:"fcoeConfiguration,omitempty" json:"fcoeConfiguration,omitempty"`
 62358  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 62359  	// there is no replacement.
 62360  	//
 62361  	// Flag indicating whether the NIC supports VMDirectPath Gen 2.
 62362  	//
 62363  	// Note that
 62364  	// this is only an indicator of the capabilities of this NIC, not of the
 62365  	// whole host.
 62366  	//
 62367  	// If the host software is not capable of VMDirectPath Gen 2,
 62368  	// this property will be unset, as the host cannot provide information on
 62369  	// the NIC capability.
 62370  	//
 62371  	// See also `HostCapability.vmDirectPathGen2Supported`.
 62372  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
 62373  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 62374  	// there is no replacement.
 62375  	//
 62376  	// If `PhysicalNic.vmDirectPathGen2Supported` is true, this property advertises
 62377  	// the VMDirectPath Gen 2 mode supported by this NIC (chosen from
 62378  	// `PhysicalNicVmDirectPathGen2SupportedMode_enum`).
 62379  	//
 62380  	// A mode may require that the associated vSphere Distributed Switch have
 62381  	// a particular ProductSpec in order for network passthrough to be possible.
 62382  	VmDirectPathGen2SupportedMode string `xml:"vmDirectPathGen2SupportedMode,omitempty" json:"vmDirectPathGen2SupportedMode,omitempty"`
 62383  	// Flag indicating whether the NIC allows resource pool based scheduling
 62384  	// for network I/O control.
 62385  	ResourcePoolSchedulerAllowed *bool `xml:"resourcePoolSchedulerAllowed" json:"resourcePoolSchedulerAllowed,omitempty"`
 62386  	// If `PhysicalNic.resourcePoolSchedulerAllowed` is false, this property
 62387  	// advertises the reason for disallowing resource scheduling on
 62388  	// this NIC.
 62389  	//
 62390  	// The reasons may be one of
 62391  	// `PhysicalNicResourcePoolSchedulerDisallowedReason_enum`
 62392  	ResourcePoolSchedulerDisallowedReason []string `xml:"resourcePoolSchedulerDisallowedReason,omitempty" json:"resourcePoolSchedulerDisallowedReason,omitempty"`
 62393  	// If set the flag indicates if the physical network adapter supports
 62394  	// autonegotiate.
 62395  	AutoNegotiateSupported *bool `xml:"autoNegotiateSupported" json:"autoNegotiateSupported,omitempty"`
 62396  	// If set the flag indicates whether a physical nic supports Enhanced
 62397  	// Networking Stack driver
 62398  	EnhancedNetworkingStackSupported *bool `xml:"enhancedNetworkingStackSupported" json:"enhancedNetworkingStackSupported,omitempty"`
 62399  	// If set the flag indicates whether a physical nic supports Enhanced
 62400  	// Networking Stack interrupt mode
 62401  	EnsInterruptSupported *bool `xml:"ensInterruptSupported" json:"ensInterruptSupported,omitempty"`
 62402  	// Associated RDMA device, if any.
 62403  	RdmaDevice string `xml:"rdmaDevice,omitempty" json:"rdmaDevice,omitempty"`
 62404  	// The identifier of the DPU by which the physical NIC is backed.
 62405  	//
 62406  	// When physical NIC is not backed by DPU, dpuId will be unset.
 62407  	DpuId string `xml:"dpuId,omitempty" json:"dpuId,omitempty" vim:"8.0.0.1"`
 62408  }
 62409  
 62410  func init() {
 62411  	t["PhysicalNic"] = reflect.TypeOf((*PhysicalNic)(nil)).Elem()
 62412  }
 62413  
 62414  // The capability of the CDP-awared device that connects to a Physical NIC.
 62415  //
 62416  // `PhysicalNicCdpInfo`
 62417  type PhysicalNicCdpDeviceCapability struct {
 62418  	DynamicData
 62419  
 62420  	// The CDP-awared device has the capability of a routing for
 62421  	// at least one network layer protocol
 62422  	Router bool `xml:"router" json:"router"`
 62423  	// The CDP-awared device has the capability of transparent
 62424  	// bridging
 62425  	TransparentBridge bool `xml:"transparentBridge" json:"transparentBridge"`
 62426  	// The CDP-awared device has the capability of source-route
 62427  	// bridging
 62428  	SourceRouteBridge bool `xml:"sourceRouteBridge" json:"sourceRouteBridge"`
 62429  	// The CDP-awared device has the capability of switching.
 62430  	//
 62431  	// The
 62432  	// difference between this capability and transparentBridge is
 62433  	// that a switch does not run the Spanning-Tree Protocol. This
 62434  	// device is assumed to be deployed in a physical loop-free topology.
 62435  	NetworkSwitch bool `xml:"networkSwitch" json:"networkSwitch"`
 62436  	// The CDP-awared device has the capability of a host, which
 62437  	// Sends and receives packets for at least one network layer protocol.
 62438  	Host bool `xml:"host" json:"host"`
 62439  	// The CDP-awared device is IGMP-enabled, which does not forward IGMP
 62440  	// Report packets on nonrouter ports.
 62441  	IgmpEnabled bool `xml:"igmpEnabled" json:"igmpEnabled"`
 62442  	// The CDP-awared device has the capability of a repeater
 62443  	Repeater bool `xml:"repeater" json:"repeater"`
 62444  }
 62445  
 62446  func init() {
 62447  	t["PhysicalNicCdpDeviceCapability"] = reflect.TypeOf((*PhysicalNicCdpDeviceCapability)(nil)).Elem()
 62448  }
 62449  
 62450  // CDP (Cisco Discovery Protocol) is a link level protocol that allows
 62451  // for discovering the CDP-awared network hardware at either end of a
 62452  // DIRECT connection.
 62453  //
 62454  // It's only good for direct connection because CDP
 62455  // doesn't get forwarded through switches.
 62456  // It's a simple advertisement protocol which beacons information about
 62457  // the switch or host along with some port information. The CDP information
 62458  // allows ESX Server admins to know which Cisco switch port is connected to
 62459  // any given virtual switch uplink (PNIC).
 62460  type PhysicalNicCdpInfo struct {
 62461  	DynamicData
 62462  
 62463  	// CDP version.
 62464  	//
 62465  	// The value is always 1.
 62466  	CdpVersion int32 `xml:"cdpVersion,omitempty" json:"cdpVersion,omitempty"`
 62467  	// This is the periodicity of advertisement, the time between two
 62468  	// successive CDP message transmissions
 62469  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 62470  	// Time-To-Live.
 62471  	//
 62472  	// the amount of time, in seconds, that a receiver should
 62473  	// retain the information contained in the CDP packet.
 62474  	Ttl int32 `xml:"ttl,omitempty" json:"ttl,omitempty"`
 62475  	// The number of CDP messages we have received from the device.
 62476  	Samples int32 `xml:"samples,omitempty" json:"samples,omitempty"`
 62477  	// Device ID which identifies the device.
 62478  	//
 62479  	// By default, the device ID is
 62480  	// either the device's fully-qualified host name (including the domain
 62481  	// name) or the device's hardware serial number in ASCII.
 62482  	DevId string `xml:"devId,omitempty" json:"devId,omitempty"`
 62483  	// The advertised IP address that is assigned to the interface of the device
 62484  	// on which the CDP message is sent.
 62485  	//
 62486  	// The device can advertise all addresses for
 62487  	// a given protocol suite and, optionally, can advertise one or more loopback
 62488  	// IP addresses. But this property only show the first address.
 62489  	Address string `xml:"address,omitempty" json:"address,omitempty"`
 62490  	// Port ID.
 62491  	//
 62492  	// An ASCII character string that identifies the port on which
 62493  	// the CDP message is sent, e.g. "FastEthernet0/8"
 62494  	PortId string `xml:"portId,omitempty" json:"portId,omitempty"`
 62495  	// Device Capability
 62496  	// `PhysicalNicCdpDeviceCapability`
 62497  	DeviceCapability *PhysicalNicCdpDeviceCapability `xml:"deviceCapability,omitempty" json:"deviceCapability,omitempty"`
 62498  	// Software version on the device.
 62499  	//
 62500  	// A character string that provides
 62501  	// information about the software release version that the device is
 62502  	// running. e.g. "Cisco Internetwork Operating Syscisco WS-C2940-8TT-S"
 62503  	SoftwareVersion string `xml:"softwareVersion,omitempty" json:"softwareVersion,omitempty"`
 62504  	// Hardware platform.
 62505  	//
 62506  	// An ASCII character string that describes the
 62507  	// hardware platform of the device , e.g. "cisco WS-C2940-8TT-S"
 62508  	HardwarePlatform string `xml:"hardwarePlatform,omitempty" json:"hardwarePlatform,omitempty"`
 62509  	// IP prefix.
 62510  	//
 62511  	// Each IP prefix represents one of the directly connected
 62512  	// IP network segments of the local route.
 62513  	IpPrefix string `xml:"ipPrefix,omitempty" json:"ipPrefix,omitempty"`
 62514  	// ipPrefix length.
 62515  	IpPrefixLen int32 `xml:"ipPrefixLen,omitempty" json:"ipPrefixLen,omitempty"`
 62516  	// The native VLAN of advertising port.
 62517  	//
 62518  	// The native VLAN is the VLAN to
 62519  	// which a port returns when it is not trunking. Also, the native VLAN
 62520  	// is the untagged VLAN on an 802.1Q trunk.
 62521  	Vlan int32 `xml:"vlan,omitempty" json:"vlan,omitempty"`
 62522  	// Half/full duplex setting of the advertising port.
 62523  	FullDuplex *bool `xml:"fullDuplex" json:"fullDuplex,omitempty"`
 62524  	// MTU, the maximum transmission unit for the advertising port.
 62525  	//
 62526  	// Possible
 62527  	// values are 1500 through 18190.
 62528  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 62529  	// The configured SNMP system name of the device.
 62530  	SystemName string `xml:"systemName,omitempty" json:"systemName,omitempty"`
 62531  	// The configured SNMP system OID of the device.
 62532  	SystemOID string `xml:"systemOID,omitempty" json:"systemOID,omitempty"`
 62533  	// The configured IP address of the SNMP management interface for the
 62534  	// device.
 62535  	MgmtAddr string `xml:"mgmtAddr,omitempty" json:"mgmtAddr,omitempty"`
 62536  	// The configured location of the device.
 62537  	Location string `xml:"location,omitempty" json:"location,omitempty"`
 62538  }
 62539  
 62540  func init() {
 62541  	t["PhysicalNicCdpInfo"] = reflect.TypeOf((*PhysicalNicCdpInfo)(nil)).Elem()
 62542  }
 62543  
 62544  // The configuration of the physical network adapter containing
 62545  // both the configurable properties and identification information.
 62546  type PhysicalNicConfig struct {
 62547  	DynamicData
 62548  
 62549  	// PhysicalNic device to which configuration applies.
 62550  	Device string `xml:"device" json:"device"`
 62551  	// The specification of the physical network adapter.
 62552  	Spec PhysicalNicSpec `xml:"spec" json:"spec"`
 62553  }
 62554  
 62555  func init() {
 62556  	t["PhysicalNicConfig"] = reflect.TypeOf((*PhysicalNicConfig)(nil)).Elem()
 62557  }
 62558  
 62559  // This data object type describes each network of a physical
 62560  // network adapter's network hint.
 62561  type PhysicalNicHint struct {
 62562  	DynamicData
 62563  
 62564  	// The optional VLAN Id of the network.
 62565  	VlanId int32 `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 62566  }
 62567  
 62568  func init() {
 62569  	t["PhysicalNicHint"] = reflect.TypeOf((*PhysicalNicHint)(nil)).Elem()
 62570  }
 62571  
 62572  // The NetworkHint data object type is some information about
 62573  // the network to which the
 62574  // physical network adapter is attached.
 62575  type PhysicalNicHintInfo struct {
 62576  	DynamicData
 62577  
 62578  	// The physical network adapter device to which
 62579  	// this hint applies.
 62580  	Device string `xml:"device" json:"device"`
 62581  	// The list of subnets that were detected on this
 62582  	// physical network adapter.
 62583  	Subnet []PhysicalNicIpHint `xml:"subnet,omitempty" json:"subnet,omitempty"`
 62584  	// The list of network names that were detected on this
 62585  	// physical network adapter.
 62586  	Network []PhysicalNicNameHint `xml:"network,omitempty" json:"network,omitempty"`
 62587  	// If the uplink directly connects to a CDP-awared network device
 62588  	// and the device's CDP broadcast is enabled, this property will be
 62589  	// set to return the CDP information that vmkernel received on this
 62590  	// Physical NIC.
 62591  	//
 62592  	// CDP data contains the device information and port ID that
 62593  	// the Physical NIC connects to. If the uplink is not connecting to a
 62594  	// CDP-awared device or CDP is not enabled on the device, this
 62595  	// property will be unset.
 62596  	// `PhysicalNicCdpInfo`
 62597  	ConnectedSwitchPort *PhysicalNicCdpInfo `xml:"connectedSwitchPort,omitempty" json:"connectedSwitchPort,omitempty"`
 62598  	// If the uplink directly connects to an LLDP-aware network device and
 62599  	// the device's LLDP broadcast is enabled, this property will be set to
 62600  	// return the LLDP information that is received on this physical network
 62601  	// adapter.
 62602  	//
 62603  	// If the uplink is not connecting to a LLDP-aware device or
 62604  	// LLDP is not enabled on the device, this property will be unset.
 62605  	LldpInfo *LinkLayerDiscoveryProtocolInfo `xml:"lldpInfo,omitempty" json:"lldpInfo,omitempty"`
 62606  }
 62607  
 62608  func init() {
 62609  	t["PhysicalNicHintInfo"] = reflect.TypeOf((*PhysicalNicHintInfo)(nil)).Elem()
 62610  }
 62611  
 62612  // This data object type describes a network in network hint where
 62613  // the network is specified using IP addresses, for example,
 62614  // 10.27.49.1-10.27.49.254
 62615  type PhysicalNicIpHint struct {
 62616  	PhysicalNicHint
 62617  
 62618  	// The network IP addresses.
 62619  	IpSubnet string `xml:"ipSubnet" json:"ipSubnet"`
 62620  }
 62621  
 62622  func init() {
 62623  	t["PhysicalNicIpHint"] = reflect.TypeOf((*PhysicalNicIpHint)(nil)).Elem()
 62624  }
 62625  
 62626  // The `PhysicalNicLinkInfo` data object describes
 62627  // the link speed and the type of duplex communication.
 62628  //
 62629  // The link speed indicates
 62630  // the bit rate in megabits per second. The duplex boolean indicates if the link
 62631  // is capable of full-duplex or half-duplex communication.
 62632  type PhysicalNicLinkInfo struct {
 62633  	DynamicData
 62634  
 62635  	// Bit rate on the link.
 62636  	SpeedMb int32 `xml:"speedMb" json:"speedMb"`
 62637  	// Flag to indicate whether or not the link is capable of
 62638  	// full-duplex ("true") or only half-duplex ("false").
 62639  	Duplex bool `xml:"duplex" json:"duplex"`
 62640  }
 62641  
 62642  func init() {
 62643  	t["PhysicalNicLinkInfo"] = reflect.TypeOf((*PhysicalNicLinkInfo)(nil)).Elem()
 62644  }
 62645  
 62646  // This data object type describes a network in network hint where
 62647  // the network describes the color, label, or the name of the
 62648  // network.
 62649  type PhysicalNicNameHint struct {
 62650  	PhysicalNicHint
 62651  
 62652  	// The network name.
 62653  	Network string `xml:"network" json:"network"`
 62654  }
 62655  
 62656  func init() {
 62657  	t["PhysicalNicNameHint"] = reflect.TypeOf((*PhysicalNicNameHint)(nil)).Elem()
 62658  }
 62659  
 62660  // The `PhysicalNicProfile` data object represents physical NIC configuration.
 62661  //
 62662  // Use the `ApplyProfile.policy` list for access to configuration data
 62663  // for the physical NIC profile. Use the `ApplyProfile.property` list
 62664  // for access to subprofile configuration data, if any.
 62665  type PhysicalNicProfile struct {
 62666  	ApplyProfile
 62667  
 62668  	// Linkable identifier.
 62669  	Key string `xml:"key" json:"key"`
 62670  }
 62671  
 62672  func init() {
 62673  	t["PhysicalNicProfile"] = reflect.TypeOf((*PhysicalNicProfile)(nil)).Elem()
 62674  }
 62675  
 62676  // This data object type describes the physical network adapter specification
 62677  // representing the properties on a physical network adapter that
 62678  // can be configured once the object exists.
 62679  type PhysicalNicSpec struct {
 62680  	DynamicData
 62681  
 62682  	// The IP configuration on the physical network adapter (applies
 62683  	// only to a hosted network adapter).
 62684  	//
 62685  	// The data object will be NULL on an ESX Server system.
 62686  	Ip *HostIpConfig `xml:"ip,omitempty" json:"ip,omitempty"`
 62687  	// The link speed and duplexity that this physical network
 62688  	// adapter is currently
 62689  	// configured to use.
 62690  	//
 62691  	// If this property is not set, the physical
 62692  	// network adapter autonegotiates its proper settings.
 62693  	LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
 62694  	// If set the flag indicates if the physical network adapter is
 62695  	// configured for Enhanced Networking Stack
 62696  	EnableEnhancedNetworkingStack *bool `xml:"enableEnhancedNetworkingStack" json:"enableEnhancedNetworkingStack,omitempty"`
 62697  	// If set the flag indicates if the physical network adapter is
 62698  	// configured for Enhanced Networking Stack interrupt mode
 62699  	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty"`
 62700  }
 62701  
 62702  func init() {
 62703  	t["PhysicalNicSpec"] = reflect.TypeOf((*PhysicalNicSpec)(nil)).Elem()
 62704  }
 62705  
 62706  // Specifies SSL policy to trust a pinned SSL certificate.
 62707  type PinnedCertificate struct {
 62708  	IoFilterManagerSslTrust
 62709  
 62710  	// PEM-encoded pinned SSL certificate of the server that needs to be
 62711  	// trusted.
 62712  	SslCertificate string `xml:"sslCertificate" json:"sslCertificate"`
 62713  }
 62714  
 62715  func init() {
 62716  	t["PinnedCertificate"] = reflect.TypeOf((*PinnedCertificate)(nil)).Elem()
 62717  	minAPIVersionForType["PinnedCertificate"] = "8.0.3.0"
 62718  }
 62719  
 62720  type PlaceVm PlaceVmRequestType
 62721  
 62722  func init() {
 62723  	t["PlaceVm"] = reflect.TypeOf((*PlaceVm)(nil)).Elem()
 62724  }
 62725  
 62726  // The parameters of `ClusterComputeResource.PlaceVm`.
 62727  type PlaceVmRequestType struct {
 62728  	This ManagedObjectReference `xml:"_this" json:"-"`
 62729  	// Specification for placing a virtual machine
 62730  	// and its virtual disks
 62731  	PlacementSpec PlacementSpec `xml:"placementSpec" json:"placementSpec"`
 62732  }
 62733  
 62734  func init() {
 62735  	t["PlaceVmRequestType"] = reflect.TypeOf((*PlaceVmRequestType)(nil)).Elem()
 62736  }
 62737  
 62738  type PlaceVmResponse struct {
 62739  	Returnval PlacementResult `xml:"returnval" json:"returnval"`
 62740  }
 62741  
 62742  // Describes a placement action of a single virtual machine.
 62743  //
 62744  // One or more of such actions can be included in a placement recommendation,
 62745  // and such recommendations can be generated by the
 62746  // `ClusterComputeResource.PlaceVm` method.
 62747  type PlacementAction struct {
 62748  	ClusterAction
 62749  
 62750  	// Virtual machine reference.
 62751  	//
 62752  	// Unset if the VM has not been created.
 62753  	//
 62754  	// Refers instance of `VirtualMachine`.
 62755  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 62756  	// The host where the virtual machine should be placed.
 62757  	//
 62758  	// Unset if no host recommendation is provided.
 62759  	//
 62760  	// Refers instance of `HostSystem`.
 62761  	TargetHost *ManagedObjectReference `xml:"targetHost,omitempty" json:"targetHost,omitempty"`
 62762  	// Specification for placing the configuration files and the virtual
 62763  	// disks of the virtual machine on one or more datastores.
 62764  	//
 62765  	// Unset if no datastore recommendation is provided.
 62766  	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
 62767  }
 62768  
 62769  func init() {
 62770  	t["PlacementAction"] = reflect.TypeOf((*PlacementAction)(nil)).Elem()
 62771  }
 62772  
 62773  // The `PlacementAffinityRule` data object specifies
 62774  // affinity rules for placement
 62775  type PlacementAffinityRule struct {
 62776  	DynamicData
 62777  
 62778  	// Type of affinity rule.
 62779  	//
 62780  	// The set of possible values are described in
 62781  	// `PlacementAffinityRuleRuleType_enum`
 62782  	RuleType string `xml:"ruleType" json:"ruleType"`
 62783  	// Scope of the affinity rule.
 62784  	//
 62785  	// The set of possible values are described in
 62786  	// `PlacementAffinityRuleRuleScope_enum`
 62787  	RuleScope string `xml:"ruleScope" json:"ruleScope"`
 62788  	// List of virtual machines that are part of this rule.
 62789  	//
 62790  	// Refers instances of `VirtualMachine`.
 62791  	Vms []ManagedObjectReference `xml:"vms,omitempty" json:"vms,omitempty"`
 62792  	// List of PlacementSpec keys that are part of this rule representing
 62793  	// virtual machines yet to be placed.
 62794  	Keys []string `xml:"keys,omitempty" json:"keys,omitempty"`
 62795  }
 62796  
 62797  func init() {
 62798  	t["PlacementAffinityRule"] = reflect.TypeOf((*PlacementAffinityRule)(nil)).Elem()
 62799  }
 62800  
 62801  // PlacementRankResult is the class of the result returned by
 62802  // the vCenter Server for rankClustersForPlacement method
 62803  type PlacementRankResult struct {
 62804  	DynamicData
 62805  
 62806  	// Reference key for the placement request
 62807  	Key string `xml:"key" json:"key"`
 62808  	// Candidate cluster for the placement problem
 62809  	//
 62810  	// Refers instance of `ClusterComputeResource`.
 62811  	Candidate ManagedObjectReference `xml:"candidate" json:"candidate"`
 62812  	// The reserved storage space for the candidate cluster after placement
 62813  	// The unit is in Megabytes
 62814  	ReservedSpaceMB int64 `xml:"reservedSpaceMB" json:"reservedSpaceMB"`
 62815  	// The expected space usage for the candidate cluster after placement
 62816  	// The unit is in Megabytes
 62817  	UsedSpaceMB int64 `xml:"usedSpaceMB" json:"usedSpaceMB"`
 62818  	// The expected total space for the candidate cluster after placement
 62819  	// The unit is in Megabytes
 62820  	TotalSpaceMB int64 `xml:"totalSpaceMB" json:"totalSpaceMB"`
 62821  	// The expected aggregate resource utilization for the candidate cluster
 62822  	// after placement
 62823  	// The unit is a fractional value between 0 and 1.
 62824  	Utilization float64 `xml:"utilization" json:"utilization"`
 62825  	// Information about why a given cluster is not recommended for
 62826  	// placement
 62827  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 62828  }
 62829  
 62830  func init() {
 62831  	t["PlacementRankResult"] = reflect.TypeOf((*PlacementRankResult)(nil)).Elem()
 62832  }
 62833  
 62834  // PlacementRankSpec encapsulates all of the inputs passed to
 62835  // the `StorageResourceManager.RankForPlacement` method.
 62836  type PlacementRankSpec struct {
 62837  	DynamicData
 62838  
 62839  	// List of VM placement specifications for ranking clusters
 62840  	Specs []PlacementSpec `xml:"specs" json:"specs"`
 62841  	// List of candidate clusters for the placement request
 62842  	//
 62843  	// Refers instances of `ClusterComputeResource`.
 62844  	Clusters []ManagedObjectReference `xml:"clusters" json:"clusters"`
 62845  	// List of affinity rules for the placement request
 62846  	Rules []PlacementAffinityRule `xml:"rules,omitempty" json:"rules,omitempty"`
 62847  	// List of preferred clusters for individual VM placement requests
 62848  	PlacementRankByVm []StorageDrsPlacementRankVmSpec `xml:"placementRankByVm,omitempty" json:"placementRankByVm,omitempty"`
 62849  }
 62850  
 62851  func init() {
 62852  	t["PlacementRankSpec"] = reflect.TypeOf((*PlacementRankSpec)(nil)).Elem()
 62853  }
 62854  
 62855  // `ClusterComputeResource.PlaceVm` method can invoke DRS
 62856  // for recommendations for target hosts and datastores for placing a
 62857  // virtual machine and its virtual disks using xVMotion.
 62858  //
 62859  // PlacementResult is the class of the result returned by that method.
 62860  type PlacementResult struct {
 62861  	DynamicData
 62862  
 62863  	// The list of recommendations for where to place the virtual machine
 62864  	// and its virtual disks.
 62865  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 62866  	// Information about any fault in case DRS fails to make a recommendation.
 62867  	DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
 62868  }
 62869  
 62870  func init() {
 62871  	t["PlacementResult"] = reflect.TypeOf((*PlacementResult)(nil)).Elem()
 62872  }
 62873  
 62874  // PlacementSpec encapsulates all of the information passed to the
 62875  // `ClusterComputeResource.PlaceVm` method, which asks
 62876  // DRS for recommendations for target hosts and datastores for placing
 62877  // a virtual machine and its virtual disks in a cluster using
 62878  // unified VMotion.
 62879  type PlacementSpec struct {
 62880  	DynamicData
 62881  
 62882  	// Priority of the migration operation.
 62883  	//
 62884  	// The default value is defaultPriority.
 62885  	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
 62886  	// The virtual machine to be placed.
 62887  	//
 62888  	// For an intra-vCenter migration, this argument is required.
 62889  	// For a cross-vCenter migration, this argument should be unset,
 62890  	// and the caller is responsible for applying the DRS-recommended
 62891  	// placement to the correct vm.
 62892  	//
 62893  	// Refers instance of `VirtualMachine`.
 62894  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 62895  	// Configuration information for the virtual machine.
 62896  	//
 62897  	// For an intra-vCenter migration, this argument should be unset.
 62898  	// For a cross-vCenter migration, this argument is required.
 62899  	// In the latter case, the following elements of the configSpec
 62900  	// will be expected: version, cpuAllocation, memoryAllocation, numCPUs,
 62901  	// memoryMB, files, swapPlacement; in addition, the configSpec.deviceChange
 62902  	// should contain all the virtual disks of the virtual machine to be migrated.
 62903  	// If configSpec.deviceChange is empty, the vm will be treated as a
 62904  	// diskless vm.
 62905  	// If a storage profile is specified for a virtual disk or vm configuration,
 62906  	// only datastores that match this profile will be considered for that
 62907  	// virtual disk or vm configuration.
 62908  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 62909  	// Specification for relocating a virtual machine.
 62910  	//
 62911  	// Can be used to optionally specify a target host, a target datastore,
 62912  	// or a target resource pool. If a target host is specified, this host
 62913  	// becomes the recommended host; if a target datastore is specified,
 62914  	// this datastore becomes the recommended datastore; if no resource
 62915  	// pool is specified, the virtual machine will be attached to the
 62916  	// cluster root resource pool; if the target resource pool specified
 62917  	// is a VirtualApp, an InvalidArgument fault will be thrown.
 62918  	// If a storage profile is specified for a virtual disk or vm configuration,
 62919  	// only datastores that match this profile will be considered for that
 62920  	// virtual disk or vm configuration.
 62921  	// For cross-vCenter migration, the caller
 62922  	// should set the service and the folder arguments properly either in
 62923  	// the input relocateSpec or in the output relocateSpec in the placement
 62924  	// recommendation before passing the relocateSpec to the RelocateVM API.
 62925  	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
 62926  	// A list of compatible hosts for the virtual machine.
 62927  	//
 62928  	// This list is ignored if relocateSpec.host is set.
 62929  	// For both intra-vCenter and cross-vCenter migrations, this list is required
 62930  	// if relocateSpec.host is unset.
 62931  	// If neither relocateSpec.host nor a list of compatible hosts are specified,
 62932  	// all hosts in the cluster will be considered, in which case, the selected
 62933  	// hosts in the PlacementResult are not guaranteed to be compatible with the
 62934  	// incoming virtual machine.
 62935  	//
 62936  	// Refers instances of `HostSystem`.
 62937  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 62938  	// A list of compatible datastores for the virtual machine.
 62939  	//
 62940  	// This list is ignored if relocateSpec.datastore is set.
 62941  	// For both intra-vCenter and cross-vCenter migrations, this list is required
 62942  	// if relocateSpec.datastore is unset.
 62943  	// If neither relocateSpec.datastore nor a list of compatible datastores are
 62944  	// specified, all datastores connected to hosts in the cluster will be
 62945  	// considered, in which case, the selected datastores in the PlacementResult
 62946  	// are not guaranteed to be compatible with the incoming virtual machine.
 62947  	//
 62948  	// Refers instances of `Datastore`.
 62949  	Datastores []ManagedObjectReference `xml:"datastores,omitempty" json:"datastores,omitempty"`
 62950  	// A list of compatible datastore clusters for the virtual machine.
 62951  	//
 62952  	// This list is ignored if relocateSpec.datastore is set.
 62953  	// For both intra-vCenter and cross-vCenter migrations, this list can be
 62954  	// empty, in which case, the user should set either RelocateSpec.datastore
 62955  	// or PlacementSpec.datastores as the target datastore or the list of
 62956  	// compatible datastores.
 62957  	//
 62958  	// Refers instances of `StoragePod`.
 62959  	StoragePods []ManagedObjectReference `xml:"storagePods,omitempty" json:"storagePods,omitempty"`
 62960  	// Specification for whether to disable pre-requisite vmotions or storage
 62961  	// vmotions for virtual machine placement.
 62962  	//
 62963  	// The default value is true,
 62964  	// that is, to disallow such prerequisite moves.
 62965  	DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves" json:"disallowPrerequisiteMoves,omitempty"`
 62966  	// A list of rules to respect while placing the virtual machine on
 62967  	// target cluster.
 62968  	//
 62969  	// If the list is empty, rules will not be considered during placement,
 62970  	// in case of cross-cluster placement within a VC and cross VC
 62971  	// placement across VCs.
 62972  	Rules []BaseClusterRuleInfo `xml:"rules,omitempty,typeattr" json:"rules,omitempty"`
 62973  	// Client generated identifier as a reference to the placement request
 62974  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 62975  	// Type of the placement.
 62976  	//
 62977  	// The set of possible values are described in
 62978  	// `PlacementSpecPlacementType_enum`
 62979  	PlacementType string `xml:"placementType,omitempty" json:"placementType,omitempty"`
 62980  	// Specification for a virtual machine clone operation
 62981  	CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty" json:"cloneSpec,omitempty"`
 62982  	// Name for the cloned virtual machine, if the operation type is a clone
 62983  	CloneName string `xml:"cloneName,omitempty" json:"cloneName,omitempty"`
 62984  }
 62985  
 62986  func init() {
 62987  	t["PlacementSpec"] = reflect.TypeOf((*PlacementSpec)(nil)).Elem()
 62988  }
 62989  
 62990  // A PlatformConfigFault is a catch-all fault indicating that some error has
 62991  // occurred regarding the configuration of the host.
 62992  //
 62993  // Data about the fault is
 62994  // available and will be presented as a platform specific string.
 62995  //
 62996  // This information carried by this fault cannot be localized. Most likely
 62997  // this information will already have been localized to the locale of the
 62998  // server that generated this fault. Where possible, a more specific fault
 62999  // will be thrown.
 63000  type PlatformConfigFault struct {
 63001  	HostConfigFault
 63002  
 63003  	// Platform specific text string describing this error.
 63004  	Text string `xml:"text" json:"text"`
 63005  }
 63006  
 63007  func init() {
 63008  	t["PlatformConfigFault"] = reflect.TypeOf((*PlatformConfigFault)(nil)).Elem()
 63009  }
 63010  
 63011  type PlatformConfigFaultFault BasePlatformConfigFault
 63012  
 63013  func init() {
 63014  	t["PlatformConfigFaultFault"] = reflect.TypeOf((*PlatformConfigFaultFault)(nil)).Elem()
 63015  }
 63016  
 63017  // The `PnicUplinkProfile` data object specifies the mapping between
 63018  // a physical NIC and an uplink port.
 63019  //
 63020  // The `ApplyProfile.policy` property contains
 63021  // the configuration data values.
 63022  type PnicUplinkProfile struct {
 63023  	ApplyProfile
 63024  
 63025  	// Linkable identifier.
 63026  	Key string `xml:"key" json:"key"`
 63027  }
 63028  
 63029  func init() {
 63030  	t["PnicUplinkProfile"] = reflect.TypeOf((*PnicUplinkProfile)(nil)).Elem()
 63031  }
 63032  
 63033  // The disk locator class.
 63034  type PodDiskLocator struct {
 63035  	DynamicData
 63036  
 63037  	// The disk ID.
 63038  	DiskId int32 `xml:"diskId" json:"diskId"`
 63039  	// The disk move type.
 63040  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
 63041  	// The disk backing info.
 63042  	DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr" json:"diskBackingInfo,omitempty"`
 63043  	// Virtual Disk Profile requirement.
 63044  	//
 63045  	// Profiles are solution specific.
 63046  	// Profile Based Storage Management is a vSphere server extension.
 63047  	// The API users who want to provision VMs using Storage Profiles, need to
 63048  	// interact with it.
 63049  	// This is an optional parameter and if user doesn't specify profile,
 63050  	// the default behavior will apply.
 63051  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 63052  }
 63053  
 63054  func init() {
 63055  	t["PodDiskLocator"] = reflect.TypeOf((*PodDiskLocator)(nil)).Elem()
 63056  }
 63057  
 63058  // An entry containing storage DRS configuration, runtime
 63059  // results, and history for a pod `StoragePod`.
 63060  type PodStorageDrsEntry struct {
 63061  	DynamicData
 63062  
 63063  	// Storage DRS configuration.
 63064  	StorageDrsConfig StorageDrsConfigInfo `xml:"storageDrsConfig" json:"storageDrsConfig"`
 63065  	// List of recommended actions for the Storage Pod.
 63066  	//
 63067  	// It is
 63068  	// possible that the current set of recommendations may be empty,
 63069  	// either due to not having any running dynamic recommendation
 63070  	// generation module, or since there may be no recommended actions
 63071  	// at this time.
 63072  	Recommendation []ClusterRecommendation `xml:"recommendation,omitempty" json:"recommendation,omitempty"`
 63073  	// A collection of the DRS faults generated in the last Storage DRS invocation.
 63074  	//
 63075  	// Each element of the collection is the set of faults generated in one
 63076  	// recommendation.
 63077  	DrsFault []ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
 63078  	// The set of actions that have been performed recently.
 63079  	ActionHistory []ClusterActionHistory `xml:"actionHistory,omitempty" json:"actionHistory,omitempty"`
 63080  }
 63081  
 63082  func init() {
 63083  	t["PodStorageDrsEntry"] = reflect.TypeOf((*PodStorageDrsEntry)(nil)).Elem()
 63084  }
 63085  
 63086  // The `PolicyOption` data object represents one or more configuration
 63087  // values.
 63088  //
 63089  // A policy option is one of the configuration options from the
 63090  // `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
 63091  // list.
 63092  type PolicyOption struct {
 63093  	DynamicData
 63094  
 63095  	// Identifier for the policy option.
 63096  	//
 63097  	// This value matches one of the
 63098  	// keys from the list of possible options in the policy metadata
 63099  	// (`ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\[\].*ProfilePolicyOptionMetadata.id*.*ElementDescription.key`).
 63100  	Id string `xml:"id" json:"id"`
 63101  	// Parameters for the policy option.
 63102  	//
 63103  	// This list must include all parameters that are not marked as optional
 63104  	// in the policy option metadata parameter list
 63105  	// (`ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\[\].*ProfilePolicyOptionMetadata.parameter*\[\].*ProfileParameterMetadata.optional`).
 63106  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 63107  }
 63108  
 63109  func init() {
 63110  	t["PolicyOption"] = reflect.TypeOf((*PolicyOption)(nil)).Elem()
 63111  }
 63112  
 63113  // `PortGroupProfile` is the base class for the different port group
 63114  // subprofile objects.
 63115  type PortGroupProfile struct {
 63116  	ApplyProfile
 63117  
 63118  	// Linkable identifier.
 63119  	Key string `xml:"key" json:"key"`
 63120  	// Name of the portgroup.
 63121  	Name string `xml:"name" json:"name"`
 63122  	// VLAN identifier for the port group.
 63123  	Vlan VlanProfile `xml:"vlan" json:"vlan"`
 63124  	// Virtual switch to which the port group is connected.
 63125  	Vswitch VirtualSwitchSelectionProfile `xml:"vswitch" json:"vswitch"`
 63126  	// The network policy/policies applicable on the port group.
 63127  	NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy" json:"networkPolicy"`
 63128  }
 63129  
 63130  func init() {
 63131  	t["PortGroupProfile"] = reflect.TypeOf((*PortGroupProfile)(nil)).Elem()
 63132  }
 63133  
 63134  // Searching for users and groups on POSIX systems provides
 63135  // User ID and Group ID information, in addition to that
 63136  // defined in UserSearchResult.
 63137  type PosixUserSearchResult struct {
 63138  	UserSearchResult
 63139  
 63140  	// If the search result is for a user, then id refers to User ID.
 63141  	//
 63142  	// For a group,
 63143  	// the value of Group ID is assigned to id.
 63144  	Id int32 `xml:"id" json:"id"`
 63145  	// If the search result is for a user, shellAccess indicates whether shell
 63146  	// access has been granted or not.
 63147  	ShellAccess *bool `xml:"shellAccess" json:"shellAccess,omitempty"`
 63148  }
 63149  
 63150  func init() {
 63151  	t["PosixUserSearchResult"] = reflect.TypeOf((*PosixUserSearchResult)(nil)).Elem()
 63152  }
 63153  
 63154  type PostEvent PostEventRequestType
 63155  
 63156  func init() {
 63157  	t["PostEvent"] = reflect.TypeOf((*PostEvent)(nil)).Elem()
 63158  }
 63159  
 63160  // The parameters of `EventManager.PostEvent`.
 63161  type PostEventRequestType struct {
 63162  	This ManagedObjectReference `xml:"_this" json:"-"`
 63163  	// Fully-specified event to post
 63164  	EventToPost BaseEvent `xml:"eventToPost,typeattr" json:"eventToPost"`
 63165  	// optional task associated with the event
 63166  	TaskInfo *TaskInfo `xml:"taskInfo,omitempty" json:"taskInfo,omitempty"`
 63167  }
 63168  
 63169  func init() {
 63170  	t["PostEventRequestType"] = reflect.TypeOf((*PostEventRequestType)(nil)).Elem()
 63171  }
 63172  
 63173  type PostEventResponse struct {
 63174  }
 63175  
 63176  type PostHealthUpdates PostHealthUpdatesRequestType
 63177  
 63178  func init() {
 63179  	t["PostHealthUpdates"] = reflect.TypeOf((*PostHealthUpdates)(nil)).Elem()
 63180  }
 63181  
 63182  // The parameters of `HealthUpdateManager.PostHealthUpdates`.
 63183  type PostHealthUpdatesRequestType struct {
 63184  	This ManagedObjectReference `xml:"_this" json:"-"`
 63185  	// The provider id.
 63186  	ProviderId string `xml:"providerId" json:"providerId"`
 63187  	// The changes in health states.
 63188  	Updates []HealthUpdate `xml:"updates,omitempty" json:"updates,omitempty"`
 63189  }
 63190  
 63191  func init() {
 63192  	t["PostHealthUpdatesRequestType"] = reflect.TypeOf((*PostHealthUpdatesRequestType)(nil)).Elem()
 63193  }
 63194  
 63195  type PostHealthUpdatesResponse struct {
 63196  }
 63197  
 63198  // The parameters of `HostSystem.PowerDownHostToStandBy_Task`.
 63199  type PowerDownHostToStandByRequestType struct {
 63200  	This ManagedObjectReference `xml:"_this" json:"-"`
 63201  	// The task completes when the host successfully
 63202  	// enters standby mode and stops sending heartbeat signals.
 63203  	// If heartbeats are still coming after timeoutSecs seconds,
 63204  	// the host is declared timedout, and the task is assumed
 63205  	// failed.
 63206  	TimeoutSec int32 `xml:"timeoutSec" json:"timeoutSec"`
 63207  	// This is a parameter used only by VirtualCenter. If
 63208  	// set to true, for a DRS disabled cluster, the task will not
 63209  	// succeed unless all powered-off virtual machines have been manually
 63210  	// reregistered; for a DRS enabled cluster, VirtualCenter will
 63211  	// automatically reregister powered-off virtual machines and a
 63212  	// powered-off virtual machine may remain at the host only for two
 63213  	// reasons: (a) no compatible host found for reregistration, (b) DRS
 63214  	// is disabled for the virtual machine.
 63215  	EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms" json:"evacuatePoweredOffVms,omitempty"`
 63216  }
 63217  
 63218  func init() {
 63219  	t["PowerDownHostToStandByRequestType"] = reflect.TypeOf((*PowerDownHostToStandByRequestType)(nil)).Elem()
 63220  }
 63221  
 63222  type PowerDownHostToStandBy_Task PowerDownHostToStandByRequestType
 63223  
 63224  func init() {
 63225  	t["PowerDownHostToStandBy_Task"] = reflect.TypeOf((*PowerDownHostToStandBy_Task)(nil)).Elem()
 63226  }
 63227  
 63228  type PowerDownHostToStandBy_TaskResponse struct {
 63229  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 63230  }
 63231  
 63232  // The parameters of `VirtualApp.PowerOffVApp_Task`.
 63233  type PowerOffVAppRequestType struct {
 63234  	This ManagedObjectReference `xml:"_this" json:"-"`
 63235  	// If force is false, the shutdown order in the vApp is
 63236  	// executed. If force is true, all virtual machines are powered-off
 63237  	// (regardless of shutdown order).
 63238  	Force bool `xml:"force" json:"force"`
 63239  }
 63240  
 63241  func init() {
 63242  	t["PowerOffVAppRequestType"] = reflect.TypeOf((*PowerOffVAppRequestType)(nil)).Elem()
 63243  }
 63244  
 63245  type PowerOffVApp_Task PowerOffVAppRequestType
 63246  
 63247  func init() {
 63248  	t["PowerOffVApp_Task"] = reflect.TypeOf((*PowerOffVApp_Task)(nil)).Elem()
 63249  }
 63250  
 63251  type PowerOffVApp_TaskResponse struct {
 63252  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 63253  }
 63254  
 63255  type PowerOffVMRequestType struct {
 63256  	This ManagedObjectReference `xml:"_this" json:"-"`
 63257  }
 63258  
 63259  func init() {
 63260  	t["PowerOffVMRequestType"] = reflect.TypeOf((*PowerOffVMRequestType)(nil)).Elem()
 63261  }
 63262  
 63263  type PowerOffVM_Task PowerOffVMRequestType
 63264  
 63265  func init() {
 63266  	t["PowerOffVM_Task"] = reflect.TypeOf((*PowerOffVM_Task)(nil)).Elem()
 63267  }
 63268  
 63269  type PowerOffVM_TaskResponse struct {
 63270  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 63271  }
 63272  
 63273  // The PowerOnFtSecondaryFailed fault is thrown when the system is unable to
 63274  // power on a Fault Tolerance secondary virtual machine.
 63275  //
 63276  // It includes a list
 63277  // of failures on different hosts.
 63278  type PowerOnFtSecondaryFailed struct {
 63279  	VmFaultToleranceIssue
 63280  
 63281  	// The primary virtual machine corresponding to the secondary that is to
 63282  	// be powered on
 63283  	//
 63284  	// Refers instance of `VirtualMachine`.
 63285  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 63286  	// The name of the primary virtual machine corresponding to the secondary
 63287  	// that is to be powered on.
 63288  	VmName string `xml:"vmName" json:"vmName"`
 63289  	// The host selection type
 63290  	HostSelectionBy FtIssuesOnHostHostSelectionType `xml:"hostSelectionBy" json:"hostSelectionBy"`
 63291  	// Information on why the system can not power on a Fault Tolerance
 63292  	// secondary virtual machine on specific hosts.
 63293  	//
 63294  	// Everything in the array
 63295  	// should be FtIssuesOnHost.
 63296  	HostErrors []LocalizedMethodFault `xml:"hostErrors,omitempty" json:"hostErrors,omitempty"`
 63297  	// The reason why powering on secondary failed.
 63298  	RootCause LocalizedMethodFault `xml:"rootCause" json:"rootCause"`
 63299  }
 63300  
 63301  func init() {
 63302  	t["PowerOnFtSecondaryFailed"] = reflect.TypeOf((*PowerOnFtSecondaryFailed)(nil)).Elem()
 63303  }
 63304  
 63305  type PowerOnFtSecondaryFailedFault PowerOnFtSecondaryFailed
 63306  
 63307  func init() {
 63308  	t["PowerOnFtSecondaryFailedFault"] = reflect.TypeOf((*PowerOnFtSecondaryFailedFault)(nil)).Elem()
 63309  }
 63310  
 63311  // PowerOnFtSecondaryTimedout exception is thrown when Virtual Center
 63312  // fails the operation to power on a Fault Tolerance secondary virtual
 63313  // machine because it is taking longer than expected.
 63314  type PowerOnFtSecondaryTimedout struct {
 63315  	Timedout
 63316  
 63317  	// The primary virtual machine corresponding to the secondary that is to
 63318  	// be powered on
 63319  	//
 63320  	// Refers instance of `VirtualMachine`.
 63321  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 63322  	// The name of the primary virtual machine corresponding to the secondary
 63323  	// that is to be powered on.
 63324  	VmName string `xml:"vmName" json:"vmName"`
 63325  	// The time out value in seconds
 63326  	Timeout int32 `xml:"timeout" json:"timeout"`
 63327  }
 63328  
 63329  func init() {
 63330  	t["PowerOnFtSecondaryTimedout"] = reflect.TypeOf((*PowerOnFtSecondaryTimedout)(nil)).Elem()
 63331  }
 63332  
 63333  type PowerOnFtSecondaryTimedoutFault PowerOnFtSecondaryTimedout
 63334  
 63335  func init() {
 63336  	t["PowerOnFtSecondaryTimedoutFault"] = reflect.TypeOf((*PowerOnFtSecondaryTimedoutFault)(nil)).Elem()
 63337  }
 63338  
 63339  // The parameters of `Datacenter.PowerOnMultiVM_Task`.
 63340  type PowerOnMultiVMRequestType struct {
 63341  	This ManagedObjectReference `xml:"_this" json:"-"`
 63342  	// The virtual machines to power on.
 63343  	//
 63344  	// Required privileges: VirtualMachine.Interact.PowerOn
 63345  	//
 63346  	// Refers instances of `VirtualMachine`.
 63347  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 63348  	// An array of `OptionValue` options
 63349  	// for this power-on session. The names and values of the
 63350  	// options are defined in
 63351  	// `ClusterPowerOnVmOption_enum`.
 63352  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 63353  }
 63354  
 63355  func init() {
 63356  	t["PowerOnMultiVMRequestType"] = reflect.TypeOf((*PowerOnMultiVMRequestType)(nil)).Elem()
 63357  }
 63358  
 63359  type PowerOnMultiVM_Task PowerOnMultiVMRequestType
 63360  
 63361  func init() {
 63362  	t["PowerOnMultiVM_Task"] = reflect.TypeOf((*PowerOnMultiVM_Task)(nil)).Elem()
 63363  }
 63364  
 63365  type PowerOnMultiVM_TaskResponse struct {
 63366  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 63367  }
 63368  
 63369  type PowerOnVAppRequestType struct {
 63370  	This ManagedObjectReference `xml:"_this" json:"-"`
 63371  }
 63372  
 63373  func init() {
 63374  	t["PowerOnVAppRequestType"] = reflect.TypeOf((*PowerOnVAppRequestType)(nil)).Elem()
 63375  }
 63376  
 63377  type PowerOnVApp_Task PowerOnVAppRequestType
 63378  
 63379  func init() {
 63380  	t["PowerOnVApp_Task"] = reflect.TypeOf((*PowerOnVApp_Task)(nil)).Elem()
 63381  }
 63382  
 63383  type PowerOnVApp_TaskResponse struct {
 63384  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 63385  }
 63386  
 63387  // The parameters of `VirtualMachine.PowerOnVM_Task`.
 63388  type PowerOnVMRequestType struct {
 63389  	This ManagedObjectReference `xml:"_this" json:"-"`
 63390  	// (optional) The host where the virtual machine is to be powered on.
 63391  	// If no host is specified, the current associated host is used. This field must
 63392  	// specify a host that is part of the same compute resource that the virtual machine
 63393  	// is currently associated with. If this host is not compatible, the current host
 63394  	// association is used.
 63395  	//
 63396  	// Refers instance of `HostSystem`.
 63397  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 63398  }
 63399  
 63400  func init() {
 63401  	t["PowerOnVMRequestType"] = reflect.TypeOf((*PowerOnVMRequestType)(nil)).Elem()
 63402  }
 63403  
 63404  type PowerOnVM_Task PowerOnVMRequestType
 63405  
 63406  func init() {
 63407  	t["PowerOnVM_Task"] = reflect.TypeOf((*PowerOnVM_Task)(nil)).Elem()
 63408  }
 63409  
 63410  type PowerOnVM_TaskResponse struct {
 63411  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 63412  }
 63413  
 63414  // Power System Capability data object.
 63415  //
 63416  // Exposes policies available in power management system.
 63417  type PowerSystemCapability struct {
 63418  	DynamicData
 63419  
 63420  	// List of available host power policies.
 63421  	AvailablePolicy []HostPowerPolicy `xml:"availablePolicy" json:"availablePolicy"`
 63422  }
 63423  
 63424  func init() {
 63425  	t["PowerSystemCapability"] = reflect.TypeOf((*PowerSystemCapability)(nil)).Elem()
 63426  }
 63427  
 63428  // Power System Info data object.
 63429  //
 63430  // Shows current state of power management system.
 63431  type PowerSystemInfo struct {
 63432  	DynamicData
 63433  
 63434  	// Currently selected host power management policy.
 63435  	//
 63436  	// This property can have one of the values from
 63437  	// `PowerSystemCapability.availablePolicy`.
 63438  	CurrentPolicy HostPowerPolicy `xml:"currentPolicy" json:"currentPolicy"`
 63439  }
 63440  
 63441  func init() {
 63442  	t["PowerSystemInfo"] = reflect.TypeOf((*PowerSystemInfo)(nil)).Elem()
 63443  }
 63444  
 63445  // The parameters of `HostSystem.PowerUpHostFromStandBy_Task`.
 63446  type PowerUpHostFromStandByRequestType struct {
 63447  	This ManagedObjectReference `xml:"_this" json:"-"`
 63448  	// The task completes when the host successfully
 63449  	// exits standby state and sends a heartbeat signal. If nothing is
 63450  	// received from the host for timeoutSec seconds, the host is
 63451  	// declared timedout, and the task is assumed failed.
 63452  	TimeoutSec int32 `xml:"timeoutSec" json:"timeoutSec"`
 63453  }
 63454  
 63455  func init() {
 63456  	t["PowerUpHostFromStandByRequestType"] = reflect.TypeOf((*PowerUpHostFromStandByRequestType)(nil)).Elem()
 63457  }
 63458  
 63459  type PowerUpHostFromStandBy_Task PowerUpHostFromStandByRequestType
 63460  
 63461  func init() {
 63462  	t["PowerUpHostFromStandBy_Task"] = reflect.TypeOf((*PowerUpHostFromStandBy_Task)(nil)).Elem()
 63463  }
 63464  
 63465  type PowerUpHostFromStandBy_TaskResponse struct {
 63466  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 63467  }
 63468  
 63469  type PrepareCrypto PrepareCryptoRequestType
 63470  
 63471  func init() {
 63472  	t["PrepareCrypto"] = reflect.TypeOf((*PrepareCrypto)(nil)).Elem()
 63473  }
 63474  
 63475  type PrepareCryptoRequestType struct {
 63476  	This ManagedObjectReference `xml:"_this" json:"-"`
 63477  }
 63478  
 63479  func init() {
 63480  	t["PrepareCryptoRequestType"] = reflect.TypeOf((*PrepareCryptoRequestType)(nil)).Elem()
 63481  }
 63482  
 63483  type PrepareCryptoResponse struct {
 63484  }
 63485  
 63486  // This class defines whether a specific privilege is granted.
 63487  type PrivilegeAvailability struct {
 63488  	DynamicData
 63489  
 63490  	// The privilege ID.
 63491  	PrivId string `xml:"privId" json:"privId"`
 63492  	// True if the privilege is granted.
 63493  	IsGranted bool `xml:"isGranted" json:"isGranted"`
 63494  }
 63495  
 63496  func init() {
 63497  	t["PrivilegeAvailability"] = reflect.TypeOf((*PrivilegeAvailability)(nil)).Elem()
 63498  }
 63499  
 63500  // Describes a basic privilege policy.
 63501  type PrivilegePolicyDef struct {
 63502  	DynamicData
 63503  
 63504  	// Name of privilege required for creation.
 63505  	CreatePrivilege string `xml:"createPrivilege" json:"createPrivilege"`
 63506  	// Name of privilege required for reading.
 63507  	ReadPrivilege string `xml:"readPrivilege" json:"readPrivilege"`
 63508  	// Name of privilege required for updating.
 63509  	UpdatePrivilege string `xml:"updatePrivilege" json:"updatePrivilege"`
 63510  	// Name of privilege required for deleting.
 63511  	DeletePrivilege string `xml:"deletePrivilege" json:"deletePrivilege"`
 63512  }
 63513  
 63514  func init() {
 63515  	t["PrivilegePolicyDef"] = reflect.TypeOf((*PrivilegePolicyDef)(nil)).Elem()
 63516  }
 63517  
 63518  // ProductComponentInfo data object type describes installed components.
 63519  //
 63520  // Product component is defined as a software module that is released
 63521  // and versioned independently but has dependency relationship with other products.
 63522  // If one product, for usability or any other reason, bundles other products,
 63523  // ProductComponentInfo type may be used to describe installed components.
 63524  // For example, ESX product may bundle VI Client in its releases.
 63525  type ProductComponentInfo struct {
 63526  	DynamicData
 63527  
 63528  	// Opaque identifier that is unique for this product component
 63529  	Id string `xml:"id" json:"id"`
 63530  	// Canonical name of product component
 63531  	Name string `xml:"name" json:"name"`
 63532  	// Version of product component
 63533  	Version string `xml:"version" json:"version"`
 63534  	// Release property is a number which increments with each
 63535  	// new release of product.
 63536  	//
 63537  	// Product release may not rev version
 63538  	// but release number is always incremented.
 63539  	Release int32 `xml:"release" json:"release"`
 63540  }
 63541  
 63542  func init() {
 63543  	t["ProductComponentInfo"] = reflect.TypeOf((*ProductComponentInfo)(nil)).Elem()
 63544  }
 63545  
 63546  // DataObject which represents an ApplyProfile element.
 63547  //
 63548  // An ApplyProfile element is an ApplyProfile for a set of host
 63549  // configuration settings which may be instanced.
 63550  // For example, there may be multiple virtual switch instances
 63551  // represented by individual ApplyProfileElement DataObjects.
 63552  type ProfileApplyProfileElement struct {
 63553  	ApplyProfile
 63554  
 63555  	// The linkable identifier.
 63556  	Key string `xml:"key" json:"key"`
 63557  }
 63558  
 63559  func init() {
 63560  	t["ProfileApplyProfileElement"] = reflect.TypeOf((*ProfileApplyProfileElement)(nil)).Elem()
 63561  }
 63562  
 63563  // The `ProfileApplyProfileProperty` data object defines one or more subprofiles.
 63564  type ProfileApplyProfileProperty struct {
 63565  	DynamicData
 63566  
 63567  	// Name of the property.
 63568  	PropertyName string `xml:"propertyName" json:"propertyName"`
 63569  	// Flag indicating whether this property is an array of profiles.
 63570  	Array bool `xml:"array" json:"array"`
 63571  	// Subprofiles that define policies and nested subprofiles.
 63572  	Profile []BaseApplyProfile `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 63573  }
 63574  
 63575  func init() {
 63576  	t["ProfileApplyProfileProperty"] = reflect.TypeOf((*ProfileApplyProfileProperty)(nil)).Elem()
 63577  }
 63578  
 63579  // This event records that a Profile was associated with a managed entitiy.
 63580  type ProfileAssociatedEvent struct {
 63581  	ProfileEvent
 63582  }
 63583  
 63584  func init() {
 63585  	t["ProfileAssociatedEvent"] = reflect.TypeOf((*ProfileAssociatedEvent)(nil)).Elem()
 63586  }
 63587  
 63588  // This event records that the profile has beed edited
 63589  type ProfileChangedEvent struct {
 63590  	ProfileEvent
 63591  }
 63592  
 63593  func init() {
 63594  	t["ProfileChangedEvent"] = reflect.TypeOf((*ProfileChangedEvent)(nil)).Elem()
 63595  }
 63596  
 63597  // DataObject to Compose expressions.
 63598  //
 63599  // It is used to group expressions
 63600  // together. They are similar to a parentheses in an expression.
 63601  type ProfileCompositeExpression struct {
 63602  	ProfileExpression
 63603  
 63604  	// Logical operator to be applied between the expressions in
 63605  	// the composite expression.
 63606  	//
 63607  	// e.g: or, and
 63608  	Operator string `xml:"operator" json:"operator"`
 63609  	// List of expression names that will be used for this composition.
 63610  	//
 63611  	// The individual expressions will return a boolean. The return values
 63612  	// of the individual expressions will be used to compute the final
 63613  	// return value of the CompositeExpression.
 63614  	// The expressions specified in the list can themselves be
 63615  	// CompositeExpressions.
 63616  	ExpressionName []string `xml:"expressionName" json:"expressionName"`
 63617  }
 63618  
 63619  func init() {
 63620  	t["ProfileCompositeExpression"] = reflect.TypeOf((*ProfileCompositeExpression)(nil)).Elem()
 63621  }
 63622  
 63623  // The `ProfileCompositePolicyOptionMetadata` data object represents the metadata information
 63624  // for a composite `PolicyOption`.
 63625  //
 63626  // The user will retrieve metadata
 63627  // information about a composite policy and then combine policy options to produce
 63628  // the composite policy option.
 63629  type ProfileCompositePolicyOptionMetadata struct {
 63630  	ProfilePolicyOptionMetadata
 63631  
 63632  	// List of optional policy option identifiers that could be combined
 63633  	// in this composite policy option.
 63634  	//
 63635  	// The policy options should already be
 63636  	// part of the possible policy options for the policy. See the
 63637  	// `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
 63638  	// list.
 63639  	Option []string `xml:"option" json:"option"`
 63640  }
 63641  
 63642  func init() {
 63643  	t["ProfileCompositePolicyOptionMetadata"] = reflect.TypeOf((*ProfileCompositePolicyOptionMetadata)(nil)).Elem()
 63644  }
 63645  
 63646  type ProfileConfigInfo struct {
 63647  	DynamicData
 63648  
 63649  	// Name of the profile
 63650  	Name string `xml:"name" json:"name"`
 63651  	// User Provided description of the profile
 63652  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 63653  	// Flag indicating if the Profile is enabled
 63654  	Enabled bool `xml:"enabled" json:"enabled"`
 63655  }
 63656  
 63657  func init() {
 63658  	t["ProfileConfigInfo"] = reflect.TypeOf((*ProfileConfigInfo)(nil)).Elem()
 63659  }
 63660  
 63661  // Specification describing the parameters during Profile creation
 63662  type ProfileCreateSpec struct {
 63663  	DynamicData
 63664  
 63665  	// Name of the profile
 63666  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 63667  	// User Provided description of the profile
 63668  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 63669  	// Flag indicating if the Profile is enabled
 63670  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 63671  }
 63672  
 63673  func init() {
 63674  	t["ProfileCreateSpec"] = reflect.TypeOf((*ProfileCreateSpec)(nil)).Elem()
 63675  }
 63676  
 63677  // This event records that a Profile was created.
 63678  type ProfileCreatedEvent struct {
 63679  	ProfileEvent
 63680  }
 63681  
 63682  func init() {
 63683  	t["ProfileCreatedEvent"] = reflect.TypeOf((*ProfileCreatedEvent)(nil)).Elem()
 63684  }
 63685  
 63686  // The `ProfileDeferredPolicyOptionParameter` data object contains
 63687  // information about a single deferred parameter for host configuration.
 63688  //   - The Server verifies deferred parameter data when it calls the
 63689  //     `HostProfile*.*HostProfile.ExecuteHostProfile`
 63690  //     method.
 63691  //   - The client supplies deferred parameter data for host configuration when it calls the
 63692  //     `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
 63693  //     method.
 63694  //   - The vCenter Server stores deferred parameter data in answer files
 63695  //     (`AnswerFile*.*AnswerFile.userInput`).
 63696  type ProfileDeferredPolicyOptionParameter struct {
 63697  	DynamicData
 63698  
 63699  	// Complete path to the `PolicyOption` that defines the parameters.
 63700  	InputPath ProfilePropertyPath `xml:"inputPath" json:"inputPath"`
 63701  	// List that contains values for the policy parameters.
 63702  	//
 63703  	// During parameter verification, this property is unspecified
 63704  	// if the client has not provided the values for this parameter.
 63705  	// See `ProfileExecuteResult*.*ProfileExecuteResult.requireInput`.
 63706  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 63707  }
 63708  
 63709  func init() {
 63710  	t["ProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ProfileDeferredPolicyOptionParameter)(nil)).Elem()
 63711  }
 63712  
 63713  // The `ProfileDescription` data object describes a profile.
 63714  //
 63715  // The description contains multiple sections. Each section
 63716  // describes a part of the profile.
 63717  type ProfileDescription struct {
 63718  	DynamicData
 63719  
 63720  	// Sections which make up the profile description.
 63721  	Section []ProfileDescriptionSection `xml:"section" json:"section"`
 63722  }
 63723  
 63724  func init() {
 63725  	t["ProfileDescription"] = reflect.TypeOf((*ProfileDescription)(nil)).Elem()
 63726  }
 63727  
 63728  // The `ProfileDescriptionSection` data object
 63729  // contains a profile element description and any messages that may
 63730  // be associated with the profile section.
 63731  type ProfileDescriptionSection struct {
 63732  	DynamicData
 63733  
 63734  	// Localized message data.
 63735  	Description ExtendedElementDescription `xml:"description" json:"description"`
 63736  	// List of messages that make up the section.
 63737  	Message []LocalizableMessage `xml:"message,omitempty" json:"message,omitempty"`
 63738  }
 63739  
 63740  func init() {
 63741  	t["ProfileDescriptionSection"] = reflect.TypeOf((*ProfileDescriptionSection)(nil)).Elem()
 63742  }
 63743  
 63744  // This event records that a Profile was dissociated from a managed entity
 63745  type ProfileDissociatedEvent struct {
 63746  	ProfileEvent
 63747  }
 63748  
 63749  func init() {
 63750  	t["ProfileDissociatedEvent"] = reflect.TypeOf((*ProfileDissociatedEvent)(nil)).Elem()
 63751  }
 63752  
 63753  // This event records a Profile specific event.
 63754  type ProfileEvent struct {
 63755  	Event
 63756  
 63757  	// Link to the profile to which this event applies
 63758  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 63759  }
 63760  
 63761  func init() {
 63762  	t["ProfileEvent"] = reflect.TypeOf((*ProfileEvent)(nil)).Elem()
 63763  }
 63764  
 63765  // The event argument is a Profile object
 63766  type ProfileEventArgument struct {
 63767  	EventArgument
 63768  
 63769  	// Refers instance of `Profile`.
 63770  	Profile ManagedObjectReference `xml:"profile" json:"profile"`
 63771  	Name    string                 `xml:"name" json:"name"`
 63772  }
 63773  
 63774  func init() {
 63775  	t["ProfileEventArgument"] = reflect.TypeOf((*ProfileEventArgument)(nil)).Elem()
 63776  }
 63777  
 63778  // The `ProfileExecuteError` data object
 63779  // describes an error encountered during host profile execution.
 63780  type ProfileExecuteError struct {
 63781  	DynamicData
 63782  
 63783  	// Path to the profile or policy with which the error is associated.
 63784  	Path *ProfilePropertyPath `xml:"path,omitempty" json:"path,omitempty"`
 63785  	// Message describing the error.
 63786  	Message LocalizableMessage `xml:"message" json:"message"`
 63787  }
 63788  
 63789  func init() {
 63790  	t["ProfileExecuteError"] = reflect.TypeOf((*ProfileExecuteError)(nil)).Elem()
 63791  }
 63792  
 63793  // The `ProfileExecuteResult` data object contains the results from a
 63794  // `HostProfile*.*HostProfile.ExecuteHostProfile`
 63795  // operation.
 63796  type ProfileExecuteResult struct {
 63797  	DynamicData
 63798  
 63799  	// Status of the profile execution operation.
 63800  	//
 63801  	// The value is a string that contains
 63802  	// one of the `ProfileExecuteResultStatus_enum` enumerations.
 63803  	Status string `xml:"status" json:"status"`
 63804  	// Host configuration specification.
 63805  	//
 63806  	// This data is valid only if
 63807  	// the <code>status</code> value is <code>success</code>.
 63808  	// See `ProfileExecuteResultStatus_enum`.
 63809  	//
 63810  	// Use this data object when you apply the configuration
 63811  	// to a host. See the <code>configSpec</code> parameter to the
 63812  	// `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
 63813  	// method.
 63814  	ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 63815  	// List of property paths.
 63816  	//
 63817  	// Each path identifies a policy that does not apply
 63818  	// to this host. For example, if the precheck policies for a port group are not satisfied,
 63819  	// the port group will not be created when you apply the profile to the host.
 63820  	// Based on this information, the client might not display that part of the profile tree.
 63821  	InapplicablePath []string `xml:"inapplicablePath,omitempty" json:"inapplicablePath,omitempty"`
 63822  	// List that describes the required input for host configuration and identifies
 63823  	// any policy options that still require parameter data.
 63824  	//
 63825  	// Each entry in the list
 63826  	// specifies the path to a policy and a parameter list. If the call to
 63827  	// `HostProfile.ExecuteHostProfile` includes deferred parameters,
 63828  	// the <code>requireInput</code> entries
 63829  	// (<code>requireInput\[\].</code>`ProfileDeferredPolicyOptionParameter.parameter`\[\])
 63830  	// will be populated with the parameter data that was passed to the execute method.
 63831  	// For policies that still require input data, the parameter list in the corresponding
 63832  	// entry will be null.
 63833  	//
 63834  	// A vSphere client that displays a GUI can use this information to show the host-specific
 63835  	// configuration policy options. The client can highlight required input fields
 63836  	// and ask the user for data in increments instead of collecting all of the input at once.
 63837  	// For example, in the first pass, the client collects a minimum of user input and
 63838  	// sends that to the Server. The Server evaluates the profile and might decide to
 63839  	// invalidate a particular part of the subtree or enable a new
 63840  	// subtree in the profile. This would result in a new set of invalid paths
 63841  	// (`ProfileExecuteResult.inapplicablePath`\[\]) and
 63842  	// required input property paths
 63843  	// (`ProfileDeferredPolicyOptionParameter*.*ProfileDeferredPolicyOptionParameter.inputPath`).
 63844  	// The client can make a series of calls to the method until it achieves a success status.
 63845  	//
 63846  	// When `HostProfile.ExecuteHostProfile` returns a success status,
 63847  	// the <code>requireInput</code> list contains the complete list of parameters,
 63848  	// consisting of the following data:
 63849  	//   - Deferred parameter values resolved through successive calls to
 63850  	//     `HostProfile.ExecuteHostProfile`.
 63851  	//   - Default parameter values from the host configuration.
 63852  	//   - User-specified values that override the defaults.
 63853  	//
 63854  	// You can specify the returned <code>requireInput</code> list in the
 63855  	// <code>userInput</code> parameter to the
 63856  	// `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
 63857  	// method. The Server will use the list to update the `AnswerFile`
 63858  	// associated with the host.
 63859  	RequireInput []ProfileDeferredPolicyOptionParameter `xml:"requireInput,omitempty" json:"requireInput,omitempty"`
 63860  	// List of errors that were encountered during execute.
 63861  	//
 63862  	// This field will be set if status is set to error.
 63863  	Error []ProfileExecuteError `xml:"error,omitempty" json:"error,omitempty"`
 63864  }
 63865  
 63866  func init() {
 63867  	t["ProfileExecuteResult"] = reflect.TypeOf((*ProfileExecuteResult)(nil)).Elem()
 63868  }
 63869  
 63870  type ProfileExpression struct {
 63871  	DynamicData
 63872  
 63873  	// Identifier of this expression.
 63874  	//
 63875  	// The id has to be unique within a Profile.
 63876  	// The id can be used as a key while building composite expressions.
 63877  	Id string `xml:"id" json:"id"`
 63878  	// User visible display name
 63879  	DisplayName string `xml:"displayName" json:"displayName"`
 63880  	// Flag indicating if the condition of the expression should be negated.
 63881  	//
 63882  	// e.g: conditions like VSwitch0 has vmnic0 connected to it can be turned into
 63883  	// VSwitch0 doesn't have vmnic0 connected to it.
 63884  	Negated bool `xml:"negated" json:"negated"`
 63885  }
 63886  
 63887  func init() {
 63888  	t["ProfileExpression"] = reflect.TypeOf((*ProfileExpression)(nil)).Elem()
 63889  }
 63890  
 63891  // DataObject to represent the metadata associated with a SimpleExpression.
 63892  type ProfileExpressionMetadata struct {
 63893  	DynamicData
 63894  
 63895  	// Id of the SimpleExpression
 63896  	ExpressionId ExtendedElementDescription `xml:"expressionId" json:"expressionId"`
 63897  	// Parameters that can be specified for this SimpleExpression
 63898  	Parameter []ProfileParameterMetadata `xml:"parameter,omitempty" json:"parameter,omitempty"`
 63899  }
 63900  
 63901  func init() {
 63902  	t["ProfileExpressionMetadata"] = reflect.TypeOf((*ProfileExpressionMetadata)(nil)).Elem()
 63903  }
 63904  
 63905  // This data object represents the metadata information of a Profile.
 63906  type ProfileMetadata struct {
 63907  	DynamicData
 63908  
 63909  	// Type of the Profile
 63910  	Key string `xml:"key" json:"key"`
 63911  	// Type identifier for the ApplyProfile
 63912  	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty"`
 63913  	// Property which describes the profile
 63914  	Description *ExtendedDescription `xml:"description,omitempty" json:"description,omitempty"`
 63915  	// Property that determines a sorting order for display purposes.
 63916  	//
 63917  	// If
 63918  	// the list contains more than one sort spec, then the precedence should
 63919  	// be determined by the list order (i.e. sort first by the first spec in
 63920  	// the list, then sort by the second spec in the list, etc).
 63921  	SortSpec []ProfileMetadataProfileSortSpec `xml:"sortSpec,omitempty" json:"sortSpec,omitempty"`
 63922  	// Identifies the profile category that this subprofile is a part of.
 63923  	//
 63924  	// The
 63925  	// value of this string should correspond to the key value of a
 63926  	// `ProfileCategoryMetadata` object's `ElementDescription.key`
 63927  	// in its `ProfileCategoryMetadata.id` property.
 63928  	ProfileCategory string `xml:"profileCategory,omitempty" json:"profileCategory,omitempty"`
 63929  	// Property indicating that the subprofile described by this
 63930  	// <code>ProfileMetadata</code> object is declared in the
 63931  	// `ProfileComponentMetadata.profileTypeNames` of the specified
 63932  	// profile component.
 63933  	//
 63934  	// The value of this property should correspond to the key
 63935  	// value of the `ProfileComponentMetadata` object's
 63936  	// `ElementDescription.key` in its
 63937  	// `ProfileComponentMetadata.id` property.
 63938  	// This property should not be present for subprofiles that are not directly
 63939  	// declared in the `ProfileComponentMetadata.profileTypeNames`
 63940  	// property of a `ProfileComponentMetadata` object.
 63941  	ProfileComponent string `xml:"profileComponent,omitempty" json:"profileComponent,omitempty"`
 63942  	// A list of <code>ProfileOperationMessage</code> for this profile.
 63943  	OperationMessages []ProfileMetadataProfileOperationMessage `xml:"operationMessages,omitempty" json:"operationMessages,omitempty"`
 63944  }
 63945  
 63946  func init() {
 63947  	t["ProfileMetadata"] = reflect.TypeOf((*ProfileMetadata)(nil)).Elem()
 63948  }
 63949  
 63950  // Some operations on host profile documents may cause unexpected result.
 63951  //
 63952  // For example, deleting a profile instance of vswitch may break the
 63953  // network connectivity.
 63954  // This data class provides the localizable message which may be
 63955  // presented before or after an operation happens.
 63956  type ProfileMetadataProfileOperationMessage struct {
 63957  	DynamicData
 63958  
 63959  	// The operation name.
 63960  	OperationName string `xml:"operationName" json:"operationName"`
 63961  	// The localization message for the operation.
 63962  	Message LocalizableMessage `xml:"message" json:"message"`
 63963  }
 63964  
 63965  func init() {
 63966  	t["ProfileMetadataProfileOperationMessage"] = reflect.TypeOf((*ProfileMetadataProfileOperationMessage)(nil)).Elem()
 63967  }
 63968  
 63969  type ProfileMetadataProfileSortSpec struct {
 63970  	DynamicData
 63971  
 63972  	// The id of the policy used to sort instances of the profile
 63973  	PolicyId string `xml:"policyId" json:"policyId"`
 63974  	// The parameter to be used for sorting.
 63975  	//
 63976  	// Note that if the policy to be
 63977  	// used for sorting has multiple possible policy options, all possible
 63978  	// policy options defined for that policy type must have this parameter.
 63979  	Parameter string `xml:"parameter" json:"parameter"`
 63980  }
 63981  
 63982  func init() {
 63983  	t["ProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ProfileMetadataProfileSortSpec)(nil)).Elem()
 63984  }
 63985  
 63986  // The `ProfileParameterMetadata` data object represents the metadata information
 63987  // for expressions, policy options, and host-specific configuration data.
 63988  type ProfileParameterMetadata struct {
 63989  	DynamicData
 63990  
 63991  	// Identifier for the parameter.
 63992  	Id ExtendedElementDescription `xml:"id" json:"id"`
 63993  	// Type of the parameter.
 63994  	Type string `xml:"type" json:"type"`
 63995  	// Whether the parameter is optional.
 63996  	Optional bool `xml:"optional" json:"optional"`
 63997  	// Default value that can be used for the parameter.
 63998  	DefaultValue AnyType `xml:"defaultValue,omitempty,typeattr" json:"defaultValue,omitempty"`
 63999  	// Whether the parameter will not be displayed in UI.
 64000  	Hidden *bool `xml:"hidden" json:"hidden,omitempty"`
 64001  	// Whether the parameter is security sensitive.
 64002  	SecuritySensitive *bool `xml:"securitySensitive" json:"securitySensitive,omitempty"`
 64003  	// Indicates that the parameter value is read-only.
 64004  	ReadOnly *bool `xml:"readOnly" json:"readOnly,omitempty"`
 64005  	// Relations with other profile or parameters.
 64006  	ParameterRelations []ProfileParameterMetadataParameterRelationMetadata `xml:"parameterRelations,omitempty" json:"parameterRelations,omitempty"`
 64007  }
 64008  
 64009  func init() {
 64010  	t["ProfileParameterMetadata"] = reflect.TypeOf((*ProfileParameterMetadata)(nil)).Elem()
 64011  }
 64012  
 64013  // This class to define a relation between the parameter and a profile
 64014  // or a parameter, or a constant list of values.
 64015  type ProfileParameterMetadataParameterRelationMetadata struct {
 64016  	DynamicData
 64017  
 64018  	// The types of this relation.
 64019  	RelationTypes []string `xml:"relationTypes,omitempty" json:"relationTypes,omitempty"`
 64020  	// The valid value list.
 64021  	Values []AnyType `xml:"values,omitempty,typeattr" json:"values,omitempty"`
 64022  	// The property path of the related profile/parameter.
 64023  	Path *ProfilePropertyPath `xml:"path,omitempty" json:"path,omitempty"`
 64024  	// The minimal count of values to map to.
 64025  	MinCount int32 `xml:"minCount" json:"minCount"`
 64026  	// The maximum count of values to map to.
 64027  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 64028  }
 64029  
 64030  func init() {
 64031  	t["ProfileParameterMetadataParameterRelationMetadata"] = reflect.TypeOf((*ProfileParameterMetadataParameterRelationMetadata)(nil)).Elem()
 64032  }
 64033  
 64034  // The `ProfilePolicy` data object represents a policy.
 64035  type ProfilePolicy struct {
 64036  	DynamicData
 64037  
 64038  	// Identifier for the policy.
 64039  	Id string `xml:"id" json:"id"`
 64040  	// Configuration parameters.
 64041  	PolicyOption BasePolicyOption `xml:"policyOption,typeattr" json:"policyOption"`
 64042  }
 64043  
 64044  func init() {
 64045  	t["ProfilePolicy"] = reflect.TypeOf((*ProfilePolicy)(nil)).Elem()
 64046  }
 64047  
 64048  // The `ProfilePolicyMetadata` data object represents the metadata information
 64049  // for a `ProfilePolicy`.
 64050  type ProfilePolicyMetadata struct {
 64051  	DynamicData
 64052  
 64053  	// Identifier for the policy.
 64054  	Id ExtendedElementDescription `xml:"id" json:"id"`
 64055  	// Possible policy options that can be set for a policy of the
 64056  	// given kind.
 64057  	//
 64058  	// `HostProfile`s and subprofiles
 64059  	// will contain selected policy options from this list. See
 64060  	// `PolicyOption`.
 64061  	PossibleOption []BaseProfilePolicyOptionMetadata `xml:"possibleOption,typeattr" json:"possibleOption"`
 64062  }
 64063  
 64064  func init() {
 64065  	t["ProfilePolicyMetadata"] = reflect.TypeOf((*ProfilePolicyMetadata)(nil)).Elem()
 64066  }
 64067  
 64068  // The `ProfilePolicyOptionMetadata` data object contains the metadata information
 64069  // for a `PolicyOption`.
 64070  type ProfilePolicyOptionMetadata struct {
 64071  	DynamicData
 64072  
 64073  	// Identifier for the policy option.
 64074  	//   - The <code>id.key</code> value
 64075  	//     (`ExtendedElementDescription*.*ElementDescription.key`)
 64076  	//     identifies the policy option type.
 64077  	//   - The <code>id.label</code> property
 64078  	//     (`ExtendedElementDescription*.*Description.label`)
 64079  	//     contains a brief localizable message describing the policy option.
 64080  	//   - The <code>id.summary</code> property
 64081  	//     (`ExtendedElementDescription*.*Description.summary`)
 64082  	//     contains a localizable summary of the policy option.
 64083  	//     Summary information can contain embedded variable names which can
 64084  	//     be replaced with values from the <code>parameter</code> property.
 64085  	Id ExtendedElementDescription `xml:"id" json:"id"`
 64086  	// Metadata about the parameters for the policy option.
 64087  	Parameter []ProfileParameterMetadata `xml:"parameter,omitempty" json:"parameter,omitempty"`
 64088  }
 64089  
 64090  func init() {
 64091  	t["ProfilePolicyOptionMetadata"] = reflect.TypeOf((*ProfilePolicyOptionMetadata)(nil)).Elem()
 64092  }
 64093  
 64094  type ProfileProfileStructure struct {
 64095  	DynamicData
 64096  
 64097  	// Identifier for the profile type
 64098  	ProfileTypeName string `xml:"profileTypeName" json:"profileTypeName"`
 64099  	// SubProfile properties available for this profile
 64100  	Child []ProfileProfileStructureProperty `xml:"child,omitempty" json:"child,omitempty"`
 64101  }
 64102  
 64103  func init() {
 64104  	t["ProfileProfileStructure"] = reflect.TypeOf((*ProfileProfileStructure)(nil)).Elem()
 64105  }
 64106  
 64107  type ProfileProfileStructureProperty struct {
 64108  	DynamicData
 64109  
 64110  	// Name of the property where this ProfileStructureProperty is being used
 64111  	PropertyName string `xml:"propertyName" json:"propertyName"`
 64112  	// Flag indicating if this property is an Array of profiles
 64113  	Array bool `xml:"array" json:"array"`
 64114  	// Details about the profile contained within this property
 64115  	Element ProfileProfileStructure `xml:"element" json:"element"`
 64116  }
 64117  
 64118  func init() {
 64119  	t["ProfileProfileStructureProperty"] = reflect.TypeOf((*ProfileProfileStructureProperty)(nil)).Elem()
 64120  }
 64121  
 64122  // The `ProfilePropertyPath` data object represents
 64123  // the path to a profile, policy option, or specific parameter.
 64124  //
 64125  // If <code>profilePath</code>,
 64126  // <code>policyId</code>, and <code>parameterId</code> are all specified, the
 64127  // combination of the three identifies a particular parameter. If only <code>profilePath</code>
 64128  // and <code>policyId</code> are specified, the combination identifies a
 64129  // specific profile policy option. If just the <code>profilePath</code> is
 64130  // specified, the data object identifies a profile instance.
 64131  type ProfilePropertyPath struct {
 64132  	DynamicData
 64133  
 64134  	// Complete path to the leaf profile, relative to the root of the host profile
 64135  	// document.
 64136  	ProfilePath string `xml:"profilePath" json:"profilePath"`
 64137  	// Policy identifier.
 64138  	PolicyId string `xml:"policyId,omitempty" json:"policyId,omitempty"`
 64139  	// Key for a parameter in the policy specified by <code>policyId</code>.
 64140  	//
 64141  	// See `PolicyOption*.*PolicyOption.parameter`
 64142  	// and `KeyAnyValue.key`.
 64143  	ParameterId string `xml:"parameterId,omitempty" json:"parameterId,omitempty"`
 64144  	// Policy option identifier.
 64145  	PolicyOptionId string `xml:"policyOptionId,omitempty" json:"policyOptionId,omitempty"`
 64146  }
 64147  
 64148  func init() {
 64149  	t["ProfilePropertyPath"] = reflect.TypeOf((*ProfilePropertyPath)(nil)).Elem()
 64150  }
 64151  
 64152  // This event records that the reference host associated with this profile has changed
 64153  type ProfileReferenceHostChangedEvent struct {
 64154  	ProfileEvent
 64155  
 64156  	// The newly associated reference host with this profile
 64157  	//
 64158  	// Refers instance of `HostSystem`.
 64159  	ReferenceHost *ManagedObjectReference `xml:"referenceHost,omitempty" json:"referenceHost,omitempty"`
 64160  	// The newly associated reference host name
 64161  	ReferenceHostName string `xml:"referenceHostName,omitempty" json:"referenceHostName,omitempty"`
 64162  	// The previous reference host name
 64163  	PrevReferenceHostName string `xml:"prevReferenceHostName,omitempty" json:"prevReferenceHostName,omitempty"`
 64164  }
 64165  
 64166  func init() {
 64167  	t["ProfileReferenceHostChangedEvent"] = reflect.TypeOf((*ProfileReferenceHostChangedEvent)(nil)).Elem()
 64168  }
 64169  
 64170  // This event records that a Profile was removed.
 64171  type ProfileRemovedEvent struct {
 64172  	ProfileEvent
 64173  }
 64174  
 64175  func init() {
 64176  	t["ProfileRemovedEvent"] = reflect.TypeOf((*ProfileRemovedEvent)(nil)).Elem()
 64177  }
 64178  
 64179  // The `ProfileSerializedCreateSpec` data object
 64180  // defines a string that contains a serialized representation of a host profile.
 64181  type ProfileSerializedCreateSpec struct {
 64182  	ProfileCreateSpec
 64183  
 64184  	// Representation of the profile in the string form.
 64185  	ProfileConfigString string `xml:"profileConfigString" json:"profileConfigString"`
 64186  }
 64187  
 64188  func init() {
 64189  	t["ProfileSerializedCreateSpec"] = reflect.TypeOf((*ProfileSerializedCreateSpec)(nil)).Elem()
 64190  }
 64191  
 64192  // DataObject represents a pre-defined expression
 64193  type ProfileSimpleExpression struct {
 64194  	ProfileExpression
 64195  
 64196  	// Type of the simple expression to instantiate.
 64197  	//
 64198  	// The expressionType should be derived from the available expressions as
 64199  	// listed in the metadata.
 64200  	ExpressionType string `xml:"expressionType" json:"expressionType"`
 64201  	// The parameters for the expressionType.
 64202  	//
 64203  	// The list of parameters needed for a simple expression can
 64204  	// be obtained from the metadata.
 64205  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 64206  }
 64207  
 64208  func init() {
 64209  	t["ProfileSimpleExpression"] = reflect.TypeOf((*ProfileSimpleExpression)(nil)).Elem()
 64210  }
 64211  
 64212  // Errors were detected during Profile update.
 64213  type ProfileUpdateFailed struct {
 64214  	VimFault
 64215  
 64216  	// Failures encountered during update/validation
 64217  	Failure []ProfileUpdateFailedUpdateFailure `xml:"failure" json:"failure"`
 64218  	// Warnings encountered during update/validation
 64219  	Warnings []ProfileUpdateFailedUpdateFailure `xml:"warnings,omitempty" json:"warnings,omitempty"`
 64220  }
 64221  
 64222  func init() {
 64223  	t["ProfileUpdateFailed"] = reflect.TypeOf((*ProfileUpdateFailed)(nil)).Elem()
 64224  }
 64225  
 64226  type ProfileUpdateFailedFault ProfileUpdateFailed
 64227  
 64228  func init() {
 64229  	t["ProfileUpdateFailedFault"] = reflect.TypeOf((*ProfileUpdateFailedFault)(nil)).Elem()
 64230  }
 64231  
 64232  type ProfileUpdateFailedUpdateFailure struct {
 64233  	DynamicData
 64234  
 64235  	// Location in the profile which has the error
 64236  	ProfilePath ProfilePropertyPath `xml:"profilePath" json:"profilePath"`
 64237  	// Message which explains the problem encountered
 64238  	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
 64239  }
 64240  
 64241  func init() {
 64242  	t["ProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ProfileUpdateFailedUpdateFailure)(nil)).Elem()
 64243  }
 64244  
 64245  // The parameters of `VirtualMachine.PromoteDisks_Task`.
 64246  type PromoteDisksRequestType struct {
 64247  	This ManagedObjectReference `xml:"_this" json:"-"`
 64248  	// If true, then these disks will be unlinked before consolidation.
 64249  	Unlink bool `xml:"unlink" json:"unlink"`
 64250  	// The set of disks that are to be promoted.
 64251  	// If this value is unset or the array is empty,
 64252  	// all disks which have delta disk backings are promoted.
 64253  	Disks []VirtualDisk `xml:"disks,omitempty" json:"disks,omitempty"`
 64254  }
 64255  
 64256  func init() {
 64257  	t["PromoteDisksRequestType"] = reflect.TypeOf((*PromoteDisksRequestType)(nil)).Elem()
 64258  }
 64259  
 64260  type PromoteDisks_Task PromoteDisksRequestType
 64261  
 64262  func init() {
 64263  	t["PromoteDisks_Task"] = reflect.TypeOf((*PromoteDisks_Task)(nil)).Elem()
 64264  }
 64265  
 64266  type PromoteDisks_TaskResponse struct {
 64267  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 64268  }
 64269  
 64270  // Describes a change to a property.
 64271  type PropertyChange struct {
 64272  	DynamicData
 64273  
 64274  	// Property or nested property to which the change applies.
 64275  	//
 64276  	// Nested
 64277  	// properties are specified by paths; for example,
 64278  	//   - foo.bar
 64279  	//   - foo.arProp\["key val"\]
 64280  	//   - foo.arProp\["key val"\].baz
 64281  	Name string `xml:"name" json:"name"`
 64282  	// Change operation for the property.
 64283  	//
 64284  	// Valid values are:
 64285  	// <dl>
 64286  	// <dt>add</dt>
 64287  	// <dd>The property is a collection and the change inserts an element
 64288  	// into the collection.</dd>
 64289  	// <dt>remove</dt>
 64290  	// <dd>The property is a collection and the change deletes an element
 64291  	// from the collection.</dd>
 64292  	// <dt>assign</dt>
 64293  	// <dd>The change is a new value for the property.</dd>
 64294  	// <dt>indirectRemove</dt>
 64295  	// <dd>The property was removed because a containing property was removed
 64296  	// or unset</dd>
 64297  	// </dl>
 64298  	Op PropertyChangeOp `xml:"op" json:"op"`
 64299  	// New value for the property when "op" is either "add" or "assign".
 64300  	Val AnyType `xml:"val,typeattr" json:"val"`
 64301  }
 64302  
 64303  func init() {
 64304  	t["PropertyChange"] = reflect.TypeOf((*PropertyChange)(nil)).Elem()
 64305  }
 64306  
 64307  // Specify the property data that is included in a filter.
 64308  //
 64309  // A filter can
 64310  // specify part of a single managed object, or parts of multiple related
 64311  // managed objects in an inventory hierarchy - for example, to collect
 64312  // updates from all virtual machines in a given folder.
 64313  type PropertyFilterSpec struct {
 64314  	DynamicData
 64315  
 64316  	// Set of properties to include in the filter, specified for each object
 64317  	// type.
 64318  	PropSet []PropertySpec `xml:"propSet" json:"propSet"`
 64319  	// Set of specifications that determine the objects to filter.
 64320  	ObjectSet []ObjectSpec `xml:"objectSet" json:"objectSet"`
 64321  	// Control how to report missing objects during filter creation.
 64322  	//
 64323  	// If false or unset and `PropertyFilterSpec.objectSet` refers to missing objects,
 64324  	// filter creation will fail with a `ManagedObjectNotFound` fault.
 64325  	//
 64326  	// If true and `PropertyFilterSpec.objectSet` refers
 64327  	// to missing objects, filter creation will not fail and missing objects
 64328  	// will be reported via filter results. This is the recommended setting
 64329  	// when `PropertyFilterSpec.objectSet` refers to
 64330  	// transient objects.
 64331  	//
 64332  	// In an `UpdateSet` missing objects will
 64333  	// appear in the `PropertyFilterUpdate.missingSet` field.
 64334  	//
 64335  	// In a `RetrieveResult` missing objects will
 64336  	// simply be omitted from the objects field.
 64337  	//
 64338  	// For a call to `PropertyCollector.RetrieveProperties` missing objects will simply
 64339  	// be omitted from the results.
 64340  	ReportMissingObjectsInResults *bool `xml:"reportMissingObjectsInResults" json:"reportMissingObjectsInResults,omitempty"`
 64341  }
 64342  
 64343  func init() {
 64344  	t["PropertyFilterSpec"] = reflect.TypeOf((*PropertyFilterSpec)(nil)).Elem()
 64345  }
 64346  
 64347  // The `PropertyFilterUpdate` data object type contains a
 64348  // list of updates to data visible through a specific filter.
 64349  //
 64350  // Note that if a
 64351  // property changes through multiple filters, then a client receives an
 64352  // update for each filter.
 64353  type PropertyFilterUpdate struct {
 64354  	DynamicData
 64355  
 64356  	// Filter that was updated.
 64357  	//
 64358  	// Refers instance of `PropertyFilter`.
 64359  	Filter ManagedObjectReference `xml:"filter" json:"filter"`
 64360  	// Set of changes to object properties in the filter.
 64361  	ObjectSet []ObjectUpdate `xml:"objectSet,omitempty" json:"objectSet,omitempty"`
 64362  	// Objects that could not be found on the server, but were specified in a
 64363  	// `PropertyFilterSpec.objectSet`.
 64364  	//
 64365  	// This field will only be populated for objects that were determined
 64366  	// to be missing since the data version passed to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx` and will not contain objects that were missing
 64367  	// prior to that data version.
 64368  	MissingSet []MissingObject `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
 64369  }
 64370  
 64371  func init() {
 64372  	t["PropertyFilterUpdate"] = reflect.TypeOf((*PropertyFilterUpdate)(nil)).Elem()
 64373  }
 64374  
 64375  // Within a `PropertyFilterSpec`, A `PropertySpec` specifies which properties should be
 64376  // reported to the client for objects of the given managed object type that
 64377  // are visited and not skipped.
 64378  //
 64379  // One more subtle side effect is that if a
 64380  // managed object is visited and not skipped, but there is no `PropertySpec` associated with the managed object's
 64381  // type, the managed object will not be reported to the client.
 64382  //
 64383  // Also, the set of properties applicable to a given managed object type
 64384  // is the union of the properties implied by the `PropertySpec` objects even, in the case of a `RetrieveResult`, where there may be an applicable
 64385  // `PropertySpec` in more than one filter.
 64386  type PropertySpec struct {
 64387  	DynamicData
 64388  
 64389  	// Name of the managed object type being collected.
 64390  	Type string `xml:"type" json:"type"`
 64391  	// Specifies whether or not all properties of the object are read.
 64392  	//
 64393  	// If
 64394  	// this property is set to true, the `PropertySpec.pathSet` property is ignored.
 64395  	All *bool `xml:"all" json:"all,omitempty"`
 64396  	// Specifies which managed object properties are retrieved.
 64397  	//
 64398  	// If the `PropertySpec.pathSet` is empty, then the
 64399  	// `PropertyCollector` retrieves references to the managed objects
 64400  	// and no managed object properties are collected.
 64401  	PathSet []string `xml:"pathSet,omitempty" json:"pathSet,omitempty"`
 64402  }
 64403  
 64404  func init() {
 64405  	t["PropertySpec"] = reflect.TypeOf((*PropertySpec)(nil)).Elem()
 64406  }
 64407  
 64408  type ProvisionServerPrivateKey ProvisionServerPrivateKeyRequestType
 64409  
 64410  func init() {
 64411  	t["ProvisionServerPrivateKey"] = reflect.TypeOf((*ProvisionServerPrivateKey)(nil)).Elem()
 64412  }
 64413  
 64414  // The parameters of `HostCertificateManager.ProvisionServerPrivateKey`.
 64415  type ProvisionServerPrivateKeyRequestType struct {
 64416  	This ManagedObjectReference `xml:"_this" json:"-"`
 64417  	// SSL private key in PEM format
 64418  	Key string `xml:"key" json:"key"`
 64419  }
 64420  
 64421  func init() {
 64422  	t["ProvisionServerPrivateKeyRequestType"] = reflect.TypeOf((*ProvisionServerPrivateKeyRequestType)(nil)).Elem()
 64423  	minAPIVersionForType["ProvisionServerPrivateKeyRequestType"] = "8.0.3.0"
 64424  }
 64425  
 64426  type ProvisionServerPrivateKeyResponse struct {
 64427  }
 64428  
 64429  type PutUsbScanCodes PutUsbScanCodesRequestType
 64430  
 64431  func init() {
 64432  	t["PutUsbScanCodes"] = reflect.TypeOf((*PutUsbScanCodes)(nil)).Elem()
 64433  }
 64434  
 64435  // The parameters of `VirtualMachine.PutUsbScanCodes`.
 64436  type PutUsbScanCodesRequestType struct {
 64437  	This ManagedObjectReference `xml:"_this" json:"-"`
 64438  	Spec UsbScanCodeSpec        `xml:"spec" json:"spec"`
 64439  }
 64440  
 64441  func init() {
 64442  	t["PutUsbScanCodesRequestType"] = reflect.TypeOf((*PutUsbScanCodesRequestType)(nil)).Elem()
 64443  }
 64444  
 64445  type PutUsbScanCodesResponse struct {
 64446  	Returnval int32 `xml:"returnval" json:"returnval"`
 64447  }
 64448  
 64449  type QuarantineModeFault struct {
 64450  	VmConfigFault
 64451  
 64452  	VmName    string `xml:"vmName" json:"vmName"`
 64453  	FaultType string `xml:"faultType" json:"faultType"`
 64454  }
 64455  
 64456  func init() {
 64457  	t["QuarantineModeFault"] = reflect.TypeOf((*QuarantineModeFault)(nil)).Elem()
 64458  }
 64459  
 64460  type QuarantineModeFaultFault QuarantineModeFault
 64461  
 64462  func init() {
 64463  	t["QuarantineModeFaultFault"] = reflect.TypeOf((*QuarantineModeFaultFault)(nil)).Elem()
 64464  }
 64465  
 64466  type QueryAnswerFileStatus QueryAnswerFileStatusRequestType
 64467  
 64468  func init() {
 64469  	t["QueryAnswerFileStatus"] = reflect.TypeOf((*QueryAnswerFileStatus)(nil)).Elem()
 64470  }
 64471  
 64472  // The parameters of `HostProfileManager.QueryAnswerFileStatus`.
 64473  type QueryAnswerFileStatusRequestType struct {
 64474  	This ManagedObjectReference `xml:"_this" json:"-"`
 64475  	// The hosts the answer file is associated with.
 64476  	//
 64477  	// Refers instances of `HostSystem`.
 64478  	Host []ManagedObjectReference `xml:"host" json:"host"`
 64479  }
 64480  
 64481  func init() {
 64482  	t["QueryAnswerFileStatusRequestType"] = reflect.TypeOf((*QueryAnswerFileStatusRequestType)(nil)).Elem()
 64483  }
 64484  
 64485  type QueryAnswerFileStatusResponse struct {
 64486  	Returnval []AnswerFileStatusResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64487  }
 64488  
 64489  type QueryAssignedLicenses QueryAssignedLicensesRequestType
 64490  
 64491  func init() {
 64492  	t["QueryAssignedLicenses"] = reflect.TypeOf((*QueryAssignedLicenses)(nil)).Elem()
 64493  }
 64494  
 64495  // The parameters of `LicenseAssignmentManager.QueryAssignedLicenses`.
 64496  type QueryAssignedLicensesRequestType struct {
 64497  	This ManagedObjectReference `xml:"_this" json:"-"`
 64498  	// ID of the entity. E.g. HostSystem.
 64499  	EntityId string `xml:"entityId,omitempty" json:"entityId,omitempty"`
 64500  }
 64501  
 64502  func init() {
 64503  	t["QueryAssignedLicensesRequestType"] = reflect.TypeOf((*QueryAssignedLicensesRequestType)(nil)).Elem()
 64504  }
 64505  
 64506  type QueryAssignedLicensesResponse struct {
 64507  	Returnval []LicenseAssignmentManagerLicenseAssignment `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64508  }
 64509  
 64510  type QueryAvailableDisksForVmfs QueryAvailableDisksForVmfsRequestType
 64511  
 64512  func init() {
 64513  	t["QueryAvailableDisksForVmfs"] = reflect.TypeOf((*QueryAvailableDisksForVmfs)(nil)).Elem()
 64514  }
 64515  
 64516  // The parameters of `HostDatastoreSystem.QueryAvailableDisksForVmfs`.
 64517  type QueryAvailableDisksForVmfsRequestType struct {
 64518  	This ManagedObjectReference `xml:"_this" json:"-"`
 64519  	// The managed object reference of the VMFS datastore
 64520  	// you want extents for.
 64521  	//
 64522  	// Refers instance of `Datastore`.
 64523  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 64524  }
 64525  
 64526  func init() {
 64527  	t["QueryAvailableDisksForVmfsRequestType"] = reflect.TypeOf((*QueryAvailableDisksForVmfsRequestType)(nil)).Elem()
 64528  }
 64529  
 64530  type QueryAvailableDisksForVmfsResponse struct {
 64531  	Returnval []HostScsiDisk `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64532  }
 64533  
 64534  type QueryAvailableDvsSpec QueryAvailableDvsSpecRequestType
 64535  
 64536  func init() {
 64537  	t["QueryAvailableDvsSpec"] = reflect.TypeOf((*QueryAvailableDvsSpec)(nil)).Elem()
 64538  }
 64539  
 64540  // The parameters of `DistributedVirtualSwitchManager.QueryAvailableDvsSpec`.
 64541  type QueryAvailableDvsSpecRequestType struct {
 64542  	This ManagedObjectReference `xml:"_this" json:"-"`
 64543  	// If set to true, return only the recommended versions.
 64544  	// If set to false, return only the not recommended versions.
 64545  	// If unset, return all supported versions.
 64546  	Recommended *bool `xml:"recommended" json:"recommended,omitempty"`
 64547  }
 64548  
 64549  func init() {
 64550  	t["QueryAvailableDvsSpecRequestType"] = reflect.TypeOf((*QueryAvailableDvsSpecRequestType)(nil)).Elem()
 64551  }
 64552  
 64553  type QueryAvailableDvsSpecResponse struct {
 64554  	Returnval []DistributedVirtualSwitchProductSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64555  }
 64556  
 64557  type QueryAvailablePartition QueryAvailablePartitionRequestType
 64558  
 64559  func init() {
 64560  	t["QueryAvailablePartition"] = reflect.TypeOf((*QueryAvailablePartition)(nil)).Elem()
 64561  }
 64562  
 64563  type QueryAvailablePartitionRequestType struct {
 64564  	This ManagedObjectReference `xml:"_this" json:"-"`
 64565  }
 64566  
 64567  func init() {
 64568  	t["QueryAvailablePartitionRequestType"] = reflect.TypeOf((*QueryAvailablePartitionRequestType)(nil)).Elem()
 64569  }
 64570  
 64571  type QueryAvailablePartitionResponse struct {
 64572  	Returnval []HostDiagnosticPartition `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64573  }
 64574  
 64575  type QueryAvailablePerfMetric QueryAvailablePerfMetricRequestType
 64576  
 64577  func init() {
 64578  	t["QueryAvailablePerfMetric"] = reflect.TypeOf((*QueryAvailablePerfMetric)(nil)).Elem()
 64579  }
 64580  
 64581  // The parameters of `PerformanceManager.QueryAvailablePerfMetric`.
 64582  type QueryAvailablePerfMetricRequestType struct {
 64583  	This ManagedObjectReference `xml:"_this" json:"-"`
 64584  	// The *managed object* that
 64585  	// provides performance metrics.
 64586  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 64587  	// Starting time (server time) for a period of time from which to return
 64588  	// available metrics. If not specified, defaults to oldest available metric
 64589  	// for the specified entity.
 64590  	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
 64591  	// Ending time (server time) for a period of time from which to return
 64592  	// available performance metrics. If not specified, defaults to the most
 64593  	// recently generated metric for the specified entity.
 64594  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 64595  	// Period of time from which to retrieve metrics, defined by intervalId
 64596  	// (rather than beginTime or endTime). Valid intervalIds include:
 64597  	//   - For real-time counters, the `refreshRate` of
 64598  	//     the *performance
 64599  	//     provider*.
 64600  	//   - For historical counters, the `samplingPeriod` of the *historical interval*.
 64601  	//
 64602  	// If this parameter is not specified, the system returns available metrics
 64603  	// for historical statistics&#46;
 64604  	IntervalId int32 `xml:"intervalId,omitempty" json:"intervalId,omitempty"`
 64605  }
 64606  
 64607  func init() {
 64608  	t["QueryAvailablePerfMetricRequestType"] = reflect.TypeOf((*QueryAvailablePerfMetricRequestType)(nil)).Elem()
 64609  }
 64610  
 64611  type QueryAvailablePerfMetricResponse struct {
 64612  	Returnval []PerfMetricId `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64613  }
 64614  
 64615  type QueryAvailableSsds QueryAvailableSsdsRequestType
 64616  
 64617  func init() {
 64618  	t["QueryAvailableSsds"] = reflect.TypeOf((*QueryAvailableSsds)(nil)).Elem()
 64619  }
 64620  
 64621  // The parameters of `HostStorageSystem.QueryAvailableSsds`.
 64622  type QueryAvailableSsdsRequestType struct {
 64623  	This ManagedObjectReference `xml:"_this" json:"-"`
 64624  	// The path of the VFFS to extend. See `FileSystemMountInfo`.
 64625  	VffsPath string `xml:"vffsPath,omitempty" json:"vffsPath,omitempty"`
 64626  }
 64627  
 64628  func init() {
 64629  	t["QueryAvailableSsdsRequestType"] = reflect.TypeOf((*QueryAvailableSsdsRequestType)(nil)).Elem()
 64630  }
 64631  
 64632  type QueryAvailableSsdsResponse struct {
 64633  	Returnval []HostScsiDisk `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64634  }
 64635  
 64636  type QueryAvailableTimeZones QueryAvailableTimeZonesRequestType
 64637  
 64638  func init() {
 64639  	t["QueryAvailableTimeZones"] = reflect.TypeOf((*QueryAvailableTimeZones)(nil)).Elem()
 64640  }
 64641  
 64642  type QueryAvailableTimeZonesRequestType struct {
 64643  	This ManagedObjectReference `xml:"_this" json:"-"`
 64644  }
 64645  
 64646  func init() {
 64647  	t["QueryAvailableTimeZonesRequestType"] = reflect.TypeOf((*QueryAvailableTimeZonesRequestType)(nil)).Elem()
 64648  }
 64649  
 64650  type QueryAvailableTimeZonesResponse struct {
 64651  	Returnval []HostDateTimeSystemTimeZone `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64652  }
 64653  
 64654  type QueryBootDevices QueryBootDevicesRequestType
 64655  
 64656  func init() {
 64657  	t["QueryBootDevices"] = reflect.TypeOf((*QueryBootDevices)(nil)).Elem()
 64658  }
 64659  
 64660  type QueryBootDevicesRequestType struct {
 64661  	This ManagedObjectReference `xml:"_this" json:"-"`
 64662  }
 64663  
 64664  func init() {
 64665  	t["QueryBootDevicesRequestType"] = reflect.TypeOf((*QueryBootDevicesRequestType)(nil)).Elem()
 64666  }
 64667  
 64668  type QueryBootDevicesResponse struct {
 64669  	Returnval *HostBootDeviceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64670  }
 64671  
 64672  type QueryBoundVnics QueryBoundVnicsRequestType
 64673  
 64674  func init() {
 64675  	t["QueryBoundVnics"] = reflect.TypeOf((*QueryBoundVnics)(nil)).Elem()
 64676  }
 64677  
 64678  // The parameters of `IscsiManager.QueryBoundVnics`.
 64679  type QueryBoundVnicsRequestType struct {
 64680  	This ManagedObjectReference `xml:"_this" json:"-"`
 64681  	// iSCSI adapter name for which the method to be
 64682  	// applied.
 64683  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
 64684  }
 64685  
 64686  func init() {
 64687  	t["QueryBoundVnicsRequestType"] = reflect.TypeOf((*QueryBoundVnicsRequestType)(nil)).Elem()
 64688  }
 64689  
 64690  type QueryBoundVnicsResponse struct {
 64691  	Returnval []IscsiPortInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64692  }
 64693  
 64694  type QueryCandidateNics QueryCandidateNicsRequestType
 64695  
 64696  func init() {
 64697  	t["QueryCandidateNics"] = reflect.TypeOf((*QueryCandidateNics)(nil)).Elem()
 64698  }
 64699  
 64700  // The parameters of `IscsiManager.QueryCandidateNics`.
 64701  type QueryCandidateNicsRequestType struct {
 64702  	This ManagedObjectReference `xml:"_this" json:"-"`
 64703  	// iSCSI Adapter name for which the method to be
 64704  	// applied.
 64705  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
 64706  }
 64707  
 64708  func init() {
 64709  	t["QueryCandidateNicsRequestType"] = reflect.TypeOf((*QueryCandidateNicsRequestType)(nil)).Elem()
 64710  }
 64711  
 64712  type QueryCandidateNicsResponse struct {
 64713  	Returnval []IscsiPortInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64714  }
 64715  
 64716  type QueryChangedDiskAreas QueryChangedDiskAreasRequestType
 64717  
 64718  func init() {
 64719  	t["QueryChangedDiskAreas"] = reflect.TypeOf((*QueryChangedDiskAreas)(nil)).Elem()
 64720  }
 64721  
 64722  // The parameters of `VirtualMachine.QueryChangedDiskAreas`.
 64723  type QueryChangedDiskAreasRequestType struct {
 64724  	This ManagedObjectReference `xml:"_this" json:"-"`
 64725  	// Snapshot for which changes that have been made sine
 64726  	// "changeId" should be computed. If not set, changes are computed
 64727  	// against the "current" snapshot of the virtual machine. However,
 64728  	// using the "current" snapshot will only work for virtual machines
 64729  	// that are powered off.
 64730  	//
 64731  	// Refers instance of `VirtualMachineSnapshot`.
 64732  	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 64733  	// Identifies the virtual disk for which to compute changes.
 64734  	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
 64735  	// Start Offset in bytes at which to start computing changes.
 64736  	// Typically, callers will make multiple calls to this function, starting
 64737  	// with startOffset 0 and then examine the "length" property in the
 64738  	// returned DiskChangeInfo structure, repeatedly calling queryChangedDiskAreas
 64739  	// until a map forthe entire virtual disk has been obtained.
 64740  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
 64741  	// Identifyer referring to a point in the past that should be used
 64742  	// as the point in time at which to begin including changes to the disk in
 64743  	// the result. A typical use case would be a backup application obtaining a
 64744  	// changeId from a virtual disk's backing info when performing a
 64745  	// backup. When a subsequent incremental backup is to be performed, this
 64746  	// change Id can be used to obtain a list of changed areas on disk.
 64747  	ChangeId string `xml:"changeId" json:"changeId"`
 64748  }
 64749  
 64750  func init() {
 64751  	t["QueryChangedDiskAreasRequestType"] = reflect.TypeOf((*QueryChangedDiskAreasRequestType)(nil)).Elem()
 64752  }
 64753  
 64754  type QueryChangedDiskAreasResponse struct {
 64755  	Returnval DiskChangeInfo `xml:"returnval" json:"returnval"`
 64756  }
 64757  
 64758  type QueryCmmds QueryCmmdsRequestType
 64759  
 64760  func init() {
 64761  	t["QueryCmmds"] = reflect.TypeOf((*QueryCmmds)(nil)).Elem()
 64762  }
 64763  
 64764  // The parameters of `HostVsanInternalSystem.QueryCmmds`.
 64765  type QueryCmmdsRequestType struct {
 64766  	This ManagedObjectReference `xml:"_this" json:"-"`
 64767  	// List of CMMDS query specs.
 64768  	Queries []HostVsanInternalSystemCmmdsQuery `xml:"queries" json:"queries"`
 64769  }
 64770  
 64771  func init() {
 64772  	t["QueryCmmdsRequestType"] = reflect.TypeOf((*QueryCmmdsRequestType)(nil)).Elem()
 64773  }
 64774  
 64775  type QueryCmmdsResponse struct {
 64776  	Returnval string `xml:"returnval" json:"returnval"`
 64777  }
 64778  
 64779  type QueryCompatibleHostForExistingDvs QueryCompatibleHostForExistingDvsRequestType
 64780  
 64781  func init() {
 64782  	t["QueryCompatibleHostForExistingDvs"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvs)(nil)).Elem()
 64783  }
 64784  
 64785  // The parameters of `DistributedVirtualSwitchManager.QueryCompatibleHostForExistingDvs`.
 64786  type QueryCompatibleHostForExistingDvsRequestType struct {
 64787  	This ManagedObjectReference `xml:"_this" json:"-"`
 64788  	// Where to look for hosts. Supported types of objects for
 64789  	// this parameter are `Datacenter`,
 64790  	// `ComputeResource` and `Folder`.
 64791  	//
 64792  	// Refers instance of `ManagedEntity`.
 64793  	Container ManagedObjectReference `xml:"container" json:"container"`
 64794  	// Whether to search for hosts in the subfolders,
 64795  	// if applicable. In the case when container is a `Datacenter`,
 64796  	// the recursive flag is applied to its HostFolder.
 64797  	Recursive bool `xml:"recursive" json:"recursive"`
 64798  	// Search the host based on the specification published in the
 64799  	// `DVSCapability.compatibleHostComponentProductInfo`
 64800  	// of a `DistributedVirtualSwitch`. If not
 64801  	// set, it is assumed to be the specification that a
 64802  	// DistributedVirtualSwitch would have if it is created
 64803  	// with the default `DistributedVirtualSwitchProductSpec`.
 64804  	//
 64805  	// Refers instance of `DistributedVirtualSwitch`.
 64806  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 64807  }
 64808  
 64809  func init() {
 64810  	t["QueryCompatibleHostForExistingDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvsRequestType)(nil)).Elem()
 64811  }
 64812  
 64813  type QueryCompatibleHostForExistingDvsResponse struct {
 64814  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64815  }
 64816  
 64817  type QueryCompatibleHostForNewDvs QueryCompatibleHostForNewDvsRequestType
 64818  
 64819  func init() {
 64820  	t["QueryCompatibleHostForNewDvs"] = reflect.TypeOf((*QueryCompatibleHostForNewDvs)(nil)).Elem()
 64821  }
 64822  
 64823  // The parameters of `DistributedVirtualSwitchManager.QueryCompatibleHostForNewDvs`.
 64824  type QueryCompatibleHostForNewDvsRequestType struct {
 64825  	This ManagedObjectReference `xml:"_this" json:"-"`
 64826  	// Where to look for hosts. Supported types of objects for
 64827  	// this parameter are `Datacenter`,
 64828  	// `ComputeResource` and `Folder`.
 64829  	//
 64830  	// Refers instance of `ManagedEntity`.
 64831  	Container ManagedObjectReference `xml:"container" json:"container"`
 64832  	// Whether to search for hosts in the subfolders,
 64833  	// if applicable. In the case when container is a `Datacenter`,
 64834  	// the recursive flag is applied to its HostFolder.
 64835  	Recursive bool `xml:"recursive" json:"recursive"`
 64836  	// The productSpec of a `DistributedVirtualSwitch`.
 64837  	// If not set, it is assumed to be the default one used for
 64838  	// DistributedVirtualSwitch creation.
 64839  	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
 64840  }
 64841  
 64842  func init() {
 64843  	t["QueryCompatibleHostForNewDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForNewDvsRequestType)(nil)).Elem()
 64844  }
 64845  
 64846  type QueryCompatibleHostForNewDvsResponse struct {
 64847  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64848  }
 64849  
 64850  type QueryCompatibleVmnicsFromHosts QueryCompatibleVmnicsFromHostsRequestType
 64851  
 64852  func init() {
 64853  	t["QueryCompatibleVmnicsFromHosts"] = reflect.TypeOf((*QueryCompatibleVmnicsFromHosts)(nil)).Elem()
 64854  }
 64855  
 64856  // The parameters of `DistributedVirtualSwitchManager.QueryCompatibleVmnicsFromHosts`.
 64857  type QueryCompatibleVmnicsFromHostsRequestType struct {
 64858  	This ManagedObjectReference `xml:"_this" json:"-"`
 64859  	// The array of hosts on which the query is to be made to
 64860  	// fetch valid PhysicalNics on each host.
 64861  	//
 64862  	// Refers instances of `HostSystem`.
 64863  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 64864  	// The distributed virtual switch on which the query is to be
 64865  	// made.
 64866  	//
 64867  	// Refers instance of `DistributedVirtualSwitch`.
 64868  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 64869  }
 64870  
 64871  func init() {
 64872  	t["QueryCompatibleVmnicsFromHostsRequestType"] = reflect.TypeOf((*QueryCompatibleVmnicsFromHostsRequestType)(nil)).Elem()
 64873  	minAPIVersionForType["QueryCompatibleVmnicsFromHostsRequestType"] = "8.0.0.1"
 64874  }
 64875  
 64876  type QueryCompatibleVmnicsFromHostsResponse struct {
 64877  	Returnval []DVSManagerPhysicalNicsList `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64878  }
 64879  
 64880  type QueryComplianceStatus QueryComplianceStatusRequestType
 64881  
 64882  func init() {
 64883  	t["QueryComplianceStatus"] = reflect.TypeOf((*QueryComplianceStatus)(nil)).Elem()
 64884  }
 64885  
 64886  // The parameters of `ProfileComplianceManager.QueryComplianceStatus`.
 64887  type QueryComplianceStatusRequestType struct {
 64888  	This ManagedObjectReference `xml:"_this" json:"-"`
 64889  	// If specified, compliance result for the specified profiles will be
 64890  	// returned. This acts like a filtering criteria for the ComplianceResults based on
 64891  	// specified profiles.
 64892  	//
 64893  	// Refers instances of `Profile`.
 64894  	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 64895  	// If specified, compliance results for these entities will be returned.
 64896  	// This acts like a filtering criteria for the ComplianceResults based on entities.
 64897  	//
 64898  	// Refers instances of `ManagedEntity`.
 64899  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 64900  }
 64901  
 64902  func init() {
 64903  	t["QueryComplianceStatusRequestType"] = reflect.TypeOf((*QueryComplianceStatusRequestType)(nil)).Elem()
 64904  }
 64905  
 64906  type QueryComplianceStatusResponse struct {
 64907  	Returnval []ComplianceResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64908  }
 64909  
 64910  type QueryConfigOption QueryConfigOptionRequestType
 64911  
 64912  func init() {
 64913  	t["QueryConfigOption"] = reflect.TypeOf((*QueryConfigOption)(nil)).Elem()
 64914  }
 64915  
 64916  type QueryConfigOptionDescriptor QueryConfigOptionDescriptorRequestType
 64917  
 64918  func init() {
 64919  	t["QueryConfigOptionDescriptor"] = reflect.TypeOf((*QueryConfigOptionDescriptor)(nil)).Elem()
 64920  }
 64921  
 64922  type QueryConfigOptionDescriptorRequestType struct {
 64923  	This ManagedObjectReference `xml:"_this" json:"-"`
 64924  }
 64925  
 64926  func init() {
 64927  	t["QueryConfigOptionDescriptorRequestType"] = reflect.TypeOf((*QueryConfigOptionDescriptorRequestType)(nil)).Elem()
 64928  }
 64929  
 64930  type QueryConfigOptionDescriptorResponse struct {
 64931  	Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64932  }
 64933  
 64934  type QueryConfigOptionEx QueryConfigOptionExRequestType
 64935  
 64936  func init() {
 64937  	t["QueryConfigOptionEx"] = reflect.TypeOf((*QueryConfigOptionEx)(nil)).Elem()
 64938  }
 64939  
 64940  // The parameters of `EnvironmentBrowser.QueryConfigOptionEx`.
 64941  type QueryConfigOptionExRequestType struct {
 64942  	This ManagedObjectReference `xml:"_this" json:"-"`
 64943  	// Search criteria and filters to control the result.
 64944  	// If a `EnvironmentBrowserConfigOptionQuerySpec.key` or
 64945  	// `EnvironmentBrowserConfigOptionQuerySpec.host` (or both)
 64946  	// are specified, they will be used to search for a config option.
 64947  	// If `EnvironmentBrowserConfigOptionQuerySpec.guestId`
 64948  	// is nonempty, the `VirtualMachineConfigOption.guestOSDescriptor`
 64949  	// array of the config option is filtered to match against the guest
 64950  	// IDs in the spec. If there is no match, the whole list is returned.
 64951  	// If the spec argument is omitted, the default
 64952  	// `VirtualMachineConfigOption` for this environment browser is
 64953  	// returned.
 64954  	Spec *EnvironmentBrowserConfigOptionQuerySpec `xml:"spec,omitempty" json:"spec,omitempty"`
 64955  }
 64956  
 64957  func init() {
 64958  	t["QueryConfigOptionExRequestType"] = reflect.TypeOf((*QueryConfigOptionExRequestType)(nil)).Elem()
 64959  }
 64960  
 64961  type QueryConfigOptionExResponse struct {
 64962  	Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64963  }
 64964  
 64965  // The parameters of `EnvironmentBrowser.QueryConfigOption`.
 64966  type QueryConfigOptionRequestType struct {
 64967  	This ManagedObjectReference `xml:"_this" json:"-"`
 64968  	// The key found in the VirtualMachineConfigOptionDescriptor,
 64969  	// obtained by invoking the
 64970  	// `EnvironmentBrowser.QueryConfigOptionDescriptor` operation.
 64971  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 64972  	// The host whose ConfigOption is requested.
 64973  	//
 64974  	// Refers instance of `HostSystem`.
 64975  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64976  }
 64977  
 64978  func init() {
 64979  	t["QueryConfigOptionRequestType"] = reflect.TypeOf((*QueryConfigOptionRequestType)(nil)).Elem()
 64980  }
 64981  
 64982  type QueryConfigOptionResponse struct {
 64983  	Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64984  }
 64985  
 64986  type QueryConfigTarget QueryConfigTargetRequestType
 64987  
 64988  func init() {
 64989  	t["QueryConfigTarget"] = reflect.TypeOf((*QueryConfigTarget)(nil)).Elem()
 64990  }
 64991  
 64992  // The parameters of `EnvironmentBrowser.QueryConfigTarget`.
 64993  type QueryConfigTargetRequestType struct {
 64994  	This ManagedObjectReference `xml:"_this" json:"-"`
 64995  	// If specified, the host whose default BackingInfo is requested.
 64996  	//
 64997  	// Refers instance of `HostSystem`.
 64998  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64999  }
 65000  
 65001  func init() {
 65002  	t["QueryConfigTargetRequestType"] = reflect.TypeOf((*QueryConfigTargetRequestType)(nil)).Elem()
 65003  }
 65004  
 65005  type QueryConfigTargetResponse struct {
 65006  	Returnval *ConfigTarget `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65007  }
 65008  
 65009  type QueryConfiguredModuleOptionString QueryConfiguredModuleOptionStringRequestType
 65010  
 65011  func init() {
 65012  	t["QueryConfiguredModuleOptionString"] = reflect.TypeOf((*QueryConfiguredModuleOptionString)(nil)).Elem()
 65013  }
 65014  
 65015  // The parameters of `HostKernelModuleSystem.QueryConfiguredModuleOptionString`.
 65016  type QueryConfiguredModuleOptionStringRequestType struct {
 65017  	This ManagedObjectReference `xml:"_this" json:"-"`
 65018  	// Module name.
 65019  	Name string `xml:"name" json:"name"`
 65020  }
 65021  
 65022  func init() {
 65023  	t["QueryConfiguredModuleOptionStringRequestType"] = reflect.TypeOf((*QueryConfiguredModuleOptionStringRequestType)(nil)).Elem()
 65024  }
 65025  
 65026  type QueryConfiguredModuleOptionStringResponse struct {
 65027  	Returnval string `xml:"returnval" json:"returnval"`
 65028  }
 65029  
 65030  type QueryConnectionInfo QueryConnectionInfoRequestType
 65031  
 65032  func init() {
 65033  	t["QueryConnectionInfo"] = reflect.TypeOf((*QueryConnectionInfo)(nil)).Elem()
 65034  }
 65035  
 65036  // The parameters of `Datacenter.QueryConnectionInfo`.
 65037  type QueryConnectionInfoRequestType struct {
 65038  	This ManagedObjectReference `xml:"_this" json:"-"`
 65039  	// The target of the query.
 65040  	Hostname string `xml:"hostname" json:"hostname"`
 65041  	// The port number of the target host. For ESX 2.x this is the authd port
 65042  	// (902 by default). For ESX 3.x and above and for VMware Server hosts
 65043  	// this is the https port (443 by default). You can specify -1 to have the
 65044  	// vCenter Server try the default ports.
 65045  	Port int32 `xml:"port" json:"port"`
 65046  	// The name of the user.
 65047  	Username string `xml:"username" json:"username"`
 65048  	// The password of the user.
 65049  	Password string `xml:"password" json:"password"`
 65050  	// The expected SSL thumbprint of the host's certificate.
 65051  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 65052  	// The expected SSL certificate of the host in PEM format.
 65053  	// This parameter is a fallback to be used when the certificate provided
 65054  	// by the host can not be verified via a trusted CA. A replacement of
 65055  	// `sslThumbprint`.
 65056  	// Note: `sslThumbprint` and `sslCertificate` parameters are
 65057  	// mutually exclusive, and should never be used simultaneously.
 65058  	SslCertificate string `xml:"sslCertificate,omitempty" json:"sslCertificate,omitempty" vim:"9.0.0.0"`
 65059  }
 65060  
 65061  func init() {
 65062  	t["QueryConnectionInfoRequestType"] = reflect.TypeOf((*QueryConnectionInfoRequestType)(nil)).Elem()
 65063  }
 65064  
 65065  type QueryConnectionInfoResponse struct {
 65066  	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
 65067  }
 65068  
 65069  type QueryConnectionInfoViaSpec QueryConnectionInfoViaSpecRequestType
 65070  
 65071  func init() {
 65072  	t["QueryConnectionInfoViaSpec"] = reflect.TypeOf((*QueryConnectionInfoViaSpec)(nil)).Elem()
 65073  }
 65074  
 65075  // The parameters of `Datacenter.QueryConnectionInfoViaSpec`.
 65076  type QueryConnectionInfoViaSpecRequestType struct {
 65077  	This ManagedObjectReference `xml:"_this" json:"-"`
 65078  	// The connection spec for the host to be queried. It must contain
 65079  	// values for all parameters required by `Datacenter.QueryConnectionInfo`
 65080  	// See `Datacenter.QueryConnectionInfo` or a list of thrown expections.
 65081  	Spec HostConnectSpec `xml:"spec" json:"spec"`
 65082  }
 65083  
 65084  func init() {
 65085  	t["QueryConnectionInfoViaSpecRequestType"] = reflect.TypeOf((*QueryConnectionInfoViaSpecRequestType)(nil)).Elem()
 65086  }
 65087  
 65088  type QueryConnectionInfoViaSpecResponse struct {
 65089  	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
 65090  }
 65091  
 65092  type QueryConnections QueryConnectionsRequestType
 65093  
 65094  func init() {
 65095  	t["QueryConnections"] = reflect.TypeOf((*QueryConnections)(nil)).Elem()
 65096  }
 65097  
 65098  type QueryConnectionsRequestType struct {
 65099  	This ManagedObjectReference `xml:"_this" json:"-"`
 65100  }
 65101  
 65102  func init() {
 65103  	t["QueryConnectionsRequestType"] = reflect.TypeOf((*QueryConnectionsRequestType)(nil)).Elem()
 65104  }
 65105  
 65106  type QueryConnectionsResponse struct {
 65107  	Returnval []BaseVirtualMachineConnection `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 65108  }
 65109  
 65110  type QueryCryptoKeyStatus QueryCryptoKeyStatusRequestType
 65111  
 65112  func init() {
 65113  	t["QueryCryptoKeyStatus"] = reflect.TypeOf((*QueryCryptoKeyStatus)(nil)).Elem()
 65114  }
 65115  
 65116  // The parameters of `CryptoManagerKmip.QueryCryptoKeyStatus`.
 65117  type QueryCryptoKeyStatusRequestType struct {
 65118  	This ManagedObjectReference `xml:"_this" json:"-"`
 65119  	// \[in\] The Crypto Key Ids to query.
 65120  	KeyIds []CryptoKeyId `xml:"keyIds,omitempty" json:"keyIds,omitempty"`
 65121  	// \[in\] The key state to check. Supported value:
 65122  	// 0x01. check if key data is available to VC.
 65123  	// 0x02. check the VMs which use that key.
 65124  	// 0x04. check the hosts using this key as host key.
 65125  	// 0x08. Check 3rd party program which use that key.
 65126  	// Other bits - reserved and will be igonred.
 65127  	CheckKeyBitMap int32 `xml:"checkKeyBitMap" json:"checkKeyBitMap"`
 65128  }
 65129  
 65130  func init() {
 65131  	t["QueryCryptoKeyStatusRequestType"] = reflect.TypeOf((*QueryCryptoKeyStatusRequestType)(nil)).Elem()
 65132  }
 65133  
 65134  type QueryCryptoKeyStatusResponse struct {
 65135  	Returnval []CryptoManagerKmipCryptoKeyStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65136  }
 65137  
 65138  type QueryDatastorePerformanceSummary QueryDatastorePerformanceSummaryRequestType
 65139  
 65140  func init() {
 65141  	t["QueryDatastorePerformanceSummary"] = reflect.TypeOf((*QueryDatastorePerformanceSummary)(nil)).Elem()
 65142  }
 65143  
 65144  // The parameters of `StorageResourceManager.QueryDatastorePerformanceSummary`.
 65145  type QueryDatastorePerformanceSummaryRequestType struct {
 65146  	This ManagedObjectReference `xml:"_this" json:"-"`
 65147  	// Datastore for which summary statistics is requested.
 65148  	//
 65149  	// Refers instance of `Datastore`.
 65150  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 65151  }
 65152  
 65153  func init() {
 65154  	t["QueryDatastorePerformanceSummaryRequestType"] = reflect.TypeOf((*QueryDatastorePerformanceSummaryRequestType)(nil)).Elem()
 65155  }
 65156  
 65157  type QueryDatastorePerformanceSummaryResponse struct {
 65158  	Returnval []StoragePerformanceSummary `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65159  }
 65160  
 65161  type QueryDateTime QueryDateTimeRequestType
 65162  
 65163  func init() {
 65164  	t["QueryDateTime"] = reflect.TypeOf((*QueryDateTime)(nil)).Elem()
 65165  }
 65166  
 65167  type QueryDateTimeRequestType struct {
 65168  	This ManagedObjectReference `xml:"_this" json:"-"`
 65169  }
 65170  
 65171  func init() {
 65172  	t["QueryDateTimeRequestType"] = reflect.TypeOf((*QueryDateTimeRequestType)(nil)).Elem()
 65173  }
 65174  
 65175  type QueryDateTimeResponse struct {
 65176  	Returnval time.Time `xml:"returnval" json:"returnval"`
 65177  }
 65178  
 65179  type QueryDescriptions QueryDescriptionsRequestType
 65180  
 65181  func init() {
 65182  	t["QueryDescriptions"] = reflect.TypeOf((*QueryDescriptions)(nil)).Elem()
 65183  }
 65184  
 65185  // The parameters of `DiagnosticManager.QueryDescriptions`.
 65186  type QueryDescriptionsRequestType struct {
 65187  	This ManagedObjectReference `xml:"_this" json:"-"`
 65188  	// Specifies the host. If not specified, then it defaults
 65189  	// to the server itself. For example, if called on
 65190  	// VirtualCenter, then the value defaults to VirtualCenter
 65191  	// logs. When called on an ESX server host, the host should
 65192  	// not be specified.
 65193  	//
 65194  	// Refers instance of `HostSystem`.
 65195  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65196  }
 65197  
 65198  func init() {
 65199  	t["QueryDescriptionsRequestType"] = reflect.TypeOf((*QueryDescriptionsRequestType)(nil)).Elem()
 65200  }
 65201  
 65202  type QueryDescriptionsResponse struct {
 65203  	Returnval []DiagnosticManagerLogDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65204  }
 65205  
 65206  type QueryDirectoryInfo QueryDirectoryInfoRequestType
 65207  
 65208  func init() {
 65209  	t["QueryDirectoryInfo"] = reflect.TypeOf((*QueryDirectoryInfo)(nil)).Elem()
 65210  }
 65211  
 65212  // The parameters of `DatastoreNamespaceManager.QueryDirectoryInfo`.
 65213  type QueryDirectoryInfoRequestType struct {
 65214  	This ManagedObjectReference `xml:"_this" json:"-"`
 65215  	// the datacenter of the namespace path. Needs to be set
 65216  	// when making the call to VC; ignored when the call is
 65217  	// made to ESX.
 65218  	//
 65219  	// Refers instance of `Datacenter`.
 65220  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 65221  	// stable vmfs path of the top-level directory to query
 65222  	StableName string `xml:"stableName" json:"stableName"`
 65223  }
 65224  
 65225  func init() {
 65226  	t["QueryDirectoryInfoRequestType"] = reflect.TypeOf((*QueryDirectoryInfoRequestType)(nil)).Elem()
 65227  	minAPIVersionForType["QueryDirectoryInfoRequestType"] = "8.0.1.0"
 65228  }
 65229  
 65230  type QueryDirectoryInfoResponse struct {
 65231  	Returnval DatastoreNamespaceManagerDirectoryInfo `xml:"returnval" json:"returnval"`
 65232  }
 65233  
 65234  type QueryDisksForVsan QueryDisksForVsanRequestType
 65235  
 65236  func init() {
 65237  	t["QueryDisksForVsan"] = reflect.TypeOf((*QueryDisksForVsan)(nil)).Elem()
 65238  }
 65239  
 65240  // The parameters of `HostVsanSystem.QueryDisksForVsan`.
 65241  type QueryDisksForVsanRequestType struct {
 65242  	This ManagedObjectReference `xml:"_this" json:"-"`
 65243  	// may be set to restrict the query to the list of
 65244  	// `HostScsiDisk` objects named by the
 65245  	// given paths
 65246  	CanonicalName []string `xml:"canonicalName,omitempty" json:"canonicalName,omitempty"`
 65247  }
 65248  
 65249  func init() {
 65250  	t["QueryDisksForVsanRequestType"] = reflect.TypeOf((*QueryDisksForVsanRequestType)(nil)).Elem()
 65251  }
 65252  
 65253  type QueryDisksForVsanResponse struct {
 65254  	Returnval []VsanHostDiskResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65255  }
 65256  
 65257  type QueryDisksUsingFilter QueryDisksUsingFilterRequestType
 65258  
 65259  func init() {
 65260  	t["QueryDisksUsingFilter"] = reflect.TypeOf((*QueryDisksUsingFilter)(nil)).Elem()
 65261  }
 65262  
 65263  // The parameters of `IoFilterManager.QueryDisksUsingFilter`.
 65264  type QueryDisksUsingFilterRequestType struct {
 65265  	This ManagedObjectReference `xml:"_this" json:"-"`
 65266  	// ID of the filter.
 65267  	FilterId string `xml:"filterId" json:"filterId"`
 65268  	// The compute resource that the filter has been installed on.
 65269  	// "compRes" must be a cluster.
 65270  	//
 65271  	// Refers instance of `ComputeResource`.
 65272  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 65273  }
 65274  
 65275  func init() {
 65276  	t["QueryDisksUsingFilterRequestType"] = reflect.TypeOf((*QueryDisksUsingFilterRequestType)(nil)).Elem()
 65277  }
 65278  
 65279  type QueryDisksUsingFilterResponse struct {
 65280  	Returnval []VirtualDiskId `xml:"returnval" json:"returnval"`
 65281  }
 65282  
 65283  type QueryDvsByUuid QueryDvsByUuidRequestType
 65284  
 65285  func init() {
 65286  	t["QueryDvsByUuid"] = reflect.TypeOf((*QueryDvsByUuid)(nil)).Elem()
 65287  }
 65288  
 65289  // The parameters of `DistributedVirtualSwitchManager.QueryDvsByUuid`.
 65290  type QueryDvsByUuidRequestType struct {
 65291  	This ManagedObjectReference `xml:"_this" json:"-"`
 65292  	Uuid string                 `xml:"uuid" json:"uuid"`
 65293  }
 65294  
 65295  func init() {
 65296  	t["QueryDvsByUuidRequestType"] = reflect.TypeOf((*QueryDvsByUuidRequestType)(nil)).Elem()
 65297  }
 65298  
 65299  type QueryDvsByUuidResponse struct {
 65300  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65301  }
 65302  
 65303  type QueryDvsCheckCompatibility QueryDvsCheckCompatibilityRequestType
 65304  
 65305  func init() {
 65306  	t["QueryDvsCheckCompatibility"] = reflect.TypeOf((*QueryDvsCheckCompatibility)(nil)).Elem()
 65307  }
 65308  
 65309  // The parameters of `DistributedVirtualSwitchManager.QueryDvsCheckCompatibility`.
 65310  type QueryDvsCheckCompatibilityRequestType struct {
 65311  	This ManagedObjectReference `xml:"_this" json:"-"`
 65312  	// The container of hosts on which we check the compatibility.
 65313  	// This container can be a datacenter, folder, or computeResource.
 65314  	// We can also include all the hosts in the hierarchy with container
 65315  	// as root of the tree.
 65316  	HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer" json:"hostContainer"`
 65317  	// The productSpec of a DistributedVirtualSwitch. If not
 65318  	// set, it is assumed to be the default one used for
 65319  	// DistributedVirtualSwitch creation for current version.
 65320  	DvsProductSpec *DistributedVirtualSwitchManagerDvsProductSpec `xml:"dvsProductSpec,omitempty" json:"dvsProductSpec,omitempty"`
 65321  	// The hosts against which to check compatibility. This is a
 65322  	// filterSpec and users can use this to specify all hosts in a
 65323  	// container (datacenter, folder, or computeResource), an array
 65324  	// of hosts, or hosts that might or might not be a DVS member.
 65325  	HostFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"hostFilterSpec,omitempty,typeattr" json:"hostFilterSpec,omitempty"`
 65326  }
 65327  
 65328  func init() {
 65329  	t["QueryDvsCheckCompatibilityRequestType"] = reflect.TypeOf((*QueryDvsCheckCompatibilityRequestType)(nil)).Elem()
 65330  }
 65331  
 65332  type QueryDvsCheckCompatibilityResponse struct {
 65333  	Returnval []DistributedVirtualSwitchManagerCompatibilityResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65334  }
 65335  
 65336  type QueryDvsCompatibleHostSpec QueryDvsCompatibleHostSpecRequestType
 65337  
 65338  func init() {
 65339  	t["QueryDvsCompatibleHostSpec"] = reflect.TypeOf((*QueryDvsCompatibleHostSpec)(nil)).Elem()
 65340  }
 65341  
 65342  // The parameters of `DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec`.
 65343  type QueryDvsCompatibleHostSpecRequestType struct {
 65344  	This ManagedObjectReference `xml:"_this" json:"-"`
 65345  	// The productSpec of a `DistributedVirtualSwitch`.
 65346  	// If not set, it is assumed to be the default one used for
 65347  	// DistributedVirtualSwitch creation.
 65348  	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
 65349  }
 65350  
 65351  func init() {
 65352  	t["QueryDvsCompatibleHostSpecRequestType"] = reflect.TypeOf((*QueryDvsCompatibleHostSpecRequestType)(nil)).Elem()
 65353  }
 65354  
 65355  type QueryDvsCompatibleHostSpecResponse struct {
 65356  	Returnval []DistributedVirtualSwitchHostProductSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65357  }
 65358  
 65359  type QueryDvsConfigTarget QueryDvsConfigTargetRequestType
 65360  
 65361  func init() {
 65362  	t["QueryDvsConfigTarget"] = reflect.TypeOf((*QueryDvsConfigTarget)(nil)).Elem()
 65363  }
 65364  
 65365  // The parameters of `DistributedVirtualSwitchManager.QueryDvsConfigTarget`.
 65366  type QueryDvsConfigTargetRequestType struct {
 65367  	This ManagedObjectReference `xml:"_this" json:"-"`
 65368  	// The host on which the query is to be made. If called
 65369  	// directly on the host this parameter need not be specified.
 65370  	//
 65371  	// Refers instance of `HostSystem`.
 65372  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65373  	// The distributed virtual switch on which the query is to be
 65374  	// made. If unspecified the config target will encompass all the
 65375  	// distributed virtual switches available on the host.
 65376  	//
 65377  	// Refers instance of `DistributedVirtualSwitch`.
 65378  	Dvs *ManagedObjectReference `xml:"dvs,omitempty" json:"dvs,omitempty"`
 65379  }
 65380  
 65381  func init() {
 65382  	t["QueryDvsConfigTargetRequestType"] = reflect.TypeOf((*QueryDvsConfigTargetRequestType)(nil)).Elem()
 65383  }
 65384  
 65385  type QueryDvsConfigTargetResponse struct {
 65386  	Returnval DVSManagerDvsConfigTarget `xml:"returnval" json:"returnval"`
 65387  }
 65388  
 65389  type QueryDvsFeatureCapability QueryDvsFeatureCapabilityRequestType
 65390  
 65391  func init() {
 65392  	t["QueryDvsFeatureCapability"] = reflect.TypeOf((*QueryDvsFeatureCapability)(nil)).Elem()
 65393  }
 65394  
 65395  // The parameters of `DistributedVirtualSwitchManager.QueryDvsFeatureCapability`.
 65396  type QueryDvsFeatureCapabilityRequestType struct {
 65397  	This ManagedObjectReference `xml:"_this" json:"-"`
 65398  	// The productSpec of a `DistributedVirtualSwitch`.
 65399  	// If not set, it is assumed to be the default one used for
 65400  	// DistributedVirtualSwitch creation.
 65401  	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
 65402  }
 65403  
 65404  func init() {
 65405  	t["QueryDvsFeatureCapabilityRequestType"] = reflect.TypeOf((*QueryDvsFeatureCapabilityRequestType)(nil)).Elem()
 65406  }
 65407  
 65408  type QueryDvsFeatureCapabilityResponse struct {
 65409  	Returnval BaseDVSFeatureCapability `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 65410  }
 65411  
 65412  type QueryEvents QueryEventsRequestType
 65413  
 65414  func init() {
 65415  	t["QueryEvents"] = reflect.TypeOf((*QueryEvents)(nil)).Elem()
 65416  }
 65417  
 65418  // The parameters of `EventManager.QueryEvents`.
 65419  type QueryEventsRequestType struct {
 65420  	This ManagedObjectReference `xml:"_this" json:"-"`
 65421  	// Defines a filtering criteria for the event query.
 65422  	Filter EventFilterSpec `xml:"filter" json:"filter"`
 65423  	// Defines the view parameters for the event query.
 65424  	//
 65425  	// To retrieve the newest events in the system, use 2147480000
 65426  	// (or the value of "config.vpxd.event.maxEventId" advanced vCenter
 65427  	// configuration option) as `EventManagerViewByStartId.startEventId` and
 65428  	// set `EventManagerViewByStartId.isForward` to false. To retrieve subsequent
 65429  	// pages of results with older events, use the smallest event ID
 65430  	// from the previous response as the `EventManagerViewByStartId.startEventId`
 65431  	// and set`EventManagerViewByStartId.isForward` to false in the next query.
 65432  	// To retrieve subsequent pages of results with newer events, use
 65433  	// the biggest event ID from the previous page as the
 65434  	// `EventManagerViewByStartId.startEventId` and set
 65435  	// `EventManagerViewByStartId.isForward` to true in the next query.
 65436  	EventViewSpec BaseEventManagerEventViewSpec `xml:"eventViewSpec,omitempty,typeattr" json:"eventViewSpec,omitempty" vim:"9.0.0.0"`
 65437  }
 65438  
 65439  func init() {
 65440  	t["QueryEventsRequestType"] = reflect.TypeOf((*QueryEventsRequestType)(nil)).Elem()
 65441  }
 65442  
 65443  type QueryEventsResponse struct {
 65444  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 65445  }
 65446  
 65447  type QueryExpressionMetadata QueryExpressionMetadataRequestType
 65448  
 65449  func init() {
 65450  	t["QueryExpressionMetadata"] = reflect.TypeOf((*QueryExpressionMetadata)(nil)).Elem()
 65451  }
 65452  
 65453  // The parameters of `ProfileComplianceManager.QueryExpressionMetadata`.
 65454  type QueryExpressionMetadataRequestType struct {
 65455  	This ManagedObjectReference `xml:"_this" json:"-"`
 65456  	// Names of the Expressions for which metadata is requested.
 65457  	// If expressionNames are not specified, metadata for all known expressions is returned
 65458  	ExpressionName []string `xml:"expressionName,omitempty" json:"expressionName,omitempty"`
 65459  	// Base profile whose context needs to be used during the operation
 65460  	//
 65461  	// Refers instance of `Profile`.
 65462  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 65463  }
 65464  
 65465  func init() {
 65466  	t["QueryExpressionMetadataRequestType"] = reflect.TypeOf((*QueryExpressionMetadataRequestType)(nil)).Elem()
 65467  }
 65468  
 65469  type QueryExpressionMetadataResponse struct {
 65470  	Returnval []ProfileExpressionMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65471  }
 65472  
 65473  type QueryExtensionIpAllocationUsage QueryExtensionIpAllocationUsageRequestType
 65474  
 65475  func init() {
 65476  	t["QueryExtensionIpAllocationUsage"] = reflect.TypeOf((*QueryExtensionIpAllocationUsage)(nil)).Elem()
 65477  }
 65478  
 65479  // The parameters of `ExtensionManager.QueryExtensionIpAllocationUsage`.
 65480  type QueryExtensionIpAllocationUsageRequestType struct {
 65481  	This ManagedObjectReference `xml:"_this" json:"-"`
 65482  	// List of extensions whose IP allocation is being queried.
 65483  	// If no extension keys are specified then allocation data
 65484  	// for all registered extensions are returned.
 65485  	ExtensionKeys []string `xml:"extensionKeys,omitempty" json:"extensionKeys,omitempty"`
 65486  }
 65487  
 65488  func init() {
 65489  	t["QueryExtensionIpAllocationUsageRequestType"] = reflect.TypeOf((*QueryExtensionIpAllocationUsageRequestType)(nil)).Elem()
 65490  }
 65491  
 65492  type QueryExtensionIpAllocationUsageResponse struct {
 65493  	Returnval []ExtensionManagerIpAllocationUsage `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65494  }
 65495  
 65496  type QueryFaultToleranceCompatibility QueryFaultToleranceCompatibilityRequestType
 65497  
 65498  func init() {
 65499  	t["QueryFaultToleranceCompatibility"] = reflect.TypeOf((*QueryFaultToleranceCompatibility)(nil)).Elem()
 65500  }
 65501  
 65502  type QueryFaultToleranceCompatibilityEx QueryFaultToleranceCompatibilityExRequestType
 65503  
 65504  func init() {
 65505  	t["QueryFaultToleranceCompatibilityEx"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityEx)(nil)).Elem()
 65506  }
 65507  
 65508  // The parameters of `VirtualMachine.QueryFaultToleranceCompatibilityEx`.
 65509  type QueryFaultToleranceCompatibilityExRequestType struct {
 65510  	This ManagedObjectReference `xml:"_this" json:"-"`
 65511  	// checks for legacy record-replay FT compatibility only
 65512  	// if this is set to true.
 65513  	ForLegacyFt *bool `xml:"forLegacyFt" json:"forLegacyFt,omitempty"`
 65514  }
 65515  
 65516  func init() {
 65517  	t["QueryFaultToleranceCompatibilityExRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityExRequestType)(nil)).Elem()
 65518  }
 65519  
 65520  type QueryFaultToleranceCompatibilityExResponse struct {
 65521  	Returnval []LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65522  }
 65523  
 65524  type QueryFaultToleranceCompatibilityRequestType struct {
 65525  	This ManagedObjectReference `xml:"_this" json:"-"`
 65526  }
 65527  
 65528  func init() {
 65529  	t["QueryFaultToleranceCompatibilityRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityRequestType)(nil)).Elem()
 65530  }
 65531  
 65532  type QueryFaultToleranceCompatibilityResponse struct {
 65533  	Returnval []LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65534  }
 65535  
 65536  type QueryFileLockInfo QueryFileLockInfoRequestType
 65537  
 65538  func init() {
 65539  	t["QueryFileLockInfo"] = reflect.TypeOf((*QueryFileLockInfo)(nil)).Elem()
 65540  }
 65541  
 65542  // The parameters of `FileManager.QueryFileLockInfo`.
 65543  type QueryFileLockInfoRequestType struct {
 65544  	This ManagedObjectReference `xml:"_this" json:"-"`
 65545  	// Full file path to look up lock information on.
 65546  	// For example specific VM file like:
 65547  	// /vmfs/volumes/datastore1/vm/vm-flat.vmdk
 65548  	Path string `xml:"path" json:"path"`
 65549  	// Host id is required if API is invoked on vCenter Server.
 65550  	// It is optional if invoked on host directly. Esx does not
 65551  	// require this parameter.
 65552  	//
 65553  	// Refers instance of `HostSystem`.
 65554  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65555  }
 65556  
 65557  func init() {
 65558  	t["QueryFileLockInfoRequestType"] = reflect.TypeOf((*QueryFileLockInfoRequestType)(nil)).Elem()
 65559  	minAPIVersionForType["QueryFileLockInfoRequestType"] = "8.0.2.0"
 65560  }
 65561  
 65562  type QueryFileLockInfoResponse struct {
 65563  	Returnval FileLockInfoResult `xml:"returnval" json:"returnval"`
 65564  }
 65565  
 65566  type QueryFilterEntities QueryFilterEntitiesRequestType
 65567  
 65568  func init() {
 65569  	t["QueryFilterEntities"] = reflect.TypeOf((*QueryFilterEntities)(nil)).Elem()
 65570  }
 65571  
 65572  // The parameters of `HealthUpdateManager.QueryFilterEntities`.
 65573  type QueryFilterEntitiesRequestType struct {
 65574  	This ManagedObjectReference `xml:"_this" json:"-"`
 65575  	// The filter id.
 65576  	FilterId string `xml:"filterId" json:"filterId"`
 65577  }
 65578  
 65579  func init() {
 65580  	t["QueryFilterEntitiesRequestType"] = reflect.TypeOf((*QueryFilterEntitiesRequestType)(nil)).Elem()
 65581  }
 65582  
 65583  type QueryFilterEntitiesResponse struct {
 65584  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65585  }
 65586  
 65587  type QueryFilterInfoIds QueryFilterInfoIdsRequestType
 65588  
 65589  func init() {
 65590  	t["QueryFilterInfoIds"] = reflect.TypeOf((*QueryFilterInfoIds)(nil)).Elem()
 65591  }
 65592  
 65593  // The parameters of `HealthUpdateManager.QueryFilterInfoIds`.
 65594  type QueryFilterInfoIdsRequestType struct {
 65595  	This ManagedObjectReference `xml:"_this" json:"-"`
 65596  	// The filter id.
 65597  	FilterId string `xml:"filterId" json:"filterId"`
 65598  }
 65599  
 65600  func init() {
 65601  	t["QueryFilterInfoIdsRequestType"] = reflect.TypeOf((*QueryFilterInfoIdsRequestType)(nil)).Elem()
 65602  }
 65603  
 65604  type QueryFilterInfoIdsResponse struct {
 65605  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65606  }
 65607  
 65608  type QueryFilterList QueryFilterListRequestType
 65609  
 65610  func init() {
 65611  	t["QueryFilterList"] = reflect.TypeOf((*QueryFilterList)(nil)).Elem()
 65612  }
 65613  
 65614  // The parameters of `HealthUpdateManager.QueryFilterList`.
 65615  type QueryFilterListRequestType struct {
 65616  	This ManagedObjectReference `xml:"_this" json:"-"`
 65617  	// The provider id.
 65618  	ProviderId string `xml:"providerId" json:"providerId"`
 65619  }
 65620  
 65621  func init() {
 65622  	t["QueryFilterListRequestType"] = reflect.TypeOf((*QueryFilterListRequestType)(nil)).Elem()
 65623  }
 65624  
 65625  type QueryFilterListResponse struct {
 65626  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65627  }
 65628  
 65629  type QueryFilterName QueryFilterNameRequestType
 65630  
 65631  func init() {
 65632  	t["QueryFilterName"] = reflect.TypeOf((*QueryFilterName)(nil)).Elem()
 65633  }
 65634  
 65635  // The parameters of `HealthUpdateManager.QueryFilterName`.
 65636  type QueryFilterNameRequestType struct {
 65637  	This ManagedObjectReference `xml:"_this" json:"-"`
 65638  	// The filter id.
 65639  	FilterId string `xml:"filterId" json:"filterId"`
 65640  }
 65641  
 65642  func init() {
 65643  	t["QueryFilterNameRequestType"] = reflect.TypeOf((*QueryFilterNameRequestType)(nil)).Elem()
 65644  }
 65645  
 65646  type QueryFilterNameResponse struct {
 65647  	Returnval string `xml:"returnval" json:"returnval"`
 65648  }
 65649  
 65650  type QueryFirmwareConfigUploadURL QueryFirmwareConfigUploadURLRequestType
 65651  
 65652  func init() {
 65653  	t["QueryFirmwareConfigUploadURL"] = reflect.TypeOf((*QueryFirmwareConfigUploadURL)(nil)).Elem()
 65654  }
 65655  
 65656  type QueryFirmwareConfigUploadURLRequestType struct {
 65657  	This ManagedObjectReference `xml:"_this" json:"-"`
 65658  }
 65659  
 65660  func init() {
 65661  	t["QueryFirmwareConfigUploadURLRequestType"] = reflect.TypeOf((*QueryFirmwareConfigUploadURLRequestType)(nil)).Elem()
 65662  }
 65663  
 65664  type QueryFirmwareConfigUploadURLResponse struct {
 65665  	Returnval string `xml:"returnval" json:"returnval"`
 65666  }
 65667  
 65668  type QueryHealthUpdateInfos QueryHealthUpdateInfosRequestType
 65669  
 65670  func init() {
 65671  	t["QueryHealthUpdateInfos"] = reflect.TypeOf((*QueryHealthUpdateInfos)(nil)).Elem()
 65672  }
 65673  
 65674  // The parameters of `HealthUpdateManager.QueryHealthUpdateInfos`.
 65675  type QueryHealthUpdateInfosRequestType struct {
 65676  	This ManagedObjectReference `xml:"_this" json:"-"`
 65677  	// The provider id.
 65678  	ProviderId string `xml:"providerId" json:"providerId"`
 65679  }
 65680  
 65681  func init() {
 65682  	t["QueryHealthUpdateInfosRequestType"] = reflect.TypeOf((*QueryHealthUpdateInfosRequestType)(nil)).Elem()
 65683  }
 65684  
 65685  type QueryHealthUpdateInfosResponse struct {
 65686  	Returnval []HealthUpdateInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65687  }
 65688  
 65689  type QueryHealthUpdates QueryHealthUpdatesRequestType
 65690  
 65691  func init() {
 65692  	t["QueryHealthUpdates"] = reflect.TypeOf((*QueryHealthUpdates)(nil)).Elem()
 65693  }
 65694  
 65695  // The parameters of `HealthUpdateManager.QueryHealthUpdates`.
 65696  type QueryHealthUpdatesRequestType struct {
 65697  	This ManagedObjectReference `xml:"_this" json:"-"`
 65698  	// The provider id.
 65699  	ProviderId string `xml:"providerId" json:"providerId"`
 65700  }
 65701  
 65702  func init() {
 65703  	t["QueryHealthUpdatesRequestType"] = reflect.TypeOf((*QueryHealthUpdatesRequestType)(nil)).Elem()
 65704  }
 65705  
 65706  type QueryHealthUpdatesResponse struct {
 65707  	Returnval []HealthUpdate `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65708  }
 65709  
 65710  type QueryHostConnectionInfo QueryHostConnectionInfoRequestType
 65711  
 65712  func init() {
 65713  	t["QueryHostConnectionInfo"] = reflect.TypeOf((*QueryHostConnectionInfo)(nil)).Elem()
 65714  }
 65715  
 65716  type QueryHostConnectionInfoRequestType struct {
 65717  	This ManagedObjectReference `xml:"_this" json:"-"`
 65718  }
 65719  
 65720  func init() {
 65721  	t["QueryHostConnectionInfoRequestType"] = reflect.TypeOf((*QueryHostConnectionInfoRequestType)(nil)).Elem()
 65722  }
 65723  
 65724  type QueryHostConnectionInfoResponse struct {
 65725  	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
 65726  }
 65727  
 65728  // The parameters of `HostPatchManager.QueryHostPatch_Task`.
 65729  type QueryHostPatchRequestType struct {
 65730  	This ManagedObjectReference                     `xml:"_this" json:"-"`
 65731  	Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 65732  }
 65733  
 65734  func init() {
 65735  	t["QueryHostPatchRequestType"] = reflect.TypeOf((*QueryHostPatchRequestType)(nil)).Elem()
 65736  }
 65737  
 65738  type QueryHostPatch_Task QueryHostPatchRequestType
 65739  
 65740  func init() {
 65741  	t["QueryHostPatch_Task"] = reflect.TypeOf((*QueryHostPatch_Task)(nil)).Elem()
 65742  }
 65743  
 65744  type QueryHostPatch_TaskResponse struct {
 65745  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 65746  }
 65747  
 65748  type QueryHostProfileMetadata QueryHostProfileMetadataRequestType
 65749  
 65750  func init() {
 65751  	t["QueryHostProfileMetadata"] = reflect.TypeOf((*QueryHostProfileMetadata)(nil)).Elem()
 65752  }
 65753  
 65754  // The parameters of `HostProfileManager.QueryHostProfileMetadata`.
 65755  type QueryHostProfileMetadataRequestType struct {
 65756  	This ManagedObjectReference `xml:"_this" json:"-"`
 65757  	// Names of the profiles for which metadata is requested.
 65758  	// If not set, the method returns metadata for all the profiles.
 65759  	ProfileName []string `xml:"profileName,omitempty" json:"profileName,omitempty"`
 65760  	// Base profile whose context needs to be used during the operation
 65761  	//
 65762  	// Refers instance of `Profile`.
 65763  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 65764  }
 65765  
 65766  func init() {
 65767  	t["QueryHostProfileMetadataRequestType"] = reflect.TypeOf((*QueryHostProfileMetadataRequestType)(nil)).Elem()
 65768  }
 65769  
 65770  type QueryHostProfileMetadataResponse struct {
 65771  	Returnval []ProfileMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65772  }
 65773  
 65774  type QueryHostStatus QueryHostStatusRequestType
 65775  
 65776  func init() {
 65777  	t["QueryHostStatus"] = reflect.TypeOf((*QueryHostStatus)(nil)).Elem()
 65778  }
 65779  
 65780  type QueryHostStatusRequestType struct {
 65781  	This ManagedObjectReference `xml:"_this" json:"-"`
 65782  }
 65783  
 65784  func init() {
 65785  	t["QueryHostStatusRequestType"] = reflect.TypeOf((*QueryHostStatusRequestType)(nil)).Elem()
 65786  }
 65787  
 65788  type QueryHostStatusResponse struct {
 65789  	Returnval VsanHostClusterStatus `xml:"returnval" json:"returnval"`
 65790  }
 65791  
 65792  type QueryHostsWithAttachedLun QueryHostsWithAttachedLunRequestType
 65793  
 65794  func init() {
 65795  	t["QueryHostsWithAttachedLun"] = reflect.TypeOf((*QueryHostsWithAttachedLun)(nil)).Elem()
 65796  }
 65797  
 65798  // The parameters of `StorageQueryManager.QueryHostsWithAttachedLun`.
 65799  type QueryHostsWithAttachedLunRequestType struct {
 65800  	This ManagedObjectReference `xml:"_this" json:"-"`
 65801  	// The UUID of the ScsiLun device.
 65802  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 65803  }
 65804  
 65805  func init() {
 65806  	t["QueryHostsWithAttachedLunRequestType"] = reflect.TypeOf((*QueryHostsWithAttachedLunRequestType)(nil)).Elem()
 65807  }
 65808  
 65809  type QueryHostsWithAttachedLunResponse struct {
 65810  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65811  }
 65812  
 65813  type QueryIORMConfigOption QueryIORMConfigOptionRequestType
 65814  
 65815  func init() {
 65816  	t["QueryIORMConfigOption"] = reflect.TypeOf((*QueryIORMConfigOption)(nil)).Elem()
 65817  }
 65818  
 65819  // The parameters of `StorageResourceManager.QueryIORMConfigOption`.
 65820  type QueryIORMConfigOptionRequestType struct {
 65821  	This ManagedObjectReference `xml:"_this" json:"-"`
 65822  	// \[in\] - The host VC will forward the query
 65823  	// to. This parameter is ignored by host if this method is
 65824  	// called on a host directly.
 65825  	//
 65826  	// Refers instance of `HostSystem`.
 65827  	Host ManagedObjectReference `xml:"host" json:"host"`
 65828  }
 65829  
 65830  func init() {
 65831  	t["QueryIORMConfigOptionRequestType"] = reflect.TypeOf((*QueryIORMConfigOptionRequestType)(nil)).Elem()
 65832  }
 65833  
 65834  type QueryIORMConfigOptionResponse struct {
 65835  	Returnval StorageIORMConfigOption `xml:"returnval" json:"returnval"`
 65836  }
 65837  
 65838  type QueryIPAllocations QueryIPAllocationsRequestType
 65839  
 65840  func init() {
 65841  	t["QueryIPAllocations"] = reflect.TypeOf((*QueryIPAllocations)(nil)).Elem()
 65842  }
 65843  
 65844  // The parameters of `IpPoolManager.QueryIPAllocations`.
 65845  type QueryIPAllocationsRequestType struct {
 65846  	This ManagedObjectReference `xml:"_this" json:"-"`
 65847  	// The datacenter on which to find the pool
 65848  	//
 65849  	// Required privileges: Datacenter.IpPoolQueryAllocations
 65850  	//
 65851  	// Refers instance of `Datacenter`.
 65852  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 65853  	// The unique ID of the pool
 65854  	PoolId int32 `xml:"poolId" json:"poolId"`
 65855  	// The key of the extension
 65856  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 65857  }
 65858  
 65859  func init() {
 65860  	t["QueryIPAllocationsRequestType"] = reflect.TypeOf((*QueryIPAllocationsRequestType)(nil)).Elem()
 65861  }
 65862  
 65863  type QueryIPAllocationsResponse struct {
 65864  	Returnval []IpPoolManagerIpAllocation `xml:"returnval" json:"returnval"`
 65865  }
 65866  
 65867  type QueryIoFilterInfo QueryIoFilterInfoRequestType
 65868  
 65869  func init() {
 65870  	t["QueryIoFilterInfo"] = reflect.TypeOf((*QueryIoFilterInfo)(nil)).Elem()
 65871  }
 65872  
 65873  // The parameters of `IoFilterManager.QueryIoFilterInfo`.
 65874  type QueryIoFilterInfoRequestType struct {
 65875  	This ManagedObjectReference `xml:"_this" json:"-"`
 65876  	// The compute resource.
 65877  	// "compRes" must be a cluster.
 65878  	//
 65879  	// Refers instance of `ComputeResource`.
 65880  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 65881  }
 65882  
 65883  func init() {
 65884  	t["QueryIoFilterInfoRequestType"] = reflect.TypeOf((*QueryIoFilterInfoRequestType)(nil)).Elem()
 65885  }
 65886  
 65887  type QueryIoFilterInfoResponse struct {
 65888  	Returnval []ClusterIoFilterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65889  }
 65890  
 65891  type QueryIoFilterIssues QueryIoFilterIssuesRequestType
 65892  
 65893  func init() {
 65894  	t["QueryIoFilterIssues"] = reflect.TypeOf((*QueryIoFilterIssues)(nil)).Elem()
 65895  }
 65896  
 65897  // The parameters of `IoFilterManager.QueryIoFilterIssues`.
 65898  type QueryIoFilterIssuesRequestType struct {
 65899  	This ManagedObjectReference `xml:"_this" json:"-"`
 65900  	// The filter.
 65901  	FilterId string `xml:"filterId" json:"filterId"`
 65902  	// The compute resource.
 65903  	// "compRes" must be a cluster.
 65904  	//
 65905  	// Refers instance of `ComputeResource`.
 65906  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 65907  }
 65908  
 65909  func init() {
 65910  	t["QueryIoFilterIssuesRequestType"] = reflect.TypeOf((*QueryIoFilterIssuesRequestType)(nil)).Elem()
 65911  }
 65912  
 65913  type QueryIoFilterIssuesResponse struct {
 65914  	Returnval IoFilterQueryIssueResult `xml:"returnval" json:"returnval"`
 65915  }
 65916  
 65917  type QueryIpPools QueryIpPoolsRequestType
 65918  
 65919  func init() {
 65920  	t["QueryIpPools"] = reflect.TypeOf((*QueryIpPools)(nil)).Elem()
 65921  }
 65922  
 65923  // The parameters of `IpPoolManager.QueryIpPools`.
 65924  type QueryIpPoolsRequestType struct {
 65925  	This ManagedObjectReference `xml:"_this" json:"-"`
 65926  	// The datacenter for which to look up the IP pools.
 65927  	//
 65928  	// Required privileges: System.Read
 65929  	//
 65930  	// Refers instance of `Datacenter`.
 65931  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 65932  }
 65933  
 65934  func init() {
 65935  	t["QueryIpPoolsRequestType"] = reflect.TypeOf((*QueryIpPoolsRequestType)(nil)).Elem()
 65936  }
 65937  
 65938  type QueryIpPoolsResponse struct {
 65939  	Returnval []IpPool `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65940  }
 65941  
 65942  type QueryLicenseSourceAvailability QueryLicenseSourceAvailabilityRequestType
 65943  
 65944  func init() {
 65945  	t["QueryLicenseSourceAvailability"] = reflect.TypeOf((*QueryLicenseSourceAvailability)(nil)).Elem()
 65946  }
 65947  
 65948  // The parameters of `LicenseManager.QueryLicenseSourceAvailability`.
 65949  type QueryLicenseSourceAvailabilityRequestType struct {
 65950  	This ManagedObjectReference `xml:"_this" json:"-"`
 65951  	// Use the license source of the specified host.
 65952  	//
 65953  	// Refers instance of `HostSystem`.
 65954  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65955  }
 65956  
 65957  func init() {
 65958  	t["QueryLicenseSourceAvailabilityRequestType"] = reflect.TypeOf((*QueryLicenseSourceAvailabilityRequestType)(nil)).Elem()
 65959  }
 65960  
 65961  type QueryLicenseSourceAvailabilityResponse struct {
 65962  	Returnval []LicenseAvailabilityInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65963  }
 65964  
 65965  type QueryLicenseUsage QueryLicenseUsageRequestType
 65966  
 65967  func init() {
 65968  	t["QueryLicenseUsage"] = reflect.TypeOf((*QueryLicenseUsage)(nil)).Elem()
 65969  }
 65970  
 65971  // The parameters of `LicenseManager.QueryLicenseUsage`.
 65972  type QueryLicenseUsageRequestType struct {
 65973  	This ManagedObjectReference `xml:"_this" json:"-"`
 65974  	// Host to query for usage. If missing, query the server the
 65975  	// `LicenseManager` is on.
 65976  	//
 65977  	// Refers instance of `HostSystem`.
 65978  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65979  }
 65980  
 65981  func init() {
 65982  	t["QueryLicenseUsageRequestType"] = reflect.TypeOf((*QueryLicenseUsageRequestType)(nil)).Elem()
 65983  }
 65984  
 65985  type QueryLicenseUsageResponse struct {
 65986  	Returnval LicenseUsageInfo `xml:"returnval" json:"returnval"`
 65987  }
 65988  
 65989  type QueryLockdownExceptions QueryLockdownExceptionsRequestType
 65990  
 65991  func init() {
 65992  	t["QueryLockdownExceptions"] = reflect.TypeOf((*QueryLockdownExceptions)(nil)).Elem()
 65993  }
 65994  
 65995  type QueryLockdownExceptionsRequestType struct {
 65996  	This ManagedObjectReference `xml:"_this" json:"-"`
 65997  }
 65998  
 65999  func init() {
 66000  	t["QueryLockdownExceptionsRequestType"] = reflect.TypeOf((*QueryLockdownExceptionsRequestType)(nil)).Elem()
 66001  }
 66002  
 66003  type QueryLockdownExceptionsResponse struct {
 66004  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66005  }
 66006  
 66007  type QueryManagedBy QueryManagedByRequestType
 66008  
 66009  func init() {
 66010  	t["QueryManagedBy"] = reflect.TypeOf((*QueryManagedBy)(nil)).Elem()
 66011  }
 66012  
 66013  // The parameters of `ExtensionManager.QueryManagedBy`.
 66014  type QueryManagedByRequestType struct {
 66015  	This ManagedObjectReference `xml:"_this" json:"-"`
 66016  	// Key of the extension to find managed entities for.
 66017  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 66018  }
 66019  
 66020  func init() {
 66021  	t["QueryManagedByRequestType"] = reflect.TypeOf((*QueryManagedByRequestType)(nil)).Elem()
 66022  }
 66023  
 66024  type QueryManagedByResponse struct {
 66025  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66026  }
 66027  
 66028  type QueryMaxQueueDepth QueryMaxQueueDepthRequestType
 66029  
 66030  func init() {
 66031  	t["QueryMaxQueueDepth"] = reflect.TypeOf((*QueryMaxQueueDepth)(nil)).Elem()
 66032  }
 66033  
 66034  // The parameters of `HostDatastoreSystem.QueryMaxQueueDepth`.
 66035  type QueryMaxQueueDepthRequestType struct {
 66036  	This ManagedObjectReference `xml:"_this" json:"-"`
 66037  	// The NFS datastore which need to query max queue depth
 66038  	//
 66039  	// Refers instance of `Datastore`.
 66040  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 66041  }
 66042  
 66043  func init() {
 66044  	t["QueryMaxQueueDepthRequestType"] = reflect.TypeOf((*QueryMaxQueueDepthRequestType)(nil)).Elem()
 66045  	minAPIVersionForType["QueryMaxQueueDepthRequestType"] = "8.0.0.1"
 66046  }
 66047  
 66048  type QueryMaxQueueDepthResponse struct {
 66049  	Returnval int64 `xml:"returnval" json:"returnval"`
 66050  }
 66051  
 66052  type QueryMemoryOverhead QueryMemoryOverheadRequestType
 66053  
 66054  func init() {
 66055  	t["QueryMemoryOverhead"] = reflect.TypeOf((*QueryMemoryOverhead)(nil)).Elem()
 66056  }
 66057  
 66058  type QueryMemoryOverheadEx QueryMemoryOverheadExRequestType
 66059  
 66060  func init() {
 66061  	t["QueryMemoryOverheadEx"] = reflect.TypeOf((*QueryMemoryOverheadEx)(nil)).Elem()
 66062  }
 66063  
 66064  // The parameters of `HostSystem.QueryMemoryOverheadEx`.
 66065  type QueryMemoryOverheadExRequestType struct {
 66066  	This ManagedObjectReference `xml:"_this" json:"-"`
 66067  	// The configuration of the virtual machine.
 66068  	VmConfigInfo VirtualMachineConfigInfo `xml:"vmConfigInfo" json:"vmConfigInfo"`
 66069  }
 66070  
 66071  func init() {
 66072  	t["QueryMemoryOverheadExRequestType"] = reflect.TypeOf((*QueryMemoryOverheadExRequestType)(nil)).Elem()
 66073  }
 66074  
 66075  type QueryMemoryOverheadExResponse struct {
 66076  	Returnval int64 `xml:"returnval" json:"returnval"`
 66077  }
 66078  
 66079  // The parameters of `HostSystem.QueryMemoryOverhead`.
 66080  type QueryMemoryOverheadRequestType struct {
 66081  	This ManagedObjectReference `xml:"_this" json:"-"`
 66082  	// The amount of virtual system RAM, in bytes. For an existing
 66083  	// virtual machine, this value can be found (in megabytes) as the memoryMB
 66084  	// property of the `VirtualHardware`.
 66085  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 66086  	// The amount of virtual video RAM, in bytes. For an existing
 66087  	// virtual machine on a host that supports advertising this property, this
 66088  	// value can be found (in kilobytes) as the videoRamSizeInKB property of the
 66089  	// `VirtualMachineVideoCard`. If this parameter is left unset, the
 66090  	// default video RAM size for virtual machines on this host is assumed.
 66091  	VideoRamSize int32 `xml:"videoRamSize,omitempty" json:"videoRamSize,omitempty"`
 66092  	// The number of virtual CPUs. For an existing virtual machine, this
 66093  	// value can be found as the numCPU property of the
 66094  	// `VirtualHardware`.
 66095  	NumVcpus int32 `xml:"numVcpus" json:"numVcpus"`
 66096  }
 66097  
 66098  func init() {
 66099  	t["QueryMemoryOverheadRequestType"] = reflect.TypeOf((*QueryMemoryOverheadRequestType)(nil)).Elem()
 66100  }
 66101  
 66102  type QueryMemoryOverheadResponse struct {
 66103  	Returnval int64 `xml:"returnval" json:"returnval"`
 66104  }
 66105  
 66106  type QueryMigrationDependencies QueryMigrationDependenciesRequestType
 66107  
 66108  func init() {
 66109  	t["QueryMigrationDependencies"] = reflect.TypeOf((*QueryMigrationDependencies)(nil)).Elem()
 66110  }
 66111  
 66112  // The parameters of `IscsiManager.QueryMigrationDependencies`.
 66113  type QueryMigrationDependenciesRequestType struct {
 66114  	This ManagedObjectReference `xml:"_this" json:"-"`
 66115  	// List of Physical NICs to be migrated
 66116  	PnicDevice []string `xml:"pnicDevice" json:"pnicDevice"`
 66117  }
 66118  
 66119  func init() {
 66120  	t["QueryMigrationDependenciesRequestType"] = reflect.TypeOf((*QueryMigrationDependenciesRequestType)(nil)).Elem()
 66121  }
 66122  
 66123  type QueryMigrationDependenciesResponse struct {
 66124  	Returnval IscsiMigrationDependency `xml:"returnval" json:"returnval"`
 66125  }
 66126  
 66127  type QueryModules QueryModulesRequestType
 66128  
 66129  func init() {
 66130  	t["QueryModules"] = reflect.TypeOf((*QueryModules)(nil)).Elem()
 66131  }
 66132  
 66133  type QueryModulesRequestType struct {
 66134  	This ManagedObjectReference `xml:"_this" json:"-"`
 66135  }
 66136  
 66137  func init() {
 66138  	t["QueryModulesRequestType"] = reflect.TypeOf((*QueryModulesRequestType)(nil)).Elem()
 66139  }
 66140  
 66141  type QueryModulesResponse struct {
 66142  	Returnval []KernelModuleInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66143  }
 66144  
 66145  type QueryMonitoredEntities QueryMonitoredEntitiesRequestType
 66146  
 66147  func init() {
 66148  	t["QueryMonitoredEntities"] = reflect.TypeOf((*QueryMonitoredEntities)(nil)).Elem()
 66149  }
 66150  
 66151  // The parameters of `HealthUpdateManager.QueryMonitoredEntities`.
 66152  type QueryMonitoredEntitiesRequestType struct {
 66153  	This ManagedObjectReference `xml:"_this" json:"-"`
 66154  	// The provider id.
 66155  	ProviderId string `xml:"providerId" json:"providerId"`
 66156  }
 66157  
 66158  func init() {
 66159  	t["QueryMonitoredEntitiesRequestType"] = reflect.TypeOf((*QueryMonitoredEntitiesRequestType)(nil)).Elem()
 66160  }
 66161  
 66162  type QueryMonitoredEntitiesResponse struct {
 66163  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66164  }
 66165  
 66166  type QueryNFSUser QueryNFSUserRequestType
 66167  
 66168  func init() {
 66169  	t["QueryNFSUser"] = reflect.TypeOf((*QueryNFSUser)(nil)).Elem()
 66170  }
 66171  
 66172  type QueryNFSUserRequestType struct {
 66173  	This ManagedObjectReference `xml:"_this" json:"-"`
 66174  }
 66175  
 66176  func init() {
 66177  	t["QueryNFSUserRequestType"] = reflect.TypeOf((*QueryNFSUserRequestType)(nil)).Elem()
 66178  }
 66179  
 66180  type QueryNFSUserResponse struct {
 66181  	Returnval *HostNasVolumeUserInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66182  }
 66183  
 66184  type QueryNetConfig QueryNetConfigRequestType
 66185  
 66186  func init() {
 66187  	t["QueryNetConfig"] = reflect.TypeOf((*QueryNetConfig)(nil)).Elem()
 66188  }
 66189  
 66190  // The parameters of `HostVirtualNicManager.QueryNetConfig`.
 66191  type QueryNetConfigRequestType struct {
 66192  	This ManagedObjectReference `xml:"_this" json:"-"`
 66193  	// The `HostVirtualNicManagerNicType_enum`
 66194  	NicType string `xml:"nicType" json:"nicType"`
 66195  }
 66196  
 66197  func init() {
 66198  	t["QueryNetConfigRequestType"] = reflect.TypeOf((*QueryNetConfigRequestType)(nil)).Elem()
 66199  }
 66200  
 66201  type QueryNetConfigResponse struct {
 66202  	Returnval *VirtualNicManagerNetConfig `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66203  }
 66204  
 66205  type QueryNetworkHint QueryNetworkHintRequestType
 66206  
 66207  func init() {
 66208  	t["QueryNetworkHint"] = reflect.TypeOf((*QueryNetworkHint)(nil)).Elem()
 66209  }
 66210  
 66211  // The parameters of `HostNetworkSystem.QueryNetworkHint`.
 66212  type QueryNetworkHintRequestType struct {
 66213  	This   ManagedObjectReference `xml:"_this" json:"-"`
 66214  	Device []string               `xml:"device,omitempty" json:"device,omitempty"`
 66215  }
 66216  
 66217  func init() {
 66218  	t["QueryNetworkHintRequestType"] = reflect.TypeOf((*QueryNetworkHintRequestType)(nil)).Elem()
 66219  }
 66220  
 66221  type QueryNetworkHintResponse struct {
 66222  	Returnval []PhysicalNicHintInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66223  }
 66224  
 66225  type QueryObjectsOnPhysicalVsanDisk QueryObjectsOnPhysicalVsanDiskRequestType
 66226  
 66227  func init() {
 66228  	t["QueryObjectsOnPhysicalVsanDisk"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDisk)(nil)).Elem()
 66229  }
 66230  
 66231  // The parameters of `HostVsanInternalSystem.QueryObjectsOnPhysicalVsanDisk`.
 66232  type QueryObjectsOnPhysicalVsanDiskRequestType struct {
 66233  	This ManagedObjectReference `xml:"_this" json:"-"`
 66234  	// List of VSAN disk UUIDs.
 66235  	Disks []string `xml:"disks" json:"disks"`
 66236  }
 66237  
 66238  func init() {
 66239  	t["QueryObjectsOnPhysicalVsanDiskRequestType"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDiskRequestType)(nil)).Elem()
 66240  }
 66241  
 66242  type QueryObjectsOnPhysicalVsanDiskResponse struct {
 66243  	Returnval string `xml:"returnval" json:"returnval"`
 66244  }
 66245  
 66246  type QueryOptions QueryOptionsRequestType
 66247  
 66248  func init() {
 66249  	t["QueryOptions"] = reflect.TypeOf((*QueryOptions)(nil)).Elem()
 66250  }
 66251  
 66252  // The parameters of `OptionManager.QueryOptions`.
 66253  type QueryOptionsRequestType struct {
 66254  	This ManagedObjectReference `xml:"_this" json:"-"`
 66255  	Name string                 `xml:"name,omitempty" json:"name,omitempty"`
 66256  }
 66257  
 66258  func init() {
 66259  	t["QueryOptionsRequestType"] = reflect.TypeOf((*QueryOptionsRequestType)(nil)).Elem()
 66260  }
 66261  
 66262  type QueryOptionsResponse struct {
 66263  	Returnval []BaseOptionValue `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 66264  }
 66265  
 66266  type QueryPartitionCreateDesc QueryPartitionCreateDescRequestType
 66267  
 66268  func init() {
 66269  	t["QueryPartitionCreateDesc"] = reflect.TypeOf((*QueryPartitionCreateDesc)(nil)).Elem()
 66270  }
 66271  
 66272  // The parameters of `HostDiagnosticSystem.QueryPartitionCreateDesc`.
 66273  type QueryPartitionCreateDescRequestType struct {
 66274  	This           ManagedObjectReference `xml:"_this" json:"-"`
 66275  	DiskUuid       string                 `xml:"diskUuid" json:"diskUuid"`
 66276  	DiagnosticType string                 `xml:"diagnosticType" json:"diagnosticType"`
 66277  }
 66278  
 66279  func init() {
 66280  	t["QueryPartitionCreateDescRequestType"] = reflect.TypeOf((*QueryPartitionCreateDescRequestType)(nil)).Elem()
 66281  }
 66282  
 66283  type QueryPartitionCreateDescResponse struct {
 66284  	Returnval HostDiagnosticPartitionCreateDescription `xml:"returnval" json:"returnval"`
 66285  }
 66286  
 66287  type QueryPartitionCreateOptions QueryPartitionCreateOptionsRequestType
 66288  
 66289  func init() {
 66290  	t["QueryPartitionCreateOptions"] = reflect.TypeOf((*QueryPartitionCreateOptions)(nil)).Elem()
 66291  }
 66292  
 66293  // The parameters of `HostDiagnosticSystem.QueryPartitionCreateOptions`.
 66294  type QueryPartitionCreateOptionsRequestType struct {
 66295  	This           ManagedObjectReference `xml:"_this" json:"-"`
 66296  	StorageType    string                 `xml:"storageType" json:"storageType"`
 66297  	DiagnosticType string                 `xml:"diagnosticType" json:"diagnosticType"`
 66298  }
 66299  
 66300  func init() {
 66301  	t["QueryPartitionCreateOptionsRequestType"] = reflect.TypeOf((*QueryPartitionCreateOptionsRequestType)(nil)).Elem()
 66302  }
 66303  
 66304  type QueryPartitionCreateOptionsResponse struct {
 66305  	Returnval []HostDiagnosticPartitionCreateOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66306  }
 66307  
 66308  type QueryPathSelectionPolicyOptions QueryPathSelectionPolicyOptionsRequestType
 66309  
 66310  func init() {
 66311  	t["QueryPathSelectionPolicyOptions"] = reflect.TypeOf((*QueryPathSelectionPolicyOptions)(nil)).Elem()
 66312  }
 66313  
 66314  type QueryPathSelectionPolicyOptionsRequestType struct {
 66315  	This ManagedObjectReference `xml:"_this" json:"-"`
 66316  }
 66317  
 66318  func init() {
 66319  	t["QueryPathSelectionPolicyOptionsRequestType"] = reflect.TypeOf((*QueryPathSelectionPolicyOptionsRequestType)(nil)).Elem()
 66320  }
 66321  
 66322  type QueryPathSelectionPolicyOptionsResponse struct {
 66323  	Returnval []HostPathSelectionPolicyOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66324  }
 66325  
 66326  type QueryPerf QueryPerfRequestType
 66327  
 66328  func init() {
 66329  	t["QueryPerf"] = reflect.TypeOf((*QueryPerf)(nil)).Elem()
 66330  }
 66331  
 66332  type QueryPerfComposite QueryPerfCompositeRequestType
 66333  
 66334  func init() {
 66335  	t["QueryPerfComposite"] = reflect.TypeOf((*QueryPerfComposite)(nil)).Elem()
 66336  }
 66337  
 66338  // The parameters of `PerformanceManager.QueryPerfComposite`.
 66339  type QueryPerfCompositeRequestType struct {
 66340  	This ManagedObjectReference `xml:"_this" json:"-"`
 66341  	// A `PerfQuerySpec` object specifying the query
 66342  	// parameters. This `PerfQuerySpec` object specifies a
 66343  	// managed object for which composite statistics should be retrieved, with
 66344  	// specific optional criteria for filtering the results.
 66345  	//
 66346  	// This `PerfQuerySpec` requires a valid `PerfQuerySpec.metricId` property that specifies a metric
 66347  	// that is available, in common, to the entity and its children. If the
 66348  	// specified metricId is not available to the entity and its children, it is
 66349  	// ignored.
 66350  	QuerySpec PerfQuerySpec `xml:"querySpec" json:"querySpec"`
 66351  }
 66352  
 66353  func init() {
 66354  	t["QueryPerfCompositeRequestType"] = reflect.TypeOf((*QueryPerfCompositeRequestType)(nil)).Elem()
 66355  }
 66356  
 66357  type QueryPerfCompositeResponse struct {
 66358  	Returnval PerfCompositeMetric `xml:"returnval" json:"returnval"`
 66359  }
 66360  
 66361  type QueryPerfCounter QueryPerfCounterRequestType
 66362  
 66363  func init() {
 66364  	t["QueryPerfCounter"] = reflect.TypeOf((*QueryPerfCounter)(nil)).Elem()
 66365  }
 66366  
 66367  type QueryPerfCounterByLevel QueryPerfCounterByLevelRequestType
 66368  
 66369  func init() {
 66370  	t["QueryPerfCounterByLevel"] = reflect.TypeOf((*QueryPerfCounterByLevel)(nil)).Elem()
 66371  }
 66372  
 66373  // The parameters of `PerformanceManager.QueryPerfCounterByLevel`.
 66374  type QueryPerfCounterByLevelRequestType struct {
 66375  	This ManagedObjectReference `xml:"_this" json:"-"`
 66376  	// A number between 1 and 4 that specifies the collection level.
 66377  	Level int32 `xml:"level" json:"level"`
 66378  }
 66379  
 66380  func init() {
 66381  	t["QueryPerfCounterByLevelRequestType"] = reflect.TypeOf((*QueryPerfCounterByLevelRequestType)(nil)).Elem()
 66382  }
 66383  
 66384  type QueryPerfCounterByLevelResponse struct {
 66385  	Returnval []PerfCounterInfo `xml:"returnval" json:"returnval"`
 66386  }
 66387  
 66388  // The parameters of `PerformanceManager.QueryPerfCounter`.
 66389  type QueryPerfCounterRequestType struct {
 66390  	This ManagedObjectReference `xml:"_this" json:"-"`
 66391  	// An array of one or more `counterIds` representing performance counters for which information is
 66392  	// being retrieved.
 66393  	CounterId []int32 `xml:"counterId" json:"counterId"`
 66394  }
 66395  
 66396  func init() {
 66397  	t["QueryPerfCounterRequestType"] = reflect.TypeOf((*QueryPerfCounterRequestType)(nil)).Elem()
 66398  }
 66399  
 66400  type QueryPerfCounterResponse struct {
 66401  	Returnval []PerfCounterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66402  }
 66403  
 66404  type QueryPerfProviderSummary QueryPerfProviderSummaryRequestType
 66405  
 66406  func init() {
 66407  	t["QueryPerfProviderSummary"] = reflect.TypeOf((*QueryPerfProviderSummary)(nil)).Elem()
 66408  }
 66409  
 66410  // The parameters of `PerformanceManager.QueryPerfProviderSummary`.
 66411  type QueryPerfProviderSummaryRequestType struct {
 66412  	This ManagedObjectReference `xml:"_this" json:"-"`
 66413  	// Reference to a managed object that provides performance data. If the
 66414  	// entity specified by managed object reference is not a performance
 66415  	// provider, an "InvalidArgument" exception is thrown.
 66416  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 66417  }
 66418  
 66419  func init() {
 66420  	t["QueryPerfProviderSummaryRequestType"] = reflect.TypeOf((*QueryPerfProviderSummaryRequestType)(nil)).Elem()
 66421  }
 66422  
 66423  type QueryPerfProviderSummaryResponse struct {
 66424  	Returnval PerfProviderSummary `xml:"returnval" json:"returnval"`
 66425  }
 66426  
 66427  // The parameters of `PerformanceManager.QueryPerf`.
 66428  type QueryPerfRequestType struct {
 66429  	This ManagedObjectReference `xml:"_this" json:"-"`
 66430  	// An array of `PerfQuerySpec` objects. Each `PerfQuerySpec` object specifies a managed object reference
 66431  	// for an entity, plus optional criteria for filtering results. Only metrics
 66432  	// for entities that can be resolved and that are valid *performance providers* are returned in
 66433  	// any result.
 66434  	//
 66435  	// Each `PerfQuerySpec` object in the array
 66436  	// submitted in this operation can query for different metrics. Or, select
 66437  	// all types of statistics for a single managed entity.
 66438  	//
 66439  	// Raw data feed workaround: Normally, QueryPerf will return performance
 66440  	// statistics stored in the VirtualCenter database. However this may not be
 66441  	// suitable for certain applications. For example, applications that treat
 66442  	// VirtualCenter as a raw data source, query for performance statistics
 66443  	// regularly (say every 5 minutes) and extract the data for external
 66444  	// archival and reporting. Such applications need better query performance.
 66445  	// These applications should query statistics using QueryPerf for the base
 66446  	// historical interval (5 minutes by default) having a start and end time
 66447  	// range within 30 minutes from the current VirtualCenter server system
 66448  	// time. These QueryPerf calls will have better performance than other
 66449  	// QueryPerf calls.
 66450  	QuerySpec []PerfQuerySpec `xml:"querySpec" json:"querySpec"`
 66451  }
 66452  
 66453  func init() {
 66454  	t["QueryPerfRequestType"] = reflect.TypeOf((*QueryPerfRequestType)(nil)).Elem()
 66455  }
 66456  
 66457  type QueryPerfResponse struct {
 66458  	Returnval []BasePerfEntityMetricBase `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 66459  }
 66460  
 66461  type QueryPhysicalVsanDisks QueryPhysicalVsanDisksRequestType
 66462  
 66463  func init() {
 66464  	t["QueryPhysicalVsanDisks"] = reflect.TypeOf((*QueryPhysicalVsanDisks)(nil)).Elem()
 66465  }
 66466  
 66467  // The parameters of `HostVsanInternalSystem.QueryPhysicalVsanDisks`.
 66468  type QueryPhysicalVsanDisksRequestType struct {
 66469  	This ManagedObjectReference `xml:"_this" json:"-"`
 66470  	// List of properties to gather. Not specifying a list will
 66471  	// fetch all properties.
 66472  	Props []string `xml:"props,omitempty" json:"props,omitempty"`
 66473  }
 66474  
 66475  func init() {
 66476  	t["QueryPhysicalVsanDisksRequestType"] = reflect.TypeOf((*QueryPhysicalVsanDisksRequestType)(nil)).Elem()
 66477  }
 66478  
 66479  type QueryPhysicalVsanDisksResponse struct {
 66480  	Returnval string `xml:"returnval" json:"returnval"`
 66481  }
 66482  
 66483  type QueryPnicStatus QueryPnicStatusRequestType
 66484  
 66485  func init() {
 66486  	t["QueryPnicStatus"] = reflect.TypeOf((*QueryPnicStatus)(nil)).Elem()
 66487  }
 66488  
 66489  // The parameters of `IscsiManager.QueryPnicStatus`.
 66490  type QueryPnicStatusRequestType struct {
 66491  	This ManagedObjectReference `xml:"_this" json:"-"`
 66492  	// Physical NIC device name to check the status for
 66493  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 66494  }
 66495  
 66496  func init() {
 66497  	t["QueryPnicStatusRequestType"] = reflect.TypeOf((*QueryPnicStatusRequestType)(nil)).Elem()
 66498  }
 66499  
 66500  type QueryPnicStatusResponse struct {
 66501  	Returnval IscsiStatus `xml:"returnval" json:"returnval"`
 66502  }
 66503  
 66504  type QueryPolicyMetadata QueryPolicyMetadataRequestType
 66505  
 66506  func init() {
 66507  	t["QueryPolicyMetadata"] = reflect.TypeOf((*QueryPolicyMetadata)(nil)).Elem()
 66508  }
 66509  
 66510  // The parameters of `ProfileManager.QueryPolicyMetadata`.
 66511  type QueryPolicyMetadataRequestType struct {
 66512  	This ManagedObjectReference `xml:"_this" json:"-"`
 66513  	// Retrieve metadata for the specified policyNames.
 66514  	// If policyName is not specified, metadata for all policies will be returned.
 66515  	PolicyName []string `xml:"policyName,omitempty" json:"policyName,omitempty"`
 66516  	// Base profile whose context needs to be used during the operation
 66517  	//
 66518  	// Refers instance of `Profile`.
 66519  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 66520  }
 66521  
 66522  func init() {
 66523  	t["QueryPolicyMetadataRequestType"] = reflect.TypeOf((*QueryPolicyMetadataRequestType)(nil)).Elem()
 66524  }
 66525  
 66526  type QueryPolicyMetadataResponse struct {
 66527  	Returnval []ProfilePolicyMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66528  }
 66529  
 66530  type QueryProductLockerLocation QueryProductLockerLocationRequestType
 66531  
 66532  func init() {
 66533  	t["QueryProductLockerLocation"] = reflect.TypeOf((*QueryProductLockerLocation)(nil)).Elem()
 66534  }
 66535  
 66536  type QueryProductLockerLocationRequestType struct {
 66537  	This ManagedObjectReference `xml:"_this" json:"-"`
 66538  }
 66539  
 66540  func init() {
 66541  	t["QueryProductLockerLocationRequestType"] = reflect.TypeOf((*QueryProductLockerLocationRequestType)(nil)).Elem()
 66542  }
 66543  
 66544  type QueryProductLockerLocationResponse struct {
 66545  	Returnval string `xml:"returnval" json:"returnval"`
 66546  }
 66547  
 66548  type QueryProfileStructure QueryProfileStructureRequestType
 66549  
 66550  func init() {
 66551  	t["QueryProfileStructure"] = reflect.TypeOf((*QueryProfileStructure)(nil)).Elem()
 66552  }
 66553  
 66554  // The parameters of `HostProfileManager.QueryProfileStructure`.
 66555  type QueryProfileStructureRequestType struct {
 66556  	This ManagedObjectReference `xml:"_this" json:"-"`
 66557  	// Base profile whose context needs to be used during the operation
 66558  	//
 66559  	// Refers instance of `Profile`.
 66560  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 66561  }
 66562  
 66563  func init() {
 66564  	t["QueryProfileStructureRequestType"] = reflect.TypeOf((*QueryProfileStructureRequestType)(nil)).Elem()
 66565  }
 66566  
 66567  type QueryProfileStructureResponse struct {
 66568  	Returnval ProfileProfileStructure `xml:"returnval" json:"returnval"`
 66569  }
 66570  
 66571  type QueryProviderList QueryProviderListRequestType
 66572  
 66573  func init() {
 66574  	t["QueryProviderList"] = reflect.TypeOf((*QueryProviderList)(nil)).Elem()
 66575  }
 66576  
 66577  type QueryProviderListRequestType struct {
 66578  	This ManagedObjectReference `xml:"_this" json:"-"`
 66579  }
 66580  
 66581  func init() {
 66582  	t["QueryProviderListRequestType"] = reflect.TypeOf((*QueryProviderListRequestType)(nil)).Elem()
 66583  }
 66584  
 66585  type QueryProviderListResponse struct {
 66586  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66587  }
 66588  
 66589  type QueryProviderName QueryProviderNameRequestType
 66590  
 66591  func init() {
 66592  	t["QueryProviderName"] = reflect.TypeOf((*QueryProviderName)(nil)).Elem()
 66593  }
 66594  
 66595  // The parameters of `HealthUpdateManager.QueryProviderName`.
 66596  type QueryProviderNameRequestType struct {
 66597  	This ManagedObjectReference `xml:"_this" json:"-"`
 66598  	Id   string                 `xml:"id" json:"id"`
 66599  }
 66600  
 66601  func init() {
 66602  	t["QueryProviderNameRequestType"] = reflect.TypeOf((*QueryProviderNameRequestType)(nil)).Elem()
 66603  }
 66604  
 66605  type QueryProviderNameResponse struct {
 66606  	Returnval string `xml:"returnval" json:"returnval"`
 66607  }
 66608  
 66609  type QueryResourceConfigOption QueryResourceConfigOptionRequestType
 66610  
 66611  func init() {
 66612  	t["QueryResourceConfigOption"] = reflect.TypeOf((*QueryResourceConfigOption)(nil)).Elem()
 66613  }
 66614  
 66615  type QueryResourceConfigOptionRequestType struct {
 66616  	This ManagedObjectReference `xml:"_this" json:"-"`
 66617  }
 66618  
 66619  func init() {
 66620  	t["QueryResourceConfigOptionRequestType"] = reflect.TypeOf((*QueryResourceConfigOptionRequestType)(nil)).Elem()
 66621  }
 66622  
 66623  type QueryResourceConfigOptionResponse struct {
 66624  	Returnval ResourceConfigOption `xml:"returnval" json:"returnval"`
 66625  }
 66626  
 66627  type QueryServiceList QueryServiceListRequestType
 66628  
 66629  func init() {
 66630  	t["QueryServiceList"] = reflect.TypeOf((*QueryServiceList)(nil)).Elem()
 66631  }
 66632  
 66633  // The parameters of `ServiceManager.QueryServiceList`.
 66634  type QueryServiceListRequestType struct {
 66635  	This ManagedObjectReference `xml:"_this" json:"-"`
 66636  	// The name of the service to be located.
 66637  	ServiceName string `xml:"serviceName,omitempty" json:"serviceName,omitempty"`
 66638  	// The list of location information that needs to match for a service to be
 66639  	// considered a match.
 66640  	Location []string `xml:"location,omitempty" json:"location,omitempty"`
 66641  }
 66642  
 66643  func init() {
 66644  	t["QueryServiceListRequestType"] = reflect.TypeOf((*QueryServiceListRequestType)(nil)).Elem()
 66645  }
 66646  
 66647  type QueryServiceListResponse struct {
 66648  	Returnval []ServiceManagerServiceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66649  }
 66650  
 66651  type QueryStorageArrayTypePolicyOptions QueryStorageArrayTypePolicyOptionsRequestType
 66652  
 66653  func init() {
 66654  	t["QueryStorageArrayTypePolicyOptions"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptions)(nil)).Elem()
 66655  }
 66656  
 66657  type QueryStorageArrayTypePolicyOptionsRequestType struct {
 66658  	This ManagedObjectReference `xml:"_this" json:"-"`
 66659  }
 66660  
 66661  func init() {
 66662  	t["QueryStorageArrayTypePolicyOptionsRequestType"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptionsRequestType)(nil)).Elem()
 66663  }
 66664  
 66665  type QueryStorageArrayTypePolicyOptionsResponse struct {
 66666  	Returnval []HostStorageArrayTypePolicyOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66667  }
 66668  
 66669  type QuerySupportedFeatures QuerySupportedFeaturesRequestType
 66670  
 66671  func init() {
 66672  	t["QuerySupportedFeatures"] = reflect.TypeOf((*QuerySupportedFeatures)(nil)).Elem()
 66673  }
 66674  
 66675  // The parameters of `LicenseManager.QuerySupportedFeatures`.
 66676  type QuerySupportedFeaturesRequestType struct {
 66677  	This ManagedObjectReference `xml:"_this" json:"-"`
 66678  	// Use the license source of the specified host.
 66679  	//
 66680  	// Refers instance of `HostSystem`.
 66681  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 66682  }
 66683  
 66684  func init() {
 66685  	t["QuerySupportedFeaturesRequestType"] = reflect.TypeOf((*QuerySupportedFeaturesRequestType)(nil)).Elem()
 66686  }
 66687  
 66688  type QuerySupportedFeaturesResponse struct {
 66689  	Returnval []LicenseFeatureInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66690  }
 66691  
 66692  type QuerySupportedNetworkOffloadSpec QuerySupportedNetworkOffloadSpecRequestType
 66693  
 66694  func init() {
 66695  	t["QuerySupportedNetworkOffloadSpec"] = reflect.TypeOf((*QuerySupportedNetworkOffloadSpec)(nil)).Elem()
 66696  }
 66697  
 66698  // The parameters of `DistributedVirtualSwitchManager.QuerySupportedNetworkOffloadSpec`.
 66699  type QuerySupportedNetworkOffloadSpecRequestType struct {
 66700  	This ManagedObjectReference `xml:"_this" json:"-"`
 66701  	// The productSpec of a
 66702  	// `DistributedVirtualSwitch`.
 66703  	SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec" json:"switchProductSpec"`
 66704  }
 66705  
 66706  func init() {
 66707  	t["QuerySupportedNetworkOffloadSpecRequestType"] = reflect.TypeOf((*QuerySupportedNetworkOffloadSpecRequestType)(nil)).Elem()
 66708  	minAPIVersionForType["QuerySupportedNetworkOffloadSpecRequestType"] = "8.0.0.1"
 66709  }
 66710  
 66711  type QuerySupportedNetworkOffloadSpecResponse struct {
 66712  	Returnval []DistributedVirtualSwitchNetworkOffloadSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66713  }
 66714  
 66715  type QuerySyncingVsanObjects QuerySyncingVsanObjectsRequestType
 66716  
 66717  func init() {
 66718  	t["QuerySyncingVsanObjects"] = reflect.TypeOf((*QuerySyncingVsanObjects)(nil)).Elem()
 66719  }
 66720  
 66721  // The parameters of `HostVsanInternalSystem.QuerySyncingVsanObjects`.
 66722  type QuerySyncingVsanObjectsRequestType struct {
 66723  	This ManagedObjectReference `xml:"_this" json:"-"`
 66724  	// List of VSAN/DOM object UUIDs to restrict search to.
 66725  	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
 66726  }
 66727  
 66728  func init() {
 66729  	t["QuerySyncingVsanObjectsRequestType"] = reflect.TypeOf((*QuerySyncingVsanObjectsRequestType)(nil)).Elem()
 66730  }
 66731  
 66732  type QuerySyncingVsanObjectsResponse struct {
 66733  	Returnval string `xml:"returnval" json:"returnval"`
 66734  }
 66735  
 66736  type QuerySystemUsers QuerySystemUsersRequestType
 66737  
 66738  func init() {
 66739  	t["QuerySystemUsers"] = reflect.TypeOf((*QuerySystemUsers)(nil)).Elem()
 66740  }
 66741  
 66742  type QuerySystemUsersRequestType struct {
 66743  	This ManagedObjectReference `xml:"_this" json:"-"`
 66744  }
 66745  
 66746  func init() {
 66747  	t["QuerySystemUsersRequestType"] = reflect.TypeOf((*QuerySystemUsersRequestType)(nil)).Elem()
 66748  }
 66749  
 66750  type QuerySystemUsersResponse struct {
 66751  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66752  }
 66753  
 66754  type QueryTargetCapabilities QueryTargetCapabilitiesRequestType
 66755  
 66756  func init() {
 66757  	t["QueryTargetCapabilities"] = reflect.TypeOf((*QueryTargetCapabilities)(nil)).Elem()
 66758  }
 66759  
 66760  // The parameters of `EnvironmentBrowser.QueryTargetCapabilities`.
 66761  type QueryTargetCapabilitiesRequestType struct {
 66762  	This ManagedObjectReference `xml:"_this" json:"-"`
 66763  	// If specified, the host whose capabilities are requested.
 66764  	//
 66765  	// Refers instance of `HostSystem`.
 66766  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 66767  }
 66768  
 66769  func init() {
 66770  	t["QueryTargetCapabilitiesRequestType"] = reflect.TypeOf((*QueryTargetCapabilitiesRequestType)(nil)).Elem()
 66771  }
 66772  
 66773  type QueryTargetCapabilitiesResponse struct {
 66774  	Returnval *HostCapability `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66775  }
 66776  
 66777  type QueryTpmAttestationReport QueryTpmAttestationReportRequestType
 66778  
 66779  func init() {
 66780  	t["QueryTpmAttestationReport"] = reflect.TypeOf((*QueryTpmAttestationReport)(nil)).Elem()
 66781  }
 66782  
 66783  type QueryTpmAttestationReportRequestType struct {
 66784  	This ManagedObjectReference `xml:"_this" json:"-"`
 66785  }
 66786  
 66787  func init() {
 66788  	t["QueryTpmAttestationReportRequestType"] = reflect.TypeOf((*QueryTpmAttestationReportRequestType)(nil)).Elem()
 66789  }
 66790  
 66791  type QueryTpmAttestationReportResponse struct {
 66792  	Returnval *HostTpmAttestationReport `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66793  }
 66794  
 66795  type QueryUnmonitoredHosts QueryUnmonitoredHostsRequestType
 66796  
 66797  func init() {
 66798  	t["QueryUnmonitoredHosts"] = reflect.TypeOf((*QueryUnmonitoredHosts)(nil)).Elem()
 66799  }
 66800  
 66801  // The parameters of `HealthUpdateManager.QueryUnmonitoredHosts`.
 66802  type QueryUnmonitoredHostsRequestType struct {
 66803  	This ManagedObjectReference `xml:"_this" json:"-"`
 66804  	// The provider id.
 66805  	ProviderId string `xml:"providerId" json:"providerId"`
 66806  	// The cluster.
 66807  	//
 66808  	// Refers instance of `ClusterComputeResource`.
 66809  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 66810  }
 66811  
 66812  func init() {
 66813  	t["QueryUnmonitoredHostsRequestType"] = reflect.TypeOf((*QueryUnmonitoredHostsRequestType)(nil)).Elem()
 66814  }
 66815  
 66816  type QueryUnmonitoredHostsResponse struct {
 66817  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66818  }
 66819  
 66820  type QueryUnownedFiles QueryUnownedFilesRequestType
 66821  
 66822  func init() {
 66823  	t["QueryUnownedFiles"] = reflect.TypeOf((*QueryUnownedFiles)(nil)).Elem()
 66824  }
 66825  
 66826  type QueryUnownedFilesRequestType struct {
 66827  	This ManagedObjectReference `xml:"_this" json:"-"`
 66828  }
 66829  
 66830  func init() {
 66831  	t["QueryUnownedFilesRequestType"] = reflect.TypeOf((*QueryUnownedFilesRequestType)(nil)).Elem()
 66832  }
 66833  
 66834  type QueryUnownedFilesResponse struct {
 66835  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66836  }
 66837  
 66838  type QueryUnresolvedVmfsVolume QueryUnresolvedVmfsVolumeRequestType
 66839  
 66840  func init() {
 66841  	t["QueryUnresolvedVmfsVolume"] = reflect.TypeOf((*QueryUnresolvedVmfsVolume)(nil)).Elem()
 66842  }
 66843  
 66844  type QueryUnresolvedVmfsVolumeRequestType struct {
 66845  	This ManagedObjectReference `xml:"_this" json:"-"`
 66846  }
 66847  
 66848  func init() {
 66849  	t["QueryUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumeRequestType)(nil)).Elem()
 66850  }
 66851  
 66852  type QueryUnresolvedVmfsVolumeResponse struct {
 66853  	Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66854  }
 66855  
 66856  type QueryUnresolvedVmfsVolumes QueryUnresolvedVmfsVolumesRequestType
 66857  
 66858  func init() {
 66859  	t["QueryUnresolvedVmfsVolumes"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumes)(nil)).Elem()
 66860  }
 66861  
 66862  type QueryUnresolvedVmfsVolumesRequestType struct {
 66863  	This ManagedObjectReference `xml:"_this" json:"-"`
 66864  }
 66865  
 66866  func init() {
 66867  	t["QueryUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumesRequestType)(nil)).Elem()
 66868  }
 66869  
 66870  type QueryUnresolvedVmfsVolumesResponse struct {
 66871  	Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66872  }
 66873  
 66874  type QueryUsedVlanIdInDvs QueryUsedVlanIdInDvsRequestType
 66875  
 66876  func init() {
 66877  	t["QueryUsedVlanIdInDvs"] = reflect.TypeOf((*QueryUsedVlanIdInDvs)(nil)).Elem()
 66878  }
 66879  
 66880  type QueryUsedVlanIdInDvsRequestType struct {
 66881  	This ManagedObjectReference `xml:"_this" json:"-"`
 66882  }
 66883  
 66884  func init() {
 66885  	t["QueryUsedVlanIdInDvsRequestType"] = reflect.TypeOf((*QueryUsedVlanIdInDvsRequestType)(nil)).Elem()
 66886  }
 66887  
 66888  type QueryUsedVlanIdInDvsResponse struct {
 66889  	Returnval []int32 `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66890  }
 66891  
 66892  type QueryVMotionCompatibility QueryVMotionCompatibilityRequestType
 66893  
 66894  func init() {
 66895  	t["QueryVMotionCompatibility"] = reflect.TypeOf((*QueryVMotionCompatibility)(nil)).Elem()
 66896  }
 66897  
 66898  // The parameters of `VirtualMachineProvisioningChecker.QueryVMotionCompatibilityEx_Task`.
 66899  type QueryVMotionCompatibilityExRequestType struct {
 66900  	This ManagedObjectReference `xml:"_this" json:"-"`
 66901  	// The set of virtual machines to analyze for compatibility. All
 66902  	// virtual machines are assumed to be powered-on for the purposes of
 66903  	// this operation.
 66904  	//
 66905  	// Refers instances of `VirtualMachine`.
 66906  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 66907  	// The set of hosts to analyze for compatibility. All hosts
 66908  	// are assumed to be connected and not in maintenance mode for the
 66909  	// purposes of this operation.
 66910  	//
 66911  	// Refers instances of `HostSystem`.
 66912  	Host []ManagedObjectReference `xml:"host" json:"host"`
 66913  }
 66914  
 66915  func init() {
 66916  	t["QueryVMotionCompatibilityExRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityExRequestType)(nil)).Elem()
 66917  }
 66918  
 66919  type QueryVMotionCompatibilityEx_Task QueryVMotionCompatibilityExRequestType
 66920  
 66921  func init() {
 66922  	t["QueryVMotionCompatibilityEx_Task"] = reflect.TypeOf((*QueryVMotionCompatibilityEx_Task)(nil)).Elem()
 66923  }
 66924  
 66925  type QueryVMotionCompatibilityEx_TaskResponse struct {
 66926  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66927  }
 66928  
 66929  // The parameters of `ServiceInstance.QueryVMotionCompatibility`.
 66930  type QueryVMotionCompatibilityRequestType struct {
 66931  	This ManagedObjectReference `xml:"_this" json:"-"`
 66932  	// The virtual machine that is the designated VMotion candidate.
 66933  	//
 66934  	// Refers instance of `VirtualMachine`.
 66935  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 66936  	// The group of hosts to analyze for compatibility.
 66937  	//
 66938  	// Refers instances of `HostSystem`.
 66939  	Host []ManagedObjectReference `xml:"host" json:"host"`
 66940  	// The set of compatibility types to investigate.
 66941  	// Each is a string chosen from VMotionCompatibilityType. If this
 66942  	// argument is not set, then all compatibility types are
 66943  	// investigated.
 66944  	Compatibility []string `xml:"compatibility,omitempty" json:"compatibility,omitempty"`
 66945  }
 66946  
 66947  func init() {
 66948  	t["QueryVMotionCompatibilityRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityRequestType)(nil)).Elem()
 66949  }
 66950  
 66951  type QueryVMotionCompatibilityResponse struct {
 66952  	Returnval []HostVMotionCompatibility `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66953  }
 66954  
 66955  type QueryVirtualDiskFragmentation QueryVirtualDiskFragmentationRequestType
 66956  
 66957  func init() {
 66958  	t["QueryVirtualDiskFragmentation"] = reflect.TypeOf((*QueryVirtualDiskFragmentation)(nil)).Elem()
 66959  }
 66960  
 66961  // The parameters of `VirtualDiskManager.QueryVirtualDiskFragmentation`.
 66962  type QueryVirtualDiskFragmentationRequestType struct {
 66963  	This ManagedObjectReference `xml:"_this" json:"-"`
 66964  	// The name of the disk, either a datastore path or a URL
 66965  	// referring to the virtual disk for which to return the
 66966  	// percentage of fragmentation.
 66967  	Name string `xml:"name" json:"name"`
 66968  	// If <code>name</code> is a datastore path, the datacenter for
 66969  	// that datastore path. Not needed when invoked directly on ESX.
 66970  	// If not specified on a call to VirtualCenter,
 66971  	// <code>name</code> must be a URL.
 66972  	//
 66973  	// Refers instance of `Datacenter`.
 66974  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 66975  }
 66976  
 66977  func init() {
 66978  	t["QueryVirtualDiskFragmentationRequestType"] = reflect.TypeOf((*QueryVirtualDiskFragmentationRequestType)(nil)).Elem()
 66979  }
 66980  
 66981  type QueryVirtualDiskFragmentationResponse struct {
 66982  	Returnval int32 `xml:"returnval" json:"returnval"`
 66983  }
 66984  
 66985  type QueryVirtualDiskGeometry QueryVirtualDiskGeometryRequestType
 66986  
 66987  func init() {
 66988  	t["QueryVirtualDiskGeometry"] = reflect.TypeOf((*QueryVirtualDiskGeometry)(nil)).Elem()
 66989  }
 66990  
 66991  // The parameters of `VirtualDiskManager.QueryVirtualDiskGeometry`.
 66992  type QueryVirtualDiskGeometryRequestType struct {
 66993  	This ManagedObjectReference `xml:"_this" json:"-"`
 66994  	// The name of the disk, either a datastore path or a URL
 66995  	// referring to the virtual disk from which to get geometry information.
 66996  	Name string `xml:"name" json:"name"`
 66997  	// If <code>name</code> is a datastore path, the datacenter for
 66998  	// that datastore path. Not needed when invoked directly on ESX.
 66999  	// If not specified on a call to VirtualCenter,
 67000  	// <code>name</code> must be a URL.
 67001  	//
 67002  	// Refers instance of `Datacenter`.
 67003  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 67004  }
 67005  
 67006  func init() {
 67007  	t["QueryVirtualDiskGeometryRequestType"] = reflect.TypeOf((*QueryVirtualDiskGeometryRequestType)(nil)).Elem()
 67008  }
 67009  
 67010  type QueryVirtualDiskGeometryResponse struct {
 67011  	Returnval HostDiskDimensionsChs `xml:"returnval" json:"returnval"`
 67012  }
 67013  
 67014  type QueryVirtualDiskUuid QueryVirtualDiskUuidRequestType
 67015  
 67016  func init() {
 67017  	t["QueryVirtualDiskUuid"] = reflect.TypeOf((*QueryVirtualDiskUuid)(nil)).Elem()
 67018  }
 67019  
 67020  type QueryVirtualDiskUuidEx QueryVirtualDiskUuidExRequestType
 67021  
 67022  func init() {
 67023  	t["QueryVirtualDiskUuidEx"] = reflect.TypeOf((*QueryVirtualDiskUuidEx)(nil)).Elem()
 67024  }
 67025  
 67026  // The parameters of `VcenterVStorageObjectManager.QueryVirtualDiskUuidEx`.
 67027  type QueryVirtualDiskUuidExRequestType struct {
 67028  	This ManagedObjectReference `xml:"_this" json:"-"`
 67029  	// The name of the disk, either a datastore path or a URL
 67030  	// referring to the virtual disk whose uuid for the DDB entry needs to be queried.
 67031  	// A datastore path has the form
 67032  	// > \[_datastore_\] _path_
 67033  	//
 67034  	// where
 67035  	//   - _datastore_ is the datastore name.
 67036  	//   - _path_ is a slash-delimited path from the root of the datastore.
 67037  	//
 67038  	// An example datastore path is "\[storage\] path/to/file.extension".
 67039  	Name string `xml:"name" json:"name"`
 67040  	// If <code>name</code> is a datastore path, the datacenter for
 67041  	// that datastore path is mandatory. Not needed when invoked directly on ESX.
 67042  	// If not specified on a call from VirtualCenter,
 67043  	// <code>name</code> must be a URL.
 67044  	//
 67045  	// Refers instance of `Datacenter`.
 67046  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 67047  }
 67048  
 67049  func init() {
 67050  	t["QueryVirtualDiskUuidExRequestType"] = reflect.TypeOf((*QueryVirtualDiskUuidExRequestType)(nil)).Elem()
 67051  	minAPIVersionForType["QueryVirtualDiskUuidExRequestType"] = "8.0.3.0"
 67052  }
 67053  
 67054  type QueryVirtualDiskUuidExResponse struct {
 67055  	Returnval string `xml:"returnval" json:"returnval"`
 67056  }
 67057  
 67058  // The parameters of `VirtualDiskManager.QueryVirtualDiskUuid`.
 67059  type QueryVirtualDiskUuidRequestType struct {
 67060  	This ManagedObjectReference `xml:"_this" json:"-"`
 67061  	// The name of the disk, either a datastore path or a URL
 67062  	// referring to the virtual disk from which to get SCSI inquiry
 67063  	// page 0x83 data.
 67064  	Name string `xml:"name" json:"name"`
 67065  	// If <code>name</code> is a datastore path, the datacenter for
 67066  	// that datastore path. Not needed when invoked directly on ESX.
 67067  	// If not specified on a call to VirtualCenter,
 67068  	// <code>name</code> must be a URL.
 67069  	//
 67070  	// Refers instance of `Datacenter`.
 67071  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 67072  }
 67073  
 67074  func init() {
 67075  	t["QueryVirtualDiskUuidRequestType"] = reflect.TypeOf((*QueryVirtualDiskUuidRequestType)(nil)).Elem()
 67076  }
 67077  
 67078  type QueryVirtualDiskUuidResponse struct {
 67079  	Returnval string `xml:"returnval" json:"returnval"`
 67080  }
 67081  
 67082  type QueryVmfsConfigOption QueryVmfsConfigOptionRequestType
 67083  
 67084  func init() {
 67085  	t["QueryVmfsConfigOption"] = reflect.TypeOf((*QueryVmfsConfigOption)(nil)).Elem()
 67086  }
 67087  
 67088  type QueryVmfsConfigOptionRequestType struct {
 67089  	This ManagedObjectReference `xml:"_this" json:"-"`
 67090  }
 67091  
 67092  func init() {
 67093  	t["QueryVmfsConfigOptionRequestType"] = reflect.TypeOf((*QueryVmfsConfigOptionRequestType)(nil)).Elem()
 67094  }
 67095  
 67096  type QueryVmfsConfigOptionResponse struct {
 67097  	Returnval []VmfsConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67098  }
 67099  
 67100  type QueryVmfsDatastoreCreateOptions QueryVmfsDatastoreCreateOptionsRequestType
 67101  
 67102  func init() {
 67103  	t["QueryVmfsDatastoreCreateOptions"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptions)(nil)).Elem()
 67104  }
 67105  
 67106  // The parameters of `HostDatastoreSystem.QueryVmfsDatastoreCreateOptions`.
 67107  type QueryVmfsDatastoreCreateOptionsRequestType struct {
 67108  	This ManagedObjectReference `xml:"_this" json:"-"`
 67109  	// The devicePath of the disk on which datastore creation
 67110  	// options are generated.
 67111  	DevicePath string `xml:"devicePath" json:"devicePath"`
 67112  	// major version of VMFS to be used for
 67113  	// formatting the datastore. If this
 67114  	// parameter is not specified, then the highest
 67115  	// *supported VMFS major version* for the host
 67116  	// is used.
 67117  	VmfsMajorVersion int32 `xml:"vmfsMajorVersion,omitempty" json:"vmfsMajorVersion,omitempty"`
 67118  }
 67119  
 67120  func init() {
 67121  	t["QueryVmfsDatastoreCreateOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptionsRequestType)(nil)).Elem()
 67122  }
 67123  
 67124  type QueryVmfsDatastoreCreateOptionsResponse struct {
 67125  	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67126  }
 67127  
 67128  type QueryVmfsDatastoreExpandOptions QueryVmfsDatastoreExpandOptionsRequestType
 67129  
 67130  func init() {
 67131  	t["QueryVmfsDatastoreExpandOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptions)(nil)).Elem()
 67132  }
 67133  
 67134  // The parameters of `HostDatastoreSystem.QueryVmfsDatastoreExpandOptions`.
 67135  type QueryVmfsDatastoreExpandOptionsRequestType struct {
 67136  	This ManagedObjectReference `xml:"_this" json:"-"`
 67137  	// The datastore to be expanded.
 67138  	//
 67139  	// Refers instance of `Datastore`.
 67140  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 67141  }
 67142  
 67143  func init() {
 67144  	t["QueryVmfsDatastoreExpandOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptionsRequestType)(nil)).Elem()
 67145  }
 67146  
 67147  type QueryVmfsDatastoreExpandOptionsResponse struct {
 67148  	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67149  }
 67150  
 67151  type QueryVmfsDatastoreExtendOptions QueryVmfsDatastoreExtendOptionsRequestType
 67152  
 67153  func init() {
 67154  	t["QueryVmfsDatastoreExtendOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptions)(nil)).Elem()
 67155  }
 67156  
 67157  // The parameters of `HostDatastoreSystem.QueryVmfsDatastoreExtendOptions`.
 67158  type QueryVmfsDatastoreExtendOptionsRequestType struct {
 67159  	This ManagedObjectReference `xml:"_this" json:"-"`
 67160  	// The datastore to be extended.
 67161  	//
 67162  	// Refers instance of `Datastore`.
 67163  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 67164  	// The devicePath of the disk on which datastore extension
 67165  	// options are generated.
 67166  	DevicePath string `xml:"devicePath" json:"devicePath"`
 67167  	// Indicates whether to exclude options that can be
 67168  	// used for extent expansion also.
 67169  	// Free space can be used for adding an extent or expanding an existing
 67170  	// extent. If this parameter is set to true, the list of options
 67171  	// returned will not include free space that can be used for expansion.
 67172  	SuppressExpandCandidates *bool `xml:"suppressExpandCandidates" json:"suppressExpandCandidates,omitempty"`
 67173  }
 67174  
 67175  func init() {
 67176  	t["QueryVmfsDatastoreExtendOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptionsRequestType)(nil)).Elem()
 67177  }
 67178  
 67179  type QueryVmfsDatastoreExtendOptionsResponse struct {
 67180  	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67181  }
 67182  
 67183  type QueryVnicStatus QueryVnicStatusRequestType
 67184  
 67185  func init() {
 67186  	t["QueryVnicStatus"] = reflect.TypeOf((*QueryVnicStatus)(nil)).Elem()
 67187  }
 67188  
 67189  // The parameters of `IscsiManager.QueryVnicStatus`.
 67190  type QueryVnicStatusRequestType struct {
 67191  	This ManagedObjectReference `xml:"_this" json:"-"`
 67192  	// Virtual NIC device to check the status for
 67193  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 67194  }
 67195  
 67196  func init() {
 67197  	t["QueryVnicStatusRequestType"] = reflect.TypeOf((*QueryVnicStatusRequestType)(nil)).Elem()
 67198  }
 67199  
 67200  type QueryVnicStatusResponse struct {
 67201  	Returnval IscsiStatus `xml:"returnval" json:"returnval"`
 67202  }
 67203  
 67204  type QueryVsanObjectUuidsByFilter QueryVsanObjectUuidsByFilterRequestType
 67205  
 67206  func init() {
 67207  	t["QueryVsanObjectUuidsByFilter"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilter)(nil)).Elem()
 67208  }
 67209  
 67210  // The parameters of `HostVsanInternalSystem.QueryVsanObjectUuidsByFilter`.
 67211  type QueryVsanObjectUuidsByFilterRequestType struct {
 67212  	This ManagedObjectReference `xml:"_this" json:"-"`
 67213  	// Objects UUID will be checked against the filtering
 67214  	// conditions.
 67215  	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
 67216  	// To limit the size of the result set.
 67217  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 67218  	// Filtering condition 1: object version.
 67219  	Version int32 `xml:"version,omitempty" json:"version,omitempty"`
 67220  }
 67221  
 67222  func init() {
 67223  	t["QueryVsanObjectUuidsByFilterRequestType"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilterRequestType)(nil)).Elem()
 67224  }
 67225  
 67226  type QueryVsanObjectUuidsByFilterResponse struct {
 67227  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67228  }
 67229  
 67230  type QueryVsanObjects QueryVsanObjectsRequestType
 67231  
 67232  func init() {
 67233  	t["QueryVsanObjects"] = reflect.TypeOf((*QueryVsanObjects)(nil)).Elem()
 67234  }
 67235  
 67236  // The parameters of `HostVsanInternalSystem.QueryVsanObjects`.
 67237  type QueryVsanObjectsRequestType struct {
 67238  	This ManagedObjectReference `xml:"_this" json:"-"`
 67239  	// List of VSAN/DOM object UUIDs.
 67240  	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
 67241  }
 67242  
 67243  func init() {
 67244  	t["QueryVsanObjectsRequestType"] = reflect.TypeOf((*QueryVsanObjectsRequestType)(nil)).Elem()
 67245  }
 67246  
 67247  type QueryVsanObjectsResponse struct {
 67248  	Returnval string `xml:"returnval" json:"returnval"`
 67249  }
 67250  
 67251  type QueryVsanStatistics QueryVsanStatisticsRequestType
 67252  
 67253  func init() {
 67254  	t["QueryVsanStatistics"] = reflect.TypeOf((*QueryVsanStatistics)(nil)).Elem()
 67255  }
 67256  
 67257  // The parameters of `HostVsanInternalSystem.QueryVsanStatistics`.
 67258  type QueryVsanStatisticsRequestType struct {
 67259  	This ManagedObjectReference `xml:"_this" json:"-"`
 67260  	// List of labels of counters to retrieve.
 67261  	Labels []string `xml:"labels" json:"labels"`
 67262  }
 67263  
 67264  func init() {
 67265  	t["QueryVsanStatisticsRequestType"] = reflect.TypeOf((*QueryVsanStatisticsRequestType)(nil)).Elem()
 67266  }
 67267  
 67268  type QueryVsanStatisticsResponse struct {
 67269  	Returnval string `xml:"returnval" json:"returnval"`
 67270  }
 67271  
 67272  type QueryVsanUpgradeStatus QueryVsanUpgradeStatusRequestType
 67273  
 67274  func init() {
 67275  	t["QueryVsanUpgradeStatus"] = reflect.TypeOf((*QueryVsanUpgradeStatus)(nil)).Elem()
 67276  }
 67277  
 67278  // The parameters of `VsanUpgradeSystem.QueryVsanUpgradeStatus`.
 67279  type QueryVsanUpgradeStatusRequestType struct {
 67280  	This ManagedObjectReference `xml:"_this" json:"-"`
 67281  	// The cluster for which to retrieve the upgrade status.
 67282  	//
 67283  	// Refers instance of `ClusterComputeResource`.
 67284  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 67285  }
 67286  
 67287  func init() {
 67288  	t["QueryVsanUpgradeStatusRequestType"] = reflect.TypeOf((*QueryVsanUpgradeStatusRequestType)(nil)).Elem()
 67289  }
 67290  
 67291  type QueryVsanUpgradeStatusResponse struct {
 67292  	Returnval VsanUpgradeSystemUpgradeStatus `xml:"returnval" json:"returnval"`
 67293  }
 67294  
 67295  // Thrown when an operation cannot be performed on a virtual machine
 67296  // because it has a pending question requiring user input.
 67297  type QuestionPending struct {
 67298  	InvalidState
 67299  
 67300  	// Text of the question from the virtual machine.
 67301  	Text string `xml:"text" json:"text"`
 67302  }
 67303  
 67304  func init() {
 67305  	t["QuestionPending"] = reflect.TypeOf((*QuestionPending)(nil)).Elem()
 67306  }
 67307  
 67308  type QuestionPendingFault QuestionPending
 67309  
 67310  func init() {
 67311  	t["QuestionPendingFault"] = reflect.TypeOf((*QuestionPendingFault)(nil)).Elem()
 67312  }
 67313  
 67314  // A QuiesceDatastoreIOForHAFailed fault occurs when the HA agent on a host
 67315  // cannot quiesce file activity on a datastore to be unmouonted or removed.
 67316  type QuiesceDatastoreIOForHAFailed struct {
 67317  	ResourceInUse
 67318  
 67319  	// The host.
 67320  	//
 67321  	// Refers instance of `HostSystem`.
 67322  	Host ManagedObjectReference `xml:"host" json:"host"`
 67323  	// Name of the host.
 67324  	HostName string `xml:"hostName" json:"hostName"`
 67325  	// The datastore.
 67326  	//
 67327  	// Refers instance of `Datastore`.
 67328  	Ds ManagedObjectReference `xml:"ds" json:"ds"`
 67329  	// Name of the datastore.
 67330  	DsName string `xml:"dsName" json:"dsName"`
 67331  }
 67332  
 67333  func init() {
 67334  	t["QuiesceDatastoreIOForHAFailed"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailed)(nil)).Elem()
 67335  }
 67336  
 67337  type QuiesceDatastoreIOForHAFailedFault QuiesceDatastoreIOForHAFailed
 67338  
 67339  func init() {
 67340  	t["QuiesceDatastoreIOForHAFailedFault"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailedFault)(nil)).Elem()
 67341  }
 67342  
 67343  // The virtual machine is using an RDM device with compatibility
 67344  // mode set to 'physicalMode' and operation is unable to convert
 67345  // the disk to a different type.
 67346  type RDMConversionNotSupported struct {
 67347  	MigrationFault
 67348  
 67349  	// The name of the disk device using the RDM.
 67350  	Device string `xml:"device" json:"device"`
 67351  }
 67352  
 67353  func init() {
 67354  	t["RDMConversionNotSupported"] = reflect.TypeOf((*RDMConversionNotSupported)(nil)).Elem()
 67355  }
 67356  
 67357  type RDMConversionNotSupportedFault RDMConversionNotSupported
 67358  
 67359  func init() {
 67360  	t["RDMConversionNotSupportedFault"] = reflect.TypeOf((*RDMConversionNotSupportedFault)(nil)).Elem()
 67361  }
 67362  
 67363  // The virtual machine is configured with a Raw Disk Mapping.
 67364  //
 67365  // The host only supports Raw
 67366  // Disk Mappings in a limited fashion. After the migration, the RDM will function correctly,
 67367  // but it will be indistinguishable from a virtual disk when viewing the virtual machine's
 67368  // properties. This change will persist even if the virtual machine is migrated
 67369  // back to a host with full RDM support.
 67370  //
 67371  // This is a warning only for migrations to ESX 2.1.x hosts.
 67372  type RDMNotPreserved struct {
 67373  	MigrationFault
 67374  
 67375  	// The name of the disk device using the RDM.
 67376  	Device string `xml:"device" json:"device"`
 67377  }
 67378  
 67379  func init() {
 67380  	t["RDMNotPreserved"] = reflect.TypeOf((*RDMNotPreserved)(nil)).Elem()
 67381  }
 67382  
 67383  type RDMNotPreservedFault RDMNotPreserved
 67384  
 67385  func init() {
 67386  	t["RDMNotPreservedFault"] = reflect.TypeOf((*RDMNotPreservedFault)(nil)).Elem()
 67387  }
 67388  
 67389  // The virtual machine is configured with a Raw Disk Mapping.
 67390  //
 67391  // This is not
 67392  // supported on the host.
 67393  type RDMNotSupported struct {
 67394  	DeviceNotSupported
 67395  }
 67396  
 67397  func init() {
 67398  	t["RDMNotSupported"] = reflect.TypeOf((*RDMNotSupported)(nil)).Elem()
 67399  }
 67400  
 67401  type RDMNotSupportedFault BaseRDMNotSupported
 67402  
 67403  func init() {
 67404  	t["RDMNotSupportedFault"] = reflect.TypeOf((*RDMNotSupportedFault)(nil)).Elem()
 67405  }
 67406  
 67407  // The virtual machine is configured with a Raw Disk Mapping.
 67408  //
 67409  // This is not
 67410  // supported on the datastore.
 67411  type RDMNotSupportedOnDatastore struct {
 67412  	VmConfigFault
 67413  
 67414  	// The label of the RDM device that would have its backing placed on
 67415  	// the datastore.
 67416  	//
 67417  	// This is not guaranteed to be the only such device.
 67418  	Device string `xml:"device" json:"device"`
 67419  	// The datastore.
 67420  	//
 67421  	// Refers instance of `Datastore`.
 67422  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 67423  	// The name of the datastore.
 67424  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 67425  }
 67426  
 67427  func init() {
 67428  	t["RDMNotSupportedOnDatastore"] = reflect.TypeOf((*RDMNotSupportedOnDatastore)(nil)).Elem()
 67429  }
 67430  
 67431  type RDMNotSupportedOnDatastoreFault RDMNotSupportedOnDatastore
 67432  
 67433  func init() {
 67434  	t["RDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*RDMNotSupportedOnDatastoreFault)(nil)).Elem()
 67435  }
 67436  
 67437  // One of the virtual machine's virtual disks is a Raw Disk Mapping
 67438  // that is itself accessible, but points to a LUN that is inaccessible.
 67439  type RDMPointsToInaccessibleDisk struct {
 67440  	CannotAccessVmDisk
 67441  }
 67442  
 67443  func init() {
 67444  	t["RDMPointsToInaccessibleDisk"] = reflect.TypeOf((*RDMPointsToInaccessibleDisk)(nil)).Elem()
 67445  }
 67446  
 67447  type RDMPointsToInaccessibleDiskFault RDMPointsToInaccessibleDisk
 67448  
 67449  func init() {
 67450  	t["RDMPointsToInaccessibleDiskFault"] = reflect.TypeOf((*RDMPointsToInaccessibleDiskFault)(nil)).Elem()
 67451  }
 67452  
 67453  // The virtual machine has a raw disk attached that is not supported.
 67454  //
 67455  // This is often
 67456  // used as a subfault for DisallowedMigrationDeviceAttached or
 67457  // DisallowedSnapshotDeviceAttached.
 67458  type RawDiskNotSupported struct {
 67459  	DeviceNotSupported
 67460  }
 67461  
 67462  func init() {
 67463  	t["RawDiskNotSupported"] = reflect.TypeOf((*RawDiskNotSupported)(nil)).Elem()
 67464  }
 67465  
 67466  type RawDiskNotSupportedFault RawDiskNotSupported
 67467  
 67468  func init() {
 67469  	t["RawDiskNotSupportedFault"] = reflect.TypeOf((*RawDiskNotSupportedFault)(nil)).Elem()
 67470  }
 67471  
 67472  type ReadEnvironmentVariableInGuest ReadEnvironmentVariableInGuestRequestType
 67473  
 67474  func init() {
 67475  	t["ReadEnvironmentVariableInGuest"] = reflect.TypeOf((*ReadEnvironmentVariableInGuest)(nil)).Elem()
 67476  }
 67477  
 67478  // The parameters of `GuestProcessManager.ReadEnvironmentVariableInGuest`.
 67479  type ReadEnvironmentVariableInGuestRequestType struct {
 67480  	This ManagedObjectReference `xml:"_this" json:"-"`
 67481  	// Virtual machine to perform the operation on.
 67482  	//
 67483  	// Required privileges: VirtualMachine.GuestOperations.Query
 67484  	//
 67485  	// Refers instance of `VirtualMachine`.
 67486  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 67487  	// The guest authentication data. See
 67488  	// `GuestAuthentication`.
 67489  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 67490  	// The names of the variables to be read. If not set, then
 67491  	// all the environment variables are returned.
 67492  	Names []string `xml:"names,omitempty" json:"names,omitempty"`
 67493  }
 67494  
 67495  func init() {
 67496  	t["ReadEnvironmentVariableInGuestRequestType"] = reflect.TypeOf((*ReadEnvironmentVariableInGuestRequestType)(nil)).Elem()
 67497  }
 67498  
 67499  type ReadEnvironmentVariableInGuestResponse struct {
 67500  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67501  }
 67502  
 67503  // Fault thrown on host connect if we were unable to correctly read the
 67504  // existing tree on the root.
 67505  //
 67506  // This is bad because then we don't know the
 67507  // available resources on the host, and all kinds of admission control will
 67508  // fail.
 67509  // This just allows for more robust error handling - we should be able to
 67510  // read the existing hierarchy under normal conditions.
 67511  type ReadHostResourcePoolTreeFailed struct {
 67512  	HostConnectFault
 67513  }
 67514  
 67515  func init() {
 67516  	t["ReadHostResourcePoolTreeFailed"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailed)(nil)).Elem()
 67517  }
 67518  
 67519  type ReadHostResourcePoolTreeFailedFault ReadHostResourcePoolTreeFailed
 67520  
 67521  func init() {
 67522  	t["ReadHostResourcePoolTreeFailedFault"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailedFault)(nil)).Elem()
 67523  }
 67524  
 67525  type ReadNextEvents ReadNextEventsRequestType
 67526  
 67527  func init() {
 67528  	t["ReadNextEvents"] = reflect.TypeOf((*ReadNextEvents)(nil)).Elem()
 67529  }
 67530  
 67531  // The parameters of `EventHistoryCollector.ReadNextEvents`.
 67532  type ReadNextEventsRequestType struct {
 67533  	This ManagedObjectReference `xml:"_this" json:"-"`
 67534  	// The maximum number of items in the page.
 67535  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 67536  }
 67537  
 67538  func init() {
 67539  	t["ReadNextEventsRequestType"] = reflect.TypeOf((*ReadNextEventsRequestType)(nil)).Elem()
 67540  }
 67541  
 67542  type ReadNextEventsResponse struct {
 67543  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 67544  }
 67545  
 67546  type ReadNextTasks ReadNextTasksRequestType
 67547  
 67548  func init() {
 67549  	t["ReadNextTasks"] = reflect.TypeOf((*ReadNextTasks)(nil)).Elem()
 67550  }
 67551  
 67552  type ReadNextTasksByViewSpec ReadNextTasksByViewSpecRequestType
 67553  
 67554  func init() {
 67555  	t["ReadNextTasksByViewSpec"] = reflect.TypeOf((*ReadNextTasksByViewSpec)(nil)).Elem()
 67556  }
 67557  
 67558  // The parameters of `TaskManager.ReadNextTasksByViewSpec`.
 67559  type ReadNextTasksByViewSpecRequestType struct {
 67560  	This ManagedObjectReference `xml:"_this" json:"-"`
 67561  	// The view parameters for the tasks query.
 67562  	ViewSpec BaseTaskManagerTaskViewSpec `xml:"viewSpec,typeattr" json:"viewSpec"`
 67563  	// The specification for the task query filter.
 67564  	FilterSpec TaskFilterSpec `xml:"filterSpec" json:"filterSpec"`
 67565  	// The specification for the task info filter.
 67566  	InfoFilterSpec *TaskInfoFilterSpec `xml:"infoFilterSpec,omitempty" json:"infoFilterSpec,omitempty"`
 67567  }
 67568  
 67569  func init() {
 67570  	t["ReadNextTasksByViewSpecRequestType"] = reflect.TypeOf((*ReadNextTasksByViewSpecRequestType)(nil)).Elem()
 67571  	minAPIVersionForType["ReadNextTasksByViewSpecRequestType"] = "9.0.0.0"
 67572  }
 67573  
 67574  type ReadNextTasksByViewSpecResponse struct {
 67575  	Returnval []TaskInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67576  }
 67577  
 67578  // The parameters of `TaskHistoryCollector.ReadNextTasks`.
 67579  type ReadNextTasksRequestType struct {
 67580  	This ManagedObjectReference `xml:"_this" json:"-"`
 67581  	// The maximum number of items in the page.
 67582  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 67583  }
 67584  
 67585  func init() {
 67586  	t["ReadNextTasksRequestType"] = reflect.TypeOf((*ReadNextTasksRequestType)(nil)).Elem()
 67587  }
 67588  
 67589  type ReadNextTasksResponse struct {
 67590  	Returnval []TaskInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67591  }
 67592  
 67593  // The virtual machine uses read-only (undoable or nonpersistent) disks that
 67594  // can cause a slower power on at the migration destination.
 67595  //
 67596  // As a result, VMtion
 67597  // could slow down considerably or timeout. This is an issue only for migration of
 67598  // powered-on virtual machines from an ESX host with version greater
 67599  // than 2.0.x to an ESX host with version 2.0.x. It will be an error if the
 67600  // number of such disks is great enough to cause timeout ( &ge; 3 ), or a warning
 67601  // otherwise.
 67602  type ReadOnlyDisksWithLegacyDestination struct {
 67603  	MigrationFault
 67604  
 67605  	// The number of read-only disks in use.
 67606  	RoDiskCount int32 `xml:"roDiskCount" json:"roDiskCount"`
 67607  	// Whether this number of disks will cause a timeout failure.
 67608  	TimeoutDanger bool `xml:"timeoutDanger" json:"timeoutDanger"`
 67609  }
 67610  
 67611  func init() {
 67612  	t["ReadOnlyDisksWithLegacyDestination"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestination)(nil)).Elem()
 67613  }
 67614  
 67615  type ReadOnlyDisksWithLegacyDestinationFault ReadOnlyDisksWithLegacyDestination
 67616  
 67617  func init() {
 67618  	t["ReadOnlyDisksWithLegacyDestinationFault"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestinationFault)(nil)).Elem()
 67619  }
 67620  
 67621  type ReadPreviousEvents ReadPreviousEventsRequestType
 67622  
 67623  func init() {
 67624  	t["ReadPreviousEvents"] = reflect.TypeOf((*ReadPreviousEvents)(nil)).Elem()
 67625  }
 67626  
 67627  // The parameters of `EventHistoryCollector.ReadPreviousEvents`.
 67628  type ReadPreviousEventsRequestType struct {
 67629  	This ManagedObjectReference `xml:"_this" json:"-"`
 67630  	// The maximum number of items in the page.
 67631  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 67632  }
 67633  
 67634  func init() {
 67635  	t["ReadPreviousEventsRequestType"] = reflect.TypeOf((*ReadPreviousEventsRequestType)(nil)).Elem()
 67636  }
 67637  
 67638  type ReadPreviousEventsResponse struct {
 67639  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 67640  }
 67641  
 67642  type ReadPreviousTasks ReadPreviousTasksRequestType
 67643  
 67644  func init() {
 67645  	t["ReadPreviousTasks"] = reflect.TypeOf((*ReadPreviousTasks)(nil)).Elem()
 67646  }
 67647  
 67648  // The parameters of `TaskHistoryCollector.ReadPreviousTasks`.
 67649  type ReadPreviousTasksRequestType struct {
 67650  	This ManagedObjectReference `xml:"_this" json:"-"`
 67651  	// The maximum number of items in the page.
 67652  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 67653  }
 67654  
 67655  func init() {
 67656  	t["ReadPreviousTasksRequestType"] = reflect.TypeOf((*ReadPreviousTasksRequestType)(nil)).Elem()
 67657  }
 67658  
 67659  type ReadPreviousTasksResponse struct {
 67660  	Returnval []TaskInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67661  }
 67662  
 67663  type RebootGuest RebootGuestRequestType
 67664  
 67665  func init() {
 67666  	t["RebootGuest"] = reflect.TypeOf((*RebootGuest)(nil)).Elem()
 67667  }
 67668  
 67669  type RebootGuestRequestType struct {
 67670  	This ManagedObjectReference `xml:"_this" json:"-"`
 67671  }
 67672  
 67673  func init() {
 67674  	t["RebootGuestRequestType"] = reflect.TypeOf((*RebootGuestRequestType)(nil)).Elem()
 67675  }
 67676  
 67677  type RebootGuestResponse struct {
 67678  }
 67679  
 67680  // The parameters of `HostSystem.RebootHost_Task`.
 67681  type RebootHostRequestType struct {
 67682  	This ManagedObjectReference `xml:"_this" json:"-"`
 67683  	// Flag to specify whether or not the host should be rebooted
 67684  	// regardless of whether it is in maintenance mode. If true, the host
 67685  	// is rebooted, even if there are virtual machines running or other
 67686  	// operations in progress.
 67687  	Force bool `xml:"force" json:"force"`
 67688  }
 67689  
 67690  func init() {
 67691  	t["RebootHostRequestType"] = reflect.TypeOf((*RebootHostRequestType)(nil)).Elem()
 67692  }
 67693  
 67694  type RebootHost_Task RebootHostRequestType
 67695  
 67696  func init() {
 67697  	t["RebootHost_Task"] = reflect.TypeOf((*RebootHost_Task)(nil)).Elem()
 67698  }
 67699  
 67700  type RebootHost_TaskResponse struct {
 67701  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67702  }
 67703  
 67704  // This fault is thrown if a patch install fails because an installed
 67705  // nonchainable patch has not taken effect.
 67706  type RebootRequired struct {
 67707  	VimFault
 67708  
 67709  	// The nonchainable patch installed.
 67710  	Patch string `xml:"patch,omitempty" json:"patch,omitempty"`
 67711  }
 67712  
 67713  func init() {
 67714  	t["RebootRequired"] = reflect.TypeOf((*RebootRequired)(nil)).Elem()
 67715  }
 67716  
 67717  type RebootRequiredFault RebootRequired
 67718  
 67719  func init() {
 67720  	t["RebootRequiredFault"] = reflect.TypeOf((*RebootRequiredFault)(nil)).Elem()
 67721  }
 67722  
 67723  type RecommendDatastores RecommendDatastoresRequestType
 67724  
 67725  func init() {
 67726  	t["RecommendDatastores"] = reflect.TypeOf((*RecommendDatastores)(nil)).Elem()
 67727  }
 67728  
 67729  // The parameters of `StorageResourceManager.RecommendDatastores`.
 67730  type RecommendDatastoresRequestType struct {
 67731  	This        ManagedObjectReference `xml:"_this" json:"-"`
 67732  	StorageSpec StoragePlacementSpec   `xml:"storageSpec" json:"storageSpec"`
 67733  }
 67734  
 67735  func init() {
 67736  	t["RecommendDatastoresRequestType"] = reflect.TypeOf((*RecommendDatastoresRequestType)(nil)).Elem()
 67737  }
 67738  
 67739  type RecommendDatastoresResponse struct {
 67740  	Returnval StoragePlacementResult `xml:"returnval" json:"returnval"`
 67741  }
 67742  
 67743  type RecommendHostsForVm RecommendHostsForVmRequestType
 67744  
 67745  func init() {
 67746  	t["RecommendHostsForVm"] = reflect.TypeOf((*RecommendHostsForVm)(nil)).Elem()
 67747  }
 67748  
 67749  // The parameters of `ClusterComputeResource.RecommendHostsForVm`.
 67750  type RecommendHostsForVmRequestType struct {
 67751  	This ManagedObjectReference `xml:"_this" json:"-"`
 67752  	// Specifies the virtual machine for which the user is requesting a
 67753  	// recommendations.
 67754  	//
 67755  	// Refers instance of `VirtualMachine`.
 67756  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 67757  	// Specifies the ResourcePool into which the virtual machine is to be
 67758  	// migrated. If the virtual machine is powered-on, this argument must be
 67759  	// specified and it is relevant only when the virtual machine is
 67760  	// powered-on. This ResourcePool cannot be in the same cluster as the
 67761  	// virtual machine.
 67762  	//
 67763  	// Refers instance of `ResourcePool`.
 67764  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 67765  }
 67766  
 67767  func init() {
 67768  	t["RecommendHostsForVmRequestType"] = reflect.TypeOf((*RecommendHostsForVmRequestType)(nil)).Elem()
 67769  }
 67770  
 67771  type RecommendHostsForVmResponse struct {
 67772  	Returnval []ClusterHostRecommendation `xml:"returnval,omitempty" json:"returnval,omitempty"`
 67773  }
 67774  
 67775  type RecommissionVsanNodeRequestType struct {
 67776  	This ManagedObjectReference `xml:"_this" json:"-"`
 67777  }
 67778  
 67779  func init() {
 67780  	t["RecommissionVsanNodeRequestType"] = reflect.TypeOf((*RecommissionVsanNodeRequestType)(nil)).Elem()
 67781  }
 67782  
 67783  type RecommissionVsanNode_Task RecommissionVsanNodeRequestType
 67784  
 67785  func init() {
 67786  	t["RecommissionVsanNode_Task"] = reflect.TypeOf((*RecommissionVsanNode_Task)(nil)).Elem()
 67787  }
 67788  
 67789  type RecommissionVsanNode_TaskResponse struct {
 67790  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67791  }
 67792  
 67793  // The parameters of `VcenterVStorageObjectManager.ReconcileDatastoreInventoryEx_Task`.
 67794  type ReconcileDatastoreInventoryExRequestType struct {
 67795  	This ManagedObjectReference `xml:"_this" json:"-"`
 67796  	// The specification to reconcile/scan a datastore for virtual
 67797  	// storage objects.
 67798  	Spec VStorageObjectReconcileSpec `xml:"spec" json:"spec"`
 67799  }
 67800  
 67801  func init() {
 67802  	t["ReconcileDatastoreInventoryExRequestType"] = reflect.TypeOf((*ReconcileDatastoreInventoryExRequestType)(nil)).Elem()
 67803  	minAPIVersionForType["ReconcileDatastoreInventoryExRequestType"] = "9.0.0.0"
 67804  }
 67805  
 67806  type ReconcileDatastoreInventoryEx_Task ReconcileDatastoreInventoryExRequestType
 67807  
 67808  func init() {
 67809  	t["ReconcileDatastoreInventoryEx_Task"] = reflect.TypeOf((*ReconcileDatastoreInventoryEx_Task)(nil)).Elem()
 67810  }
 67811  
 67812  type ReconcileDatastoreInventoryEx_TaskResponse struct {
 67813  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67814  }
 67815  
 67816  // The parameters of `VcenterVStorageObjectManager.ReconcileDatastoreInventory_Task`.
 67817  type ReconcileDatastoreInventoryRequestType struct {
 67818  	This ManagedObjectReference `xml:"_this" json:"-"`
 67819  	// The datastore that needs to be reconciled.
 67820  	//
 67821  	// Refers instance of `Datastore`.
 67822  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 67823  	// If set true, the reconcile task will check for the
 67824  	// extent files and the disk descriptor file content
 67825  	// as part of reconciliation. Note that this is a time
 67826  	// consuming process.
 67827  	DeepCleansing *bool `xml:"deepCleansing" json:"deepCleansing,omitempty" vim:"9.0.0.0"`
 67828  }
 67829  
 67830  func init() {
 67831  	t["ReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ReconcileDatastoreInventoryRequestType)(nil)).Elem()
 67832  }
 67833  
 67834  type ReconcileDatastoreInventory_Task ReconcileDatastoreInventoryRequestType
 67835  
 67836  func init() {
 67837  	t["ReconcileDatastoreInventory_Task"] = reflect.TypeOf((*ReconcileDatastoreInventory_Task)(nil)).Elem()
 67838  }
 67839  
 67840  type ReconcileDatastoreInventory_TaskResponse struct {
 67841  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67842  }
 67843  
 67844  // The parameters of `VirtualMachine.ReconfigVM_Task`.
 67845  type ReconfigVMRequestType struct {
 67846  	This ManagedObjectReference `xml:"_this" json:"-"`
 67847  	// The new configuration values.
 67848  	Spec VirtualMachineConfigSpec `xml:"spec" json:"spec"`
 67849  }
 67850  
 67851  func init() {
 67852  	t["ReconfigVMRequestType"] = reflect.TypeOf((*ReconfigVMRequestType)(nil)).Elem()
 67853  }
 67854  
 67855  type ReconfigVM_Task ReconfigVMRequestType
 67856  
 67857  func init() {
 67858  	t["ReconfigVM_Task"] = reflect.TypeOf((*ReconfigVM_Task)(nil)).Elem()
 67859  }
 67860  
 67861  type ReconfigVM_TaskResponse struct {
 67862  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67863  }
 67864  
 67865  type ReconfigurationSatisfiable ReconfigurationSatisfiableRequestType
 67866  
 67867  func init() {
 67868  	t["ReconfigurationSatisfiable"] = reflect.TypeOf((*ReconfigurationSatisfiable)(nil)).Elem()
 67869  }
 67870  
 67871  // The parameters of `HostVsanInternalSystem.ReconfigurationSatisfiable`.
 67872  type ReconfigurationSatisfiableRequestType struct {
 67873  	This ManagedObjectReference `xml:"_this" json:"-"`
 67874  	// List of PolicyChangeBatch structure with uuids and policies.
 67875  	Pcbs []VsanPolicyChangeBatch `xml:"pcbs" json:"pcbs"`
 67876  	// Optionally populate PolicyCost even though
 67877  	// object cannot be reconfigured in the current cluster topology.
 67878  	IgnoreSatisfiability *bool `xml:"ignoreSatisfiability" json:"ignoreSatisfiability,omitempty"`
 67879  }
 67880  
 67881  func init() {
 67882  	t["ReconfigurationSatisfiableRequestType"] = reflect.TypeOf((*ReconfigurationSatisfiableRequestType)(nil)).Elem()
 67883  }
 67884  
 67885  type ReconfigurationSatisfiableResponse struct {
 67886  	Returnval []VsanPolicySatisfiability `xml:"returnval" json:"returnval"`
 67887  }
 67888  
 67889  type ReconfigureAlarm ReconfigureAlarmRequestType
 67890  
 67891  func init() {
 67892  	t["ReconfigureAlarm"] = reflect.TypeOf((*ReconfigureAlarm)(nil)).Elem()
 67893  }
 67894  
 67895  // The parameters of `Alarm.ReconfigureAlarm`.
 67896  type ReconfigureAlarmRequestType struct {
 67897  	This ManagedObjectReference `xml:"_this" json:"-"`
 67898  	// The new specification for the alarm.
 67899  	Spec BaseAlarmSpec `xml:"spec,typeattr" json:"spec"`
 67900  }
 67901  
 67902  func init() {
 67903  	t["ReconfigureAlarmRequestType"] = reflect.TypeOf((*ReconfigureAlarmRequestType)(nil)).Elem()
 67904  }
 67905  
 67906  type ReconfigureAlarmResponse struct {
 67907  }
 67908  
 67909  type ReconfigureAutostart ReconfigureAutostartRequestType
 67910  
 67911  func init() {
 67912  	t["ReconfigureAutostart"] = reflect.TypeOf((*ReconfigureAutostart)(nil)).Elem()
 67913  }
 67914  
 67915  // The parameters of `HostAutoStartManager.ReconfigureAutostart`.
 67916  type ReconfigureAutostartRequestType struct {
 67917  	This ManagedObjectReference `xml:"_this" json:"-"`
 67918  	// List of changes to defaults and auto-start/auto-stop order.
 67919  	Spec HostAutoStartManagerConfig `xml:"spec" json:"spec"`
 67920  }
 67921  
 67922  func init() {
 67923  	t["ReconfigureAutostartRequestType"] = reflect.TypeOf((*ReconfigureAutostartRequestType)(nil)).Elem()
 67924  }
 67925  
 67926  type ReconfigureAutostartResponse struct {
 67927  }
 67928  
 67929  // The parameters of `ClusterComputeResource.ReconfigureCluster_Task`.
 67930  type ReconfigureClusterRequestType struct {
 67931  	This ManagedObjectReference `xml:"_this" json:"-"`
 67932  	// A set of configuration changes to apply to the cluster. The
 67933  	// specification can be a complete set of changes or a partial set of
 67934  	// changes, applied incrementally.
 67935  	Spec ClusterConfigSpec `xml:"spec" json:"spec"`
 67936  	// Flag to specify whether the specification ("spec") should
 67937  	// be applied incrementally. If "modify" is false and the
 67938  	// operation succeeds, then the configuration of the cluster
 67939  	// matches the specification exactly; in this case any unset
 67940  	// portions of the specification will result in unset or
 67941  	// default portions of the configuration.
 67942  	Modify bool `xml:"modify" json:"modify"`
 67943  }
 67944  
 67945  func init() {
 67946  	t["ReconfigureClusterRequestType"] = reflect.TypeOf((*ReconfigureClusterRequestType)(nil)).Elem()
 67947  }
 67948  
 67949  type ReconfigureCluster_Task ReconfigureClusterRequestType
 67950  
 67951  func init() {
 67952  	t["ReconfigureCluster_Task"] = reflect.TypeOf((*ReconfigureCluster_Task)(nil)).Elem()
 67953  }
 67954  
 67955  type ReconfigureCluster_TaskResponse struct {
 67956  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67957  }
 67958  
 67959  // The parameters of `ComputeResource.ReconfigureComputeResource_Task`.
 67960  type ReconfigureComputeResourceRequestType struct {
 67961  	This ManagedObjectReference `xml:"_this" json:"-"`
 67962  	// A set of configuration changes to apply to the compute resource.
 67963  	// The specification can be a complete set of changes or a partial
 67964  	// set of changes, applied incrementally. When invoking
 67965  	// reconfigureEx on a cluster, this argument may be a
 67966  	// `ClusterConfigSpecEx` object.
 67967  	Spec BaseComputeResourceConfigSpec `xml:"spec,typeattr" json:"spec"`
 67968  	// Flag to specify whether the specification ("spec") should
 67969  	// be applied incrementally. If "modify" is false and the
 67970  	// operation succeeds, then the configuration of the cluster
 67971  	// matches the specification exactly; in this case any unset
 67972  	// portions of the specification will result in unset or
 67973  	// default portions of the configuration.
 67974  	Modify bool `xml:"modify" json:"modify"`
 67975  }
 67976  
 67977  func init() {
 67978  	t["ReconfigureComputeResourceRequestType"] = reflect.TypeOf((*ReconfigureComputeResourceRequestType)(nil)).Elem()
 67979  }
 67980  
 67981  type ReconfigureComputeResource_Task ReconfigureComputeResourceRequestType
 67982  
 67983  func init() {
 67984  	t["ReconfigureComputeResource_Task"] = reflect.TypeOf((*ReconfigureComputeResource_Task)(nil)).Elem()
 67985  }
 67986  
 67987  type ReconfigureComputeResource_TaskResponse struct {
 67988  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67989  }
 67990  
 67991  // The parameters of `DistributedVirtualSwitch.ReconfigureDVPort_Task`.
 67992  type ReconfigureDVPortRequestType struct {
 67993  	This ManagedObjectReference `xml:"_this" json:"-"`
 67994  	// The specification of the ports.
 67995  	Port []DVPortConfigSpec `xml:"port" json:"port"`
 67996  }
 67997  
 67998  func init() {
 67999  	t["ReconfigureDVPortRequestType"] = reflect.TypeOf((*ReconfigureDVPortRequestType)(nil)).Elem()
 68000  }
 68001  
 68002  type ReconfigureDVPort_Task ReconfigureDVPortRequestType
 68003  
 68004  func init() {
 68005  	t["ReconfigureDVPort_Task"] = reflect.TypeOf((*ReconfigureDVPort_Task)(nil)).Elem()
 68006  }
 68007  
 68008  type ReconfigureDVPort_TaskResponse struct {
 68009  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68010  }
 68011  
 68012  // The parameters of `DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task`.
 68013  type ReconfigureDVPortgroupRequestType struct {
 68014  	This ManagedObjectReference `xml:"_this" json:"-"`
 68015  	// Configuration data for the portgroup.
 68016  	Spec DVPortgroupConfigSpec `xml:"spec" json:"spec"`
 68017  }
 68018  
 68019  func init() {
 68020  	t["ReconfigureDVPortgroupRequestType"] = reflect.TypeOf((*ReconfigureDVPortgroupRequestType)(nil)).Elem()
 68021  }
 68022  
 68023  type ReconfigureDVPortgroup_Task ReconfigureDVPortgroupRequestType
 68024  
 68025  func init() {
 68026  	t["ReconfigureDVPortgroup_Task"] = reflect.TypeOf((*ReconfigureDVPortgroup_Task)(nil)).Elem()
 68027  }
 68028  
 68029  type ReconfigureDVPortgroup_TaskResponse struct {
 68030  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68031  }
 68032  
 68033  // The parameters of `Datacenter.ReconfigureDatacenter_Task`.
 68034  type ReconfigureDatacenterRequestType struct {
 68035  	This ManagedObjectReference `xml:"_this" json:"-"`
 68036  	// A set of configuration changes to apply to the datacenter.
 68037  	// The specification can be a complete set of changes or a partial
 68038  	// set of changes, applied incrementally.
 68039  	Spec DatacenterConfigSpec `xml:"spec" json:"spec"`
 68040  	// Flag to specify whether the specification ("spec") should
 68041  	// be applied incrementally. If "modify" is false and the
 68042  	// operation succeeds, then the configuration of the datacenter
 68043  	// matches the specification exactly; in this case any unset
 68044  	// portions of the specification will result in unset or
 68045  	// default portions of the configuration.
 68046  	Modify bool `xml:"modify" json:"modify"`
 68047  }
 68048  
 68049  func init() {
 68050  	t["ReconfigureDatacenterRequestType"] = reflect.TypeOf((*ReconfigureDatacenterRequestType)(nil)).Elem()
 68051  }
 68052  
 68053  type ReconfigureDatacenter_Task ReconfigureDatacenterRequestType
 68054  
 68055  func init() {
 68056  	t["ReconfigureDatacenter_Task"] = reflect.TypeOf((*ReconfigureDatacenter_Task)(nil)).Elem()
 68057  }
 68058  
 68059  type ReconfigureDatacenter_TaskResponse struct {
 68060  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68061  }
 68062  
 68063  type ReconfigureDomObject ReconfigureDomObjectRequestType
 68064  
 68065  func init() {
 68066  	t["ReconfigureDomObject"] = reflect.TypeOf((*ReconfigureDomObject)(nil)).Elem()
 68067  }
 68068  
 68069  // The parameters of `HostVsanInternalSystem.ReconfigureDomObject`.
 68070  type ReconfigureDomObjectRequestType struct {
 68071  	This ManagedObjectReference `xml:"_this" json:"-"`
 68072  	// DOM object UUID.
 68073  	Uuid string `xml:"uuid" json:"uuid"`
 68074  	// VSAN expression formatted policy string.
 68075  	Policy string `xml:"policy" json:"policy"`
 68076  }
 68077  
 68078  func init() {
 68079  	t["ReconfigureDomObjectRequestType"] = reflect.TypeOf((*ReconfigureDomObjectRequestType)(nil)).Elem()
 68080  }
 68081  
 68082  type ReconfigureDomObjectResponse struct {
 68083  }
 68084  
 68085  // The parameters of `DistributedVirtualSwitch.ReconfigureDvs_Task`.
 68086  type ReconfigureDvsRequestType struct {
 68087  	This ManagedObjectReference `xml:"_this" json:"-"`
 68088  	// The configuration of the switch
 68089  	Spec BaseDVSConfigSpec `xml:"spec,typeattr" json:"spec"`
 68090  }
 68091  
 68092  func init() {
 68093  	t["ReconfigureDvsRequestType"] = reflect.TypeOf((*ReconfigureDvsRequestType)(nil)).Elem()
 68094  }
 68095  
 68096  type ReconfigureDvs_Task ReconfigureDvsRequestType
 68097  
 68098  func init() {
 68099  	t["ReconfigureDvs_Task"] = reflect.TypeOf((*ReconfigureDvs_Task)(nil)).Elem()
 68100  }
 68101  
 68102  type ReconfigureDvs_TaskResponse struct {
 68103  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68104  }
 68105  
 68106  type ReconfigureHostForDASRequestType struct {
 68107  	This ManagedObjectReference `xml:"_this" json:"-"`
 68108  }
 68109  
 68110  func init() {
 68111  	t["ReconfigureHostForDASRequestType"] = reflect.TypeOf((*ReconfigureHostForDASRequestType)(nil)).Elem()
 68112  }
 68113  
 68114  type ReconfigureHostForDAS_Task ReconfigureHostForDASRequestType
 68115  
 68116  func init() {
 68117  	t["ReconfigureHostForDAS_Task"] = reflect.TypeOf((*ReconfigureHostForDAS_Task)(nil)).Elem()
 68118  }
 68119  
 68120  type ReconfigureHostForDAS_TaskResponse struct {
 68121  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68122  }
 68123  
 68124  type ReconfigureScheduledTask ReconfigureScheduledTaskRequestType
 68125  
 68126  func init() {
 68127  	t["ReconfigureScheduledTask"] = reflect.TypeOf((*ReconfigureScheduledTask)(nil)).Elem()
 68128  }
 68129  
 68130  // The parameters of `ScheduledTask.ReconfigureScheduledTask`.
 68131  type ReconfigureScheduledTaskRequestType struct {
 68132  	This ManagedObjectReference `xml:"_this" json:"-"`
 68133  	// The new specification for the scheduled task.
 68134  	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
 68135  }
 68136  
 68137  func init() {
 68138  	t["ReconfigureScheduledTaskRequestType"] = reflect.TypeOf((*ReconfigureScheduledTaskRequestType)(nil)).Elem()
 68139  }
 68140  
 68141  type ReconfigureScheduledTaskResponse struct {
 68142  }
 68143  
 68144  type ReconfigureServiceConsoleReservation ReconfigureServiceConsoleReservationRequestType
 68145  
 68146  func init() {
 68147  	t["ReconfigureServiceConsoleReservation"] = reflect.TypeOf((*ReconfigureServiceConsoleReservation)(nil)).Elem()
 68148  }
 68149  
 68150  // The parameters of `HostMemorySystem.ReconfigureServiceConsoleReservation`.
 68151  type ReconfigureServiceConsoleReservationRequestType struct {
 68152  	This     ManagedObjectReference `xml:"_this" json:"-"`
 68153  	CfgBytes int64                  `xml:"cfgBytes" json:"cfgBytes"`
 68154  }
 68155  
 68156  func init() {
 68157  	t["ReconfigureServiceConsoleReservationRequestType"] = reflect.TypeOf((*ReconfigureServiceConsoleReservationRequestType)(nil)).Elem()
 68158  }
 68159  
 68160  type ReconfigureServiceConsoleReservationResponse struct {
 68161  }
 68162  
 68163  type ReconfigureSnmpAgent ReconfigureSnmpAgentRequestType
 68164  
 68165  func init() {
 68166  	t["ReconfigureSnmpAgent"] = reflect.TypeOf((*ReconfigureSnmpAgent)(nil)).Elem()
 68167  }
 68168  
 68169  // The parameters of `HostSnmpSystem.ReconfigureSnmpAgent`.
 68170  type ReconfigureSnmpAgentRequestType struct {
 68171  	This ManagedObjectReference `xml:"_this" json:"-"`
 68172  	Spec HostSnmpConfigSpec     `xml:"spec" json:"spec"`
 68173  }
 68174  
 68175  func init() {
 68176  	t["ReconfigureSnmpAgentRequestType"] = reflect.TypeOf((*ReconfigureSnmpAgentRequestType)(nil)).Elem()
 68177  }
 68178  
 68179  type ReconfigureSnmpAgentResponse struct {
 68180  }
 68181  
 68182  type ReconfigureVirtualMachineReservation ReconfigureVirtualMachineReservationRequestType
 68183  
 68184  func init() {
 68185  	t["ReconfigureVirtualMachineReservation"] = reflect.TypeOf((*ReconfigureVirtualMachineReservation)(nil)).Elem()
 68186  }
 68187  
 68188  // The parameters of `HostMemorySystem.ReconfigureVirtualMachineReservation`.
 68189  type ReconfigureVirtualMachineReservationRequestType struct {
 68190  	This ManagedObjectReference              `xml:"_this" json:"-"`
 68191  	Spec VirtualMachineMemoryReservationSpec `xml:"spec" json:"spec"`
 68192  }
 68193  
 68194  func init() {
 68195  	t["ReconfigureVirtualMachineReservationRequestType"] = reflect.TypeOf((*ReconfigureVirtualMachineReservationRequestType)(nil)).Elem()
 68196  }
 68197  
 68198  type ReconfigureVirtualMachineReservationResponse struct {
 68199  }
 68200  
 68201  // The parameters of `HostSystem.ReconnectHost_Task`.
 68202  type ReconnectHostRequestType struct {
 68203  	This ManagedObjectReference `xml:"_this" json:"-"`
 68204  	// Includes the parameters to use, including user name and password,
 68205  	// when reconnecting to the host. If this parameter is not specified,
 68206  	// the default connection parameters is used.
 68207  	CnxSpec *HostConnectSpec `xml:"cnxSpec,omitempty" json:"cnxSpec,omitempty"`
 68208  	// Includes connection parameters specific to
 68209  	// reconnect. This will mainly be used to indicate how to
 68210  	// handle divergence between the host settings and vCenter Server
 68211  	// settings when the host was disconnected.
 68212  	ReconnectSpec *HostSystemReconnectSpec `xml:"reconnectSpec,omitempty" json:"reconnectSpec,omitempty"`
 68213  }
 68214  
 68215  func init() {
 68216  	t["ReconnectHostRequestType"] = reflect.TypeOf((*ReconnectHostRequestType)(nil)).Elem()
 68217  }
 68218  
 68219  type ReconnectHost_Task ReconnectHostRequestType
 68220  
 68221  func init() {
 68222  	t["ReconnectHost_Task"] = reflect.TypeOf((*ReconnectHost_Task)(nil)).Elem()
 68223  }
 68224  
 68225  type ReconnectHost_TaskResponse struct {
 68226  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68227  }
 68228  
 68229  // Deprecated as of vSphere API 6.0.
 68230  //
 68231  // Fault thrown if a record or replay operation cannot be performed
 68232  // because these capabilities have been disabled on the virtual machine.
 68233  type RecordReplayDisabled struct {
 68234  	VimFault
 68235  }
 68236  
 68237  func init() {
 68238  	t["RecordReplayDisabled"] = reflect.TypeOf((*RecordReplayDisabled)(nil)).Elem()
 68239  }
 68240  
 68241  type RecordReplayDisabledFault RecordReplayDisabled
 68242  
 68243  func init() {
 68244  	t["RecordReplayDisabledFault"] = reflect.TypeOf((*RecordReplayDisabledFault)(nil)).Elem()
 68245  }
 68246  
 68247  // This event is generated when recovery takes place on a management vmknic
 68248  type RecoveryEvent struct {
 68249  	DvsEvent
 68250  
 68251  	// The host on which recovery happened
 68252  	HostName string `xml:"hostName" json:"hostName"`
 68253  	// The key of the new port
 68254  	PortKey string `xml:"portKey" json:"portKey"`
 68255  	// The uuid of the DVS
 68256  	DvsUuid string `xml:"dvsUuid,omitempty" json:"dvsUuid,omitempty"`
 68257  	// The virtual management NIC device where recovery was done
 68258  	Vnic string `xml:"vnic,omitempty" json:"vnic,omitempty"`
 68259  }
 68260  
 68261  func init() {
 68262  	t["RecoveryEvent"] = reflect.TypeOf((*RecoveryEvent)(nil)).Elem()
 68263  }
 68264  
 68265  // The parameters of `DistributedVirtualSwitch.RectifyDvsHost_Task`.
 68266  type RectifyDvsHostRequestType struct {
 68267  	This ManagedObjectReference `xml:"_this" json:"-"`
 68268  	// The hosts to be rectified.
 68269  	//
 68270  	// Refers instances of `HostSystem`.
 68271  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 68272  }
 68273  
 68274  func init() {
 68275  	t["RectifyDvsHostRequestType"] = reflect.TypeOf((*RectifyDvsHostRequestType)(nil)).Elem()
 68276  }
 68277  
 68278  type RectifyDvsHost_Task RectifyDvsHostRequestType
 68279  
 68280  func init() {
 68281  	t["RectifyDvsHost_Task"] = reflect.TypeOf((*RectifyDvsHost_Task)(nil)).Elem()
 68282  }
 68283  
 68284  type RectifyDvsHost_TaskResponse struct {
 68285  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68286  }
 68287  
 68288  // The parameters of `DistributedVirtualSwitchManager.RectifyDvsOnHost_Task`.
 68289  type RectifyDvsOnHostRequestType struct {
 68290  	This ManagedObjectReference `xml:"_this" json:"-"`
 68291  	// The hosts to be rectified.
 68292  	//
 68293  	// Refers instances of `HostSystem`.
 68294  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 68295  }
 68296  
 68297  func init() {
 68298  	t["RectifyDvsOnHostRequestType"] = reflect.TypeOf((*RectifyDvsOnHostRequestType)(nil)).Elem()
 68299  }
 68300  
 68301  type RectifyDvsOnHost_Task RectifyDvsOnHostRequestType
 68302  
 68303  func init() {
 68304  	t["RectifyDvsOnHost_Task"] = reflect.TypeOf((*RectifyDvsOnHost_Task)(nil)).Elem()
 68305  }
 68306  
 68307  type RectifyDvsOnHost_TaskResponse struct {
 68308  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68309  }
 68310  
 68311  // The `RecurrentTaskScheduler` data object is the base type for
 68312  // the hierarchy that includes hourly, daily, weekly, and monthly task schedulers.
 68313  type RecurrentTaskScheduler struct {
 68314  	TaskScheduler
 68315  
 68316  	// How often to run the scheduled task.
 68317  	//
 68318  	// The value must be greater than
 68319  	// or equal to 1 and less than 1000. The default value is 1.
 68320  	// The interval acts as a multiplier for the unit of time associated
 68321  	// with a particular scheduler (hours, days, weeks, or months).
 68322  	// For example, setting the `HourlyTaskScheduler` interval
 68323  	// to 4 causes the task to run every 4 hours.
 68324  	Interval int32 `xml:"interval" json:"interval"`
 68325  }
 68326  
 68327  func init() {
 68328  	t["RecurrentTaskScheduler"] = reflect.TypeOf((*RecurrentTaskScheduler)(nil)).Elem()
 68329  }
 68330  
 68331  type Refresh RefreshRequestType
 68332  
 68333  func init() {
 68334  	t["Refresh"] = reflect.TypeOf((*Refresh)(nil)).Elem()
 68335  }
 68336  
 68337  type RefreshDVPortState RefreshDVPortStateRequestType
 68338  
 68339  func init() {
 68340  	t["RefreshDVPortState"] = reflect.TypeOf((*RefreshDVPortState)(nil)).Elem()
 68341  }
 68342  
 68343  // The parameters of `DistributedVirtualSwitch.RefreshDVPortState`.
 68344  type RefreshDVPortStateRequestType struct {
 68345  	This ManagedObjectReference `xml:"_this" json:"-"`
 68346  	// The keys of the ports to be refreshed. If not specified, all port
 68347  	// states are refreshed.
 68348  	PortKeys []string `xml:"portKeys,omitempty" json:"portKeys,omitempty"`
 68349  }
 68350  
 68351  func init() {
 68352  	t["RefreshDVPortStateRequestType"] = reflect.TypeOf((*RefreshDVPortStateRequestType)(nil)).Elem()
 68353  }
 68354  
 68355  type RefreshDVPortStateResponse struct {
 68356  }
 68357  
 68358  type RefreshDatastore RefreshDatastoreRequestType
 68359  
 68360  func init() {
 68361  	t["RefreshDatastore"] = reflect.TypeOf((*RefreshDatastore)(nil)).Elem()
 68362  }
 68363  
 68364  type RefreshDatastoreRequestType struct {
 68365  	This ManagedObjectReference `xml:"_this" json:"-"`
 68366  }
 68367  
 68368  func init() {
 68369  	t["RefreshDatastoreRequestType"] = reflect.TypeOf((*RefreshDatastoreRequestType)(nil)).Elem()
 68370  }
 68371  
 68372  type RefreshDatastoreResponse struct {
 68373  }
 68374  
 68375  type RefreshDatastoreStorageInfo RefreshDatastoreStorageInfoRequestType
 68376  
 68377  func init() {
 68378  	t["RefreshDatastoreStorageInfo"] = reflect.TypeOf((*RefreshDatastoreStorageInfo)(nil)).Elem()
 68379  }
 68380  
 68381  type RefreshDatastoreStorageInfoRequestType struct {
 68382  	This ManagedObjectReference `xml:"_this" json:"-"`
 68383  }
 68384  
 68385  func init() {
 68386  	t["RefreshDatastoreStorageInfoRequestType"] = reflect.TypeOf((*RefreshDatastoreStorageInfoRequestType)(nil)).Elem()
 68387  }
 68388  
 68389  type RefreshDatastoreStorageInfoResponse struct {
 68390  }
 68391  
 68392  type RefreshDateTimeSystem RefreshDateTimeSystemRequestType
 68393  
 68394  func init() {
 68395  	t["RefreshDateTimeSystem"] = reflect.TypeOf((*RefreshDateTimeSystem)(nil)).Elem()
 68396  }
 68397  
 68398  type RefreshDateTimeSystemRequestType struct {
 68399  	This ManagedObjectReference `xml:"_this" json:"-"`
 68400  }
 68401  
 68402  func init() {
 68403  	t["RefreshDateTimeSystemRequestType"] = reflect.TypeOf((*RefreshDateTimeSystemRequestType)(nil)).Elem()
 68404  }
 68405  
 68406  type RefreshDateTimeSystemResponse struct {
 68407  }
 68408  
 68409  type RefreshFirewall RefreshFirewallRequestType
 68410  
 68411  func init() {
 68412  	t["RefreshFirewall"] = reflect.TypeOf((*RefreshFirewall)(nil)).Elem()
 68413  }
 68414  
 68415  type RefreshFirewallRequestType struct {
 68416  	This ManagedObjectReference `xml:"_this" json:"-"`
 68417  }
 68418  
 68419  func init() {
 68420  	t["RefreshFirewallRequestType"] = reflect.TypeOf((*RefreshFirewallRequestType)(nil)).Elem()
 68421  }
 68422  
 68423  type RefreshFirewallResponse struct {
 68424  }
 68425  
 68426  type RefreshGraphicsManager RefreshGraphicsManagerRequestType
 68427  
 68428  func init() {
 68429  	t["RefreshGraphicsManager"] = reflect.TypeOf((*RefreshGraphicsManager)(nil)).Elem()
 68430  }
 68431  
 68432  type RefreshGraphicsManagerRequestType struct {
 68433  	This ManagedObjectReference `xml:"_this" json:"-"`
 68434  }
 68435  
 68436  func init() {
 68437  	t["RefreshGraphicsManagerRequestType"] = reflect.TypeOf((*RefreshGraphicsManagerRequestType)(nil)).Elem()
 68438  }
 68439  
 68440  type RefreshGraphicsManagerResponse struct {
 68441  }
 68442  
 68443  type RefreshHealthStatusSystem RefreshHealthStatusSystemRequestType
 68444  
 68445  func init() {
 68446  	t["RefreshHealthStatusSystem"] = reflect.TypeOf((*RefreshHealthStatusSystem)(nil)).Elem()
 68447  }
 68448  
 68449  type RefreshHealthStatusSystemRequestType struct {
 68450  	This ManagedObjectReference `xml:"_this" json:"-"`
 68451  }
 68452  
 68453  func init() {
 68454  	t["RefreshHealthStatusSystemRequestType"] = reflect.TypeOf((*RefreshHealthStatusSystemRequestType)(nil)).Elem()
 68455  }
 68456  
 68457  type RefreshHealthStatusSystemResponse struct {
 68458  }
 68459  
 68460  type RefreshNetworkSystem RefreshNetworkSystemRequestType
 68461  
 68462  func init() {
 68463  	t["RefreshNetworkSystem"] = reflect.TypeOf((*RefreshNetworkSystem)(nil)).Elem()
 68464  }
 68465  
 68466  type RefreshNetworkSystemRequestType struct {
 68467  	This ManagedObjectReference `xml:"_this" json:"-"`
 68468  }
 68469  
 68470  func init() {
 68471  	t["RefreshNetworkSystemRequestType"] = reflect.TypeOf((*RefreshNetworkSystemRequestType)(nil)).Elem()
 68472  }
 68473  
 68474  type RefreshNetworkSystemResponse struct {
 68475  }
 68476  
 68477  type RefreshRecommendation RefreshRecommendationRequestType
 68478  
 68479  func init() {
 68480  	t["RefreshRecommendation"] = reflect.TypeOf((*RefreshRecommendation)(nil)).Elem()
 68481  }
 68482  
 68483  type RefreshRecommendationRequestType struct {
 68484  	This ManagedObjectReference `xml:"_this" json:"-"`
 68485  }
 68486  
 68487  func init() {
 68488  	t["RefreshRecommendationRequestType"] = reflect.TypeOf((*RefreshRecommendationRequestType)(nil)).Elem()
 68489  }
 68490  
 68491  type RefreshRecommendationResponse struct {
 68492  }
 68493  
 68494  type RefreshRequestType struct {
 68495  	This ManagedObjectReference `xml:"_this" json:"-"`
 68496  }
 68497  
 68498  func init() {
 68499  	t["RefreshRequestType"] = reflect.TypeOf((*RefreshRequestType)(nil)).Elem()
 68500  }
 68501  
 68502  type RefreshResponse struct {
 68503  }
 68504  
 68505  type RefreshRuntime RefreshRuntimeRequestType
 68506  
 68507  func init() {
 68508  	t["RefreshRuntime"] = reflect.TypeOf((*RefreshRuntime)(nil)).Elem()
 68509  }
 68510  
 68511  type RefreshRuntimeRequestType struct {
 68512  	This ManagedObjectReference `xml:"_this" json:"-"`
 68513  }
 68514  
 68515  func init() {
 68516  	t["RefreshRuntimeRequestType"] = reflect.TypeOf((*RefreshRuntimeRequestType)(nil)).Elem()
 68517  }
 68518  
 68519  type RefreshRuntimeResponse struct {
 68520  }
 68521  
 68522  type RefreshServices RefreshServicesRequestType
 68523  
 68524  func init() {
 68525  	t["RefreshServices"] = reflect.TypeOf((*RefreshServices)(nil)).Elem()
 68526  }
 68527  
 68528  type RefreshServicesRequestType struct {
 68529  	This ManagedObjectReference `xml:"_this" json:"-"`
 68530  }
 68531  
 68532  func init() {
 68533  	t["RefreshServicesRequestType"] = reflect.TypeOf((*RefreshServicesRequestType)(nil)).Elem()
 68534  }
 68535  
 68536  type RefreshServicesResponse struct {
 68537  }
 68538  
 68539  type RefreshStorageDrsRecommendation RefreshStorageDrsRecommendationRequestType
 68540  
 68541  func init() {
 68542  	t["RefreshStorageDrsRecommendation"] = reflect.TypeOf((*RefreshStorageDrsRecommendation)(nil)).Elem()
 68543  }
 68544  
 68545  // The parameters of `StorageResourceManager.RefreshStorageDrsRecommendation`.
 68546  type RefreshStorageDrsRecommendationRequestType struct {
 68547  	This ManagedObjectReference `xml:"_this" json:"-"`
 68548  	// The storage pod.
 68549  	// The recommendations generated is stored at
 68550  	// `PodStorageDrsEntry.recommendation`.
 68551  	//
 68552  	// Refers instance of `StoragePod`.
 68553  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 68554  }
 68555  
 68556  func init() {
 68557  	t["RefreshStorageDrsRecommendationRequestType"] = reflect.TypeOf((*RefreshStorageDrsRecommendationRequestType)(nil)).Elem()
 68558  }
 68559  
 68560  type RefreshStorageDrsRecommendationResponse struct {
 68561  }
 68562  
 68563  // The parameters of `StorageResourceManager.RefreshStorageDrsRecommendationsForPod_Task`.
 68564  type RefreshStorageDrsRecommendationsForPodRequestType struct {
 68565  	This ManagedObjectReference `xml:"_this" json:"-"`
 68566  	// The storage pod.
 68567  	// The recommendations generated is stored at
 68568  	// `PodStorageDrsEntry.recommendation`.
 68569  	//
 68570  	// Refers instance of `StoragePod`.
 68571  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 68572  }
 68573  
 68574  func init() {
 68575  	t["RefreshStorageDrsRecommendationsForPodRequestType"] = reflect.TypeOf((*RefreshStorageDrsRecommendationsForPodRequestType)(nil)).Elem()
 68576  }
 68577  
 68578  type RefreshStorageDrsRecommendationsForPod_Task RefreshStorageDrsRecommendationsForPodRequestType
 68579  
 68580  func init() {
 68581  	t["RefreshStorageDrsRecommendationsForPod_Task"] = reflect.TypeOf((*RefreshStorageDrsRecommendationsForPod_Task)(nil)).Elem()
 68582  }
 68583  
 68584  type RefreshStorageDrsRecommendationsForPod_TaskResponse struct {
 68585  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68586  }
 68587  
 68588  type RefreshStorageInfo RefreshStorageInfoRequestType
 68589  
 68590  func init() {
 68591  	t["RefreshStorageInfo"] = reflect.TypeOf((*RefreshStorageInfo)(nil)).Elem()
 68592  }
 68593  
 68594  type RefreshStorageInfoRequestType struct {
 68595  	This ManagedObjectReference `xml:"_this" json:"-"`
 68596  }
 68597  
 68598  func init() {
 68599  	t["RefreshStorageInfoRequestType"] = reflect.TypeOf((*RefreshStorageInfoRequestType)(nil)).Elem()
 68600  }
 68601  
 68602  type RefreshStorageInfoResponse struct {
 68603  }
 68604  
 68605  type RefreshStorageSystem RefreshStorageSystemRequestType
 68606  
 68607  func init() {
 68608  	t["RefreshStorageSystem"] = reflect.TypeOf((*RefreshStorageSystem)(nil)).Elem()
 68609  }
 68610  
 68611  type RefreshStorageSystemRequestType struct {
 68612  	This ManagedObjectReference `xml:"_this" json:"-"`
 68613  }
 68614  
 68615  func init() {
 68616  	t["RefreshStorageSystemRequestType"] = reflect.TypeOf((*RefreshStorageSystemRequestType)(nil)).Elem()
 68617  }
 68618  
 68619  type RefreshStorageSystemResponse struct {
 68620  }
 68621  
 68622  // The parameters of `ResourcePool.RegisterChildVM_Task`.
 68623  type RegisterChildVMRequestType struct {
 68624  	This ManagedObjectReference `xml:"_this" json:"-"`
 68625  	// A datastore path to the virtual machine. If the path ends with
 68626  	// ".vmtx", indicating that it refers to a VM template, an InvalidArgument
 68627  	// fault is thrown.
 68628  	Path string `xml:"path" json:"path"`
 68629  	// The name to be assigned to the virtual machine. If this parameter is
 68630  	// not set, the displayName configuration parameter of the virtual machine is
 68631  	// used. An entity name must be a non-empty string of less than 80
 68632  	// characters. The slash (/), backslash (\\) and percent (%) will be
 68633  	// escaped using the URL syntax. For example, %2F.
 68634  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 68635  	// The target host on which the virtual machine will run. This parameter
 68636  	// must specify a host that is a member of the ComputeResource to which this
 68637  	// resource pool belongs. For a stand-alone host or a cluster with DRS,
 68638  	// the parameter can be omitted, and the system selects a default.
 68639  	//
 68640  	// Refers instance of `HostSystem`.
 68641  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 68642  }
 68643  
 68644  func init() {
 68645  	t["RegisterChildVMRequestType"] = reflect.TypeOf((*RegisterChildVMRequestType)(nil)).Elem()
 68646  }
 68647  
 68648  type RegisterChildVM_Task RegisterChildVMRequestType
 68649  
 68650  func init() {
 68651  	t["RegisterChildVM_Task"] = reflect.TypeOf((*RegisterChildVM_Task)(nil)).Elem()
 68652  }
 68653  
 68654  type RegisterChildVM_TaskResponse struct {
 68655  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68656  }
 68657  
 68658  type RegisterDisk RegisterDiskRequestType
 68659  
 68660  func init() {
 68661  	t["RegisterDisk"] = reflect.TypeOf((*RegisterDisk)(nil)).Elem()
 68662  }
 68663  
 68664  // The parameters of `VcenterVStorageObjectManager.RegisterDisk`.
 68665  type RegisterDiskRequestType struct {
 68666  	This ManagedObjectReference `xml:"_this" json:"-"`
 68667  	// URL path to the virtual disk.
 68668  	Path string `xml:"path" json:"path"`
 68669  	// The descriptive name of the disk object. If
 68670  	// unset the name will be automatically determined
 68671  	// from the path. @see vim.vslm.BaseConfigInfo#name
 68672  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 68673  }
 68674  
 68675  func init() {
 68676  	t["RegisterDiskRequestType"] = reflect.TypeOf((*RegisterDiskRequestType)(nil)).Elem()
 68677  }
 68678  
 68679  type RegisterDiskResponse struct {
 68680  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 68681  }
 68682  
 68683  type RegisterExtension RegisterExtensionRequestType
 68684  
 68685  func init() {
 68686  	t["RegisterExtension"] = reflect.TypeOf((*RegisterExtension)(nil)).Elem()
 68687  }
 68688  
 68689  // The parameters of `ExtensionManager.RegisterExtension`.
 68690  type RegisterExtensionRequestType struct {
 68691  	This ManagedObjectReference `xml:"_this" json:"-"`
 68692  	// Extension description to register.
 68693  	Extension Extension `xml:"extension" json:"extension"`
 68694  }
 68695  
 68696  func init() {
 68697  	t["RegisterExtensionRequestType"] = reflect.TypeOf((*RegisterExtensionRequestType)(nil)).Elem()
 68698  }
 68699  
 68700  type RegisterExtensionResponse struct {
 68701  }
 68702  
 68703  type RegisterHealthUpdateProvider RegisterHealthUpdateProviderRequestType
 68704  
 68705  func init() {
 68706  	t["RegisterHealthUpdateProvider"] = reflect.TypeOf((*RegisterHealthUpdateProvider)(nil)).Elem()
 68707  }
 68708  
 68709  // The parameters of `HealthUpdateManager.RegisterHealthUpdateProvider`.
 68710  type RegisterHealthUpdateProviderRequestType struct {
 68711  	This ManagedObjectReference `xml:"_this" json:"-"`
 68712  	// The provider name. Should follow Java package
 68713  	// naming convention to minimize name clashes with
 68714  	// currently registered providers.
 68715  	// For example, "com.vmware.HealthUpdateProvider".
 68716  	Name string `xml:"name" json:"name"`
 68717  	// The list of healthUpdateInfo that can be
 68718  	// reported in healthUpdates.
 68719  	HealthUpdateInfo []HealthUpdateInfo `xml:"healthUpdateInfo,omitempty" json:"healthUpdateInfo,omitempty"`
 68720  }
 68721  
 68722  func init() {
 68723  	t["RegisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*RegisterHealthUpdateProviderRequestType)(nil)).Elem()
 68724  }
 68725  
 68726  type RegisterHealthUpdateProviderResponse struct {
 68727  	Returnval string `xml:"returnval" json:"returnval"`
 68728  }
 68729  
 68730  type RegisterKmipServer RegisterKmipServerRequestType
 68731  
 68732  func init() {
 68733  	t["RegisterKmipServer"] = reflect.TypeOf((*RegisterKmipServer)(nil)).Elem()
 68734  }
 68735  
 68736  // The parameters of `CryptoManagerKmip.RegisterKmipServer`.
 68737  type RegisterKmipServerRequestType struct {
 68738  	This ManagedObjectReference `xml:"_this" json:"-"`
 68739  	// \[in\] KMIP server connection information.
 68740  	// When register a new KMIP server to the key provider,
 68741  	// the `KmipServerSpec.defaultKeyType` and
 68742  	// `KmipServerSpecWrappingKeyIdKeySpec` must match
 68743  	// existing servers.
 68744  	Server KmipServerSpec `xml:"server" json:"server"`
 68745  }
 68746  
 68747  func init() {
 68748  	t["RegisterKmipServerRequestType"] = reflect.TypeOf((*RegisterKmipServerRequestType)(nil)).Elem()
 68749  }
 68750  
 68751  type RegisterKmipServerResponse struct {
 68752  }
 68753  
 68754  type RegisterKmsCluster RegisterKmsClusterRequestType
 68755  
 68756  func init() {
 68757  	t["RegisterKmsCluster"] = reflect.TypeOf((*RegisterKmsCluster)(nil)).Elem()
 68758  }
 68759  
 68760  // The parameters of `CryptoManagerKmip.RegisterKmsCluster`.
 68761  type RegisterKmsClusterRequestType struct {
 68762  	This ManagedObjectReference `xml:"_this" json:"-"`
 68763  	// \[in\] KMS cluster ID to register.
 68764  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 68765  	// \[in\] Key provider management type
 68766  	// See `KmipClusterInfoKmsManagementType_enum`
 68767  	// for valid values.
 68768  	// By default trustAuthority.
 68769  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 68770  }
 68771  
 68772  func init() {
 68773  	t["RegisterKmsClusterRequestType"] = reflect.TypeOf((*RegisterKmsClusterRequestType)(nil)).Elem()
 68774  }
 68775  
 68776  type RegisterKmsClusterResponse struct {
 68777  }
 68778  
 68779  // The parameters of `Folder.RegisterVM_Task`.
 68780  type RegisterVMRequestType struct {
 68781  	This ManagedObjectReference `xml:"_this" json:"-"`
 68782  	// A datastore path to the virtual machine.
 68783  	Path string `xml:"path" json:"path"`
 68784  	// The name to be assigned to the virtual machine. If this parameter is
 68785  	// not set, the displayName configuration parameter of the virtual machine is
 68786  	// used. An entity name must be a non-empty string of less than 80
 68787  	// characters. The slash (/), backslash (\\) and percent (%) will be
 68788  	// escaped using the URL syntax. For example, %2F.
 68789  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 68790  	// Flag to specify whether or not the virtual machine
 68791  	// should be marked as a template.
 68792  	AsTemplate bool `xml:"asTemplate" json:"asTemplate"`
 68793  	// The resource pool to which the virtual machine should be attached.
 68794  	// If imported as a template, this parameter is not set.
 68795  	//
 68796  	// Required privileges: Resource.AssignVMToPool
 68797  	//
 68798  	// Refers instance of `ResourcePool`.
 68799  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 68800  	// The target host on which the virtual machine will run. This parameter
 68801  	// must specify a host that is a member of the ComputeResource indirectly
 68802  	// specified by the pool. For a stand-alone host or a cluster,
 68803  	// the parameter can be omitted, and the system selects a default.
 68804  	//
 68805  	// Refers instance of `HostSystem`.
 68806  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 68807  }
 68808  
 68809  func init() {
 68810  	t["RegisterVMRequestType"] = reflect.TypeOf((*RegisterVMRequestType)(nil)).Elem()
 68811  }
 68812  
 68813  type RegisterVM_Task RegisterVMRequestType
 68814  
 68815  func init() {
 68816  	t["RegisterVM_Task"] = reflect.TypeOf((*RegisterVM_Task)(nil)).Elem()
 68817  }
 68818  
 68819  type RegisterVM_TaskResponse struct {
 68820  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68821  }
 68822  
 68823  type Relation struct {
 68824  	DynamicData
 68825  
 68826  	// If contraint is not set, the relation holds for all versions.
 68827  	//
 68828  	// and if a constraint is defined it will be one of
 68829  	// `SoftwarePackageConstraint_enum`.
 68830  	Constraint string `xml:"constraint,omitempty" json:"constraint,omitempty"`
 68831  	Name       string `xml:"name" json:"name"`
 68832  	Version    string `xml:"version,omitempty" json:"version,omitempty"`
 68833  }
 68834  
 68835  func init() {
 68836  	t["Relation"] = reflect.TypeOf((*Relation)(nil)).Elem()
 68837  }
 68838  
 68839  type ReleaseCredentialsInGuest ReleaseCredentialsInGuestRequestType
 68840  
 68841  func init() {
 68842  	t["ReleaseCredentialsInGuest"] = reflect.TypeOf((*ReleaseCredentialsInGuest)(nil)).Elem()
 68843  }
 68844  
 68845  // The parameters of `GuestAuthManager.ReleaseCredentialsInGuest`.
 68846  type ReleaseCredentialsInGuestRequestType struct {
 68847  	This ManagedObjectReference `xml:"_this" json:"-"`
 68848  	// MoRef of the VM to perform the operation on.
 68849  	//
 68850  	// Required privileges: VirtualMachine.GuestOperations.Query
 68851  	//
 68852  	// Refers instance of `VirtualMachine`.
 68853  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 68854  	// The guest authentication data. See
 68855  	// `GuestAuthentication`.
 68856  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 68857  }
 68858  
 68859  func init() {
 68860  	t["ReleaseCredentialsInGuestRequestType"] = reflect.TypeOf((*ReleaseCredentialsInGuestRequestType)(nil)).Elem()
 68861  }
 68862  
 68863  type ReleaseCredentialsInGuestResponse struct {
 68864  }
 68865  
 68866  type ReleaseIpAllocation ReleaseIpAllocationRequestType
 68867  
 68868  func init() {
 68869  	t["ReleaseIpAllocation"] = reflect.TypeOf((*ReleaseIpAllocation)(nil)).Elem()
 68870  }
 68871  
 68872  // The parameters of `IpPoolManager.ReleaseIpAllocation`.
 68873  type ReleaseIpAllocationRequestType struct {
 68874  	This ManagedObjectReference `xml:"_this" json:"-"`
 68875  	// The datacenter on which to find the pool
 68876  	//
 68877  	// Required privileges: Datacenter.IpPoolReleaseIp
 68878  	//
 68879  	// Refers instance of `Datacenter`.
 68880  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 68881  	// The unique ID of the pool
 68882  	PoolId int32 `xml:"poolId" json:"poolId"`
 68883  	// The unique ID for this allocation
 68884  	AllocationId string `xml:"allocationId" json:"allocationId"`
 68885  }
 68886  
 68887  func init() {
 68888  	t["ReleaseIpAllocationRequestType"] = reflect.TypeOf((*ReleaseIpAllocationRequestType)(nil)).Elem()
 68889  }
 68890  
 68891  type ReleaseIpAllocationResponse struct {
 68892  }
 68893  
 68894  type ReleaseManagedSnapshot ReleaseManagedSnapshotRequestType
 68895  
 68896  func init() {
 68897  	t["ReleaseManagedSnapshot"] = reflect.TypeOf((*ReleaseManagedSnapshot)(nil)).Elem()
 68898  }
 68899  
 68900  // The parameters of `VirtualDiskManager.ReleaseManagedSnapshot`.
 68901  type ReleaseManagedSnapshotRequestType struct {
 68902  	This ManagedObjectReference `xml:"_this" json:"-"`
 68903  	// \- The name of the disk to release, either a datastore path or a URL
 68904  	// referring to the virtual disk.
 68905  	Vdisk string `xml:"vdisk" json:"vdisk"`
 68906  	// If <code>vdisk</code> is a datastore path, the datacenter for
 68907  	// that datastore path. Not needed when invoked directly on ESX.
 68908  	// If not specified on a call to VirtualCenter,
 68909  	// <code>vdisk</code> must be a URL.
 68910  	//
 68911  	// Refers instance of `Datacenter`.
 68912  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 68913  }
 68914  
 68915  func init() {
 68916  	t["ReleaseManagedSnapshotRequestType"] = reflect.TypeOf((*ReleaseManagedSnapshotRequestType)(nil)).Elem()
 68917  }
 68918  
 68919  type ReleaseManagedSnapshotResponse struct {
 68920  }
 68921  
 68922  type Reload ReloadRequestType
 68923  
 68924  func init() {
 68925  	t["Reload"] = reflect.TypeOf((*Reload)(nil)).Elem()
 68926  }
 68927  
 68928  type ReloadRequestType struct {
 68929  	This ManagedObjectReference `xml:"_this" json:"-"`
 68930  }
 68931  
 68932  func init() {
 68933  	t["ReloadRequestType"] = reflect.TypeOf((*ReloadRequestType)(nil)).Elem()
 68934  }
 68935  
 68936  type ReloadResponse struct {
 68937  }
 68938  
 68939  // The parameters of `VirtualMachine.RelocateVM_Task`.
 68940  type RelocateVMRequestType struct {
 68941  	This ManagedObjectReference `xml:"_this" json:"-"`
 68942  	// The specification of where to relocate the virtual machine
 68943  	// (see `VirtualMachineRelocateSpec`).
 68944  	Spec VirtualMachineRelocateSpec `xml:"spec" json:"spec"`
 68945  	// The task priority
 68946  	// (see `VirtualMachineMovePriority_enum`).
 68947  	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
 68948  }
 68949  
 68950  func init() {
 68951  	t["RelocateVMRequestType"] = reflect.TypeOf((*RelocateVMRequestType)(nil)).Elem()
 68952  }
 68953  
 68954  type RelocateVM_Task RelocateVMRequestType
 68955  
 68956  func init() {
 68957  	t["RelocateVM_Task"] = reflect.TypeOf((*RelocateVM_Task)(nil)).Elem()
 68958  }
 68959  
 68960  type RelocateVM_TaskResponse struct {
 68961  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68962  }
 68963  
 68964  // The parameters of `VcenterVStorageObjectManager.RelocateVStorageObject_Task`.
 68965  type RelocateVStorageObjectRequestType struct {
 68966  	This ManagedObjectReference `xml:"_this" json:"-"`
 68967  	// The ID of the virtual storage object.
 68968  	Id ID `xml:"id" json:"id"`
 68969  	// The datastore where the source virtual storage object
 68970  	// is located.
 68971  	//
 68972  	// Refers instance of `Datastore`.
 68973  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 68974  	// The specification for relocation of the virtual
 68975  	// storage object.
 68976  	Spec VslmRelocateSpec `xml:"spec" json:"spec"`
 68977  }
 68978  
 68979  func init() {
 68980  	t["RelocateVStorageObjectRequestType"] = reflect.TypeOf((*RelocateVStorageObjectRequestType)(nil)).Elem()
 68981  }
 68982  
 68983  type RelocateVStorageObject_Task RelocateVStorageObjectRequestType
 68984  
 68985  func init() {
 68986  	t["RelocateVStorageObject_Task"] = reflect.TypeOf((*RelocateVStorageObject_Task)(nil)).Elem()
 68987  }
 68988  
 68989  type RelocateVStorageObject_TaskResponse struct {
 68990  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68991  }
 68992  
 68993  // The virtual machine has a currently connected device with a remote backing.
 68994  //
 68995  // This is an error when migrating a powered-on virtual machine, and can be returned
 68996  // as a subfault of DisallowedMigrationDeviceAttached.
 68997  type RemoteDeviceNotSupported struct {
 68998  	DeviceNotSupported
 68999  }
 69000  
 69001  func init() {
 69002  	t["RemoteDeviceNotSupported"] = reflect.TypeOf((*RemoteDeviceNotSupported)(nil)).Elem()
 69003  }
 69004  
 69005  type RemoteDeviceNotSupportedFault RemoteDeviceNotSupported
 69006  
 69007  func init() {
 69008  	t["RemoteDeviceNotSupportedFault"] = reflect.TypeOf((*RemoteDeviceNotSupportedFault)(nil)).Elem()
 69009  }
 69010  
 69011  // Remote Tech Support Mode for the host has been enabled.
 69012  type RemoteTSMEnabledEvent struct {
 69013  	HostEvent
 69014  }
 69015  
 69016  func init() {
 69017  	t["RemoteTSMEnabledEvent"] = reflect.TypeOf((*RemoteTSMEnabledEvent)(nil)).Elem()
 69018  }
 69019  
 69020  type RemoveAlarm RemoveAlarmRequestType
 69021  
 69022  func init() {
 69023  	t["RemoveAlarm"] = reflect.TypeOf((*RemoveAlarm)(nil)).Elem()
 69024  }
 69025  
 69026  type RemoveAlarmRequestType struct {
 69027  	This ManagedObjectReference `xml:"_this" json:"-"`
 69028  }
 69029  
 69030  func init() {
 69031  	t["RemoveAlarmRequestType"] = reflect.TypeOf((*RemoveAlarmRequestType)(nil)).Elem()
 69032  }
 69033  
 69034  type RemoveAlarmResponse struct {
 69035  }
 69036  
 69037  // The parameters of `VirtualMachine.RemoveAllSnapshots_Task`.
 69038  type RemoveAllSnapshotsRequestType struct {
 69039  	This ManagedObjectReference `xml:"_this" json:"-"`
 69040  	// (optional) If set to true, the virtual disks of the deleted
 69041  	// snapshot will be merged with other disk if possible. Default to true.
 69042  	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty"`
 69043  	// (optional) When provided, only snapshots satisfying the
 69044  	// criteria described by the spec will be removed. If unset, all snapshots
 69045  	// will be removed.
 69046  	Spec *SnapshotSelectionSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.3.0"`
 69047  }
 69048  
 69049  func init() {
 69050  	t["RemoveAllSnapshotsRequestType"] = reflect.TypeOf((*RemoveAllSnapshotsRequestType)(nil)).Elem()
 69051  }
 69052  
 69053  type RemoveAllSnapshots_Task RemoveAllSnapshotsRequestType
 69054  
 69055  func init() {
 69056  	t["RemoveAllSnapshots_Task"] = reflect.TypeOf((*RemoveAllSnapshots_Task)(nil)).Elem()
 69057  }
 69058  
 69059  type RemoveAllSnapshots_TaskResponse struct {
 69060  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69061  }
 69062  
 69063  type RemoveAssignedLicense RemoveAssignedLicenseRequestType
 69064  
 69065  func init() {
 69066  	t["RemoveAssignedLicense"] = reflect.TypeOf((*RemoveAssignedLicense)(nil)).Elem()
 69067  }
 69068  
 69069  // The parameters of `LicenseAssignmentManager.RemoveAssignedLicense`.
 69070  type RemoveAssignedLicenseRequestType struct {
 69071  	This ManagedObjectReference `xml:"_this" json:"-"`
 69072  	// ID of the entity. E.g. HostSystem.
 69073  	EntityId string `xml:"entityId" json:"entityId"`
 69074  }
 69075  
 69076  func init() {
 69077  	t["RemoveAssignedLicenseRequestType"] = reflect.TypeOf((*RemoveAssignedLicenseRequestType)(nil)).Elem()
 69078  }
 69079  
 69080  type RemoveAssignedLicenseResponse struct {
 69081  }
 69082  
 69083  type RemoveAuthorizationRole RemoveAuthorizationRoleRequestType
 69084  
 69085  func init() {
 69086  	t["RemoveAuthorizationRole"] = reflect.TypeOf((*RemoveAuthorizationRole)(nil)).Elem()
 69087  }
 69088  
 69089  // The parameters of `AuthorizationManager.RemoveAuthorizationRole`.
 69090  type RemoveAuthorizationRoleRequestType struct {
 69091  	This   ManagedObjectReference `xml:"_this" json:"-"`
 69092  	RoleId int32                  `xml:"roleId" json:"roleId"`
 69093  	// If true, prevents the role from being
 69094  	// removed if any permissions are using it.
 69095  	FailIfUsed bool `xml:"failIfUsed" json:"failIfUsed"`
 69096  }
 69097  
 69098  func init() {
 69099  	t["RemoveAuthorizationRoleRequestType"] = reflect.TypeOf((*RemoveAuthorizationRoleRequestType)(nil)).Elem()
 69100  }
 69101  
 69102  type RemoveAuthorizationRoleResponse struct {
 69103  }
 69104  
 69105  type RemoveCustomFieldDef RemoveCustomFieldDefRequestType
 69106  
 69107  func init() {
 69108  	t["RemoveCustomFieldDef"] = reflect.TypeOf((*RemoveCustomFieldDef)(nil)).Elem()
 69109  }
 69110  
 69111  // The parameters of `CustomFieldsManager.RemoveCustomFieldDef`.
 69112  type RemoveCustomFieldDefRequestType struct {
 69113  	This ManagedObjectReference `xml:"_this" json:"-"`
 69114  	// The unique key for the field definition.
 69115  	Key int32 `xml:"key" json:"key"`
 69116  }
 69117  
 69118  func init() {
 69119  	t["RemoveCustomFieldDefRequestType"] = reflect.TypeOf((*RemoveCustomFieldDefRequestType)(nil)).Elem()
 69120  }
 69121  
 69122  type RemoveCustomFieldDefResponse struct {
 69123  }
 69124  
 69125  type RemoveDatastore RemoveDatastoreRequestType
 69126  
 69127  func init() {
 69128  	t["RemoveDatastore"] = reflect.TypeOf((*RemoveDatastore)(nil)).Elem()
 69129  }
 69130  
 69131  // The parameters of `HostDatastoreSystem.RemoveDatastoreEx_Task`.
 69132  type RemoveDatastoreExRequestType struct {
 69133  	This ManagedObjectReference `xml:"_this" json:"-"`
 69134  	// each element specifies one datastore to be removed.
 69135  	//
 69136  	// Refers instances of `Datastore`.
 69137  	Datastore []ManagedObjectReference `xml:"datastore" json:"datastore"`
 69138  }
 69139  
 69140  func init() {
 69141  	t["RemoveDatastoreExRequestType"] = reflect.TypeOf((*RemoveDatastoreExRequestType)(nil)).Elem()
 69142  }
 69143  
 69144  type RemoveDatastoreEx_Task RemoveDatastoreExRequestType
 69145  
 69146  func init() {
 69147  	t["RemoveDatastoreEx_Task"] = reflect.TypeOf((*RemoveDatastoreEx_Task)(nil)).Elem()
 69148  }
 69149  
 69150  type RemoveDatastoreEx_TaskResponse struct {
 69151  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69152  }
 69153  
 69154  // The parameters of `HostDatastoreSystem.RemoveDatastore`.
 69155  type RemoveDatastoreRequestType struct {
 69156  	This ManagedObjectReference `xml:"_this" json:"-"`
 69157  	// The datastore to be removed.
 69158  	//
 69159  	// Refers instance of `Datastore`.
 69160  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 69161  }
 69162  
 69163  func init() {
 69164  	t["RemoveDatastoreRequestType"] = reflect.TypeOf((*RemoveDatastoreRequestType)(nil)).Elem()
 69165  }
 69166  
 69167  type RemoveDatastoreResponse struct {
 69168  }
 69169  
 69170  // The parameters of `HostVsanSystem.RemoveDiskMapping_Task`.
 69171  type RemoveDiskMappingRequestType struct {
 69172  	This ManagedObjectReference `xml:"_this" json:"-"`
 69173  	// list of disk mappings to be removed from VSAN usage.
 69174  	Mapping []VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 69175  	// Any additional actions to move data out of the disk
 69176  	// before removing it. See `HostMaintenanceSpec`.
 69177  	// If unspecified, there is no action taken to move
 69178  	// data from the disk.
 69179  	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty"`
 69180  	// Time to wait for the task to complete in seconds.
 69181  	// If the value is less than or equal to zero, there
 69182  	// is no timeout. The operation fails with a Timedout
 69183  	// exception if it timed out.
 69184  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 69185  }
 69186  
 69187  func init() {
 69188  	t["RemoveDiskMappingRequestType"] = reflect.TypeOf((*RemoveDiskMappingRequestType)(nil)).Elem()
 69189  }
 69190  
 69191  type RemoveDiskMapping_Task RemoveDiskMappingRequestType
 69192  
 69193  func init() {
 69194  	t["RemoveDiskMapping_Task"] = reflect.TypeOf((*RemoveDiskMapping_Task)(nil)).Elem()
 69195  }
 69196  
 69197  type RemoveDiskMapping_TaskResponse struct {
 69198  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69199  }
 69200  
 69201  // The parameters of `HostVsanSystem.RemoveDisk_Task`.
 69202  type RemoveDiskRequestType struct {
 69203  	This ManagedObjectReference `xml:"_this" json:"-"`
 69204  	// list of disks to be removed from use by the VSAN service.
 69205  	Disk []HostScsiDisk `xml:"disk" json:"disk"`
 69206  	// Any additional actions to move data out of the disk
 69207  	// before removing it. See `HostMaintenanceSpec`.
 69208  	// If unspecified, there is no action taken to move
 69209  	// data from the disk.
 69210  	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty"`
 69211  	// Time to wait for the task to complete in seconds.
 69212  	// If the value is less than or equal to zero, there
 69213  	// is no timeout. The operation fails with a Timedout
 69214  	// exception if it timed out.
 69215  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 69216  }
 69217  
 69218  func init() {
 69219  	t["RemoveDiskRequestType"] = reflect.TypeOf((*RemoveDiskRequestType)(nil)).Elem()
 69220  }
 69221  
 69222  type RemoveDisk_Task RemoveDiskRequestType
 69223  
 69224  func init() {
 69225  	t["RemoveDisk_Task"] = reflect.TypeOf((*RemoveDisk_Task)(nil)).Elem()
 69226  }
 69227  
 69228  type RemoveDisk_TaskResponse struct {
 69229  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69230  }
 69231  
 69232  type RemoveEntityPermission RemoveEntityPermissionRequestType
 69233  
 69234  func init() {
 69235  	t["RemoveEntityPermission"] = reflect.TypeOf((*RemoveEntityPermission)(nil)).Elem()
 69236  }
 69237  
 69238  // The parameters of `AuthorizationManager.RemoveEntityPermission`.
 69239  type RemoveEntityPermissionRequestType struct {
 69240  	This ManagedObjectReference `xml:"_this" json:"-"`
 69241  	// Entity on which a permission is removed.
 69242  	//
 69243  	// Required privileges: Authorization.ModifyPermissions
 69244  	//
 69245  	// Refers instance of `ManagedEntity`.
 69246  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 69247  	// User or group for which the permission is defined.
 69248  	User string `xml:"user" json:"user"`
 69249  	// True, if user refers to a group name; false, for a user name.
 69250  	IsGroup bool `xml:"isGroup" json:"isGroup"`
 69251  }
 69252  
 69253  func init() {
 69254  	t["RemoveEntityPermissionRequestType"] = reflect.TypeOf((*RemoveEntityPermissionRequestType)(nil)).Elem()
 69255  }
 69256  
 69257  type RemoveEntityPermissionResponse struct {
 69258  }
 69259  
 69260  // This fault is thrown when the client attempts to remove an object that has
 69261  // active related objects (for example, a role that has active permissions).
 69262  type RemoveFailed struct {
 69263  	VimFault
 69264  }
 69265  
 69266  func init() {
 69267  	t["RemoveFailed"] = reflect.TypeOf((*RemoveFailed)(nil)).Elem()
 69268  }
 69269  
 69270  type RemoveFailedFault RemoveFailed
 69271  
 69272  func init() {
 69273  	t["RemoveFailedFault"] = reflect.TypeOf((*RemoveFailedFault)(nil)).Elem()
 69274  }
 69275  
 69276  type RemoveFilter RemoveFilterRequestType
 69277  
 69278  func init() {
 69279  	t["RemoveFilter"] = reflect.TypeOf((*RemoveFilter)(nil)).Elem()
 69280  }
 69281  
 69282  type RemoveFilterEntities RemoveFilterEntitiesRequestType
 69283  
 69284  func init() {
 69285  	t["RemoveFilterEntities"] = reflect.TypeOf((*RemoveFilterEntities)(nil)).Elem()
 69286  }
 69287  
 69288  // The parameters of `HealthUpdateManager.RemoveFilterEntities`.
 69289  type RemoveFilterEntitiesRequestType struct {
 69290  	This ManagedObjectReference `xml:"_this" json:"-"`
 69291  	// The filter id.
 69292  	FilterId string `xml:"filterId" json:"filterId"`
 69293  	// The list of removed managed entities.
 69294  	//
 69295  	// Refers instances of `ManagedEntity`.
 69296  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
 69297  }
 69298  
 69299  func init() {
 69300  	t["RemoveFilterEntitiesRequestType"] = reflect.TypeOf((*RemoveFilterEntitiesRequestType)(nil)).Elem()
 69301  }
 69302  
 69303  type RemoveFilterEntitiesResponse struct {
 69304  }
 69305  
 69306  // The parameters of `HealthUpdateManager.RemoveFilter`.
 69307  type RemoveFilterRequestType struct {
 69308  	This ManagedObjectReference `xml:"_this" json:"-"`
 69309  	// The filter id.
 69310  	FilterId string `xml:"filterId" json:"filterId"`
 69311  }
 69312  
 69313  func init() {
 69314  	t["RemoveFilterRequestType"] = reflect.TypeOf((*RemoveFilterRequestType)(nil)).Elem()
 69315  }
 69316  
 69317  type RemoveFilterResponse struct {
 69318  }
 69319  
 69320  type RemoveGroup RemoveGroupRequestType
 69321  
 69322  func init() {
 69323  	t["RemoveGroup"] = reflect.TypeOf((*RemoveGroup)(nil)).Elem()
 69324  }
 69325  
 69326  // The parameters of `HostLocalAccountManager.RemoveGroup`.
 69327  type RemoveGroupRequestType struct {
 69328  	This ManagedObjectReference `xml:"_this" json:"-"`
 69329  	// Group ID of the group account being removed.
 69330  	GroupName string `xml:"groupName" json:"groupName"`
 69331  }
 69332  
 69333  func init() {
 69334  	t["RemoveGroupRequestType"] = reflect.TypeOf((*RemoveGroupRequestType)(nil)).Elem()
 69335  }
 69336  
 69337  type RemoveGroupResponse struct {
 69338  }
 69339  
 69340  type RemoveGuestAlias RemoveGuestAliasRequestType
 69341  
 69342  func init() {
 69343  	t["RemoveGuestAlias"] = reflect.TypeOf((*RemoveGuestAlias)(nil)).Elem()
 69344  }
 69345  
 69346  type RemoveGuestAliasByCert RemoveGuestAliasByCertRequestType
 69347  
 69348  func init() {
 69349  	t["RemoveGuestAliasByCert"] = reflect.TypeOf((*RemoveGuestAliasByCert)(nil)).Elem()
 69350  }
 69351  
 69352  // The parameters of `GuestAliasManager.RemoveGuestAliasByCert`.
 69353  type RemoveGuestAliasByCertRequestType struct {
 69354  	This ManagedObjectReference `xml:"_this" json:"-"`
 69355  	// Virtual machine to perform the operation on.
 69356  	//
 69357  	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
 69358  	//
 69359  	// Refers instance of `VirtualMachine`.
 69360  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 69361  	// The guest authentication data for this operation. See
 69362  	// `GuestAuthentication`. These credentials must satisfy
 69363  	// authentication requirements
 69364  	// for a guest account on the specified virtual machine.
 69365  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 69366  	// Username for the guest account on the virtual machine.
 69367  	Username string `xml:"username" json:"username"`
 69368  	// The X.509 certificate to be removed, in base64
 69369  	// encoded DER format.
 69370  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 69371  }
 69372  
 69373  func init() {
 69374  	t["RemoveGuestAliasByCertRequestType"] = reflect.TypeOf((*RemoveGuestAliasByCertRequestType)(nil)).Elem()
 69375  }
 69376  
 69377  type RemoveGuestAliasByCertResponse struct {
 69378  }
 69379  
 69380  // The parameters of `GuestAliasManager.RemoveGuestAlias`.
 69381  type RemoveGuestAliasRequestType struct {
 69382  	This ManagedObjectReference `xml:"_this" json:"-"`
 69383  	// Virtual machine to perform the operation on.
 69384  	//
 69385  	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
 69386  	//
 69387  	// Refers instance of `VirtualMachine`.
 69388  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 69389  	// The guest authentication data for this operation. See
 69390  	// `GuestAuthentication`. These credentials must satisfy
 69391  	// authentication requirements
 69392  	// for a guest account on the specified virtual machine.
 69393  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 69394  	// Username for the guest account on the virtual machine.
 69395  	Username string `xml:"username" json:"username"`
 69396  	// The X.509 certificate associated with the alias to be
 69397  	// removed, in base64 encoded DER format.
 69398  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 69399  	// The subject of the alias.
 69400  	Subject BaseGuestAuthSubject `xml:"subject,typeattr" json:"subject"`
 69401  }
 69402  
 69403  func init() {
 69404  	t["RemoveGuestAliasRequestType"] = reflect.TypeOf((*RemoveGuestAliasRequestType)(nil)).Elem()
 69405  }
 69406  
 69407  type RemoveGuestAliasResponse struct {
 69408  }
 69409  
 69410  type RemoveInternetScsiSendTargets RemoveInternetScsiSendTargetsRequestType
 69411  
 69412  func init() {
 69413  	t["RemoveInternetScsiSendTargets"] = reflect.TypeOf((*RemoveInternetScsiSendTargets)(nil)).Elem()
 69414  }
 69415  
 69416  // The parameters of `HostStorageSystem.RemoveInternetScsiSendTargets`.
 69417  type RemoveInternetScsiSendTargetsRequestType struct {
 69418  	This ManagedObjectReference `xml:"_this" json:"-"`
 69419  	// The device of the Internet SCSI HBA adapter.
 69420  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 69421  	// An array of iSCSI send targets to remove.
 69422  	Targets []HostInternetScsiHbaSendTarget `xml:"targets" json:"targets"`
 69423  	// flag for forced removal of iSCSI send targets.
 69424  	// If unset, force flag will be treated as false.
 69425  	Force *bool `xml:"force" json:"force,omitempty" vim:"7.0.1.0"`
 69426  }
 69427  
 69428  func init() {
 69429  	t["RemoveInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiSendTargetsRequestType)(nil)).Elem()
 69430  }
 69431  
 69432  type RemoveInternetScsiSendTargetsResponse struct {
 69433  }
 69434  
 69435  type RemoveInternetScsiStaticTargets RemoveInternetScsiStaticTargetsRequestType
 69436  
 69437  func init() {
 69438  	t["RemoveInternetScsiStaticTargets"] = reflect.TypeOf((*RemoveInternetScsiStaticTargets)(nil)).Elem()
 69439  }
 69440  
 69441  // The parameters of `HostStorageSystem.RemoveInternetScsiStaticTargets`.
 69442  type RemoveInternetScsiStaticTargetsRequestType struct {
 69443  	This ManagedObjectReference `xml:"_this" json:"-"`
 69444  	// The device of the Internet SCSI HBA adapter.
 69445  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 69446  	// An array of iSCSI static targets to remove.
 69447  	Targets []HostInternetScsiHbaStaticTarget `xml:"targets" json:"targets"`
 69448  }
 69449  
 69450  func init() {
 69451  	t["RemoveInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiStaticTargetsRequestType)(nil)).Elem()
 69452  }
 69453  
 69454  type RemoveInternetScsiStaticTargetsResponse struct {
 69455  }
 69456  
 69457  type RemoveKey RemoveKeyRequestType
 69458  
 69459  func init() {
 69460  	t["RemoveKey"] = reflect.TypeOf((*RemoveKey)(nil)).Elem()
 69461  }
 69462  
 69463  // The parameters of `CryptoManager.RemoveKey`.
 69464  type RemoveKeyRequestType struct {
 69465  	This ManagedObjectReference `xml:"_this" json:"-"`
 69466  	// \[in\] The key to remove.
 69467  	Key CryptoKeyId `xml:"key" json:"key"`
 69468  	// \[in\] Remove the key even if in use or not existent.
 69469  	Force bool `xml:"force" json:"force"`
 69470  }
 69471  
 69472  func init() {
 69473  	t["RemoveKeyRequestType"] = reflect.TypeOf((*RemoveKeyRequestType)(nil)).Elem()
 69474  }
 69475  
 69476  type RemoveKeyResponse struct {
 69477  }
 69478  
 69479  type RemoveKeys RemoveKeysRequestType
 69480  
 69481  func init() {
 69482  	t["RemoveKeys"] = reflect.TypeOf((*RemoveKeys)(nil)).Elem()
 69483  }
 69484  
 69485  // The parameters of `CryptoManager.RemoveKeys`.
 69486  type RemoveKeysRequestType struct {
 69487  	This ManagedObjectReference `xml:"_this" json:"-"`
 69488  	// \[in\] List of keys to remove.
 69489  	Keys []CryptoKeyId `xml:"keys,omitempty" json:"keys,omitempty"`
 69490  	// \[in\] Remove the key even if in use. Always successful.
 69491  	Force bool `xml:"force" json:"force"`
 69492  }
 69493  
 69494  func init() {
 69495  	t["RemoveKeysRequestType"] = reflect.TypeOf((*RemoveKeysRequestType)(nil)).Elem()
 69496  }
 69497  
 69498  type RemoveKeysResponse struct {
 69499  	Returnval []CryptoKeyResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 69500  }
 69501  
 69502  type RemoveKmipServer RemoveKmipServerRequestType
 69503  
 69504  func init() {
 69505  	t["RemoveKmipServer"] = reflect.TypeOf((*RemoveKmipServer)(nil)).Elem()
 69506  }
 69507  
 69508  // The parameters of `CryptoManagerKmip.RemoveKmipServer`.
 69509  type RemoveKmipServerRequestType struct {
 69510  	This ManagedObjectReference `xml:"_this" json:"-"`
 69511  	// \[in\] KMIP cluster ID.
 69512  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 69513  	// \[in\] KMIP server name.
 69514  	ServerName string `xml:"serverName" json:"serverName"`
 69515  }
 69516  
 69517  func init() {
 69518  	t["RemoveKmipServerRequestType"] = reflect.TypeOf((*RemoveKmipServerRequestType)(nil)).Elem()
 69519  }
 69520  
 69521  type RemoveKmipServerResponse struct {
 69522  }
 69523  
 69524  type RemoveLicense RemoveLicenseRequestType
 69525  
 69526  func init() {
 69527  	t["RemoveLicense"] = reflect.TypeOf((*RemoveLicense)(nil)).Elem()
 69528  }
 69529  
 69530  type RemoveLicenseLabel RemoveLicenseLabelRequestType
 69531  
 69532  func init() {
 69533  	t["RemoveLicenseLabel"] = reflect.TypeOf((*RemoveLicenseLabel)(nil)).Elem()
 69534  }
 69535  
 69536  // The parameters of `LicenseManager.RemoveLicenseLabel`.
 69537  type RemoveLicenseLabelRequestType struct {
 69538  	This ManagedObjectReference `xml:"_this" json:"-"`
 69539  	// A license.
 69540  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 69541  	// A label key.
 69542  	LabelKey string `xml:"labelKey" json:"labelKey"`
 69543  }
 69544  
 69545  func init() {
 69546  	t["RemoveLicenseLabelRequestType"] = reflect.TypeOf((*RemoveLicenseLabelRequestType)(nil)).Elem()
 69547  }
 69548  
 69549  type RemoveLicenseLabelResponse struct {
 69550  }
 69551  
 69552  // The parameters of `LicenseManager.RemoveLicense`.
 69553  type RemoveLicenseRequestType struct {
 69554  	This ManagedObjectReference `xml:"_this" json:"-"`
 69555  	// A licenses. E.g. a serial license.
 69556  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 69557  }
 69558  
 69559  func init() {
 69560  	t["RemoveLicenseRequestType"] = reflect.TypeOf((*RemoveLicenseRequestType)(nil)).Elem()
 69561  }
 69562  
 69563  type RemoveLicenseResponse struct {
 69564  }
 69565  
 69566  type RemoveMonitoredEntities RemoveMonitoredEntitiesRequestType
 69567  
 69568  func init() {
 69569  	t["RemoveMonitoredEntities"] = reflect.TypeOf((*RemoveMonitoredEntities)(nil)).Elem()
 69570  }
 69571  
 69572  // The parameters of `HealthUpdateManager.RemoveMonitoredEntities`.
 69573  type RemoveMonitoredEntitiesRequestType struct {
 69574  	This ManagedObjectReference `xml:"_this" json:"-"`
 69575  	// The provider id.
 69576  	ProviderId string `xml:"providerId" json:"providerId"`
 69577  	// The entities that are no longer monitored by
 69578  	// this provider.
 69579  	//
 69580  	// Refers instances of `ManagedEntity`.
 69581  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
 69582  }
 69583  
 69584  func init() {
 69585  	t["RemoveMonitoredEntitiesRequestType"] = reflect.TypeOf((*RemoveMonitoredEntitiesRequestType)(nil)).Elem()
 69586  }
 69587  
 69588  type RemoveMonitoredEntitiesResponse struct {
 69589  }
 69590  
 69591  type RemoveNetworkResourcePool RemoveNetworkResourcePoolRequestType
 69592  
 69593  func init() {
 69594  	t["RemoveNetworkResourcePool"] = reflect.TypeOf((*RemoveNetworkResourcePool)(nil)).Elem()
 69595  }
 69596  
 69597  // The parameters of `DistributedVirtualSwitch.RemoveNetworkResourcePool`.
 69598  type RemoveNetworkResourcePoolRequestType struct {
 69599  	This ManagedObjectReference `xml:"_this" json:"-"`
 69600  	// The network resource pool key.
 69601  	Key []string `xml:"key" json:"key"`
 69602  }
 69603  
 69604  func init() {
 69605  	t["RemoveNetworkResourcePoolRequestType"] = reflect.TypeOf((*RemoveNetworkResourcePoolRequestType)(nil)).Elem()
 69606  }
 69607  
 69608  type RemoveNetworkResourcePoolResponse struct {
 69609  }
 69610  
 69611  type RemoveNvmeOverRdmaAdapter RemoveNvmeOverRdmaAdapterRequestType
 69612  
 69613  func init() {
 69614  	t["RemoveNvmeOverRdmaAdapter"] = reflect.TypeOf((*RemoveNvmeOverRdmaAdapter)(nil)).Elem()
 69615  }
 69616  
 69617  // The parameters of `HostStorageSystem.RemoveNvmeOverRdmaAdapter`.
 69618  type RemoveNvmeOverRdmaAdapterRequestType struct {
 69619  	This ManagedObjectReference `xml:"_this" json:"-"`
 69620  	// The device name of the NVME over RDMA adapter to be removed.
 69621  	HbaDeviceName string `xml:"hbaDeviceName" json:"hbaDeviceName"`
 69622  }
 69623  
 69624  func init() {
 69625  	t["RemoveNvmeOverRdmaAdapterRequestType"] = reflect.TypeOf((*RemoveNvmeOverRdmaAdapterRequestType)(nil)).Elem()
 69626  }
 69627  
 69628  type RemoveNvmeOverRdmaAdapterResponse struct {
 69629  }
 69630  
 69631  type RemovePerfInterval RemovePerfIntervalRequestType
 69632  
 69633  func init() {
 69634  	t["RemovePerfInterval"] = reflect.TypeOf((*RemovePerfInterval)(nil)).Elem()
 69635  }
 69636  
 69637  // The parameters of `PerformanceManager.RemovePerfInterval`.
 69638  type RemovePerfIntervalRequestType struct {
 69639  	This ManagedObjectReference `xml:"_this" json:"-"`
 69640  	// The sampling period, in seconds, for the specified interval being
 69641  	// removed.
 69642  	SamplePeriod int32 `xml:"samplePeriod" json:"samplePeriod"`
 69643  }
 69644  
 69645  func init() {
 69646  	t["RemovePerfIntervalRequestType"] = reflect.TypeOf((*RemovePerfIntervalRequestType)(nil)).Elem()
 69647  }
 69648  
 69649  type RemovePerfIntervalResponse struct {
 69650  }
 69651  
 69652  type RemovePortGroup RemovePortGroupRequestType
 69653  
 69654  func init() {
 69655  	t["RemovePortGroup"] = reflect.TypeOf((*RemovePortGroup)(nil)).Elem()
 69656  }
 69657  
 69658  // The parameters of `HostNetworkSystem.RemovePortGroup`.
 69659  type RemovePortGroupRequestType struct {
 69660  	This   ManagedObjectReference `xml:"_this" json:"-"`
 69661  	PgName string                 `xml:"pgName" json:"pgName"`
 69662  }
 69663  
 69664  func init() {
 69665  	t["RemovePortGroupRequestType"] = reflect.TypeOf((*RemovePortGroupRequestType)(nil)).Elem()
 69666  }
 69667  
 69668  type RemovePortGroupResponse struct {
 69669  }
 69670  
 69671  type RemoveScheduledTask RemoveScheduledTaskRequestType
 69672  
 69673  func init() {
 69674  	t["RemoveScheduledTask"] = reflect.TypeOf((*RemoveScheduledTask)(nil)).Elem()
 69675  }
 69676  
 69677  type RemoveScheduledTaskRequestType struct {
 69678  	This ManagedObjectReference `xml:"_this" json:"-"`
 69679  }
 69680  
 69681  func init() {
 69682  	t["RemoveScheduledTaskRequestType"] = reflect.TypeOf((*RemoveScheduledTaskRequestType)(nil)).Elem()
 69683  }
 69684  
 69685  type RemoveScheduledTaskResponse struct {
 69686  }
 69687  
 69688  type RemoveServiceConsoleVirtualNic RemoveServiceConsoleVirtualNicRequestType
 69689  
 69690  func init() {
 69691  	t["RemoveServiceConsoleVirtualNic"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNic)(nil)).Elem()
 69692  }
 69693  
 69694  // The parameters of `HostNetworkSystem.RemoveServiceConsoleVirtualNic`.
 69695  type RemoveServiceConsoleVirtualNicRequestType struct {
 69696  	This   ManagedObjectReference `xml:"_this" json:"-"`
 69697  	Device string                 `xml:"device" json:"device"`
 69698  }
 69699  
 69700  func init() {
 69701  	t["RemoveServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNicRequestType)(nil)).Elem()
 69702  }
 69703  
 69704  type RemoveServiceConsoleVirtualNicResponse struct {
 69705  }
 69706  
 69707  type RemoveSmartCardTrustAnchor RemoveSmartCardTrustAnchorRequestType
 69708  
 69709  func init() {
 69710  	t["RemoveSmartCardTrustAnchor"] = reflect.TypeOf((*RemoveSmartCardTrustAnchor)(nil)).Elem()
 69711  }
 69712  
 69713  type RemoveSmartCardTrustAnchorByFingerprint RemoveSmartCardTrustAnchorByFingerprintRequestType
 69714  
 69715  func init() {
 69716  	t["RemoveSmartCardTrustAnchorByFingerprint"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprint)(nil)).Elem()
 69717  }
 69718  
 69719  // The parameters of `HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchorByFingerprint`.
 69720  type RemoveSmartCardTrustAnchorByFingerprintRequestType struct {
 69721  	This ManagedObjectReference `xml:"_this" json:"-"`
 69722  	// Certificate fingerprint
 69723  	Fingerprint string `xml:"fingerprint" json:"fingerprint"`
 69724  	// Digest function used to compute fingerprint. One of
 69725  	// `HostActiveDirectoryAuthenticationCertificateDigest_enum`.
 69726  	Digest string `xml:"digest" json:"digest"`
 69727  }
 69728  
 69729  func init() {
 69730  	t["RemoveSmartCardTrustAnchorByFingerprintRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprintRequestType)(nil)).Elem()
 69731  }
 69732  
 69733  type RemoveSmartCardTrustAnchorByFingerprintResponse struct {
 69734  }
 69735  
 69736  type RemoveSmartCardTrustAnchorCertificate RemoveSmartCardTrustAnchorCertificateRequestType
 69737  
 69738  func init() {
 69739  	t["RemoveSmartCardTrustAnchorCertificate"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorCertificate)(nil)).Elem()
 69740  }
 69741  
 69742  // The parameters of `HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchorCertificate`.
 69743  type RemoveSmartCardTrustAnchorCertificateRequestType struct {
 69744  	This ManagedObjectReference `xml:"_this" json:"-"`
 69745  	// PEM encoded certificate to remove
 69746  	Certificate string `xml:"certificate" json:"certificate"`
 69747  }
 69748  
 69749  func init() {
 69750  	t["RemoveSmartCardTrustAnchorCertificateRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorCertificateRequestType)(nil)).Elem()
 69751  	minAPIVersionForType["RemoveSmartCardTrustAnchorCertificateRequestType"] = "9.0.0.0"
 69752  }
 69753  
 69754  type RemoveSmartCardTrustAnchorCertificateResponse struct {
 69755  }
 69756  
 69757  // The parameters of `HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchor`.
 69758  type RemoveSmartCardTrustAnchorRequestType struct {
 69759  	This ManagedObjectReference `xml:"_this" json:"-"`
 69760  	// Certificate issuer
 69761  	Issuer string `xml:"issuer" json:"issuer"`
 69762  	// Certificate serial number (decimal integer)
 69763  	Serial string `xml:"serial" json:"serial"`
 69764  }
 69765  
 69766  func init() {
 69767  	t["RemoveSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorRequestType)(nil)).Elem()
 69768  }
 69769  
 69770  type RemoveSmartCardTrustAnchorResponse struct {
 69771  }
 69772  
 69773  // The parameters of `VirtualMachineSnapshot.RemoveSnapshot_Task`.
 69774  type RemoveSnapshotRequestType struct {
 69775  	This ManagedObjectReference `xml:"_this" json:"-"`
 69776  	// Flag to specify removal of the entire snapshot subtree.
 69777  	RemoveChildren bool `xml:"removeChildren" json:"removeChildren"`
 69778  	// (optional) If set to true, the virtual disk associated
 69779  	// with this snapshot will be merged with other disk if possible. Defaults to true.
 69780  	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty"`
 69781  }
 69782  
 69783  func init() {
 69784  	t["RemoveSnapshotRequestType"] = reflect.TypeOf((*RemoveSnapshotRequestType)(nil)).Elem()
 69785  }
 69786  
 69787  type RemoveSnapshot_Task RemoveSnapshotRequestType
 69788  
 69789  func init() {
 69790  	t["RemoveSnapshot_Task"] = reflect.TypeOf((*RemoveSnapshot_Task)(nil)).Elem()
 69791  }
 69792  
 69793  type RemoveSnapshot_TaskResponse struct {
 69794  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69795  }
 69796  
 69797  type RemoveSoftwareAdapter RemoveSoftwareAdapterRequestType
 69798  
 69799  func init() {
 69800  	t["RemoveSoftwareAdapter"] = reflect.TypeOf((*RemoveSoftwareAdapter)(nil)).Elem()
 69801  }
 69802  
 69803  // The parameters of `HostStorageSystem.RemoveSoftwareAdapter`.
 69804  type RemoveSoftwareAdapterRequestType struct {
 69805  	This ManagedObjectReference `xml:"_this" json:"-"`
 69806  	// The device name of the adapter to be removed.
 69807  	HbaDeviceName string `xml:"hbaDeviceName" json:"hbaDeviceName"`
 69808  }
 69809  
 69810  func init() {
 69811  	t["RemoveSoftwareAdapterRequestType"] = reflect.TypeOf((*RemoveSoftwareAdapterRequestType)(nil)).Elem()
 69812  	minAPIVersionForType["RemoveSoftwareAdapterRequestType"] = "7.0.3.0"
 69813  }
 69814  
 69815  type RemoveSoftwareAdapterResponse struct {
 69816  }
 69817  
 69818  type RemoveUser RemoveUserRequestType
 69819  
 69820  func init() {
 69821  	t["RemoveUser"] = reflect.TypeOf((*RemoveUser)(nil)).Elem()
 69822  }
 69823  
 69824  // The parameters of `HostLocalAccountManager.RemoveUser`.
 69825  type RemoveUserRequestType struct {
 69826  	This ManagedObjectReference `xml:"_this" json:"-"`
 69827  	// User ID of the user account being removed.
 69828  	UserName string `xml:"userName" json:"userName"`
 69829  }
 69830  
 69831  func init() {
 69832  	t["RemoveUserRequestType"] = reflect.TypeOf((*RemoveUserRequestType)(nil)).Elem()
 69833  }
 69834  
 69835  type RemoveUserResponse struct {
 69836  }
 69837  
 69838  type RemoveVirtualNic RemoveVirtualNicRequestType
 69839  
 69840  func init() {
 69841  	t["RemoveVirtualNic"] = reflect.TypeOf((*RemoveVirtualNic)(nil)).Elem()
 69842  }
 69843  
 69844  // The parameters of `HostNetworkSystem.RemoveVirtualNic`.
 69845  type RemoveVirtualNicRequestType struct {
 69846  	This   ManagedObjectReference `xml:"_this" json:"-"`
 69847  	Device string                 `xml:"device" json:"device"`
 69848  }
 69849  
 69850  func init() {
 69851  	t["RemoveVirtualNicRequestType"] = reflect.TypeOf((*RemoveVirtualNicRequestType)(nil)).Elem()
 69852  }
 69853  
 69854  type RemoveVirtualNicResponse struct {
 69855  }
 69856  
 69857  type RemoveVirtualSwitch RemoveVirtualSwitchRequestType
 69858  
 69859  func init() {
 69860  	t["RemoveVirtualSwitch"] = reflect.TypeOf((*RemoveVirtualSwitch)(nil)).Elem()
 69861  }
 69862  
 69863  // The parameters of `HostNetworkSystem.RemoveVirtualSwitch`.
 69864  type RemoveVirtualSwitchRequestType struct {
 69865  	This        ManagedObjectReference `xml:"_this" json:"-"`
 69866  	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
 69867  }
 69868  
 69869  func init() {
 69870  	t["RemoveVirtualSwitchRequestType"] = reflect.TypeOf((*RemoveVirtualSwitchRequestType)(nil)).Elem()
 69871  }
 69872  
 69873  type RemoveVirtualSwitchResponse struct {
 69874  }
 69875  
 69876  type RenameCustomFieldDef RenameCustomFieldDefRequestType
 69877  
 69878  func init() {
 69879  	t["RenameCustomFieldDef"] = reflect.TypeOf((*RenameCustomFieldDef)(nil)).Elem()
 69880  }
 69881  
 69882  // The parameters of `CustomFieldsManager.RenameCustomFieldDef`.
 69883  type RenameCustomFieldDefRequestType struct {
 69884  	This ManagedObjectReference `xml:"_this" json:"-"`
 69885  	// The unique key for the field definition.
 69886  	Key int32 `xml:"key" json:"key"`
 69887  	// The new name for the field.
 69888  	Name string `xml:"name" json:"name"`
 69889  }
 69890  
 69891  func init() {
 69892  	t["RenameCustomFieldDefRequestType"] = reflect.TypeOf((*RenameCustomFieldDefRequestType)(nil)).Elem()
 69893  }
 69894  
 69895  type RenameCustomFieldDefResponse struct {
 69896  }
 69897  
 69898  type RenameCustomizationSpec RenameCustomizationSpecRequestType
 69899  
 69900  func init() {
 69901  	t["RenameCustomizationSpec"] = reflect.TypeOf((*RenameCustomizationSpec)(nil)).Elem()
 69902  }
 69903  
 69904  // The parameters of `CustomizationSpecManager.RenameCustomizationSpec`.
 69905  type RenameCustomizationSpecRequestType struct {
 69906  	This    ManagedObjectReference `xml:"_this" json:"-"`
 69907  	Name    string                 `xml:"name" json:"name"`
 69908  	NewName string                 `xml:"newName" json:"newName"`
 69909  }
 69910  
 69911  func init() {
 69912  	t["RenameCustomizationSpecRequestType"] = reflect.TypeOf((*RenameCustomizationSpecRequestType)(nil)).Elem()
 69913  }
 69914  
 69915  type RenameCustomizationSpecResponse struct {
 69916  }
 69917  
 69918  type RenameDatastore RenameDatastoreRequestType
 69919  
 69920  func init() {
 69921  	t["RenameDatastore"] = reflect.TypeOf((*RenameDatastore)(nil)).Elem()
 69922  }
 69923  
 69924  // The parameters of `Datastore.RenameDatastore`.
 69925  type RenameDatastoreRequestType struct {
 69926  	This ManagedObjectReference `xml:"_this" json:"-"`
 69927  	// The new name to assign to the datastore.
 69928  	NewName string `xml:"newName" json:"newName"`
 69929  }
 69930  
 69931  func init() {
 69932  	t["RenameDatastoreRequestType"] = reflect.TypeOf((*RenameDatastoreRequestType)(nil)).Elem()
 69933  }
 69934  
 69935  type RenameDatastoreResponse struct {
 69936  }
 69937  
 69938  // The parameters of `ManagedEntity.Rename_Task`.
 69939  type RenameRequestType struct {
 69940  	This    ManagedObjectReference `xml:"_this" json:"-"`
 69941  	NewName string                 `xml:"newName" json:"newName"`
 69942  }
 69943  
 69944  func init() {
 69945  	t["RenameRequestType"] = reflect.TypeOf((*RenameRequestType)(nil)).Elem()
 69946  }
 69947  
 69948  type RenameSnapshot RenameSnapshotRequestType
 69949  
 69950  func init() {
 69951  	t["RenameSnapshot"] = reflect.TypeOf((*RenameSnapshot)(nil)).Elem()
 69952  }
 69953  
 69954  // The parameters of `VirtualMachineSnapshot.RenameSnapshot`.
 69955  type RenameSnapshotRequestType struct {
 69956  	This ManagedObjectReference `xml:"_this" json:"-"`
 69957  	// New name for the snapshot.
 69958  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 69959  	// New description for the snapshot.
 69960  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 69961  }
 69962  
 69963  func init() {
 69964  	t["RenameSnapshotRequestType"] = reflect.TypeOf((*RenameSnapshotRequestType)(nil)).Elem()
 69965  }
 69966  
 69967  type RenameSnapshotResponse struct {
 69968  }
 69969  
 69970  type RenameVStorageObject RenameVStorageObjectRequestType
 69971  
 69972  func init() {
 69973  	t["RenameVStorageObject"] = reflect.TypeOf((*RenameVStorageObject)(nil)).Elem()
 69974  }
 69975  
 69976  type RenameVStorageObjectEx RenameVStorageObjectExRequestType
 69977  
 69978  func init() {
 69979  	t["RenameVStorageObjectEx"] = reflect.TypeOf((*RenameVStorageObjectEx)(nil)).Elem()
 69980  }
 69981  
 69982  // The parameters of `VStorageObjectManagerBase.RenameVStorageObjectEx`.
 69983  type RenameVStorageObjectExRequestType struct {
 69984  	This ManagedObjectReference `xml:"_this" json:"-"`
 69985  	// The ID of the virtual storage object to be renamed.
 69986  	Id ID `xml:"id" json:"id"`
 69987  	// The datastore where the virtual storage object is
 69988  	// located.
 69989  	//
 69990  	// Refers instance of `Datastore`.
 69991  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 69992  	// The new name for the virtual storage object.
 69993  	Name string `xml:"name" json:"name"`
 69994  }
 69995  
 69996  func init() {
 69997  	t["RenameVStorageObjectExRequestType"] = reflect.TypeOf((*RenameVStorageObjectExRequestType)(nil)).Elem()
 69998  	minAPIVersionForType["RenameVStorageObjectExRequestType"] = "8.0.2.0"
 69999  }
 70000  
 70001  type RenameVStorageObjectExResponse struct {
 70002  	Returnval VslmVClockInfo `xml:"returnval" json:"returnval"`
 70003  }
 70004  
 70005  // The parameters of `VcenterVStorageObjectManager.RenameVStorageObject`.
 70006  type RenameVStorageObjectRequestType struct {
 70007  	This ManagedObjectReference `xml:"_this" json:"-"`
 70008  	// The ID of the virtual storage object to be renamed.
 70009  	Id ID `xml:"id" json:"id"`
 70010  	// The datastore where the virtual storage object is
 70011  	// located.
 70012  	//
 70013  	// Refers instance of `Datastore`.
 70014  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 70015  	// The new name for the virtual storage object.
 70016  	Name string `xml:"name" json:"name"`
 70017  }
 70018  
 70019  func init() {
 70020  	t["RenameVStorageObjectRequestType"] = reflect.TypeOf((*RenameVStorageObjectRequestType)(nil)).Elem()
 70021  }
 70022  
 70023  type RenameVStorageObjectResponse struct {
 70024  }
 70025  
 70026  type Rename_Task RenameRequestType
 70027  
 70028  func init() {
 70029  	t["Rename_Task"] = reflect.TypeOf((*Rename_Task)(nil)).Elem()
 70030  }
 70031  
 70032  type Rename_TaskResponse struct {
 70033  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 70034  }
 70035  
 70036  type ReplaceCACertificatesAndCRLs ReplaceCACertificatesAndCRLsRequestType
 70037  
 70038  func init() {
 70039  	t["ReplaceCACertificatesAndCRLs"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLs)(nil)).Elem()
 70040  }
 70041  
 70042  // The parameters of `HostCertificateManager.ReplaceCACertificatesAndCRLs`.
 70043  type ReplaceCACertificatesAndCRLsRequestType struct {
 70044  	This ManagedObjectReference `xml:"_this" json:"-"`
 70045  	// List of SSL certificates, in PEM format,
 70046  	// of all CAs that should be trusted
 70047  	CaCert []string `xml:"caCert" json:"caCert"`
 70048  	// List of SSL CRLs, in PEM format,
 70049  	// issued by trusted CAs from the above list
 70050  	CaCrl []string `xml:"caCrl,omitempty" json:"caCrl,omitempty"`
 70051  }
 70052  
 70053  func init() {
 70054  	t["ReplaceCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLsRequestType)(nil)).Elem()
 70055  }
 70056  
 70057  type ReplaceCACertificatesAndCRLsResponse struct {
 70058  }
 70059  
 70060  type ReplaceSmartCardTrustAnchors ReplaceSmartCardTrustAnchorsRequestType
 70061  
 70062  func init() {
 70063  	t["ReplaceSmartCardTrustAnchors"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchors)(nil)).Elem()
 70064  }
 70065  
 70066  // The parameters of `HostActiveDirectoryAuthentication.ReplaceSmartCardTrustAnchors`.
 70067  type ReplaceSmartCardTrustAnchorsRequestType struct {
 70068  	This ManagedObjectReference `xml:"_this" json:"-"`
 70069  	// List of trusted CA certificates in PEM format. If empty
 70070  	// then all existing trust anchors are removed.
 70071  	Certs []string `xml:"certs,omitempty" json:"certs,omitempty"`
 70072  }
 70073  
 70074  func init() {
 70075  	t["ReplaceSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchorsRequestType)(nil)).Elem()
 70076  }
 70077  
 70078  type ReplaceSmartCardTrustAnchorsResponse struct {
 70079  }
 70080  
 70081  // Base type for Replication-related configuration errors.
 70082  type ReplicationConfigFault struct {
 70083  	ReplicationFault
 70084  }
 70085  
 70086  func init() {
 70087  	t["ReplicationConfigFault"] = reflect.TypeOf((*ReplicationConfigFault)(nil)).Elem()
 70088  }
 70089  
 70090  type ReplicationConfigFaultFault BaseReplicationConfigFault
 70091  
 70092  func init() {
 70093  	t["ReplicationConfigFaultFault"] = reflect.TypeOf((*ReplicationConfigFaultFault)(nil)).Elem()
 70094  }
 70095  
 70096  // The ReplicationConfigSpec object type encapsulates the replication
 70097  // configuration parameters for a virtual machine.
 70098  //
 70099  // It consists of two
 70100  // parts: 1) a set of virtual machine-wide replication properties; 2)
 70101  // a set of properties per replicated virtual disk. ReplicationSetting
 70102  // is passed as an argument for initial replication configuration
 70103  // (@see vim.HbrManager#enableReplication) as well as for
 70104  // re-configuration of a replicated VM's properties (@see
 70105  // vim.HbrManager#reconfigureReplication).
 70106  type ReplicationConfigSpec struct {
 70107  	DynamicData
 70108  
 70109  	// A generation number (&gt;=0) that reflects the "freshness" of the
 70110  	// ReplicationConfigSpec on which a re-configuration is based.
 70111  	//
 70112  	// The
 70113  	// generation number is used to detect and disallow concurrent
 70114  	// updates to a VM's replication settings.
 70115  	// For initial replication enablement, generation = 0. The
 70116  	// replication settings of every replication re-configuration
 70117  	// operation must reflect the latest generation number known to the
 70118  	// caller. It takes an explicit call to get the latest replication
 70119  	// settings to find out what the latest generation number is. The
 70120  	// update algorithm of the generation number is opaque to the
 70121  	// caller; e.g., the caller cannot assume that the generation
 70122  	// numbers are incremented by one every time replication is
 70123  	// (re)configured, not even that they are changing monotonically.
 70124  	Generation int64 `xml:"generation" json:"generation"`
 70125  	// An opaque identifier that uniquely identifies a replicated VM
 70126  	// between primary and secondary sites.
 70127  	VmReplicationId string `xml:"vmReplicationId" json:"vmReplicationId"`
 70128  	// The IP address of the HBR Server in the secondary site
 70129  	// where this VM is replicated to.
 70130  	//
 70131  	// Note: If net encryption is enabled, this is the address of the
 70132  	// encryption tunnelling agent.
 70133  	Destination string `xml:"destination" json:"destination"`
 70134  	// The port on the HBR Server in the secondary site where this VM
 70135  	// is replicated to.
 70136  	//
 70137  	// Note: If net encryption is enabled, this is the port of the
 70138  	// encryption tunneling agent.
 70139  	Port int32 `xml:"port" json:"port"`
 70140  	// The Recovery Point Objective specified for this VM, in minutes.
 70141  	//
 70142  	// Currently, valid values are in the range of 1 minute to 1440
 70143  	// minutes (24 hours).
 70144  	Rpo int64 `xml:"rpo" json:"rpo"`
 70145  	// Flag that indicates whether or not to quiesce the file system or
 70146  	// applications in the guest OS before a consistent replica is
 70147  	// created.
 70148  	QuiesceGuestEnabled bool `xml:"quiesceGuestEnabled" json:"quiesceGuestEnabled"`
 70149  	// Flag that indicates whether or not the vm or group has been paused for
 70150  	// replication.
 70151  	Paused bool `xml:"paused" json:"paused"`
 70152  	// Flag that indicates whether or not to perform opportunistic
 70153  	// updates in-between consistent replicas.
 70154  	OppUpdatesEnabled bool `xml:"oppUpdatesEnabled" json:"oppUpdatesEnabled"`
 70155  	// Flag that indicates whether or not compression should
 70156  	// be used when sending traffic over the network.
 70157  	//
 70158  	// The primary will negotiate the best compression with
 70159  	// the server on the secondary if this is enabled.
 70160  	NetCompressionEnabled *bool `xml:"netCompressionEnabled" json:"netCompressionEnabled,omitempty"`
 70161  	// Flag that indicates whether or not encription should
 70162  	// be used when sending traffic over the network.
 70163  	//
 70164  	// The primary will use the remoteCertificateThumbprint
 70165  	// to verify the identity of the remote server.
 70166  	NetEncryptionEnabled *bool `xml:"netEncryptionEnabled" json:"netEncryptionEnabled,omitempty"`
 70167  	// The IP address of the remote HBR server, target for encrypted LWD.
 70168  	//
 70169  	// This field is required when net encryption is enabled, ignored otherwise.
 70170  	EncryptionDestination string `xml:"encryptionDestination,omitempty" json:"encryptionDestination,omitempty"`
 70171  	// The port on the remote HBR server, target for encrypted LWD.
 70172  	//
 70173  	// This field is only relevant when net encryption is enabled.
 70174  	EncryptionPort int32 `xml:"encryptionPort,omitempty" json:"encryptionPort,omitempty"`
 70175  	// Deprecated field is deprecated, use
 70176  	// `HbrManager.HbrConfigureReplicationTargets_Task` instead.
 70177  	//
 70178  	// The SHA256 thumbprint of the remote server certificate.
 70179  	//
 70180  	// This field is only relevant when net encription is enabled.
 70181  	RemoteCertificateThumbprint string `xml:"remoteCertificateThumbprint,omitempty" json:"remoteCertificateThumbprint,omitempty"`
 70182  	// Flag that indicates whether DataSets files are replicated or not.
 70183  	DataSetsReplicationEnabled *bool `xml:"dataSetsReplicationEnabled" json:"dataSetsReplicationEnabled,omitempty" vim:"8.0.0.0"`
 70184  	// The set of the disks of this VM that are configured for
 70185  	// replication.
 70186  	Disk []ReplicationInfoDiskSettings `xml:"disk,omitempty" json:"disk,omitempty"`
 70187  }
 70188  
 70189  func init() {
 70190  	t["ReplicationConfigSpec"] = reflect.TypeOf((*ReplicationConfigSpec)(nil)).Elem()
 70191  }
 70192  
 70193  // A ReplicationDiskConfigFault is thrown when there is an issue with
 70194  // configuring disk replication properties.
 70195  type ReplicationDiskConfigFault struct {
 70196  	ReplicationConfigFault
 70197  
 70198  	// The reason for the failure.
 70199  	//
 70200  	// One of the above.
 70201  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 70202  	// The virtual machine, for identification purposes.
 70203  	//
 70204  	// Refers instance of `VirtualMachine`.
 70205  	VmRef *ManagedObjectReference `xml:"vmRef,omitempty" json:"vmRef,omitempty"`
 70206  	// The disk (device) key in the parent VM for identification
 70207  	// purposes.
 70208  	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
 70209  }
 70210  
 70211  func init() {
 70212  	t["ReplicationDiskConfigFault"] = reflect.TypeOf((*ReplicationDiskConfigFault)(nil)).Elem()
 70213  }
 70214  
 70215  type ReplicationDiskConfigFaultFault ReplicationDiskConfigFault
 70216  
 70217  func init() {
 70218  	t["ReplicationDiskConfigFaultFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultFault)(nil)).Elem()
 70219  }
 70220  
 70221  // Base type for Replication-related errors.
 70222  type ReplicationFault struct {
 70223  	VimFault
 70224  }
 70225  
 70226  func init() {
 70227  	t["ReplicationFault"] = reflect.TypeOf((*ReplicationFault)(nil)).Elem()
 70228  }
 70229  
 70230  type ReplicationFaultFault BaseReplicationFault
 70231  
 70232  func init() {
 70233  	t["ReplicationFaultFault"] = reflect.TypeOf((*ReplicationFaultFault)(nil)).Elem()
 70234  }
 70235  
 70236  // The identity of a replication group.
 70237  //
 70238  // # A following well-known ReplicationGroupId
 70239  //
 70240  // {
 70241  //
 70242  // faultDomainId: <a validfaultdomainid>
 70243  //
 70244  // deviceGroupId: ffffffff-ffff-ffff-ffff-ffffffffffff
 70245  //
 70246  // }
 70247  //
 70248  // means that VASA provider can create a new ReplicationGroupId
 70249  // on demand (this feature may not be supported in the first
 70250  // vSphere release that supports VVol replication).
 70251  type ReplicationGroupId struct {
 70252  	DynamicData
 70253  
 70254  	// ID of the fault domain to which the group belongs.
 70255  	//
 70256  	// Combined with the fault
 70257  	// domain id, the group id is unique. A group may (or may not) have the same
 70258  	// id in all the fault domains.
 70259  	FaultDomainId FaultDomainId `xml:"faultDomainId" json:"faultDomainId"`
 70260  	// Id of the replication device group.
 70261  	//
 70262  	// A group may have the same (or different) id in each fault
 70263  	// domain.
 70264  	DeviceGroupId DeviceGroupId `xml:"deviceGroupId" json:"deviceGroupId"`
 70265  }
 70266  
 70267  func init() {
 70268  	t["ReplicationGroupId"] = reflect.TypeOf((*ReplicationGroupId)(nil)).Elem()
 70269  }
 70270  
 70271  // Used to indicate that FT cannot be enabled on a replicated virtual machine
 70272  // (returned by `VirtualMachine.QueryFaultToleranceCompatibility`).
 70273  type ReplicationIncompatibleWithFT struct {
 70274  	ReplicationFault
 70275  }
 70276  
 70277  func init() {
 70278  	t["ReplicationIncompatibleWithFT"] = reflect.TypeOf((*ReplicationIncompatibleWithFT)(nil)).Elem()
 70279  }
 70280  
 70281  type ReplicationIncompatibleWithFTFault ReplicationIncompatibleWithFT
 70282  
 70283  func init() {
 70284  	t["ReplicationIncompatibleWithFTFault"] = reflect.TypeOf((*ReplicationIncompatibleWithFTFault)(nil)).Elem()
 70285  }
 70286  
 70287  // The ReplicationConfigSpec.DiskSettings object type encapsulates
 70288  // the replication properties of a replicated disk of a replicated
 70289  // virtual machine.
 70290  type ReplicationInfoDiskSettings struct {
 70291  	DynamicData
 70292  
 70293  	// The disk's device key in the VM's configuration.
 70294  	//
 70295  	// Used to
 70296  	// uniquely identify the disk to be configured for replication
 70297  	// in the primary VM.
 70298  	Key int32 `xml:"key" json:"key"`
 70299  	// An opaque identifier that uniquely identifies a replicated
 70300  	// disk between primary and secondary sites.
 70301  	DiskReplicationId string `xml:"diskReplicationId" json:"diskReplicationId"`
 70302  }
 70303  
 70304  func init() {
 70305  	t["ReplicationInfoDiskSettings"] = reflect.TypeOf((*ReplicationInfoDiskSettings)(nil)).Elem()
 70306  }
 70307  
 70308  // A ReplicationInvalidOptions fault is thrown when the options
 70309  // string passed contains invalid characters or broken format.
 70310  type ReplicationInvalidOptions struct {
 70311  	ReplicationFault
 70312  
 70313  	// The invalid options string.
 70314  	Options string `xml:"options" json:"options"`
 70315  	// Entity, if any, that has invalid options.
 70316  	//
 70317  	// Refers instance of `ManagedEntity`.
 70318  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 70319  }
 70320  
 70321  func init() {
 70322  	t["ReplicationInvalidOptions"] = reflect.TypeOf((*ReplicationInvalidOptions)(nil)).Elem()
 70323  }
 70324  
 70325  type ReplicationInvalidOptionsFault ReplicationInvalidOptions
 70326  
 70327  func init() {
 70328  	t["ReplicationInvalidOptionsFault"] = reflect.TypeOf((*ReplicationInvalidOptionsFault)(nil)).Elem()
 70329  }
 70330  
 70331  // Thrown if the replication module is not loaded in the host.
 70332  type ReplicationNotSupportedOnHost struct {
 70333  	ReplicationFault
 70334  }
 70335  
 70336  func init() {
 70337  	t["ReplicationNotSupportedOnHost"] = reflect.TypeOf((*ReplicationNotSupportedOnHost)(nil)).Elem()
 70338  }
 70339  
 70340  type ReplicationNotSupportedOnHostFault ReplicationNotSupportedOnHost
 70341  
 70342  func init() {
 70343  	t["ReplicationNotSupportedOnHostFault"] = reflect.TypeOf((*ReplicationNotSupportedOnHostFault)(nil)).Elem()
 70344  }
 70345  
 70346  type ReplicationSpec struct {
 70347  	DynamicData
 70348  
 70349  	// Replication Group id
 70350  	ReplicationGroupId ReplicationGroupId `xml:"replicationGroupId" json:"replicationGroupId"`
 70351  }
 70352  
 70353  func init() {
 70354  	t["ReplicationSpec"] = reflect.TypeOf((*ReplicationSpec)(nil)).Elem()
 70355  }
 70356  
 70357  // A ReplicationVmConfigFault is thrown when there is an issue with
 70358  // configuring VM-wide replication properties.
 70359  type ReplicationVmConfigFault struct {
 70360  	ReplicationConfigFault
 70361  
 70362  	// The reason for the failure.
 70363  	//
 70364  	// One of the above `ReplicationVmConfigFaultReasonForFault_enum`.
 70365  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 70366  	// The virtual machine, for identification purposes.
 70367  	//
 70368  	// Refers instance of `VirtualMachine`.
 70369  	VmRef *ManagedObjectReference `xml:"vmRef,omitempty" json:"vmRef,omitempty"`
 70370  }
 70371  
 70372  func init() {
 70373  	t["ReplicationVmConfigFault"] = reflect.TypeOf((*ReplicationVmConfigFault)(nil)).Elem()
 70374  }
 70375  
 70376  type ReplicationVmConfigFaultFault ReplicationVmConfigFault
 70377  
 70378  func init() {
 70379  	t["ReplicationVmConfigFaultFault"] = reflect.TypeOf((*ReplicationVmConfigFaultFault)(nil)).Elem()
 70380  }
 70381  
 70382  // A ReplicationVmFault is thrown when there is an issue with
 70383  // an operation performed on a replicated `VirtualMachine`
 70384  type ReplicationVmFault struct {
 70385  	ReplicationFault
 70386  
 70387  	// The reason for the failure.
 70388  	//
 70389  	// One of the above.
 70390  	Reason string `xml:"reason" json:"reason"`
 70391  	// The current `ReplicationVmState_enum` of the
 70392  	// `VirtualMachine`
 70393  	State string `xml:"state,omitempty" json:"state,omitempty"`
 70394  	// The name of the instance currently being created.
 70395  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 70396  	// The virtual machine, for identification purposes.
 70397  	//
 70398  	// Refers instance of `VirtualMachine`.
 70399  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 70400  }
 70401  
 70402  func init() {
 70403  	t["ReplicationVmFault"] = reflect.TypeOf((*ReplicationVmFault)(nil)).Elem()
 70404  }
 70405  
 70406  type ReplicationVmFaultFault BaseReplicationVmFault
 70407  
 70408  func init() {
 70409  	t["ReplicationVmFaultFault"] = reflect.TypeOf((*ReplicationVmFaultFault)(nil)).Elem()
 70410  }
 70411  
 70412  // A ReplicationVmInProgressFault is thrown when a replication operation
 70413  // failed to perform on a `VirtualMachine` because the VM is
 70414  // in the middle of another replication activity.
 70415  type ReplicationVmInProgressFault struct {
 70416  	ReplicationVmFault
 70417  
 70418  	// The requsted activity for VM replication
 70419  	RequestedActivity string `xml:"requestedActivity" json:"requestedActivity"`
 70420  	// The in-progress activity for VM replication
 70421  	InProgressActivity string `xml:"inProgressActivity" json:"inProgressActivity"`
 70422  }
 70423  
 70424  func init() {
 70425  	t["ReplicationVmInProgressFault"] = reflect.TypeOf((*ReplicationVmInProgressFault)(nil)).Elem()
 70426  }
 70427  
 70428  type ReplicationVmInProgressFaultFault ReplicationVmInProgressFault
 70429  
 70430  func init() {
 70431  	t["ReplicationVmInProgressFaultFault"] = reflect.TypeOf((*ReplicationVmInProgressFaultFault)(nil)).Elem()
 70432  }
 70433  
 70434  // A set of statistics related to the progress of the current
 70435  // operation (full sync or lwd).
 70436  type ReplicationVmProgressInfo struct {
 70437  	DynamicData
 70438  
 70439  	// An estimation of the operation progress as a percentage completed,
 70440  	// from 0 to 100.
 70441  	Progress int32 `xml:"progress" json:"progress"`
 70442  	// Number of bytes transferred so far.
 70443  	//
 70444  	// For sync operations, this value includes (i.e. counts multiple
 70445  	// times) areas that were transferred multiple times (due to stopping
 70446  	// and continuing the operation, or for some errors).
 70447  	BytesTransferred int64 `xml:"bytesTransferred" json:"bytesTransferred"`
 70448  	// The total number of bytes to be transferred.
 70449  	//
 70450  	// For lwd operations, this is the total size of the disk images that
 70451  	// are transferring. This is known from the start and will not change
 70452  	// during a lwd operation.
 70453  	//
 70454  	// For sync operations, this is the total size of the blocks that have
 70455  	// been found not to match between the primary and secondary (by
 70456  	// comparing checksums). It starts from 0 and grows as the checksum
 70457  	// operations advance. The value includes (i.e. counts multiple times)
 70458  	// areas that will end up being transferred more than once (due to
 70459  	// stopping and continuing the operation, or for some errors).
 70460  	BytesToTransfer int64 `xml:"bytesToTransfer" json:"bytesToTransfer"`
 70461  	// The total number of bytes to be checksummed, only present for sync
 70462  	// tasks.
 70463  	//
 70464  	// This is the total size of all disks.
 70465  	ChecksumTotalBytes int64 `xml:"checksumTotalBytes,omitempty" json:"checksumTotalBytes,omitempty"`
 70466  	// The total number of bytes that were checksummed, only present for
 70467  	// sync tasks.
 70468  	ChecksumComparedBytes int64 `xml:"checksumComparedBytes,omitempty" json:"checksumComparedBytes,omitempty"`
 70469  }
 70470  
 70471  func init() {
 70472  	t["ReplicationVmProgressInfo"] = reflect.TypeOf((*ReplicationVmProgressInfo)(nil)).Elem()
 70473  }
 70474  
 70475  // A RequestCanceled fault is thrown if the user canceled the task.
 70476  type RequestCanceled struct {
 70477  	RuntimeFault
 70478  }
 70479  
 70480  func init() {
 70481  	t["RequestCanceled"] = reflect.TypeOf((*RequestCanceled)(nil)).Elem()
 70482  }
 70483  
 70484  type RequestCanceledFault RequestCanceled
 70485  
 70486  func init() {
 70487  	t["RequestCanceledFault"] = reflect.TypeOf((*RequestCanceledFault)(nil)).Elem()
 70488  }
 70489  
 70490  type RescanAllHba RescanAllHbaRequestType
 70491  
 70492  func init() {
 70493  	t["RescanAllHba"] = reflect.TypeOf((*RescanAllHba)(nil)).Elem()
 70494  }
 70495  
 70496  type RescanAllHbaRequestType struct {
 70497  	This ManagedObjectReference `xml:"_this" json:"-"`
 70498  }
 70499  
 70500  func init() {
 70501  	t["RescanAllHbaRequestType"] = reflect.TypeOf((*RescanAllHbaRequestType)(nil)).Elem()
 70502  }
 70503  
 70504  type RescanAllHbaResponse struct {
 70505  }
 70506  
 70507  type RescanHba RescanHbaRequestType
 70508  
 70509  func init() {
 70510  	t["RescanHba"] = reflect.TypeOf((*RescanHba)(nil)).Elem()
 70511  }
 70512  
 70513  // The parameters of `HostStorageSystem.RescanHba`.
 70514  type RescanHbaRequestType struct {
 70515  	This ManagedObjectReference `xml:"_this" json:"-"`
 70516  	// The device of the host bus adapter.
 70517  	HbaDevice string `xml:"hbaDevice" json:"hbaDevice"`
 70518  }
 70519  
 70520  func init() {
 70521  	t["RescanHbaRequestType"] = reflect.TypeOf((*RescanHbaRequestType)(nil)).Elem()
 70522  }
 70523  
 70524  type RescanHbaResponse struct {
 70525  }
 70526  
 70527  type RescanVffs RescanVffsRequestType
 70528  
 70529  func init() {
 70530  	t["RescanVffs"] = reflect.TypeOf((*RescanVffs)(nil)).Elem()
 70531  }
 70532  
 70533  type RescanVffsRequestType struct {
 70534  	This ManagedObjectReference `xml:"_this" json:"-"`
 70535  }
 70536  
 70537  func init() {
 70538  	t["RescanVffsRequestType"] = reflect.TypeOf((*RescanVffsRequestType)(nil)).Elem()
 70539  }
 70540  
 70541  type RescanVffsResponse struct {
 70542  }
 70543  
 70544  type RescanVmfs RescanVmfsRequestType
 70545  
 70546  func init() {
 70547  	t["RescanVmfs"] = reflect.TypeOf((*RescanVmfs)(nil)).Elem()
 70548  }
 70549  
 70550  type RescanVmfsRequestType struct {
 70551  	This ManagedObjectReference `xml:"_this" json:"-"`
 70552  }
 70553  
 70554  func init() {
 70555  	t["RescanVmfsRequestType"] = reflect.TypeOf((*RescanVmfsRequestType)(nil)).Elem()
 70556  }
 70557  
 70558  type RescanVmfsResponse struct {
 70559  }
 70560  
 70561  type ResetCollector ResetCollectorRequestType
 70562  
 70563  func init() {
 70564  	t["ResetCollector"] = reflect.TypeOf((*ResetCollector)(nil)).Elem()
 70565  }
 70566  
 70567  type ResetCollectorRequestType struct {
 70568  	This ManagedObjectReference `xml:"_this" json:"-"`
 70569  }
 70570  
 70571  func init() {
 70572  	t["ResetCollectorRequestType"] = reflect.TypeOf((*ResetCollectorRequestType)(nil)).Elem()
 70573  }
 70574  
 70575  type ResetCollectorResponse struct {
 70576  }
 70577  
 70578  type ResetCounterLevelMapping ResetCounterLevelMappingRequestType
 70579  
 70580  func init() {
 70581  	t["ResetCounterLevelMapping"] = reflect.TypeOf((*ResetCounterLevelMapping)(nil)).Elem()
 70582  }
 70583  
 70584  // The parameters of `PerformanceManager.ResetCounterLevelMapping`.
 70585  type ResetCounterLevelMappingRequestType struct {
 70586  	This ManagedObjectReference `xml:"_this" json:"-"`
 70587  	// An array of counter ids.
 70588  	Counters []int32 `xml:"counters" json:"counters"`
 70589  }
 70590  
 70591  func init() {
 70592  	t["ResetCounterLevelMappingRequestType"] = reflect.TypeOf((*ResetCounterLevelMappingRequestType)(nil)).Elem()
 70593  }
 70594  
 70595  type ResetCounterLevelMappingResponse struct {
 70596  }
 70597  
 70598  type ResetEntityPermissions ResetEntityPermissionsRequestType
 70599  
 70600  func init() {
 70601  	t["ResetEntityPermissions"] = reflect.TypeOf((*ResetEntityPermissions)(nil)).Elem()
 70602  }
 70603  
 70604  // The parameters of `AuthorizationManager.ResetEntityPermissions`.
 70605  type ResetEntityPermissionsRequestType struct {
 70606  	This ManagedObjectReference `xml:"_this" json:"-"`
 70607  	// The entity on which permissions are updated.
 70608  	//
 70609  	// Required privileges: Authorization.ModifyPermissions
 70610  	//
 70611  	// Refers instance of `ManagedEntity`.
 70612  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 70613  	// The list of Permission objects that define
 70614  	// the new rules for access to the entity and
 70615  	// potentially entities below it. If the list
 70616  	// is empty, all permissions on the entity are removed.
 70617  	Permission []Permission `xml:"permission,omitempty" json:"permission,omitempty"`
 70618  }
 70619  
 70620  func init() {
 70621  	t["ResetEntityPermissionsRequestType"] = reflect.TypeOf((*ResetEntityPermissionsRequestType)(nil)).Elem()
 70622  }
 70623  
 70624  type ResetEntityPermissionsResponse struct {
 70625  }
 70626  
 70627  type ResetFirmwareToFactoryDefaults ResetFirmwareToFactoryDefaultsRequestType
 70628  
 70629  func init() {
 70630  	t["ResetFirmwareToFactoryDefaults"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaults)(nil)).Elem()
 70631  }
 70632  
 70633  type ResetFirmwareToFactoryDefaultsRequestType struct {
 70634  	This ManagedObjectReference `xml:"_this" json:"-"`
 70635  }
 70636  
 70637  func init() {
 70638  	t["ResetFirmwareToFactoryDefaultsRequestType"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaultsRequestType)(nil)).Elem()
 70639  }
 70640  
 70641  type ResetFirmwareToFactoryDefaultsResponse struct {
 70642  }
 70643  
 70644  type ResetGuestInformation ResetGuestInformationRequestType
 70645  
 70646  func init() {
 70647  	t["ResetGuestInformation"] = reflect.TypeOf((*ResetGuestInformation)(nil)).Elem()
 70648  }
 70649  
 70650  type ResetGuestInformationRequestType struct {
 70651  	This ManagedObjectReference `xml:"_this" json:"-"`
 70652  }
 70653  
 70654  func init() {
 70655  	t["ResetGuestInformationRequestType"] = reflect.TypeOf((*ResetGuestInformationRequestType)(nil)).Elem()
 70656  }
 70657  
 70658  type ResetGuestInformationResponse struct {
 70659  }
 70660  
 70661  type ResetListView ResetListViewRequestType
 70662  
 70663  func init() {
 70664  	t["ResetListView"] = reflect.TypeOf((*ResetListView)(nil)).Elem()
 70665  }
 70666  
 70667  type ResetListViewFromView ResetListViewFromViewRequestType
 70668  
 70669  func init() {
 70670  	t["ResetListViewFromView"] = reflect.TypeOf((*ResetListViewFromView)(nil)).Elem()
 70671  }
 70672  
 70673  // The parameters of `ListView.ResetListViewFromView`.
 70674  type ResetListViewFromViewRequestType struct {
 70675  	This ManagedObjectReference `xml:"_this" json:"-"`
 70676  	// The view to copy objects from.
 70677  	//
 70678  	// Refers instance of `View`.
 70679  	View ManagedObjectReference `xml:"view" json:"view"`
 70680  }
 70681  
 70682  func init() {
 70683  	t["ResetListViewFromViewRequestType"] = reflect.TypeOf((*ResetListViewFromViewRequestType)(nil)).Elem()
 70684  }
 70685  
 70686  type ResetListViewFromViewResponse struct {
 70687  }
 70688  
 70689  // The parameters of `ListView.ResetListView`.
 70690  type ResetListViewRequestType struct {
 70691  	This ManagedObjectReference `xml:"_this" json:"-"`
 70692  	// The new list of objects.
 70693  	//
 70694  	// Required privileges: System.View
 70695  	Obj []ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
 70696  }
 70697  
 70698  func init() {
 70699  	t["ResetListViewRequestType"] = reflect.TypeOf((*ResetListViewRequestType)(nil)).Elem()
 70700  }
 70701  
 70702  type ResetListViewResponse struct {
 70703  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70704  }
 70705  
 70706  type ResetSystemHealthInfo ResetSystemHealthInfoRequestType
 70707  
 70708  func init() {
 70709  	t["ResetSystemHealthInfo"] = reflect.TypeOf((*ResetSystemHealthInfo)(nil)).Elem()
 70710  }
 70711  
 70712  type ResetSystemHealthInfoRequestType struct {
 70713  	This ManagedObjectReference `xml:"_this" json:"-"`
 70714  }
 70715  
 70716  func init() {
 70717  	t["ResetSystemHealthInfoRequestType"] = reflect.TypeOf((*ResetSystemHealthInfoRequestType)(nil)).Elem()
 70718  }
 70719  
 70720  type ResetSystemHealthInfoResponse struct {
 70721  }
 70722  
 70723  type ResetVMRequestType struct {
 70724  	This ManagedObjectReference `xml:"_this" json:"-"`
 70725  }
 70726  
 70727  func init() {
 70728  	t["ResetVMRequestType"] = reflect.TypeOf((*ResetVMRequestType)(nil)).Elem()
 70729  }
 70730  
 70731  type ResetVM_Task ResetVMRequestType
 70732  
 70733  func init() {
 70734  	t["ResetVM_Task"] = reflect.TypeOf((*ResetVM_Task)(nil)).Elem()
 70735  }
 70736  
 70737  type ResetVM_TaskResponse struct {
 70738  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 70739  }
 70740  
 70741  // The parameters of `HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task`.
 70742  type ResignatureUnresolvedVmfsVolumeRequestType struct {
 70743  	This ManagedObjectReference `xml:"_this" json:"-"`
 70744  	// A data object that describes what the disk
 70745  	// extents to be used for creating the new
 70746  	// VMFS volume.
 70747  	ResolutionSpec HostUnresolvedVmfsResignatureSpec `xml:"resolutionSpec" json:"resolutionSpec"`
 70748  }
 70749  
 70750  func init() {
 70751  	t["ResignatureUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolumeRequestType)(nil)).Elem()
 70752  }
 70753  
 70754  type ResignatureUnresolvedVmfsVolume_Task ResignatureUnresolvedVmfsVolumeRequestType
 70755  
 70756  func init() {
 70757  	t["ResignatureUnresolvedVmfsVolume_Task"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolume_Task)(nil)).Elem()
 70758  }
 70759  
 70760  type ResignatureUnresolvedVmfsVolume_TaskResponse struct {
 70761  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 70762  }
 70763  
 70764  // The parameters of `IoFilterManager.ResolveInstallationErrorsOnCluster_Task`.
 70765  type ResolveInstallationErrorsOnClusterRequestType struct {
 70766  	This ManagedObjectReference `xml:"_this" json:"-"`
 70767  	// ID of the filter.
 70768  	FilterId string `xml:"filterId" json:"filterId"`
 70769  	// The cluster.
 70770  	//
 70771  	// Refers instance of `ClusterComputeResource`.
 70772  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 70773  }
 70774  
 70775  func init() {
 70776  	t["ResolveInstallationErrorsOnClusterRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnClusterRequestType)(nil)).Elem()
 70777  }
 70778  
 70779  type ResolveInstallationErrorsOnCluster_Task ResolveInstallationErrorsOnClusterRequestType
 70780  
 70781  func init() {
 70782  	t["ResolveInstallationErrorsOnCluster_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnCluster_Task)(nil)).Elem()
 70783  }
 70784  
 70785  type ResolveInstallationErrorsOnCluster_TaskResponse struct {
 70786  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 70787  }
 70788  
 70789  // The parameters of `IoFilterManager.ResolveInstallationErrorsOnHost_Task`.
 70790  type ResolveInstallationErrorsOnHostRequestType struct {
 70791  	This ManagedObjectReference `xml:"_this" json:"-"`
 70792  	// ID of the filter.
 70793  	FilterId string `xml:"filterId" json:"filterId"`
 70794  	// The host.
 70795  	//
 70796  	// Refers instance of `HostSystem`.
 70797  	Host ManagedObjectReference `xml:"host" json:"host"`
 70798  }
 70799  
 70800  func init() {
 70801  	t["ResolveInstallationErrorsOnHostRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnHostRequestType)(nil)).Elem()
 70802  }
 70803  
 70804  type ResolveInstallationErrorsOnHost_Task ResolveInstallationErrorsOnHostRequestType
 70805  
 70806  func init() {
 70807  	t["ResolveInstallationErrorsOnHost_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnHost_Task)(nil)).Elem()
 70808  }
 70809  
 70810  type ResolveInstallationErrorsOnHost_TaskResponse struct {
 70811  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 70812  }
 70813  
 70814  type ResolveMultipleUnresolvedVmfsVolumes ResolveMultipleUnresolvedVmfsVolumesRequestType
 70815  
 70816  func init() {
 70817  	t["ResolveMultipleUnresolvedVmfsVolumes"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumes)(nil)).Elem()
 70818  }
 70819  
 70820  // The parameters of `HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumesEx_Task`.
 70821  type ResolveMultipleUnresolvedVmfsVolumesExRequestType struct {
 70822  	This ManagedObjectReference `xml:"_this" json:"-"`
 70823  	// List of data object that describes what the disk
 70824  	// extents to be used for creating the new
 70825  	// VMFS volume.
 70826  	ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec" json:"resolutionSpec"`
 70827  }
 70828  
 70829  func init() {
 70830  	t["ResolveMultipleUnresolvedVmfsVolumesExRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesExRequestType)(nil)).Elem()
 70831  }
 70832  
 70833  type ResolveMultipleUnresolvedVmfsVolumesEx_Task ResolveMultipleUnresolvedVmfsVolumesExRequestType
 70834  
 70835  func init() {
 70836  	t["ResolveMultipleUnresolvedVmfsVolumesEx_Task"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesEx_Task)(nil)).Elem()
 70837  }
 70838  
 70839  type ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse struct {
 70840  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 70841  }
 70842  
 70843  // The parameters of `HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumes`.
 70844  type ResolveMultipleUnresolvedVmfsVolumesRequestType struct {
 70845  	This ManagedObjectReference `xml:"_this" json:"-"`
 70846  	// List of data object that describes what the disk
 70847  	// extents to be used for creating the new
 70848  	// VMFS volume.
 70849  	ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec" json:"resolutionSpec"`
 70850  }
 70851  
 70852  func init() {
 70853  	t["ResolveMultipleUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesRequestType)(nil)).Elem()
 70854  }
 70855  
 70856  type ResolveMultipleUnresolvedVmfsVolumesResponse struct {
 70857  	Returnval []HostUnresolvedVmfsResolutionResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70858  }
 70859  
 70860  // The ResourceAllocationInfo data object specifies the reserved resource
 70861  // requirement as well as the limit (maximum allowed usage) for a given
 70862  // kind of resource.
 70863  //
 70864  // This is specified for both memory
 70865  // allocation (specified in MB) and CPU allocation (specified in MHz).
 70866  //
 70867  // For a `ResourcePool`, the ResourceAllocationInfo object describes
 70868  // both the guaranteed amount of the resource (`ResourceAllocationInfo.reservation`)
 70869  // and whether or not it is expandable
 70870  // (`ResourceAllocationInfo.expandableReservation`).
 70871  // If expandableReservation is true, then the resource pool can grow its reservation
 70872  // dynamically by borrowing unreserved resources from its parent resource pool.
 70873  // For the methods `ResourcePool.CreateResourcePool`,
 70874  // `ResourcePool.CreateVApp` and `ResourcePool.ImportVApp`,
 70875  // you must provide values for all properties except overheadLimit; they are not optional.
 70876  // (Currently, overheadLimit is for vCenter Server use only.)
 70877  //
 70878  // If the limit is configured, it must be greater than or equal to the
 70879  // reservation.
 70880  type ResourceAllocationInfo struct {
 70881  	DynamicData
 70882  
 70883  	// Amount of resource that is guaranteed available to the virtual machine or
 70884  	// resource pool.
 70885  	//
 70886  	// Reserved resources are not wasted if they are not used. If
 70887  	// the utilization is less than the reservation, the resources can be utilized by
 70888  	// other running virtual machines. Units are MB for memory, MHz for CPU.
 70889  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 70890  	// In a resource pool with an expandable reservation, the reservation on a resource
 70891  	// pool can grow beyond the specified value, if the parent resource pool has
 70892  	// unreserved resources.
 70893  	//
 70894  	// A non-expandable reservation is called a fixed
 70895  	// reservation. This property is invalid for virtual machines.
 70896  	ExpandableReservation *bool `xml:"expandableReservation" json:"expandableReservation,omitempty"`
 70897  	// The utilization of a virtual machine/resource pool will not exceed this limit, even
 70898  	// if there are available resources.
 70899  	//
 70900  	// This is typically used to ensure a consistent
 70901  	// performance of virtual machines / resource pools independent of available resources.
 70902  	// If set to -1, then there is no fixed limit on resource usage (only bounded by available
 70903  	// resources and shares). Units are MB for memory, MHz for CPU.
 70904  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 70905  	// Memory shares are used in case of resource contention.
 70906  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 70907  	// The maximum allowed overhead memory.
 70908  	//
 70909  	// For a powered on virtual
 70910  	// machine, the overhead memory reservation cannot be larger than its
 70911  	// overheadLimit. This property is only applicable to powered on
 70912  	// virtual machines and is not persisted across reboots. This property
 70913  	// is not applicable for resource pools. If set to -1, then there is
 70914  	// no limit on reservation. Units are MB.
 70915  	//
 70916  	// Note: For vCenter Server use only. Not available for other clients
 70917  	// at this time.
 70918  	// The server will throw an exception if you attempt to set
 70919  	// this property.
 70920  	OverheadLimit *int64 `xml:"overheadLimit" json:"overheadLimit,omitempty"`
 70921  }
 70922  
 70923  func init() {
 70924  	t["ResourceAllocationInfo"] = reflect.TypeOf((*ResourceAllocationInfo)(nil)).Elem()
 70925  }
 70926  
 70927  // The ResourceAllocationOption data object specifies value ranges and
 70928  // default values for `ResourceAllocationInfo`.
 70929  type ResourceAllocationOption struct {
 70930  	DynamicData
 70931  
 70932  	// Default value and value range for `ResourceAllocationInfo.shares`.
 70933  	SharesOption SharesOption `xml:"sharesOption" json:"sharesOption"`
 70934  }
 70935  
 70936  func init() {
 70937  	t["ResourceAllocationOption"] = reflect.TypeOf((*ResourceAllocationOption)(nil)).Elem()
 70938  }
 70939  
 70940  // This data object type is a default value and value range specification
 70941  // for `ResourceConfigSpec` object.
 70942  type ResourceConfigOption struct {
 70943  	DynamicData
 70944  
 70945  	// Resource allocation options for CPU.
 70946  	//
 70947  	// See also `ResourceAllocationInfo`.
 70948  	CpuAllocationOption ResourceAllocationOption `xml:"cpuAllocationOption" json:"cpuAllocationOption"`
 70949  	// Resource allocation options for memory.
 70950  	//
 70951  	// See also `ResourceAllocationInfo`.
 70952  	MemoryAllocationOption ResourceAllocationOption `xml:"memoryAllocationOption" json:"memoryAllocationOption"`
 70953  }
 70954  
 70955  func init() {
 70956  	t["ResourceConfigOption"] = reflect.TypeOf((*ResourceConfigOption)(nil)).Elem()
 70957  }
 70958  
 70959  // This data object type is a specification for a set of resources
 70960  // allocated to a virtual machine or a resource pool.
 70961  type ResourceConfigSpec struct {
 70962  	DynamicData
 70963  
 70964  	// Reference to the entity with this resource specification:
 70965  	// either a VirtualMachine or a ResourcePool.
 70966  	//
 70967  	// Refers instance of `ManagedEntity`.
 70968  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 70969  	// The changeVersion is a unique identifier for a given version
 70970  	// of the configuration.
 70971  	//
 70972  	// Each change to the configuration will
 70973  	// update this value. This is typically implemented as an ever
 70974  	// increasing count or a time-stamp. However, a client should
 70975  	// always treat this as an opaque string.
 70976  	//
 70977  	// If specified when updating the resource config., the
 70978  	// changes will only be applied if the current changeVersion matches the
 70979  	// specified changeVersion. This field can be used to guard against updates that
 70980  	// has happened between the configInfo was read and until it is applied.
 70981  	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
 70982  	// Timestamp when the resources were last modified.
 70983  	//
 70984  	// This is ignored when
 70985  	// the object is used to update a configuration.
 70986  	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
 70987  	// Resource allocation for CPU.
 70988  	CpuAllocation ResourceAllocationInfo `xml:"cpuAllocation" json:"cpuAllocation"`
 70989  	// Resource allocation for memory.
 70990  	MemoryAllocation ResourceAllocationInfo `xml:"memoryAllocation" json:"memoryAllocation"`
 70991  	// Specifies the scaling behavior of the shares of all descendant resource
 70992  	// pools under a given resource pool.
 70993  	//
 70994  	// See `ResourceConfigSpecScaleSharesBehavior_enum` for possible values. If any
 70995  	// scaling behavior other than `disabled` is
 70996  	// specified, the system will scale the CPU and memory shares allocated to
 70997  	// each descendant resource pool with the total shares of all powered on
 70998  	// virtual machines under each respective pool. The system will also use the
 70999  	// `SharesInfo` set on each descendant resource pool as a
 71000  	// multiplier for the scale. If a resource pool's shares are already
 71001  	// scalable through the `ResourceConfigSpec.scaleDescendantsShares` setting on an ancestor
 71002  	// resource pool, the system will not allow `ResourceConfigSpec.scaleDescendantsShares` to be set on the resource
 71003  	// pool. The `ResourcePoolRuntimeInfo.sharesScalable` property
 71004  	// indicates whether or not a resource pool's shares are scalable. This
 71005  	// property does not apply to virtual machines.
 71006  	ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty" json:"scaleDescendantsShares,omitempty"`
 71007  }
 71008  
 71009  func init() {
 71010  	t["ResourceConfigSpec"] = reflect.TypeOf((*ResourceConfigSpec)(nil)).Elem()
 71011  }
 71012  
 71013  // A ResourceInUse fault indicating that some error has occurred because a
 71014  // resource was in use.
 71015  //
 71016  // Information about the resource that is in use may
 71017  // be supplied.
 71018  type ResourceInUse struct {
 71019  	VimFault
 71020  
 71021  	// Type of resource that is in use.
 71022  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 71023  	// Name of the instance of the resource that is in use.
 71024  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 71025  }
 71026  
 71027  func init() {
 71028  	t["ResourceInUse"] = reflect.TypeOf((*ResourceInUse)(nil)).Elem()
 71029  }
 71030  
 71031  type ResourceInUseFault BaseResourceInUse
 71032  
 71033  func init() {
 71034  	t["ResourceInUseFault"] = reflect.TypeOf((*ResourceInUseFault)(nil)).Elem()
 71035  }
 71036  
 71037  // A ResourceNotAvailable fault indicating that some error has occurred because a
 71038  // resource was not available.
 71039  //
 71040  // Information about the resource that is in use may
 71041  // be supplied.
 71042  type ResourceNotAvailable struct {
 71043  	VimFault
 71044  
 71045  	// Type of container that contains the resource.
 71046  	ContainerType string `xml:"containerType,omitempty" json:"containerType,omitempty"`
 71047  	// Name of container that contains the resource.
 71048  	//
 71049  	// .
 71050  	ContainerName string `xml:"containerName,omitempty" json:"containerName,omitempty"`
 71051  	// Type of resource that is not available.
 71052  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 71053  }
 71054  
 71055  func init() {
 71056  	t["ResourceNotAvailable"] = reflect.TypeOf((*ResourceNotAvailable)(nil)).Elem()
 71057  }
 71058  
 71059  type ResourceNotAvailableFault ResourceNotAvailable
 71060  
 71061  func init() {
 71062  	t["ResourceNotAvailableFault"] = reflect.TypeOf((*ResourceNotAvailableFault)(nil)).Elem()
 71063  }
 71064  
 71065  // This event records when a new resource pool is created.
 71066  type ResourcePoolCreatedEvent struct {
 71067  	ResourcePoolEvent
 71068  
 71069  	// The parent resource pool that new resource pool belongs to.
 71070  	Parent ResourcePoolEventArgument `xml:"parent" json:"parent"`
 71071  }
 71072  
 71073  func init() {
 71074  	t["ResourcePoolCreatedEvent"] = reflect.TypeOf((*ResourcePoolCreatedEvent)(nil)).Elem()
 71075  }
 71076  
 71077  // This event records when a resource pool is destroyed.
 71078  type ResourcePoolDestroyedEvent struct {
 71079  	ResourcePoolEvent
 71080  }
 71081  
 71082  func init() {
 71083  	t["ResourcePoolDestroyedEvent"] = reflect.TypeOf((*ResourcePoolDestroyedEvent)(nil)).Elem()
 71084  }
 71085  
 71086  // This event is the base class for all resource pool events.
 71087  type ResourcePoolEvent struct {
 71088  	Event
 71089  
 71090  	ResourcePool ResourcePoolEventArgument `xml:"resourcePool" json:"resourcePool"`
 71091  }
 71092  
 71093  func init() {
 71094  	t["ResourcePoolEvent"] = reflect.TypeOf((*ResourcePoolEvent)(nil)).Elem()
 71095  }
 71096  
 71097  // The event argument is a ResourcePool object.
 71098  type ResourcePoolEventArgument struct {
 71099  	EntityEventArgument
 71100  
 71101  	// The ResourcePool object.
 71102  	//
 71103  	// Refers instance of `ResourcePool`.
 71104  	ResourcePool ManagedObjectReference `xml:"resourcePool" json:"resourcePool"`
 71105  }
 71106  
 71107  func init() {
 71108  	t["ResourcePoolEventArgument"] = reflect.TypeOf((*ResourcePoolEventArgument)(nil)).Elem()
 71109  }
 71110  
 71111  // This event records when a resource pool is moved.
 71112  type ResourcePoolMovedEvent struct {
 71113  	ResourcePoolEvent
 71114  
 71115  	// The old parent of the resource Pool.
 71116  	OldParent ResourcePoolEventArgument `xml:"oldParent" json:"oldParent"`
 71117  	// The new parent of the resource Pool.
 71118  	NewParent ResourcePoolEventArgument `xml:"newParent" json:"newParent"`
 71119  }
 71120  
 71121  func init() {
 71122  	t["ResourcePoolMovedEvent"] = reflect.TypeOf((*ResourcePoolMovedEvent)(nil)).Elem()
 71123  }
 71124  
 71125  // A set of statistics that are typically updated with near real-time regularity.
 71126  //
 71127  // These statistics are aggregates of the corresponding statistics of all virtual
 71128  // machines in the given resource pool, and unless otherwise noted, only make sense
 71129  // when at least one virtual machine in the given resource pool is powered on.
 71130  // This data object type does not support notification, for scalability reasons.
 71131  // Therefore, changes in QuickStats do not generate property collector updates. To
 71132  // monitor statistics values, use the statistics and alarms modules instead.
 71133  type ResourcePoolQuickStats struct {
 71134  	DynamicData
 71135  
 71136  	// Basic CPU performance statistics, in MHz.
 71137  	OverallCpuUsage int64 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
 71138  	// Basic CPU performance statistics, in MHz.
 71139  	OverallCpuDemand int64 `xml:"overallCpuDemand,omitempty" json:"overallCpuDemand,omitempty"`
 71140  	// Guest memory utilization statistics, in MB.
 71141  	//
 71142  	// This
 71143  	// is also known as active guest memory. The number
 71144  	// can be between 0 and the configured memory size of
 71145  	// a virtual machine.
 71146  	GuestMemoryUsage int64 `xml:"guestMemoryUsage,omitempty" json:"guestMemoryUsage,omitempty"`
 71147  	// Host memory utilization statistics, in MB.
 71148  	//
 71149  	// This
 71150  	// is also known as consummed host memory. This is between 0 and
 71151  	// the configured resource limit. Valid while a virtual machine is
 71152  	// running. This includes the overhead memory of a virtual machine.
 71153  	HostMemoryUsage int64 `xml:"hostMemoryUsage,omitempty" json:"hostMemoryUsage,omitempty"`
 71154  	// This is the amount of CPU resource, in MHz, that this VM is entitled to, as
 71155  	// calculated by DRS.
 71156  	//
 71157  	// Valid only for a VM managed by DRS.
 71158  	DistributedCpuEntitlement int64 `xml:"distributedCpuEntitlement,omitempty" json:"distributedCpuEntitlement,omitempty"`
 71159  	// This is the amount of memory, in MB, that this VM is entitled to, as
 71160  	// calculated by DRS.
 71161  	//
 71162  	// Valid only for a VM managed by DRS.
 71163  	DistributedMemoryEntitlement int64 `xml:"distributedMemoryEntitlement,omitempty" json:"distributedMemoryEntitlement,omitempty"`
 71164  	// The static CPU resource entitlement for a virtual machine.
 71165  	//
 71166  	// This value is
 71167  	// calculated based on this virtual machine's resource reservations, shares
 71168  	// and limit, and doesn't take into account current usage. This is the worst
 71169  	// case CPU allocation for this virtual machine, that is, the amount of CPU
 71170  	// resource this virtual machine would receive if all virtual machines running
 71171  	// in the cluster went to maximum consumption. Units are MHz.
 71172  	StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty" json:"staticCpuEntitlement,omitempty"`
 71173  	// The static memory resource entitlement for a virtual machine.
 71174  	//
 71175  	// This value is
 71176  	// calculated based on this virtual machine's resource reservations, shares
 71177  	// and limit, and doesn't take into account current usage. This is the worst
 71178  	// case memory allocation for this virtual machine, that is, the amount of
 71179  	// memory this virtual machine would receive if all virtual machines running
 71180  	// in the cluster went to maximum consumption. Units are MB.
 71181  	StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty" json:"staticMemoryEntitlement,omitempty"`
 71182  	// The portion of memory, in MB, that is granted to a virtual machine from
 71183  	// non-shared host memory.
 71184  	PrivateMemory int64 `xml:"privateMemory,omitempty" json:"privateMemory,omitempty"`
 71185  	// The portion of memory, in MB, that is granted to a virtual machine from host
 71186  	// memory that is shared between VMs.
 71187  	SharedMemory int64 `xml:"sharedMemory,omitempty" json:"sharedMemory,omitempty"`
 71188  	// The portion of memory, in MB, that is granted to a virtual machine from the
 71189  	// host's swap space.
 71190  	//
 71191  	// This is a sign that there is memory pressure on the host.
 71192  	SwappedMemory int64 `xml:"swappedMemory,omitempty" json:"swappedMemory,omitempty"`
 71193  	// The size of the balloon driver in a virtual machine, in MB.
 71194  	//
 71195  	// The host will
 71196  	// inflate the balloon driver to reclaim physical memory from a virtual machine.
 71197  	// This is a sign that there is memory pressure on the host.
 71198  	BalloonedMemory int64 `xml:"balloonedMemory,omitempty" json:"balloonedMemory,omitempty"`
 71199  	// The amount of memory resource (in MB) that will be used by
 71200  	// a virtual machine above its guest memory requirements.
 71201  	//
 71202  	// This value is set if and only if a virtual machine is registered
 71203  	// on a host that supports memory resource allocation features.
 71204  	// For powered off VMs, this is the minimum overhead required to
 71205  	// power on the VM on the registered host.
 71206  	// For powered on VMs, this is the current overhead reservation, a
 71207  	// value which is almost always larger than the minimum overhead, and
 71208  	// which grows with time.
 71209  	//
 71210  	// See also `HostSystem.QueryMemoryOverheadEx`.
 71211  	OverheadMemory int64 `xml:"overheadMemory,omitempty" json:"overheadMemory,omitempty"`
 71212  	// The amount of overhead memory, in MB, currently being consumed to run a VM.
 71213  	//
 71214  	// This value is limited by the overhead memory reservation for a VM, stored
 71215  	// in `ResourcePoolQuickStats.overheadMemory`.
 71216  	ConsumedOverheadMemory int64 `xml:"consumedOverheadMemory,omitempty" json:"consumedOverheadMemory,omitempty"`
 71217  	// The amount of compressed memory currently consumed by VM, in KB.
 71218  	CompressedMemory int64 `xml:"compressedMemory,omitempty" json:"compressedMemory,omitempty"`
 71219  }
 71220  
 71221  func init() {
 71222  	t["ResourcePoolQuickStats"] = reflect.TypeOf((*ResourcePoolQuickStats)(nil)).Elem()
 71223  }
 71224  
 71225  // This event records when a resource pool configuration is changed.
 71226  type ResourcePoolReconfiguredEvent struct {
 71227  	ResourcePoolEvent
 71228  
 71229  	// The configuration values changed during the reconfiguration.
 71230  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 71231  }
 71232  
 71233  func init() {
 71234  	t["ResourcePoolReconfiguredEvent"] = reflect.TypeOf((*ResourcePoolReconfiguredEvent)(nil)).Elem()
 71235  }
 71236  
 71237  // Specifies the resource usage for either memory
 71238  // or CPU.
 71239  //
 71240  // For CPU the unit is MHz, for memory the unit is bytes.
 71241  //
 71242  // In the typical case, where a resourcepool is in a consistent state,
 71243  // unreservedForVm will be equal to unreservedForPool. Hence, we
 71244  // can simply say talk about unreserved resources.
 71245  //
 71246  // If the reservation on the resource pool is not expandable, then
 71247  // the following is true:
 71248  //
 71249  //	reservation = reservationUsed + unreserved
 71250  //
 71251  // If the reservation on the resource pool is expandable, then
 71252  // the following is true:
 71253  //
 71254  //	reservation + parent.unreserved = reservationUsed + unreserved
 71255  type ResourcePoolResourceUsage struct {
 71256  	DynamicData
 71257  
 71258  	// Total amount of resources that have been used to satisfy the
 71259  	// reservation requirements of all descendants of this
 71260  	// resource pool (includes both resource pools and virtual
 71261  	// machines).
 71262  	ReservationUsed int64 `xml:"reservationUsed" json:"reservationUsed"`
 71263  	// Total amount of resources that have been used to satisfy the reservation
 71264  	// requirements of running virtual machines in this resource pool or any of its
 71265  	// child resource pools.
 71266  	ReservationUsedForVm int64 `xml:"reservationUsedForVm" json:"reservationUsedForVm"`
 71267  	// Total amount of resources available to satisfy a reservation
 71268  	// for a child resource pool.
 71269  	//
 71270  	// In the undercommitted state, this is
 71271  	// limited by the capacity at the root node. In the overcommitted case,
 71272  	// this could be higher since we do not perform the dynamic capacity
 71273  	// checks.
 71274  	UnreservedForPool int64 `xml:"unreservedForPool" json:"unreservedForPool"`
 71275  	// Total amount of resources available to satisfy a reservation for
 71276  	// a child virtual machine.
 71277  	//
 71278  	// In general, this should be the same as
 71279  	// `ResourcePoolResourceUsage.unreservedForPool`. However, in the overcommitted case, this
 71280  	// is limited by the remaining available resources at the root
 71281  	// node.
 71282  	UnreservedForVm int64 `xml:"unreservedForVm" json:"unreservedForVm"`
 71283  	// Deprecated as of vSphere API 6.5.
 71284  	// Use `ResourcePoolQuickStats.overallCpuUsage` and
 71285  	// `ResourcePoolQuickStats.hostMemoryUsage`.
 71286  	//
 71287  	// Close to real-time resource usage of all running child virtual
 71288  	// machines, including virtual machines in child resource pools.
 71289  	OverallUsage int64 `xml:"overallUsage" json:"overallUsage"`
 71290  	// Current upper-bound on usage.
 71291  	//
 71292  	// The upper-bound is based on the limit configured
 71293  	// on this resource pool, as well as limits configured on any parent resource
 71294  	// pool.
 71295  	MaxUsage int64 `xml:"maxUsage" json:"maxUsage"`
 71296  }
 71297  
 71298  func init() {
 71299  	t["ResourcePoolResourceUsage"] = reflect.TypeOf((*ResourcePoolResourceUsage)(nil)).Elem()
 71300  }
 71301  
 71302  // Current runtime resource usage and state of the resource pool
 71303  type ResourcePoolRuntimeInfo struct {
 71304  	DynamicData
 71305  
 71306  	// Runtime resource usage for memory.
 71307  	//
 71308  	// Values are in bytes.
 71309  	Memory ResourcePoolResourceUsage `xml:"memory" json:"memory"`
 71310  	// Runtime resource usage for CPU.
 71311  	//
 71312  	// Values are in Mhz.
 71313  	Cpu ResourcePoolResourceUsage `xml:"cpu" json:"cpu"`
 71314  	// Deprecated as of vSphere API 6.5.
 71315  	// Use `ManagedEntity.overallStatus`.
 71316  	//
 71317  	// Overall health of the tree.
 71318  	//
 71319  	// See header for description of various
 71320  	// statuses and when they are set.
 71321  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 71322  	// The scaling behavior of the shares of a given resource pool.
 71323  	//
 71324  	// See `ResourceConfigSpecScaleSharesBehavior_enum` for possible values. The
 71325  	// system will automatically compute this property based on the `ResourceConfigSpec.scaleDescendantsShares` setting on every
 71326  	// ancestor resource pool. This property does not apply to virtual
 71327  	// machines.
 71328  	SharesScalable string `xml:"sharesScalable,omitempty" json:"sharesScalable,omitempty"`
 71329  }
 71330  
 71331  func init() {
 71332  	t["ResourcePoolRuntimeInfo"] = reflect.TypeOf((*ResourcePoolRuntimeInfo)(nil)).Elem()
 71333  }
 71334  
 71335  // This data object type encapsulates a typical set of resource
 71336  // pool information that is useful for list views and summary pages.
 71337  type ResourcePoolSummary struct {
 71338  	DynamicData
 71339  
 71340  	// Name of resource pool.
 71341  	Name string `xml:"name" json:"name"`
 71342  	// Current configuration of the resource pool.
 71343  	Config ResourceConfigSpec `xml:"config" json:"config"`
 71344  	// Current runtime state of the resource pool.
 71345  	Runtime ResourcePoolRuntimeInfo `xml:"runtime" json:"runtime"`
 71346  	// A set of statistics that are typically updated with near real-time regularity.
 71347  	//
 71348  	// This data object type does not support notification, for scalability reasons.
 71349  	// Therefore, changes in QuickStats do not generate property collector updates.
 71350  	// To monitor statistics values, use the statistics and alarms modules instead.
 71351  	QuickStats *ResourcePoolQuickStats `xml:"quickStats,omitempty" json:"quickStats,omitempty"`
 71352  	// Total configured memory of all virtual machines in the resource pool, in MB.
 71353  	ConfiguredMemoryMB int32 `xml:"configuredMemoryMB,omitempty" json:"configuredMemoryMB,omitempty"`
 71354  }
 71355  
 71356  func init() {
 71357  	t["ResourcePoolSummary"] = reflect.TypeOf((*ResourcePoolSummary)(nil)).Elem()
 71358  }
 71359  
 71360  // This event records when a conflict with a resource pool's resource
 71361  // configuration is detected.
 71362  type ResourceViolatedEvent struct {
 71363  	ResourcePoolEvent
 71364  }
 71365  
 71366  func init() {
 71367  	t["ResourceViolatedEvent"] = reflect.TypeOf((*ResourceViolatedEvent)(nil)).Elem()
 71368  }
 71369  
 71370  type RestartService RestartServiceRequestType
 71371  
 71372  func init() {
 71373  	t["RestartService"] = reflect.TypeOf((*RestartService)(nil)).Elem()
 71374  }
 71375  
 71376  type RestartServiceConsoleVirtualNic RestartServiceConsoleVirtualNicRequestType
 71377  
 71378  func init() {
 71379  	t["RestartServiceConsoleVirtualNic"] = reflect.TypeOf((*RestartServiceConsoleVirtualNic)(nil)).Elem()
 71380  }
 71381  
 71382  // The parameters of `HostNetworkSystem.RestartServiceConsoleVirtualNic`.
 71383  type RestartServiceConsoleVirtualNicRequestType struct {
 71384  	This   ManagedObjectReference `xml:"_this" json:"-"`
 71385  	Device string                 `xml:"device" json:"device"`
 71386  }
 71387  
 71388  func init() {
 71389  	t["RestartServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RestartServiceConsoleVirtualNicRequestType)(nil)).Elem()
 71390  }
 71391  
 71392  type RestartServiceConsoleVirtualNicResponse struct {
 71393  }
 71394  
 71395  // The parameters of `HostServiceSystem.RestartService`.
 71396  type RestartServiceRequestType struct {
 71397  	This ManagedObjectReference `xml:"_this" json:"-"`
 71398  	// Service identifier
 71399  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 71400  	Id string `xml:"id" json:"id"`
 71401  }
 71402  
 71403  func init() {
 71404  	t["RestartServiceRequestType"] = reflect.TypeOf((*RestartServiceRequestType)(nil)).Elem()
 71405  }
 71406  
 71407  type RestartServiceResponse struct {
 71408  }
 71409  
 71410  type RestoreFirmwareConfiguration RestoreFirmwareConfigurationRequestType
 71411  
 71412  func init() {
 71413  	t["RestoreFirmwareConfiguration"] = reflect.TypeOf((*RestoreFirmwareConfiguration)(nil)).Elem()
 71414  }
 71415  
 71416  // The parameters of `HostFirmwareSystem.RestoreFirmwareConfiguration`.
 71417  type RestoreFirmwareConfigurationRequestType struct {
 71418  	This ManagedObjectReference `xml:"_this" json:"-"`
 71419  	// Forces application of the configuration even if the bundle
 71420  	// is mismatched.
 71421  	Force bool `xml:"force" json:"force"`
 71422  }
 71423  
 71424  func init() {
 71425  	t["RestoreFirmwareConfigurationRequestType"] = reflect.TypeOf((*RestoreFirmwareConfigurationRequestType)(nil)).Elem()
 71426  }
 71427  
 71428  type RestoreFirmwareConfigurationResponse struct {
 71429  }
 71430  
 71431  // This fault is thrown when an operation cannot complete because of some
 71432  // restriction set by the server administrator.
 71433  type RestrictedByAdministrator struct {
 71434  	RuntimeFault
 71435  
 71436  	Details string `xml:"details" json:"details"`
 71437  }
 71438  
 71439  func init() {
 71440  	t["RestrictedByAdministrator"] = reflect.TypeOf((*RestrictedByAdministrator)(nil)).Elem()
 71441  }
 71442  
 71443  type RestrictedByAdministratorFault RestrictedByAdministrator
 71444  
 71445  func init() {
 71446  	t["RestrictedByAdministratorFault"] = reflect.TypeOf((*RestrictedByAdministratorFault)(nil)).Elem()
 71447  }
 71448  
 71449  // Thrown when the caller is not permitted to perform the specified
 71450  // operation due to product versioning restrictions.
 71451  type RestrictedVersion struct {
 71452  	SecurityError
 71453  }
 71454  
 71455  func init() {
 71456  	t["RestrictedVersion"] = reflect.TypeOf((*RestrictedVersion)(nil)).Elem()
 71457  }
 71458  
 71459  type RestrictedVersionFault RestrictedVersion
 71460  
 71461  func init() {
 71462  	t["RestrictedVersionFault"] = reflect.TypeOf((*RestrictedVersionFault)(nil)).Elem()
 71463  }
 71464  
 71465  type RetrieveAllPermissions RetrieveAllPermissionsRequestType
 71466  
 71467  func init() {
 71468  	t["RetrieveAllPermissions"] = reflect.TypeOf((*RetrieveAllPermissions)(nil)).Elem()
 71469  }
 71470  
 71471  type RetrieveAllPermissionsRequestType struct {
 71472  	This ManagedObjectReference `xml:"_this" json:"-"`
 71473  }
 71474  
 71475  func init() {
 71476  	t["RetrieveAllPermissionsRequestType"] = reflect.TypeOf((*RetrieveAllPermissionsRequestType)(nil)).Elem()
 71477  }
 71478  
 71479  type RetrieveAllPermissionsResponse struct {
 71480  	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71481  }
 71482  
 71483  type RetrieveAnswerFile RetrieveAnswerFileRequestType
 71484  
 71485  func init() {
 71486  	t["RetrieveAnswerFile"] = reflect.TypeOf((*RetrieveAnswerFile)(nil)).Elem()
 71487  }
 71488  
 71489  type RetrieveAnswerFileForProfile RetrieveAnswerFileForProfileRequestType
 71490  
 71491  func init() {
 71492  	t["RetrieveAnswerFileForProfile"] = reflect.TypeOf((*RetrieveAnswerFileForProfile)(nil)).Elem()
 71493  }
 71494  
 71495  // The parameters of `HostProfileManager.RetrieveAnswerFileForProfile`.
 71496  type RetrieveAnswerFileForProfileRequestType struct {
 71497  	This ManagedObjectReference `xml:"_this" json:"-"`
 71498  	// Host with which the answer file is associated.
 71499  	//
 71500  	// Required privileges: Profile.Edit
 71501  	//
 71502  	// Refers instance of `HostSystem`.
 71503  	Host ManagedObjectReference `xml:"host" json:"host"`
 71504  	// Profile configuration used to generate answer file
 71505  	ApplyProfile HostApplyProfile `xml:"applyProfile" json:"applyProfile"`
 71506  }
 71507  
 71508  func init() {
 71509  	t["RetrieveAnswerFileForProfileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileForProfileRequestType)(nil)).Elem()
 71510  }
 71511  
 71512  type RetrieveAnswerFileForProfileResponse struct {
 71513  	Returnval *AnswerFile `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71514  }
 71515  
 71516  // The parameters of `HostProfileManager.RetrieveAnswerFile`.
 71517  type RetrieveAnswerFileRequestType struct {
 71518  	This ManagedObjectReference `xml:"_this" json:"-"`
 71519  	// Host with which the answer file is associated.
 71520  	//
 71521  	// Required privileges: Profile.Edit
 71522  	//
 71523  	// Refers instance of `HostSystem`.
 71524  	Host ManagedObjectReference `xml:"host" json:"host"`
 71525  }
 71526  
 71527  func init() {
 71528  	t["RetrieveAnswerFileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileRequestType)(nil)).Elem()
 71529  }
 71530  
 71531  type RetrieveAnswerFileResponse struct {
 71532  	Returnval *AnswerFile `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71533  }
 71534  
 71535  type RetrieveArgumentDescription RetrieveArgumentDescriptionRequestType
 71536  
 71537  func init() {
 71538  	t["RetrieveArgumentDescription"] = reflect.TypeOf((*RetrieveArgumentDescription)(nil)).Elem()
 71539  }
 71540  
 71541  // The parameters of `EventManager.RetrieveArgumentDescription`.
 71542  type RetrieveArgumentDescriptionRequestType struct {
 71543  	This        ManagedObjectReference `xml:"_this" json:"-"`
 71544  	EventTypeId string                 `xml:"eventTypeId" json:"eventTypeId"`
 71545  }
 71546  
 71547  func init() {
 71548  	t["RetrieveArgumentDescriptionRequestType"] = reflect.TypeOf((*RetrieveArgumentDescriptionRequestType)(nil)).Elem()
 71549  }
 71550  
 71551  type RetrieveArgumentDescriptionResponse struct {
 71552  	Returnval []EventArgDesc `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71553  }
 71554  
 71555  type RetrieveCertificateInfoList RetrieveCertificateInfoListRequestType
 71556  
 71557  func init() {
 71558  	t["RetrieveCertificateInfoList"] = reflect.TypeOf((*RetrieveCertificateInfoList)(nil)).Elem()
 71559  }
 71560  
 71561  type RetrieveCertificateInfoListRequestType struct {
 71562  	This ManagedObjectReference `xml:"_this" json:"-"`
 71563  }
 71564  
 71565  func init() {
 71566  	t["RetrieveCertificateInfoListRequestType"] = reflect.TypeOf((*RetrieveCertificateInfoListRequestType)(nil)).Elem()
 71567  }
 71568  
 71569  type RetrieveCertificateInfoListResponse struct {
 71570  	Returnval []HostCertificateManagerCertificateInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71571  }
 71572  
 71573  type RetrieveClientCert RetrieveClientCertRequestType
 71574  
 71575  func init() {
 71576  	t["RetrieveClientCert"] = reflect.TypeOf((*RetrieveClientCert)(nil)).Elem()
 71577  }
 71578  
 71579  // The parameters of `CryptoManagerKmip.RetrieveClientCert`.
 71580  type RetrieveClientCertRequestType struct {
 71581  	This ManagedObjectReference `xml:"_this" json:"-"`
 71582  	// \[in\] KMIP cluster.
 71583  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 71584  }
 71585  
 71586  func init() {
 71587  	t["RetrieveClientCertRequestType"] = reflect.TypeOf((*RetrieveClientCertRequestType)(nil)).Elem()
 71588  }
 71589  
 71590  type RetrieveClientCertResponse struct {
 71591  	Returnval string `xml:"returnval" json:"returnval"`
 71592  }
 71593  
 71594  type RetrieveClientCsr RetrieveClientCsrRequestType
 71595  
 71596  func init() {
 71597  	t["RetrieveClientCsr"] = reflect.TypeOf((*RetrieveClientCsr)(nil)).Elem()
 71598  }
 71599  
 71600  // The parameters of `CryptoManagerKmip.RetrieveClientCsr`.
 71601  type RetrieveClientCsrRequestType struct {
 71602  	This ManagedObjectReference `xml:"_this" json:"-"`
 71603  	// \[in\] KMIP cluster.
 71604  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 71605  }
 71606  
 71607  func init() {
 71608  	t["RetrieveClientCsrRequestType"] = reflect.TypeOf((*RetrieveClientCsrRequestType)(nil)).Elem()
 71609  }
 71610  
 71611  type RetrieveClientCsrResponse struct {
 71612  	Returnval string `xml:"returnval" json:"returnval"`
 71613  }
 71614  
 71615  type RetrieveDasAdvancedRuntimeInfo RetrieveDasAdvancedRuntimeInfoRequestType
 71616  
 71617  func init() {
 71618  	t["RetrieveDasAdvancedRuntimeInfo"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfo)(nil)).Elem()
 71619  }
 71620  
 71621  type RetrieveDasAdvancedRuntimeInfoRequestType struct {
 71622  	This ManagedObjectReference `xml:"_this" json:"-"`
 71623  }
 71624  
 71625  func init() {
 71626  	t["RetrieveDasAdvancedRuntimeInfoRequestType"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfoRequestType)(nil)).Elem()
 71627  }
 71628  
 71629  type RetrieveDasAdvancedRuntimeInfoResponse struct {
 71630  	Returnval BaseClusterDasAdvancedRuntimeInfo `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 71631  }
 71632  
 71633  type RetrieveDescription RetrieveDescriptionRequestType
 71634  
 71635  func init() {
 71636  	t["RetrieveDescription"] = reflect.TypeOf((*RetrieveDescription)(nil)).Elem()
 71637  }
 71638  
 71639  type RetrieveDescriptionRequestType struct {
 71640  	This ManagedObjectReference `xml:"_this" json:"-"`
 71641  }
 71642  
 71643  func init() {
 71644  	t["RetrieveDescriptionRequestType"] = reflect.TypeOf((*RetrieveDescriptionRequestType)(nil)).Elem()
 71645  }
 71646  
 71647  type RetrieveDescriptionResponse struct {
 71648  	Returnval *ProfileDescription `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71649  }
 71650  
 71651  type RetrieveDiskPartitionInfo RetrieveDiskPartitionInfoRequestType
 71652  
 71653  func init() {
 71654  	t["RetrieveDiskPartitionInfo"] = reflect.TypeOf((*RetrieveDiskPartitionInfo)(nil)).Elem()
 71655  }
 71656  
 71657  // The parameters of `HostStorageSystem.RetrieveDiskPartitionInfo`.
 71658  type RetrieveDiskPartitionInfoRequestType struct {
 71659  	This ManagedObjectReference `xml:"_this" json:"-"`
 71660  	// An array of device path names that identify disks.
 71661  	// See `ScsiDisk`.
 71662  	DevicePath []string `xml:"devicePath" json:"devicePath"`
 71663  }
 71664  
 71665  func init() {
 71666  	t["RetrieveDiskPartitionInfoRequestType"] = reflect.TypeOf((*RetrieveDiskPartitionInfoRequestType)(nil)).Elem()
 71667  }
 71668  
 71669  type RetrieveDiskPartitionInfoResponse struct {
 71670  	Returnval []HostDiskPartitionInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71671  }
 71672  
 71673  type RetrieveDynamicPassthroughInfo RetrieveDynamicPassthroughInfoRequestType
 71674  
 71675  func init() {
 71676  	t["RetrieveDynamicPassthroughInfo"] = reflect.TypeOf((*RetrieveDynamicPassthroughInfo)(nil)).Elem()
 71677  }
 71678  
 71679  type RetrieveDynamicPassthroughInfoRequestType struct {
 71680  	This ManagedObjectReference `xml:"_this" json:"-"`
 71681  }
 71682  
 71683  func init() {
 71684  	t["RetrieveDynamicPassthroughInfoRequestType"] = reflect.TypeOf((*RetrieveDynamicPassthroughInfoRequestType)(nil)).Elem()
 71685  }
 71686  
 71687  type RetrieveDynamicPassthroughInfoResponse struct {
 71688  	Returnval []VirtualMachineDynamicPassthroughInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71689  }
 71690  
 71691  type RetrieveEntityPermissions RetrieveEntityPermissionsRequestType
 71692  
 71693  func init() {
 71694  	t["RetrieveEntityPermissions"] = reflect.TypeOf((*RetrieveEntityPermissions)(nil)).Elem()
 71695  }
 71696  
 71697  // The parameters of `AuthorizationManager.RetrieveEntityPermissions`.
 71698  type RetrieveEntityPermissionsRequestType struct {
 71699  	This ManagedObjectReference `xml:"_this" json:"-"`
 71700  	// Required privileges: System.Read
 71701  	//
 71702  	// Refers instance of `ManagedEntity`.
 71703  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 71704  	// Whether or not to include propagating permissions
 71705  	// defined by parent entities.
 71706  	Inherited bool `xml:"inherited" json:"inherited"`
 71707  }
 71708  
 71709  func init() {
 71710  	t["RetrieveEntityPermissionsRequestType"] = reflect.TypeOf((*RetrieveEntityPermissionsRequestType)(nil)).Elem()
 71711  }
 71712  
 71713  type RetrieveEntityPermissionsResponse struct {
 71714  	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71715  }
 71716  
 71717  type RetrieveEntityScheduledTask RetrieveEntityScheduledTaskRequestType
 71718  
 71719  func init() {
 71720  	t["RetrieveEntityScheduledTask"] = reflect.TypeOf((*RetrieveEntityScheduledTask)(nil)).Elem()
 71721  }
 71722  
 71723  // The parameters of `ScheduledTaskManager.RetrieveEntityScheduledTask`.
 71724  type RetrieveEntityScheduledTaskRequestType struct {
 71725  	This ManagedObjectReference `xml:"_this" json:"-"`
 71726  	// The entity. If null, all scheduled tasks are returned
 71727  	// for visible entities.
 71728  	//
 71729  	// Refers instance of `ManagedEntity`.
 71730  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 71731  }
 71732  
 71733  func init() {
 71734  	t["RetrieveEntityScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveEntityScheduledTaskRequestType)(nil)).Elem()
 71735  }
 71736  
 71737  type RetrieveEntityScheduledTaskResponse struct {
 71738  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71739  }
 71740  
 71741  type RetrieveFreeEpcMemory RetrieveFreeEpcMemoryRequestType
 71742  
 71743  func init() {
 71744  	t["RetrieveFreeEpcMemory"] = reflect.TypeOf((*RetrieveFreeEpcMemory)(nil)).Elem()
 71745  }
 71746  
 71747  type RetrieveFreeEpcMemoryRequestType struct {
 71748  	This ManagedObjectReference `xml:"_this" json:"-"`
 71749  }
 71750  
 71751  func init() {
 71752  	t["RetrieveFreeEpcMemoryRequestType"] = reflect.TypeOf((*RetrieveFreeEpcMemoryRequestType)(nil)).Elem()
 71753  }
 71754  
 71755  type RetrieveFreeEpcMemoryResponse struct {
 71756  	Returnval int64 `xml:"returnval" json:"returnval"`
 71757  }
 71758  
 71759  type RetrieveHardwareUptime RetrieveHardwareUptimeRequestType
 71760  
 71761  func init() {
 71762  	t["RetrieveHardwareUptime"] = reflect.TypeOf((*RetrieveHardwareUptime)(nil)).Elem()
 71763  }
 71764  
 71765  type RetrieveHardwareUptimeRequestType struct {
 71766  	This ManagedObjectReference `xml:"_this" json:"-"`
 71767  }
 71768  
 71769  func init() {
 71770  	t["RetrieveHardwareUptimeRequestType"] = reflect.TypeOf((*RetrieveHardwareUptimeRequestType)(nil)).Elem()
 71771  }
 71772  
 71773  type RetrieveHardwareUptimeResponse struct {
 71774  	Returnval int64 `xml:"returnval" json:"returnval"`
 71775  }
 71776  
 71777  type RetrieveHostAccessControlEntries RetrieveHostAccessControlEntriesRequestType
 71778  
 71779  func init() {
 71780  	t["RetrieveHostAccessControlEntries"] = reflect.TypeOf((*RetrieveHostAccessControlEntries)(nil)).Elem()
 71781  }
 71782  
 71783  type RetrieveHostAccessControlEntriesRequestType struct {
 71784  	This ManagedObjectReference `xml:"_this" json:"-"`
 71785  }
 71786  
 71787  func init() {
 71788  	t["RetrieveHostAccessControlEntriesRequestType"] = reflect.TypeOf((*RetrieveHostAccessControlEntriesRequestType)(nil)).Elem()
 71789  }
 71790  
 71791  type RetrieveHostAccessControlEntriesResponse struct {
 71792  	Returnval []HostAccessControlEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71793  }
 71794  
 71795  type RetrieveHostCustomizations RetrieveHostCustomizationsRequestType
 71796  
 71797  func init() {
 71798  	t["RetrieveHostCustomizations"] = reflect.TypeOf((*RetrieveHostCustomizations)(nil)).Elem()
 71799  }
 71800  
 71801  type RetrieveHostCustomizationsForProfile RetrieveHostCustomizationsForProfileRequestType
 71802  
 71803  func init() {
 71804  	t["RetrieveHostCustomizationsForProfile"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfile)(nil)).Elem()
 71805  }
 71806  
 71807  // The parameters of `HostProfileManager.RetrieveHostCustomizationsForProfile`.
 71808  type RetrieveHostCustomizationsForProfileRequestType struct {
 71809  	This ManagedObjectReference `xml:"_this" json:"-"`
 71810  	// Hosts with which the answer files are associated.
 71811  	//
 71812  	// Required privileges: Profile.Edit
 71813  	//
 71814  	// Refers instances of `HostSystem`.
 71815  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 71816  	// Profile configuration used to generate answer file
 71817  	ApplyProfile HostApplyProfile `xml:"applyProfile" json:"applyProfile"`
 71818  }
 71819  
 71820  func init() {
 71821  	t["RetrieveHostCustomizationsForProfileRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfileRequestType)(nil)).Elem()
 71822  }
 71823  
 71824  type RetrieveHostCustomizationsForProfileResponse struct {
 71825  	Returnval []StructuredCustomizations `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71826  }
 71827  
 71828  // The parameters of `HostProfileManager.RetrieveHostCustomizations`.
 71829  type RetrieveHostCustomizationsRequestType struct {
 71830  	This ManagedObjectReference `xml:"_this" json:"-"`
 71831  	// Hosts with which the answer files are associated.
 71832  	//
 71833  	// Required privileges: Profile.Edit
 71834  	//
 71835  	// Refers instances of `HostSystem`.
 71836  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 71837  }
 71838  
 71839  func init() {
 71840  	t["RetrieveHostCustomizationsRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsRequestType)(nil)).Elem()
 71841  }
 71842  
 71843  type RetrieveHostCustomizationsResponse struct {
 71844  	Returnval []StructuredCustomizations `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71845  }
 71846  
 71847  type RetrieveHostSpecification RetrieveHostSpecificationRequestType
 71848  
 71849  func init() {
 71850  	t["RetrieveHostSpecification"] = reflect.TypeOf((*RetrieveHostSpecification)(nil)).Elem()
 71851  }
 71852  
 71853  // The parameters of `HostSpecificationManager.RetrieveHostSpecification`.
 71854  type RetrieveHostSpecificationRequestType struct {
 71855  	This ManagedObjectReference `xml:"_this" json:"-"`
 71856  	// The specified host whose host specification will be retrieved.
 71857  	//
 71858  	// Refers instance of `HostSystem`.
 71859  	Host ManagedObjectReference `xml:"host" json:"host"`
 71860  	// Whether retrieve from the host.
 71861  	FromHost bool `xml:"fromHost" json:"fromHost"`
 71862  }
 71863  
 71864  func init() {
 71865  	t["RetrieveHostSpecificationRequestType"] = reflect.TypeOf((*RetrieveHostSpecificationRequestType)(nil)).Elem()
 71866  }
 71867  
 71868  type RetrieveHostSpecificationResponse struct {
 71869  	Returnval HostSpecification `xml:"returnval" json:"returnval"`
 71870  }
 71871  
 71872  type RetrieveKmipServerCert RetrieveKmipServerCertRequestType
 71873  
 71874  func init() {
 71875  	t["RetrieveKmipServerCert"] = reflect.TypeOf((*RetrieveKmipServerCert)(nil)).Elem()
 71876  }
 71877  
 71878  // The parameters of `CryptoManagerKmip.RetrieveKmipServerCert`.
 71879  type RetrieveKmipServerCertRequestType struct {
 71880  	This ManagedObjectReference `xml:"_this" json:"-"`
 71881  	// \[in\] KMIP cluster in which the server is placed
 71882  	// or will be created.
 71883  	KeyProvider KeyProviderId `xml:"keyProvider" json:"keyProvider"`
 71884  	// \[in\] KMIP server.
 71885  	Server KmipServerInfo `xml:"server" json:"server"`
 71886  }
 71887  
 71888  func init() {
 71889  	t["RetrieveKmipServerCertRequestType"] = reflect.TypeOf((*RetrieveKmipServerCertRequestType)(nil)).Elem()
 71890  }
 71891  
 71892  type RetrieveKmipServerCertResponse struct {
 71893  	Returnval CryptoManagerKmipServerCertInfo `xml:"returnval" json:"returnval"`
 71894  }
 71895  
 71896  // The parameters of `CryptoManagerKmip.RetrieveKmipServersStatus_Task`.
 71897  type RetrieveKmipServersStatusRequestType struct {
 71898  	This ManagedObjectReference `xml:"_this" json:"-"`
 71899  	// \[in\] KMIP clusters and their servers.
 71900  	Clusters []KmipClusterInfo `xml:"clusters,omitempty" json:"clusters,omitempty"`
 71901  }
 71902  
 71903  func init() {
 71904  	t["RetrieveKmipServersStatusRequestType"] = reflect.TypeOf((*RetrieveKmipServersStatusRequestType)(nil)).Elem()
 71905  }
 71906  
 71907  type RetrieveKmipServersStatus_Task RetrieveKmipServersStatusRequestType
 71908  
 71909  func init() {
 71910  	t["RetrieveKmipServersStatus_Task"] = reflect.TypeOf((*RetrieveKmipServersStatus_Task)(nil)).Elem()
 71911  }
 71912  
 71913  type RetrieveKmipServersStatus_TaskResponse struct {
 71914  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71915  }
 71916  
 71917  type RetrieveObjectScheduledTask RetrieveObjectScheduledTaskRequestType
 71918  
 71919  func init() {
 71920  	t["RetrieveObjectScheduledTask"] = reflect.TypeOf((*RetrieveObjectScheduledTask)(nil)).Elem()
 71921  }
 71922  
 71923  // The parameters of `ScheduledTaskManager.RetrieveObjectScheduledTask`.
 71924  type RetrieveObjectScheduledTaskRequestType struct {
 71925  	This ManagedObjectReference `xml:"_this" json:"-"`
 71926  	// The object. If not specified, all scheduled tasks are returned
 71927  	// for visible entities and visible ManagedObjects.
 71928  	Obj *ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
 71929  }
 71930  
 71931  func init() {
 71932  	t["RetrieveObjectScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveObjectScheduledTaskRequestType)(nil)).Elem()
 71933  }
 71934  
 71935  type RetrieveObjectScheduledTaskResponse struct {
 71936  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71937  }
 71938  
 71939  // Options for `PropertyCollector.RetrievePropertiesEx`.
 71940  type RetrieveOptions struct {
 71941  	DynamicData
 71942  
 71943  	// The maximum number of `ObjectContent` data
 71944  	// objects that should be returned in a single result from `PropertyCollector.RetrievePropertiesEx`.
 71945  	//
 71946  	// An unset value indicates that there is no maximum. In this
 71947  	// case `PropertyCollector` policy may still limit the number
 71948  	// of objects. Any remaining objects may be retrieved with `PropertyCollector.ContinueRetrievePropertiesEx`.
 71949  	//
 71950  	// A positive value causes `PropertyCollector.RetrievePropertiesEx` to
 71951  	// suspend the retrieval when the count of objects reaches the
 71952  	// specified maximum. `PropertyCollector` policy may still
 71953  	// limit the count to something less than `RetrieveOptions.maxObjects`. Any remaining
 71954  	// objects may be retrieved with `PropertyCollector.ContinueRetrievePropertiesEx`.
 71955  	//
 71956  	// A value less than or equal to 0 is illegal.
 71957  	MaxObjects int32 `xml:"maxObjects,omitempty" json:"maxObjects,omitempty"`
 71958  }
 71959  
 71960  func init() {
 71961  	t["RetrieveOptions"] = reflect.TypeOf((*RetrieveOptions)(nil)).Elem()
 71962  }
 71963  
 71964  type RetrieveProductComponents RetrieveProductComponentsRequestType
 71965  
 71966  func init() {
 71967  	t["RetrieveProductComponents"] = reflect.TypeOf((*RetrieveProductComponents)(nil)).Elem()
 71968  }
 71969  
 71970  type RetrieveProductComponentsRequestType struct {
 71971  	This ManagedObjectReference `xml:"_this" json:"-"`
 71972  }
 71973  
 71974  func init() {
 71975  	t["RetrieveProductComponentsRequestType"] = reflect.TypeOf((*RetrieveProductComponentsRequestType)(nil)).Elem()
 71976  }
 71977  
 71978  type RetrieveProductComponentsResponse struct {
 71979  	Returnval []ProductComponentInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71980  }
 71981  
 71982  type RetrieveProperties RetrievePropertiesRequestType
 71983  
 71984  func init() {
 71985  	t["RetrieveProperties"] = reflect.TypeOf((*RetrieveProperties)(nil)).Elem()
 71986  }
 71987  
 71988  type RetrievePropertiesEx RetrievePropertiesExRequestType
 71989  
 71990  func init() {
 71991  	t["RetrievePropertiesEx"] = reflect.TypeOf((*RetrievePropertiesEx)(nil)).Elem()
 71992  }
 71993  
 71994  // The parameters of `PropertyCollector.RetrievePropertiesEx`.
 71995  type RetrievePropertiesExRequestType struct {
 71996  	This ManagedObjectReference `xml:"_this" json:"-"`
 71997  	// Specifies the properties to retrieve.
 71998  	SpecSet []PropertyFilterSpec `xml:"specSet" json:"specSet"`
 71999  	// Additional method options. If omitted, equivalent to an options
 72000  	// argument with no fields set.
 72001  	Options RetrieveOptions `xml:"options" json:"options"`
 72002  }
 72003  
 72004  func init() {
 72005  	t["RetrievePropertiesExRequestType"] = reflect.TypeOf((*RetrievePropertiesExRequestType)(nil)).Elem()
 72006  }
 72007  
 72008  type RetrievePropertiesExResponse struct {
 72009  	Returnval *RetrieveResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 72010  }
 72011  
 72012  // The parameters of `PropertyCollector.RetrieveProperties`.
 72013  type RetrievePropertiesRequestType struct {
 72014  	This ManagedObjectReference `xml:"_this" json:"-"`
 72015  	// Specifies the properties to retrieve.
 72016  	SpecSet []PropertyFilterSpec `xml:"specSet" json:"specSet"`
 72017  }
 72018  
 72019  func init() {
 72020  	t["RetrievePropertiesRequestType"] = reflect.TypeOf((*RetrievePropertiesRequestType)(nil)).Elem()
 72021  }
 72022  
 72023  type RetrievePropertiesResponse struct {
 72024  	Returnval []ObjectContent `xml:"returnval,omitempty" json:"returnval,omitempty"`
 72025  }
 72026  
 72027  // Result of `PropertyCollector.RetrievePropertiesEx` and `PropertyCollector.ContinueRetrievePropertiesEx`
 72028  type RetrieveResult struct {
 72029  	DynamicData
 72030  
 72031  	// A token used to retrieve further retrieve results.
 72032  	//
 72033  	// If set, the token should be passed to `PropertyCollector.ContinueRetrievePropertiesEx` to retrieve more results. Each token
 72034  	// may be passed to continueRetrievePropertiesEx only once, and only in
 72035  	// the same session in which it was returned and to the same
 72036  	// `PropertyCollector` object that returned it.
 72037  	//
 72038  	// If unset, there are no further results to retrieve after this
 72039  	// `RetrieveResult`.
 72040  	Token string `xml:"token,omitempty" json:"token,omitempty"`
 72041  	// retrieved objects.
 72042  	Objects []ObjectContent `xml:"objects" json:"objects"`
 72043  }
 72044  
 72045  func init() {
 72046  	t["RetrieveResult"] = reflect.TypeOf((*RetrieveResult)(nil)).Elem()
 72047  }
 72048  
 72049  type RetrieveRolePermissions RetrieveRolePermissionsRequestType
 72050  
 72051  func init() {
 72052  	t["RetrieveRolePermissions"] = reflect.TypeOf((*RetrieveRolePermissions)(nil)).Elem()
 72053  }
 72054  
 72055  // The parameters of `AuthorizationManager.RetrieveRolePermissions`.
 72056  type RetrieveRolePermissionsRequestType struct {
 72057  	This   ManagedObjectReference `xml:"_this" json:"-"`
 72058  	RoleId int32                  `xml:"roleId" json:"roleId"`
 72059  }
 72060  
 72061  func init() {
 72062  	t["RetrieveRolePermissionsRequestType"] = reflect.TypeOf((*RetrieveRolePermissionsRequestType)(nil)).Elem()
 72063  }
 72064  
 72065  type RetrieveRolePermissionsResponse struct {
 72066  	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
 72067  }
 72068  
 72069  type RetrieveSelfSignedClientCert RetrieveSelfSignedClientCertRequestType
 72070  
 72071  func init() {
 72072  	t["RetrieveSelfSignedClientCert"] = reflect.TypeOf((*RetrieveSelfSignedClientCert)(nil)).Elem()
 72073  }
 72074  
 72075  // The parameters of `CryptoManagerKmip.RetrieveSelfSignedClientCert`.
 72076  type RetrieveSelfSignedClientCertRequestType struct {
 72077  	This ManagedObjectReference `xml:"_this" json:"-"`
 72078  	// \[in\] KMIP cluster.
 72079  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 72080  }
 72081  
 72082  func init() {
 72083  	t["RetrieveSelfSignedClientCertRequestType"] = reflect.TypeOf((*RetrieveSelfSignedClientCertRequestType)(nil)).Elem()
 72084  }
 72085  
 72086  type RetrieveSelfSignedClientCertResponse struct {
 72087  	Returnval string `xml:"returnval" json:"returnval"`
 72088  }
 72089  
 72090  type RetrieveServiceContent RetrieveServiceContentRequestType
 72091  
 72092  func init() {
 72093  	t["RetrieveServiceContent"] = reflect.TypeOf((*RetrieveServiceContent)(nil)).Elem()
 72094  }
 72095  
 72096  type RetrieveServiceContentRequestType struct {
 72097  	This ManagedObjectReference `xml:"_this" json:"-"`
 72098  }
 72099  
 72100  func init() {
 72101  	t["RetrieveServiceContentRequestType"] = reflect.TypeOf((*RetrieveServiceContentRequestType)(nil)).Elem()
 72102  }
 72103  
 72104  type RetrieveServiceContentResponse struct {
 72105  	Returnval ServiceContent `xml:"returnval" json:"returnval"`
 72106  }
 72107  
 72108  type RetrieveServiceProviderEntities RetrieveServiceProviderEntitiesRequestType
 72109  
 72110  func init() {
 72111  	t["RetrieveServiceProviderEntities"] = reflect.TypeOf((*RetrieveServiceProviderEntities)(nil)).Elem()
 72112  }
 72113  
 72114  type RetrieveServiceProviderEntitiesRequestType struct {
 72115  	This ManagedObjectReference `xml:"_this" json:"-"`
 72116  }
 72117  
 72118  func init() {
 72119  	t["RetrieveServiceProviderEntitiesRequestType"] = reflect.TypeOf((*RetrieveServiceProviderEntitiesRequestType)(nil)).Elem()
 72120  }
 72121  
 72122  type RetrieveServiceProviderEntitiesResponse struct {
 72123  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 72124  }
 72125  
 72126  type RetrieveSnapshotDetails RetrieveSnapshotDetailsRequestType
 72127  
 72128  func init() {
 72129  	t["RetrieveSnapshotDetails"] = reflect.TypeOf((*RetrieveSnapshotDetails)(nil)).Elem()
 72130  }
 72131  
 72132  // The parameters of `VcenterVStorageObjectManager.RetrieveSnapshotDetails`.
 72133  type RetrieveSnapshotDetailsRequestType struct {
 72134  	This ManagedObjectReference `xml:"_this" json:"-"`
 72135  	// The ID of the virtual storage object.
 72136  	Id ID `xml:"id" json:"id"`
 72137  	// The datastore where the source virtual storage object
 72138  	// is located.
 72139  	//
 72140  	// Refers instance of `Datastore`.
 72141  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 72142  	// The ID of the snapshot of a virtual storage object.
 72143  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 72144  }
 72145  
 72146  func init() {
 72147  	t["RetrieveSnapshotDetailsRequestType"] = reflect.TypeOf((*RetrieveSnapshotDetailsRequestType)(nil)).Elem()
 72148  }
 72149  
 72150  type RetrieveSnapshotDetailsResponse struct {
 72151  	Returnval VStorageObjectSnapshotDetails `xml:"returnval" json:"returnval"`
 72152  }
 72153  
 72154  type RetrieveSnapshotInfo RetrieveSnapshotInfoRequestType
 72155  
 72156  func init() {
 72157  	t["RetrieveSnapshotInfo"] = reflect.TypeOf((*RetrieveSnapshotInfo)(nil)).Elem()
 72158  }
 72159  
 72160  // The parameters of `VcenterVStorageObjectManager.RetrieveSnapshotInfo`.
 72161  type RetrieveSnapshotInfoRequestType struct {
 72162  	This ManagedObjectReference `xml:"_this" json:"-"`
 72163  	// The ID of the virtual storage object.
 72164  	Id ID `xml:"id" json:"id"`
 72165  	// The datastore where the source virtual storage object
 72166  	// is located.
 72167  	//
 72168  	// Refers instance of `Datastore`.
 72169  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 72170  }
 72171  
 72172  func init() {
 72173  	t["RetrieveSnapshotInfoRequestType"] = reflect.TypeOf((*RetrieveSnapshotInfoRequestType)(nil)).Elem()
 72174  }
 72175  
 72176  type RetrieveSnapshotInfoResponse struct {
 72177  	Returnval VStorageObjectSnapshotInfo `xml:"returnval" json:"returnval"`
 72178  }
 72179  
 72180  type RetrieveUserGroups RetrieveUserGroupsRequestType
 72181  
 72182  func init() {
 72183  	t["RetrieveUserGroups"] = reflect.TypeOf((*RetrieveUserGroups)(nil)).Elem()
 72184  }
 72185  
 72186  // The parameters of `UserDirectory.RetrieveUserGroups`.
 72187  type RetrieveUserGroupsRequestType struct {
 72188  	This ManagedObjectReference `xml:"_this" json:"-"`
 72189  	// Domain to be searched. If not set, then the method searches
 72190  	// the local machine.
 72191  	Domain string `xml:"domain,omitempty" json:"domain,omitempty"`
 72192  	// Case insensitive substring used to filter results;
 72193  	// the search string is compared to the login and full name for users,
 72194  	// and the name and description for groups. Leave
 72195  	// this blank to match all users.
 72196  	SearchStr string `xml:"searchStr" json:"searchStr"`
 72197  	// If present, the returned list contains only users or groups
 72198  	// that directly belong to the specified group. Users or groups that
 72199  	// have indirect membership will not be included in the list.
 72200  	BelongsToGroup string `xml:"belongsToGroup,omitempty" json:"belongsToGroup,omitempty"`
 72201  	// If present, the returned list contains only groups that directly
 72202  	// contain the specified user. Groups that indirectly contain
 72203  	// the user will not be included in the list.
 72204  	BelongsToUser string `xml:"belongsToUser,omitempty" json:"belongsToUser,omitempty"`
 72205  	// Indicates the searchStr passed should match a user or
 72206  	// group name exactly.
 72207  	ExactMatch bool `xml:"exactMatch" json:"exactMatch"`
 72208  	// True, if users should be included in the result.
 72209  	FindUsers bool `xml:"findUsers" json:"findUsers"`
 72210  	// True, if groups should be included in the result.
 72211  	FindGroups bool `xml:"findGroups" json:"findGroups"`
 72212  }
 72213  
 72214  func init() {
 72215  	t["RetrieveUserGroupsRequestType"] = reflect.TypeOf((*RetrieveUserGroupsRequestType)(nil)).Elem()
 72216  }
 72217  
 72218  type RetrieveUserGroupsResponse struct {
 72219  	Returnval []BaseUserSearchResult `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 72220  }
 72221  
 72222  type RetrieveVStorageInfrastructureObjectPolicy RetrieveVStorageInfrastructureObjectPolicyRequestType
 72223  
 72224  func init() {
 72225  	t["RetrieveVStorageInfrastructureObjectPolicy"] = reflect.TypeOf((*RetrieveVStorageInfrastructureObjectPolicy)(nil)).Elem()
 72226  }
 72227  
 72228  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageInfrastructureObjectPolicy`.
 72229  type RetrieveVStorageInfrastructureObjectPolicyRequestType struct {
 72230  	This ManagedObjectReference `xml:"_this" json:"-"`
 72231  	// Datastore on which policy needs to be retrieved.
 72232  	//
 72233  	// Refers instance of `Datastore`.
 72234  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 72235  }
 72236  
 72237  func init() {
 72238  	t["RetrieveVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*RetrieveVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem()
 72239  }
 72240  
 72241  type RetrieveVStorageInfrastructureObjectPolicyResponse struct {
 72242  	Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty" json:"returnval,omitempty"`
 72243  }
 72244  
 72245  // This data object is a pair of the virtural storage object id and
 72246  // its datastore.
 72247  type RetrieveVStorageObjSpec struct {
 72248  	DynamicData
 72249  
 72250  	// ID of this virtual storage object.
 72251  	Id ID `xml:"id" json:"id"`
 72252  	// Datastore where the object is located.
 72253  	//
 72254  	// Refers instance of `Datastore`.
 72255  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 72256  }
 72257  
 72258  func init() {
 72259  	t["RetrieveVStorageObjSpec"] = reflect.TypeOf((*RetrieveVStorageObjSpec)(nil)).Elem()
 72260  }
 72261  
 72262  type RetrieveVStorageObject RetrieveVStorageObjectRequestType
 72263  
 72264  func init() {
 72265  	t["RetrieveVStorageObject"] = reflect.TypeOf((*RetrieveVStorageObject)(nil)).Elem()
 72266  }
 72267  
 72268  type RetrieveVStorageObjectAssociations RetrieveVStorageObjectAssociationsRequestType
 72269  
 72270  func init() {
 72271  	t["RetrieveVStorageObjectAssociations"] = reflect.TypeOf((*RetrieveVStorageObjectAssociations)(nil)).Elem()
 72272  }
 72273  
 72274  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObjectAssociations`.
 72275  type RetrieveVStorageObjectAssociationsRequestType struct {
 72276  	This ManagedObjectReference `xml:"_this" json:"-"`
 72277  	// The IDs of the virtual storage objects of the query.
 72278  	Ids []RetrieveVStorageObjSpec `xml:"ids,omitempty" json:"ids,omitempty"`
 72279  }
 72280  
 72281  func init() {
 72282  	t["RetrieveVStorageObjectAssociationsRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectAssociationsRequestType)(nil)).Elem()
 72283  }
 72284  
 72285  type RetrieveVStorageObjectAssociationsResponse struct {
 72286  	Returnval []VStorageObjectAssociations `xml:"returnval,omitempty" json:"returnval,omitempty"`
 72287  }
 72288  
 72289  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObject`.
 72290  type RetrieveVStorageObjectRequestType struct {
 72291  	This ManagedObjectReference `xml:"_this" json:"-"`
 72292  	// The ID of the virtual storage object to be retrieved.
 72293  	Id ID `xml:"id" json:"id"`
 72294  	// The datastore where the virtual storage object is
 72295  	// located.
 72296  	//
 72297  	// Refers instance of `Datastore`.
 72298  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 72299  	// Flags indicating the FCD information to be
 72300  	// retrieved. If diskInfoFlags is unset, then all FCD
 72301  	// information will be retrieved. See
 72302  	// `vslmDiskInfoFlag_enum` for the list of
 72303  	// supported values.
 72304  	DiskInfoFlags []string `xml:"diskInfoFlags,omitempty" json:"diskInfoFlags,omitempty" vim:"8.0.0.1"`
 72305  }
 72306  
 72307  func init() {
 72308  	t["RetrieveVStorageObjectRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectRequestType)(nil)).Elem()
 72309  }
 72310  
 72311  type RetrieveVStorageObjectResponse struct {
 72312  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 72313  }
 72314  
 72315  type RetrieveVStorageObjectState RetrieveVStorageObjectStateRequestType
 72316  
 72317  func init() {
 72318  	t["RetrieveVStorageObjectState"] = reflect.TypeOf((*RetrieveVStorageObjectState)(nil)).Elem()
 72319  }
 72320  
 72321  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObjectState`.
 72322  type RetrieveVStorageObjectStateRequestType struct {
 72323  	This ManagedObjectReference `xml:"_this" json:"-"`
 72324  	// The ID of the virtual storage object the state to be retrieved.
 72325  	Id ID `xml:"id" json:"id"`
 72326  	// The datastore where the virtual storage object is
 72327  	// located.
 72328  	//
 72329  	// Refers instance of `Datastore`.
 72330  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 72331  }
 72332  
 72333  func init() {
 72334  	t["RetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectStateRequestType)(nil)).Elem()
 72335  }
 72336  
 72337  type RetrieveVStorageObjectStateResponse struct {
 72338  	Returnval VStorageObjectStateInfo `xml:"returnval" json:"returnval"`
 72339  }
 72340  
 72341  type RetrieveVendorDeviceGroupInfo RetrieveVendorDeviceGroupInfoRequestType
 72342  
 72343  func init() {
 72344  	t["RetrieveVendorDeviceGroupInfo"] = reflect.TypeOf((*RetrieveVendorDeviceGroupInfo)(nil)).Elem()
 72345  }
 72346  
 72347  type RetrieveVendorDeviceGroupInfoRequestType struct {
 72348  	This ManagedObjectReference `xml:"_this" json:"-"`
 72349  }
 72350  
 72351  func init() {
 72352  	t["RetrieveVendorDeviceGroupInfoRequestType"] = reflect.TypeOf((*RetrieveVendorDeviceGroupInfoRequestType)(nil)).Elem()
 72353  }
 72354  
 72355  type RetrieveVendorDeviceGroupInfoResponse struct {
 72356  	Returnval []VirtualMachineVendorDeviceGroupInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 72357  }
 72358  
 72359  type RetrieveVgpuDeviceInfo RetrieveVgpuDeviceInfoRequestType
 72360  
 72361  func init() {
 72362  	t["RetrieveVgpuDeviceInfo"] = reflect.TypeOf((*RetrieveVgpuDeviceInfo)(nil)).Elem()
 72363  }
 72364  
 72365  type RetrieveVgpuDeviceInfoRequestType struct {
 72366  	This ManagedObjectReference `xml:"_this" json:"-"`
 72367  }
 72368  
 72369  func init() {
 72370  	t["RetrieveVgpuDeviceInfoRequestType"] = reflect.TypeOf((*RetrieveVgpuDeviceInfoRequestType)(nil)).Elem()
 72371  }
 72372  
 72373  type RetrieveVgpuDeviceInfoResponse struct {
 72374  	Returnval []VirtualMachineVgpuDeviceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 72375  }
 72376  
 72377  type RetrieveVgpuProfileInfo RetrieveVgpuProfileInfoRequestType
 72378  
 72379  func init() {
 72380  	t["RetrieveVgpuProfileInfo"] = reflect.TypeOf((*RetrieveVgpuProfileInfo)(nil)).Elem()
 72381  }
 72382  
 72383  type RetrieveVgpuProfileInfoRequestType struct {
 72384  	This ManagedObjectReference `xml:"_this" json:"-"`
 72385  }
 72386  
 72387  func init() {
 72388  	t["RetrieveVgpuProfileInfoRequestType"] = reflect.TypeOf((*RetrieveVgpuProfileInfoRequestType)(nil)).Elem()
 72389  }
 72390  
 72391  type RetrieveVgpuProfileInfoResponse struct {
 72392  	Returnval []VirtualMachineVgpuProfileInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 72393  }
 72394  
 72395  // The parameters of `VirtualMachine.RevertToCurrentSnapshot_Task`.
 72396  type RevertToCurrentSnapshotRequestType struct {
 72397  	This ManagedObjectReference `xml:"_this" json:"-"`
 72398  	// (optional) Choice of host for the virtual machine,
 72399  	// in case this operation causes the virtual machine to power on.
 72400  	//
 72401  	// If a snapshot was taken while a virtual machine was powered on,
 72402  	// and this operation is invoked after the virtual machine was
 72403  	// powered off, the operation causes the virtual machine to power
 72404  	// on to reach the snapshot state. This parameter can be used to
 72405  	// specify a choice of host where the virtual machine should power
 72406  	// on.
 72407  	//
 72408  	// If this parameter is not set, and the vBalance feature is
 72409  	// configured for automatic load balancing, a host is
 72410  	// automatically selected. Otherwise, the virtual machine keeps
 72411  	// its existing host affiliation.
 72412  	//
 72413  	// This is not supported for virtual machines associated with hosts on ESX 2.x
 72414  	// servers.
 72415  	//
 72416  	// Refers instance of `HostSystem`.
 72417  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 72418  	// (optional) If set to true, the virtual
 72419  	// machine will not be powered on regardless of the power state when
 72420  	// the current snapshot was created. Default to false.
 72421  	SuppressPowerOn *bool `xml:"suppressPowerOn" json:"suppressPowerOn,omitempty"`
 72422  }
 72423  
 72424  func init() {
 72425  	t["RevertToCurrentSnapshotRequestType"] = reflect.TypeOf((*RevertToCurrentSnapshotRequestType)(nil)).Elem()
 72426  }
 72427  
 72428  type RevertToCurrentSnapshot_Task RevertToCurrentSnapshotRequestType
 72429  
 72430  func init() {
 72431  	t["RevertToCurrentSnapshot_Task"] = reflect.TypeOf((*RevertToCurrentSnapshot_Task)(nil)).Elem()
 72432  }
 72433  
 72434  type RevertToCurrentSnapshot_TaskResponse struct {
 72435  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72436  }
 72437  
 72438  // The parameters of `VirtualMachineSnapshot.RevertToSnapshot_Task`.
 72439  type RevertToSnapshotRequestType struct {
 72440  	This ManagedObjectReference `xml:"_this" json:"-"`
 72441  	// (optional) Choice of host for the virtual machine, in case this
 72442  	// operation causes the virtual machine to power on.
 72443  	//
 72444  	// If a snapshot was taken while a virtual machine was powered on, and this operation
 72445  	// is invoked after the virtual machine was powered off, the operation causes the
 72446  	// virtual machine to power on to reach the snapshot state. This parameter can be
 72447  	// used to specify a choice of host where the virtual machine should power on.
 72448  	//
 72449  	// If this parameter is not set and the vBalance feature is configured for automatic
 72450  	// load balancing, a host is automatically selected. Otherwise, the virtual machine
 72451  	// keeps its existing host affiliation.
 72452  	//
 72453  	// Refers instance of `HostSystem`.
 72454  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 72455  	// (optional) If set to true, the virtual
 72456  	// machine will not be powered on regardless of the power state when
 72457  	// the snapshot was created. Default to false.
 72458  	SuppressPowerOn *bool `xml:"suppressPowerOn" json:"suppressPowerOn,omitempty"`
 72459  }
 72460  
 72461  func init() {
 72462  	t["RevertToSnapshotRequestType"] = reflect.TypeOf((*RevertToSnapshotRequestType)(nil)).Elem()
 72463  }
 72464  
 72465  type RevertToSnapshot_Task RevertToSnapshotRequestType
 72466  
 72467  func init() {
 72468  	t["RevertToSnapshot_Task"] = reflect.TypeOf((*RevertToSnapshot_Task)(nil)).Elem()
 72469  }
 72470  
 72471  type RevertToSnapshot_TaskResponse struct {
 72472  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72473  }
 72474  
 72475  // The parameters of `VStorageObjectManagerBase.RevertVStorageObjectEx_Task`.
 72476  type RevertVStorageObjectExRequestType struct {
 72477  	This ManagedObjectReference `xml:"_this" json:"-"`
 72478  	// The ID of the virtual storage object.
 72479  	Id ID `xml:"id" json:"id"`
 72480  	// The datastore where the source virtual storage object
 72481  	// is located.
 72482  	//
 72483  	// Refers instance of `Datastore`.
 72484  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 72485  	// The ID of the snapshot of a virtual storage object.
 72486  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 72487  }
 72488  
 72489  func init() {
 72490  	t["RevertVStorageObjectExRequestType"] = reflect.TypeOf((*RevertVStorageObjectExRequestType)(nil)).Elem()
 72491  	minAPIVersionForType["RevertVStorageObjectExRequestType"] = "8.0.2.0"
 72492  }
 72493  
 72494  type RevertVStorageObjectEx_Task RevertVStorageObjectExRequestType
 72495  
 72496  func init() {
 72497  	t["RevertVStorageObjectEx_Task"] = reflect.TypeOf((*RevertVStorageObjectEx_Task)(nil)).Elem()
 72498  }
 72499  
 72500  type RevertVStorageObjectEx_TaskResponse struct {
 72501  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72502  }
 72503  
 72504  // The parameters of `VcenterVStorageObjectManager.RevertVStorageObject_Task`.
 72505  type RevertVStorageObjectRequestType struct {
 72506  	This ManagedObjectReference `xml:"_this" json:"-"`
 72507  	// The ID of the virtual storage object.
 72508  	Id ID `xml:"id" json:"id"`
 72509  	// The datastore where the source virtual storage object
 72510  	// is located.
 72511  	//
 72512  	// Refers instance of `Datastore`.
 72513  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 72514  	// The ID of the snapshot of a virtual storage object.
 72515  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 72516  }
 72517  
 72518  func init() {
 72519  	t["RevertVStorageObjectRequestType"] = reflect.TypeOf((*RevertVStorageObjectRequestType)(nil)).Elem()
 72520  }
 72521  
 72522  type RevertVStorageObject_Task RevertVStorageObjectRequestType
 72523  
 72524  func init() {
 72525  	t["RevertVStorageObject_Task"] = reflect.TypeOf((*RevertVStorageObject_Task)(nil)).Elem()
 72526  }
 72527  
 72528  type RevertVStorageObject_TaskResponse struct {
 72529  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72530  }
 72531  
 72532  type RewindCollector RewindCollectorRequestType
 72533  
 72534  func init() {
 72535  	t["RewindCollector"] = reflect.TypeOf((*RewindCollector)(nil)).Elem()
 72536  }
 72537  
 72538  type RewindCollectorRequestType struct {
 72539  	This ManagedObjectReference `xml:"_this" json:"-"`
 72540  }
 72541  
 72542  func init() {
 72543  	t["RewindCollectorRequestType"] = reflect.TypeOf((*RewindCollectorRequestType)(nil)).Elem()
 72544  }
 72545  
 72546  type RewindCollectorResponse struct {
 72547  }
 72548  
 72549  // This event records the creation of a role.
 72550  type RoleAddedEvent struct {
 72551  	RoleEvent
 72552  
 72553  	// The privileges granted to the role.
 72554  	PrivilegeList []string `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
 72555  }
 72556  
 72557  func init() {
 72558  	t["RoleAddedEvent"] = reflect.TypeOf((*RoleAddedEvent)(nil)).Elem()
 72559  }
 72560  
 72561  // This event records a role operation.
 72562  type RoleEvent struct {
 72563  	AuthorizationEvent
 72564  
 72565  	// The associated role.
 72566  	Role RoleEventArgument `xml:"role" json:"role"`
 72567  }
 72568  
 72569  func init() {
 72570  	t["RoleEvent"] = reflect.TypeOf((*RoleEvent)(nil)).Elem()
 72571  }
 72572  
 72573  // The event argument is a Role object.
 72574  type RoleEventArgument struct {
 72575  	EventArgument
 72576  
 72577  	// The ID of the role.
 72578  	RoleId int32 `xml:"roleId" json:"roleId"`
 72579  	// The name of the role.
 72580  	Name string `xml:"name" json:"name"`
 72581  }
 72582  
 72583  func init() {
 72584  	t["RoleEventArgument"] = reflect.TypeOf((*RoleEventArgument)(nil)).Elem()
 72585  }
 72586  
 72587  // This class records the removal of a role.
 72588  type RoleRemovedEvent struct {
 72589  	RoleEvent
 72590  }
 72591  
 72592  func init() {
 72593  	t["RoleRemovedEvent"] = reflect.TypeOf((*RoleRemovedEvent)(nil)).Elem()
 72594  }
 72595  
 72596  // This event records the creation of a role.
 72597  type RoleUpdatedEvent struct {
 72598  	RoleEvent
 72599  
 72600  	// The privileges granted to the role.
 72601  	PrivilegeList []string `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
 72602  	// The name of the previous role.
 72603  	PrevRoleName string `xml:"prevRoleName,omitempty" json:"prevRoleName,omitempty"`
 72604  	// The privileges added to the role.
 72605  	PrivilegesAdded []string `xml:"privilegesAdded,omitempty" json:"privilegesAdded,omitempty"`
 72606  	// The privileges removed from the role.
 72607  	PrivilegesRemoved []string `xml:"privilegesRemoved,omitempty" json:"privilegesRemoved,omitempty"`
 72608  }
 72609  
 72610  func init() {
 72611  	t["RoleUpdatedEvent"] = reflect.TypeOf((*RoleUpdatedEvent)(nil)).Elem()
 72612  }
 72613  
 72614  // This event is generated when network configuration rollback
 72615  // occurs on a host due configuration change that disconnected
 72616  // the host from vSphere server
 72617  type RollbackEvent struct {
 72618  	DvsEvent
 72619  
 72620  	// The host on which rollback happened
 72621  	HostName string `xml:"hostName" json:"hostName"`
 72622  	// The API method that was rolled back
 72623  	MethodName string `xml:"methodName,omitempty" json:"methodName,omitempty"`
 72624  }
 72625  
 72626  func init() {
 72627  	t["RollbackEvent"] = reflect.TypeOf((*RollbackEvent)(nil)).Elem()
 72628  }
 72629  
 72630  // Thrown if a Rollback operation fails
 72631  type RollbackFailure struct {
 72632  	DvsFault
 72633  
 72634  	// The entity name on which rollback failed
 72635  	EntityName string `xml:"entityName" json:"entityName"`
 72636  	// The entity type on which rollback failed
 72637  	EntityType string `xml:"entityType" json:"entityType"`
 72638  }
 72639  
 72640  func init() {
 72641  	t["RollbackFailure"] = reflect.TypeOf((*RollbackFailure)(nil)).Elem()
 72642  }
 72643  
 72644  type RollbackFailureFault RollbackFailure
 72645  
 72646  func init() {
 72647  	t["RollbackFailureFault"] = reflect.TypeOf((*RollbackFailureFault)(nil)).Elem()
 72648  }
 72649  
 72650  // The virtual machine if powered on, would violate an
 72651  // affinity/anti-affinity rule.
 72652  //
 72653  // In this case, the VM can still be powered
 72654  // on manually by a user who knows what they are doing, but VirtualCenter
 72655  // will never automatically move or power on a VM such that it triggers
 72656  // the violation.
 72657  type RuleViolation struct {
 72658  	VmConfigFault
 72659  
 72660  	// The host that the virtual machine can not be powered on without
 72661  	// violate a rule.
 72662  	//
 72663  	// Refers instance of `HostSystem`.
 72664  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 72665  	// The rule that is violated.
 72666  	//
 72667  	// It can be an affinity or anti-affinity rule.
 72668  	Rule BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 72669  }
 72670  
 72671  func init() {
 72672  	t["RuleViolation"] = reflect.TypeOf((*RuleViolation)(nil)).Elem()
 72673  }
 72674  
 72675  type RuleViolationFault RuleViolation
 72676  
 72677  func init() {
 72678  	t["RuleViolationFault"] = reflect.TypeOf((*RuleViolationFault)(nil)).Elem()
 72679  }
 72680  
 72681  type RunScheduledTask RunScheduledTaskRequestType
 72682  
 72683  func init() {
 72684  	t["RunScheduledTask"] = reflect.TypeOf((*RunScheduledTask)(nil)).Elem()
 72685  }
 72686  
 72687  type RunScheduledTaskRequestType struct {
 72688  	This ManagedObjectReference `xml:"_this" json:"-"`
 72689  }
 72690  
 72691  func init() {
 72692  	t["RunScheduledTaskRequestType"] = reflect.TypeOf((*RunScheduledTaskRequestType)(nil)).Elem()
 72693  }
 72694  
 72695  type RunScheduledTaskResponse struct {
 72696  }
 72697  
 72698  // This data object type specifies a script that is triggered by an alarm.
 72699  //
 72700  // You can use any elements of the
 72701  // `ActionParameter` enumerated list
 72702  // as part of your script to provide information available at runtime.
 72703  type RunScriptAction struct {
 72704  	Action
 72705  
 72706  	// The fully-qualified path to a shell script that runs on the
 72707  	// VirtualCenter server as a result of an alarm.
 72708  	Script string `xml:"script" json:"script"`
 72709  }
 72710  
 72711  func init() {
 72712  	t["RunScriptAction"] = reflect.TypeOf((*RunScriptAction)(nil)).Elem()
 72713  }
 72714  
 72715  type RunVsanPhysicalDiskDiagnostics RunVsanPhysicalDiskDiagnosticsRequestType
 72716  
 72717  func init() {
 72718  	t["RunVsanPhysicalDiskDiagnostics"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnostics)(nil)).Elem()
 72719  }
 72720  
 72721  // The parameters of `HostVsanInternalSystem.RunVsanPhysicalDiskDiagnostics`.
 72722  type RunVsanPhysicalDiskDiagnosticsRequestType struct {
 72723  	This ManagedObjectReference `xml:"_this" json:"-"`
 72724  	// List of VSAN disk UUIDs. If specified restricts the
 72725  	// diagnostics run to VSAN disks present in the provided list.
 72726  	Disks []string `xml:"disks,omitempty" json:"disks,omitempty"`
 72727  }
 72728  
 72729  func init() {
 72730  	t["RunVsanPhysicalDiskDiagnosticsRequestType"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnosticsRequestType)(nil)).Elem()
 72731  }
 72732  
 72733  type RunVsanPhysicalDiskDiagnosticsResponse struct {
 72734  	Returnval []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"returnval" json:"returnval"`
 72735  }
 72736  
 72737  // The base data object type for all runtime faults that can be
 72738  // thrown by a method.
 72739  type RuntimeFault struct {
 72740  	MethodFault
 72741  }
 72742  
 72743  func init() {
 72744  	t["RuntimeFault"] = reflect.TypeOf((*RuntimeFault)(nil)).Elem()
 72745  }
 72746  
 72747  type RuntimeFaultFault BaseRuntimeFault
 72748  
 72749  func init() {
 72750  	t["RuntimeFaultFault"] = reflect.TypeOf((*RuntimeFaultFault)(nil)).Elem()
 72751  }
 72752  
 72753  // SAMLTokenAuthentication contains the information necessary to authenticate
 72754  // within a guest using a SAML bearer token.
 72755  //
 72756  // SAML token authentication relies on a guest alias that associates a guest
 72757  // account with the subject and certificate
 72758  // encoded in a SAML token obtained from the VMware SSO Server.
 72759  //   - Use the `GuestAliasManager`.
 72760  //     `GuestAliasManager.AddGuestAlias` method to create a guest
 72761  //     alias.
 72762  //   - Use a SAMLTokenAuthentication object for the
 72763  //     auth parameter to guest operations methods.
 72764  //
 72765  // After you have created an alias, you can use SAML token authentication
 72766  // for guest operations methods.
 72767  // Do not use SAML token authentication for the
 72768  // `GuestAuthManager.AcquireCredentialsInGuest` and
 72769  // `GuestAuthManager.ReleaseCredentialsInGuest` methods.
 72770  type SAMLTokenAuthentication struct {
 72771  	GuestAuthentication
 72772  
 72773  	// The SAML bearer token.
 72774  	Token string `xml:"token" json:"token"`
 72775  	// This is the guest user to be associated with the authentication.
 72776  	//
 72777  	// If none is specified, a guest dependent mapping will decide what
 72778  	// user account is applied.
 72779  	Username string `xml:"username,omitempty" json:"username,omitempty"`
 72780  }
 72781  
 72782  func init() {
 72783  	t["SAMLTokenAuthentication"] = reflect.TypeOf((*SAMLTokenAuthentication)(nil)).Elem()
 72784  }
 72785  
 72786  // An empty data object which can be used as the base class for data objects
 72787  // outside VIM namespace which have to be proxied through vCenter opaquely.
 72788  //
 72789  // For example, vSan configuration spec will extend from this which will
 72790  // allow HCI API to pass the spec to set up vSan on the cluster.
 72791  type SDDCBase struct {
 72792  	DynamicData
 72793  }
 72794  
 72795  func init() {
 72796  	t["SDDCBase"] = reflect.TypeOf((*SDDCBase)(nil)).Elem()
 72797  }
 72798  
 72799  // A SSLDisabledFault fault occurs when a host does not have ssl enabled.
 72800  type SSLDisabledFault struct {
 72801  	HostConnectFault
 72802  }
 72803  
 72804  func init() {
 72805  	t["SSLDisabledFault"] = reflect.TypeOf((*SSLDisabledFault)(nil)).Elem()
 72806  }
 72807  
 72808  type SSLDisabledFaultFault SSLDisabledFault
 72809  
 72810  func init() {
 72811  	t["SSLDisabledFaultFault"] = reflect.TypeOf((*SSLDisabledFaultFault)(nil)).Elem()
 72812  }
 72813  
 72814  // SSLVerifyFault is thrown by the host connect method if the VC
 72815  // server could not verify the authenticity of the host's SSL
 72816  // certificate.
 72817  //
 72818  // Currently, we do not distinguish the various possible reasons why
 72819  // the certificate could not be verified because we don't provide a
 72820  // way for the user to overwrite these reasons other than turning off
 72821  // SSL certificate verification completely.
 72822  // The only exception is the case when the certificate was rejected
 72823  // because it was self-signed. This is the most likely case when the
 72824  // user may want to overwrite the behavior by specifying the
 72825  // certificate's thumbprint in the ConnectSpec the next time the user
 72826  // connects to the host.
 72827  type SSLVerifyFault struct {
 72828  	HostConnectFault
 72829  
 72830  	// Whether the host's certificate was self signed
 72831  	SelfSigned bool `xml:"selfSigned" json:"selfSigned"`
 72832  	// The thumbprint of the host's certificate.
 72833  	//
 72834  	// This field is optional since vSphere 8.0u2.
 72835  	Thumbprint string `xml:"thumbprint,omitempty" json:"thumbprint,omitempty"`
 72836  	// The certificate of the host
 72837  	// Note: `SSLVerifyFault.thumbprint` and `SSLVerifyFault.certificate` parameters are
 72838  	// mutually exclusive, and should never be used simultaneously.
 72839  	Certificate string `xml:"certificate,omitempty" json:"certificate,omitempty" vim:"9.0.0.0"`
 72840  }
 72841  
 72842  func init() {
 72843  	t["SSLVerifyFault"] = reflect.TypeOf((*SSLVerifyFault)(nil)).Elem()
 72844  }
 72845  
 72846  type SSLVerifyFaultFault SSLVerifyFault
 72847  
 72848  func init() {
 72849  	t["SSLVerifyFaultFault"] = reflect.TypeOf((*SSLVerifyFaultFault)(nil)).Elem()
 72850  }
 72851  
 72852  // SSPIAuthentication contains the information necessary to
 72853  // initiate a ticketed authentication session in the guest
 72854  // using SSPI credentials.
 72855  //
 72856  // The ticketed session is not stateless and stores state inside of the guest.
 72857  //
 72858  // To use SSPIAuthentication, populate sspiToken with a base64 encoded SSPI token.
 72859  // Then call `GuestAuthManager.AcquireCredentialsInGuest` with
 72860  // the SSPIAuthentication object and no sessionID.
 72861  // After issuing the `GuestAuthManager.AcquireCredentialsInGuest` call, a
 72862  // `GuestAuthenticationChallenge` will be thrown.
 72863  // Use the serverChallenge sspiToken in `GuestAuthenticationChallenge`
 72864  // to generate the proper SSPI response token.
 72865  // Populate an SSPIAuthentication object with the base64 encoded SSPI response token, and
 72866  // call `GuestAuthManager.AcquireCredentialsInGuest` with the SSPIAuthentication object and
 72867  // the sessionID found in `GuestAuthenticationChallenge`.
 72868  //
 72869  // Successful authentication will result in a `TicketedSessionAuthentication`
 72870  // object being returned. You can use the `TicketedSessionAuthentication` in any
 72871  // guest operations function call. You should NOT attempt to use SSPIAuthentication in any guest
 72872  // operations function call.
 72873  //
 72874  // When you no longer need the `TicketedSessionAuthentication` object, you should
 72875  // call `GuestAuthManager.ReleaseCredentialsInGuest` to free associated resources
 72876  // and session data.
 72877  //
 72878  // Usage notes: SSPI authentication has the same limitations as a duplicated primary token obtained
 72879  // from the Windows API function LogonUser with the LOGON32\_LOGON\_NETWORK logon type. This will affect
 72880  // programs started with `GuestProcessManager.StartProgramInGuest`. For example, launched
 72881  // programs will be unable to use WMI functions unless the "Remote Enable" privilege is enabled for
 72882  // the user. Similarly, access to network resources may fail due to the limitations of the token.
 72883  type SSPIAuthentication struct {
 72884  	GuestAuthentication
 72885  
 72886  	// This contains a base64 encoded SSPI Token.
 72887  	SspiToken string `xml:"sspiToken" json:"sspiToken"`
 72888  }
 72889  
 72890  func init() {
 72891  	t["SSPIAuthentication"] = reflect.TypeOf((*SSPIAuthentication)(nil)).Elem()
 72892  }
 72893  
 72894  // Thrown during SSPI pass-through authentication if further
 72895  // negotiation is required.
 72896  type SSPIChallenge struct {
 72897  	VimFault
 72898  
 72899  	// The opaque server response token, base-64 encoded.
 72900  	Base64Token string `xml:"base64Token" json:"base64Token"`
 72901  }
 72902  
 72903  func init() {
 72904  	t["SSPIChallenge"] = reflect.TypeOf((*SSPIChallenge)(nil)).Elem()
 72905  }
 72906  
 72907  type SSPIChallengeFault SSPIChallenge
 72908  
 72909  func init() {
 72910  	t["SSPIChallengeFault"] = reflect.TypeOf((*SSPIChallengeFault)(nil)).Elem()
 72911  }
 72912  
 72913  // The parameters of `HostPatchManager.ScanHostPatch_Task`.
 72914  type ScanHostPatchRequestType struct {
 72915  	This ManagedObjectReference `xml:"_this" json:"-"`
 72916  	// Location of the repository that contains the
 72917  	// bulletin depot. The depot must be organized as a flat
 72918  	// collection of bulletins with each one being a folder named
 72919  	// after the bulletin ID. Each folder must contain the full
 72920  	// update metadata.
 72921  	Repository HostPatchManagerLocator `xml:"repository" json:"repository"`
 72922  	// The updates to scan. Wildcards can be used to specify
 72923  	// the update IDs. The wildcards will be expanded to include all
 72924  	// updates whose IDs match the specified wildcard and whose metadata
 72925  	// is available in the repository. Specifying no update is
 72926  	// equivalent to a wildcard "\*". In this case all updates available
 72927  	// in the repository will be scanned.
 72928  	UpdateID []string `xml:"updateID,omitempty" json:"updateID,omitempty"`
 72929  }
 72930  
 72931  func init() {
 72932  	t["ScanHostPatchRequestType"] = reflect.TypeOf((*ScanHostPatchRequestType)(nil)).Elem()
 72933  }
 72934  
 72935  // The parameters of `HostPatchManager.ScanHostPatchV2_Task`.
 72936  type ScanHostPatchV2RequestType struct {
 72937  	This ManagedObjectReference `xml:"_this" json:"-"`
 72938  	// a list of urls pointing to metadata.zip.
 72939  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 72940  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 72941  	BundleUrls []string                                   `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 72942  	Spec       *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 72943  }
 72944  
 72945  func init() {
 72946  	t["ScanHostPatchV2RequestType"] = reflect.TypeOf((*ScanHostPatchV2RequestType)(nil)).Elem()
 72947  }
 72948  
 72949  type ScanHostPatchV2_Task ScanHostPatchV2RequestType
 72950  
 72951  func init() {
 72952  	t["ScanHostPatchV2_Task"] = reflect.TypeOf((*ScanHostPatchV2_Task)(nil)).Elem()
 72953  }
 72954  
 72955  type ScanHostPatchV2_TaskResponse struct {
 72956  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72957  }
 72958  
 72959  type ScanHostPatch_Task ScanHostPatchRequestType
 72960  
 72961  func init() {
 72962  	t["ScanHostPatch_Task"] = reflect.TypeOf((*ScanHostPatch_Task)(nil)).Elem()
 72963  }
 72964  
 72965  type ScanHostPatch_TaskResponse struct {
 72966  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72967  }
 72968  
 72969  type ScheduleReconcileDatastoreInventory ScheduleReconcileDatastoreInventoryRequestType
 72970  
 72971  func init() {
 72972  	t["ScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventory)(nil)).Elem()
 72973  }
 72974  
 72975  // The parameters of `VcenterVStorageObjectManager.ScheduleReconcileDatastoreInventory`.
 72976  type ScheduleReconcileDatastoreInventoryRequestType struct {
 72977  	This ManagedObjectReference `xml:"_this" json:"-"`
 72978  	// The datastore that needs to be reconciled.
 72979  	//
 72980  	// Refers instance of `Datastore`.
 72981  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 72982  	// If set true, the reconcile task will check for the
 72983  	// extent files and the disk descriptor file content
 72984  	// as part of reconciliation. Note that this is a time
 72985  	// consuming process.
 72986  	DeepCleansing *bool `xml:"deepCleansing" json:"deepCleansing,omitempty" vim:"9.0.0.0"`
 72987  }
 72988  
 72989  func init() {
 72990  	t["ScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem()
 72991  }
 72992  
 72993  type ScheduleReconcileDatastoreInventoryResponse struct {
 72994  }
 72995  
 72996  // Data object type containing settings for the scheduled hardware upgrades.
 72997  type ScheduledHardwareUpgradeInfo struct {
 72998  	DynamicData
 72999  
 73000  	// Scheduled hardware upgrade policy setting for the virtual machine.
 73001  	//
 73002  	// See also `ScheduledHardwareUpgradeInfoHardwareUpgradePolicy_enum`.
 73003  	UpgradePolicy string `xml:"upgradePolicy,omitempty" json:"upgradePolicy,omitempty"`
 73004  	// Key for target hardware version to be used on next scheduled upgrade
 73005  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 73006  	VersionKey string `xml:"versionKey,omitempty" json:"versionKey,omitempty"`
 73007  	// Status for last attempt to run scheduled hardware upgrade.
 73008  	//
 73009  	// See also `ScheduledHardwareUpgradeInfoHardwareUpgradeStatus_enum`.
 73010  	ScheduledHardwareUpgradeStatus string `xml:"scheduledHardwareUpgradeStatus,omitempty" json:"scheduledHardwareUpgradeStatus,omitempty"`
 73011  	// Contains information about the failure of last attempt to run
 73012  	// scheduled hardware upgrade.
 73013  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 73014  }
 73015  
 73016  func init() {
 73017  	t["ScheduledHardwareUpgradeInfo"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfo)(nil)).Elem()
 73018  }
 73019  
 73020  // This event records the completion of a scheduled task.
 73021  type ScheduledTaskCompletedEvent struct {
 73022  	ScheduledTaskEvent
 73023  }
 73024  
 73025  func init() {
 73026  	t["ScheduledTaskCompletedEvent"] = reflect.TypeOf((*ScheduledTaskCompletedEvent)(nil)).Elem()
 73027  }
 73028  
 73029  // This event records the creation of a scheduled task.
 73030  type ScheduledTaskCreatedEvent struct {
 73031  	ScheduledTaskEvent
 73032  }
 73033  
 73034  func init() {
 73035  	t["ScheduledTaskCreatedEvent"] = reflect.TypeOf((*ScheduledTaskCreatedEvent)(nil)).Elem()
 73036  }
 73037  
 73038  // Static strings for scheduled tasks.
 73039  //
 73040  // These strings are locale-specific.
 73041  type ScheduledTaskDescription struct {
 73042  	DynamicData
 73043  
 73044  	// Action class descriptions for a scheduled task.
 73045  	Action []BaseTypeDescription `xml:"action,typeattr" json:"action"`
 73046  	// Scheduler class description details.
 73047  	SchedulerInfo []ScheduledTaskDetail `xml:"schedulerInfo" json:"schedulerInfo"`
 73048  	// *TaskInfo State enum*
 73049  	State []BaseElementDescription `xml:"state,typeattr" json:"state"`
 73050  	// *MonthlyByWeekdayTaskScheduler Days of the week enum description*
 73051  	DayOfWeek []BaseElementDescription `xml:"dayOfWeek,typeattr" json:"dayOfWeek"`
 73052  	// *MonthlyByWeekdayTaskScheduler Week of the month enum description*
 73053  	WeekOfMonth []BaseElementDescription `xml:"weekOfMonth,typeattr" json:"weekOfMonth"`
 73054  }
 73055  
 73056  func init() {
 73057  	t["ScheduledTaskDescription"] = reflect.TypeOf((*ScheduledTaskDescription)(nil)).Elem()
 73058  }
 73059  
 73060  // Descriptive detail for each scheduler type.
 73061  type ScheduledTaskDetail struct {
 73062  	TypeDescription
 73063  
 73064  	// Scheduler frequency description.
 73065  	Frequency string `xml:"frequency" json:"frequency"`
 73066  }
 73067  
 73068  func init() {
 73069  	t["ScheduledTaskDetail"] = reflect.TypeOf((*ScheduledTaskDetail)(nil)).Elem()
 73070  }
 73071  
 73072  // This event records the sending of a notification via email for a scheduled task.
 73073  type ScheduledTaskEmailCompletedEvent struct {
 73074  	ScheduledTaskEvent
 73075  
 73076  	// The destination email address.
 73077  	To string `xml:"to" json:"to"`
 73078  }
 73079  
 73080  func init() {
 73081  	t["ScheduledTaskEmailCompletedEvent"] = reflect.TypeOf((*ScheduledTaskEmailCompletedEvent)(nil)).Elem()
 73082  }
 73083  
 73084  // This event records the failure of an attempt to send a notification via email
 73085  // for a scheduled task.
 73086  type ScheduledTaskEmailFailedEvent struct {
 73087  	ScheduledTaskEvent
 73088  
 73089  	// The destination email address.
 73090  	To string `xml:"to" json:"to"`
 73091  	// The reason for the failure.
 73092  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 73093  }
 73094  
 73095  func init() {
 73096  	t["ScheduledTaskEmailFailedEvent"] = reflect.TypeOf((*ScheduledTaskEmailFailedEvent)(nil)).Elem()
 73097  }
 73098  
 73099  // These events are scheduled task events.
 73100  type ScheduledTaskEvent struct {
 73101  	Event
 73102  
 73103  	// The scheduled task object.
 73104  	ScheduledTask ScheduledTaskEventArgument `xml:"scheduledTask" json:"scheduledTask"`
 73105  	// The entity on which the scheduled task registered.
 73106  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
 73107  }
 73108  
 73109  func init() {
 73110  	t["ScheduledTaskEvent"] = reflect.TypeOf((*ScheduledTaskEvent)(nil)).Elem()
 73111  }
 73112  
 73113  // The event argument is a scheduled task object.
 73114  type ScheduledTaskEventArgument struct {
 73115  	EntityEventArgument
 73116  
 73117  	// The scheduled task object.
 73118  	//
 73119  	// Refers instance of `ScheduledTask`.
 73120  	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
 73121  }
 73122  
 73123  func init() {
 73124  	t["ScheduledTaskEventArgument"] = reflect.TypeOf((*ScheduledTaskEventArgument)(nil)).Elem()
 73125  }
 73126  
 73127  // This event records the failure of a scheduled task.
 73128  type ScheduledTaskFailedEvent struct {
 73129  	ScheduledTaskEvent
 73130  
 73131  	// The reason for the failure.
 73132  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 73133  }
 73134  
 73135  func init() {
 73136  	t["ScheduledTaskFailedEvent"] = reflect.TypeOf((*ScheduledTaskFailedEvent)(nil)).Elem()
 73137  }
 73138  
 73139  // The scheduled task details.
 73140  type ScheduledTaskInfo struct {
 73141  	ScheduledTaskSpec
 73142  
 73143  	// Scheduled task object.
 73144  	//
 73145  	// Refers instance of `ScheduledTask`.
 73146  	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
 73147  	// The entity on which related events will be logged.
 73148  	//
 73149  	// If the task is scheduled on a ManagedEntity, this
 73150  	// field will also reflect the same ManagedEntity.
 73151  	// If task is scheduled on a ManagedObject, this field
 73152  	// will have information about the entity on which
 73153  	// the events will be logged on behalf of the ManagedObject.
 73154  	// ManagedObject itself will be denoted by `ScheduledTaskInfo.taskObject`
 73155  	//
 73156  	// Refers instance of `ManagedEntity`.
 73157  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 73158  	// The time the scheduled task is created or modified.
 73159  	LastModifiedTime time.Time `xml:"lastModifiedTime" json:"lastModifiedTime"`
 73160  	// Last user that modified the scheduled task.
 73161  	LastModifiedUser string `xml:"lastModifiedUser" json:"lastModifiedUser"`
 73162  	// The next time the scheduled task will run.
 73163  	NextRunTime *time.Time `xml:"nextRunTime" json:"nextRunTime,omitempty"`
 73164  	// The last time the scheduled task ran.
 73165  	PrevRunTime *time.Time `xml:"prevRunTime" json:"prevRunTime,omitempty"`
 73166  	// Scheduled task state.
 73167  	State TaskInfoState `xml:"state" json:"state"`
 73168  	// The fault code when the scheduled task state is "error".
 73169  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 73170  	// The operation result when the scheduled task state is "success".
 73171  	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
 73172  	// The task progress when the scheduled task state is "running".
 73173  	Progress int32 `xml:"progress,omitempty" json:"progress,omitempty"`
 73174  	// The running task instance when the scheduled task state is "running".
 73175  	//
 73176  	// Refers instance of `Task`.
 73177  	ActiveTask *ManagedObjectReference `xml:"activeTask,omitempty" json:"activeTask,omitempty"`
 73178  	// The object on which the scheduled task is defined.
 73179  	//
 73180  	// This field will have information about either the
 73181  	// ManagedEntity or the ManagedObject on which the scheduled
 73182  	// task is defined.
 73183  	TaskObject *ManagedObjectReference `xml:"taskObject,omitempty" json:"taskObject,omitempty"`
 73184  }
 73185  
 73186  func init() {
 73187  	t["ScheduledTaskInfo"] = reflect.TypeOf((*ScheduledTaskInfo)(nil)).Elem()
 73188  }
 73189  
 73190  // This event records the reconfiguration of a scheduled task.
 73191  type ScheduledTaskReconfiguredEvent struct {
 73192  	ScheduledTaskEvent
 73193  
 73194  	// The configuration values changed during the reconfiguration.
 73195  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 73196  }
 73197  
 73198  func init() {
 73199  	t["ScheduledTaskReconfiguredEvent"] = reflect.TypeOf((*ScheduledTaskReconfiguredEvent)(nil)).Elem()
 73200  }
 73201  
 73202  // This event records the removal of a scheduled task.
 73203  type ScheduledTaskRemovedEvent struct {
 73204  	ScheduledTaskEvent
 73205  }
 73206  
 73207  func init() {
 73208  	t["ScheduledTaskRemovedEvent"] = reflect.TypeOf((*ScheduledTaskRemovedEvent)(nil)).Elem()
 73209  }
 73210  
 73211  // Parameters for scheduled task creation.
 73212  type ScheduledTaskSpec struct {
 73213  	DynamicData
 73214  
 73215  	// Name of the scheduled task.
 73216  	Name string `xml:"name" json:"name"`
 73217  	// Description of the scheduled task.
 73218  	Description string `xml:"description" json:"description"`
 73219  	// Flag to indicate whether the scheduled task is enabled or disabled.
 73220  	Enabled bool `xml:"enabled" json:"enabled"`
 73221  	// The time scheduler that determines when the scheduled task runs.
 73222  	Scheduler BaseTaskScheduler `xml:"scheduler,typeattr" json:"scheduler"`
 73223  	// The action of the scheduled task, to be done when the scheduled task runs.
 73224  	Action BaseAction `xml:"action,typeattr" json:"action"`
 73225  	// The email notification.
 73226  	//
 73227  	// If not set, this property is set to empty string, indicating no notification.
 73228  	Notification string `xml:"notification,omitempty" json:"notification,omitempty"`
 73229  }
 73230  
 73231  func init() {
 73232  	t["ScheduledTaskSpec"] = reflect.TypeOf((*ScheduledTaskSpec)(nil)).Elem()
 73233  }
 73234  
 73235  // This event records when a scheduled task started.
 73236  type ScheduledTaskStartedEvent struct {
 73237  	ScheduledTaskEvent
 73238  }
 73239  
 73240  func init() {
 73241  	t["ScheduledTaskStartedEvent"] = reflect.TypeOf((*ScheduledTaskStartedEvent)(nil)).Elem()
 73242  }
 73243  
 73244  // The `ScsiLun` data object describes a SCSI logical unit.
 73245  //
 73246  // A SCSI logical unit is a host device that an ESX Server or virtual machine
 73247  // can use for I/O operations.
 73248  //
 73249  // An ESX Server creates SCSI logical unit objects to represent
 73250  // devices in the host configuration. (See the definition of
 73251  // `ScsiLunType_enum` for a list of the supported device types.)
 73252  // The vSphere API uses one of two object types to represent a SCSI
 73253  // logical unit, depending on the device type.
 73254  //   - Disks containing file system volumes or parts of volumes for hosts
 73255  //     or raw disks for virtual machines. To represent disks, the ESX Server
 73256  //     creates a `HostScsiDisk` object, which inherits properties from
 73257  //     the `ScsiLun` base class.
 73258  //   - Other SCSI devices, for example SCSI passthrough devices
 73259  //     for virtual machines. To represent one of these devices,
 73260  //     the ESX Server creates a `ScsiLun` object.
 73261  //
 73262  // When the Server creates a `HostScsiDisk` or `ScsiLun` object,
 73263  // it specifies a valid device name and type:
 73264  //   - `HostDevice.deviceName` - A string representing the name of the device
 73265  //     that is meaningful to the host. The following are some examples of
 73266  //     device names.
 73267  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/dev/cdrom</code>
 73268  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/vmkdev/vmhba0:0:1:0</code>
 73269  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>PhysicalDrive0</code>
 73270  //   - `HostDevice.deviceType` - A string describing the type of device.
 73271  //     The following are some examples of device types.
 73272  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-cdrom</code>
 73273  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-tape</code>
 73274  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-disk</code>
 73275  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-processor</code>
 73276  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-unknown</code>
 73277  type ScsiLun struct {
 73278  	HostDevice
 73279  
 73280  	// Linkable identifier
 73281  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 73282  	// Universally unique identifier for the LUN used to identify ScsiLun across
 73283  	// multiple servers.
 73284  	//
 73285  	// This identifier can be used to identify analogous objects in other views
 73286  	// such as `HostMultipathInfoLogicalUnit` and `HostScsiTopologyLun`.
 73287  	//
 73288  	// See also `HostMultipathInfoLogicalUnit`, `HostScsiTopologyLun`.
 73289  	Uuid string `xml:"uuid" json:"uuid"`
 73290  	// List of descriptors that can be used to identify the LUN object.
 73291  	//
 73292  	// The
 73293  	// uuid will also appear as a descriptor.
 73294  	//
 73295  	// The id field in the descriptor is a string that can be used to correlate
 73296  	// the ScsiLun across multiple servers. A ScsiLun may have multiple
 73297  	// descriptors. The choice and order of these descriptors may be different
 73298  	// on different servers.
 73299  	//
 73300  	// Not all descriptors are suitable for correlation. Some descriptors are
 73301  	// only sufficient to identify the ScsiLun within a single host. Each
 73302  	// descriptor contains a quality property that indicates whether or not
 73303  	// the descriptor is suitable for correlation.
 73304  	Descriptor []ScsiLunDescriptor `xml:"descriptor,omitempty" json:"descriptor,omitempty"`
 73305  	// Canonical name of the SCSI logical unit.
 73306  	//
 73307  	// Disk partition or extent identifiers refer to this name when
 73308  	// referring to a disk. Use this property to correlate a partition
 73309  	// or extent to a specific SCSI disk.
 73310  	//
 73311  	// See also `HostScsiDiskPartition.diskName`.
 73312  	CanonicalName string `xml:"canonicalName,omitempty" json:"canonicalName,omitempty"`
 73313  	// User configurable display name of the SCSI logical unit.
 73314  	//
 73315  	// A default
 73316  	// display name will be used if available. If the display name is not
 73317  	// supported, it will be unset. The display name does not have to be
 73318  	// unique but it is recommended that it be unique.
 73319  	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty"`
 73320  	// The type of SCSI device.
 73321  	//
 73322  	// Must be one of the values of
 73323  	// `ScsiLunType_enum`.
 73324  	LunType string `xml:"lunType" json:"lunType"`
 73325  	// The vendor of the SCSI device.
 73326  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 73327  	// The model number of the SCSI device.
 73328  	Model string `xml:"model,omitempty" json:"model,omitempty"`
 73329  	// The revision of the SCSI device.
 73330  	Revision string `xml:"revision,omitempty" json:"revision,omitempty"`
 73331  	// The SCSI level of the SCSI device.
 73332  	ScsiLevel int32 `xml:"scsiLevel,omitempty" json:"scsiLevel,omitempty"`
 73333  	// The serial number of the SCSI device.
 73334  	//
 73335  	// For a device that is SCSI-3 compliant, this property is derived
 73336  	// from page 80h of the Vital Product Data (VPD), as defined by the
 73337  	// SCSI-3 Primary Commands (SPC-3) spec. Not all SCSI-3 compliant
 73338  	// devices provide this information. For devices that are not
 73339  	// SCSI-3 compliant, this property is not defined.
 73340  	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 73341  	// The durable name of the SCSI device.
 73342  	//
 73343  	// For a SCSI-3 compliant device this property is derived from the
 73344  	// payloads of pages 80h and 83h of the Vital Product Data (VPD) as
 73345  	// defined by the T10 and SMI standards. For devices that do not provide
 73346  	// this information, this property is not defined.
 73347  	DurableName *ScsiLunDurableName `xml:"durableName,omitempty" json:"durableName,omitempty"`
 73348  	// Alternate durable names.
 73349  	//
 73350  	// Records all available durable names derived from page 80h of the Vital
 73351  	// Product Data (VPD) and the Identification Vital Product Data (VPD) page
 73352  	// 83h as defined by the SCSI-3 Primary Commands. For devices that are not
 73353  	// SCSI-3 compliant this property is not defined.
 73354  	AlternateName []ScsiLunDurableName `xml:"alternateName,omitempty" json:"alternateName,omitempty"`
 73355  	// Standard Inquiry payload.
 73356  	//
 73357  	// For a SCSI-3 compliant device this property is derived from the
 73358  	// standard inquiry data. For devices that are not SCSI-3 compliant this
 73359  	// property is not defined.
 73360  	StandardInquiry ByteSlice `xml:"standardInquiry,omitempty" json:"standardInquiry,omitempty"`
 73361  	// The queue depth of SCSI device.
 73362  	QueueDepth int32 `xml:"queueDepth,omitempty" json:"queueDepth,omitempty"`
 73363  	// The operational states of the LUN.
 73364  	//
 73365  	// When more than one item is present in the array, the first state
 73366  	// should be considered the primary state. For example, a LUN may
 73367  	// be "ok" and "degraded" indicating I/O is still possible to the LUN, but
 73368  	// it is operating in a degraded mode.
 73369  	//
 73370  	// See also `ScsiLunState_enum`.
 73371  	OperationalState []string `xml:"operationalState" json:"operationalState"`
 73372  	// Capabilities of SCSI device.
 73373  	Capabilities *ScsiLunCapabilities `xml:"capabilities,omitempty" json:"capabilities,omitempty"`
 73374  	// vStorage hardware acceleration support status.
 73375  	//
 73376  	// This property
 73377  	// represents storage acceleration provided by the SCSI logical unit.
 73378  	// See `ScsiLunVStorageSupportStatus_enum` for valid values.
 73379  	//
 73380  	// If a storage device supports hardware acceleration,
 73381  	// the ESX host can offload specific virtual machine management
 73382  	// operations to the storage device. With hardware assistance,
 73383  	// the host performs storage operations faster and consumes
 73384  	// less CPU, memory, and storage fabric bandwidth.
 73385  	//
 73386  	// For vSphere 4.0 or earlier hosts, this value will be unset.
 73387  	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty"`
 73388  	// Indicates that this SCSI LUN is protocol endpoint.
 73389  	//
 73390  	// This
 73391  	// property will be populated if and only if host supports
 73392  	// VirtualVolume based Datastore. Check the host capability
 73393  	// `HostCapability.virtualVolumeDatastoreSupported`.
 73394  	// See `HostProtocolEndpoint`.
 73395  	ProtocolEndpoint *bool `xml:"protocolEndpoint" json:"protocolEndpoint,omitempty"`
 73396  	// Indicates the state of a perennially reserved flag for a LUN.
 73397  	//
 73398  	// If
 73399  	// set for Raw Device Mapped (RDM) LUNs, the host startup or LUN rescan
 73400  	// take comparatively shorter duration than when it is unset.
 73401  	PerenniallyReserved *bool `xml:"perenniallyReserved" json:"perenniallyReserved,omitempty"`
 73402  	// Indicates if LUN has the prequisite properties to enable Clustered Vmdk
 73403  	// feature once formatted into VMFS Datastore.
 73404  	ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported" json:"clusteredVmdkSupported,omitempty"`
 73405  	// Indicates the current device protocol.
 73406  	//
 73407  	// Application protocol for a device which is set based on input
 73408  	// from vmkctl storage control plane. Must be one of the values of
 73409  	// `DeviceProtocol_enum`.
 73410  	ApplicationProtocol string `xml:"applicationProtocol,omitempty" json:"applicationProtocol,omitempty" vim:"8.0.1.0"`
 73411  	// Indicates whether namespace is dispersed.
 73412  	//
 73413  	// Set to true when the namespace of LUN is dispersed.
 73414  	DispersedNs *bool `xml:"dispersedNs" json:"dispersedNs,omitempty" vim:"8.0.1.0"`
 73415  	// Indicates whether a device is under SCSI/NVMe reservation.
 73416  	//
 73417  	// Device reservation for a SCSI/NVMe device set based on
 73418  	// values received from vmkernel. The list of supported values is defined in
 73419  	// `ScsiLunLunReservationStatus_enum`.
 73420  	// If unset, the reservation status is unknown.
 73421  	DeviceReservation string `xml:"deviceReservation,omitempty" json:"deviceReservation,omitempty" vim:"8.0.3.0"`
 73422  }
 73423  
 73424  func init() {
 73425  	t["ScsiLun"] = reflect.TypeOf((*ScsiLun)(nil)).Elem()
 73426  }
 73427  
 73428  // Scsi device specific capabilities.
 73429  type ScsiLunCapabilities struct {
 73430  	DynamicData
 73431  
 73432  	// Can the display name of the SCSI device be updated?
 73433  	UpdateDisplayNameSupported bool `xml:"updateDisplayNameSupported" json:"updateDisplayNameSupported"`
 73434  }
 73435  
 73436  func init() {
 73437  	t["ScsiLunCapabilities"] = reflect.TypeOf((*ScsiLunCapabilities)(nil)).Elem()
 73438  }
 73439  
 73440  // A structure that encapsulates an identifier and its properties for the
 73441  // ScsiLun object.
 73442  type ScsiLunDescriptor struct {
 73443  	DynamicData
 73444  
 73445  	// An indicator of the utility of the descriptor as an identifier that
 73446  	// is stable, unique, and correlatable.
 73447  	//
 73448  	// See also `ScsiLunDescriptorQuality_enum`.
 73449  	Quality string `xml:"quality" json:"quality"`
 73450  	// The identifier represented as a string.
 73451  	Id string `xml:"id" json:"id"`
 73452  }
 73453  
 73454  func init() {
 73455  	t["ScsiLunDescriptor"] = reflect.TypeOf((*ScsiLunDescriptor)(nil)).Elem()
 73456  }
 73457  
 73458  // This data object type represents an SMI-S "Correlatable and
 73459  // Durable Name" which is an
 73460  // identifier for a logical unit number (LUN) that is generated using
 73461  // a common algorithm.
 73462  //
 73463  // The algorithm divides the identifier into
 73464  // multiple namespaces where each
 73465  // namespace uses a different set of properties of the LUN to generate
 73466  // the identifier. The namespace itself is encoded in the identifier.
 73467  type ScsiLunDurableName struct {
 73468  	DynamicData
 73469  
 73470  	// The string describing the namespace used for the durable name.
 73471  	Namespace string `xml:"namespace" json:"namespace"`
 73472  	// The byte used by the ESX Server product to represent the namespace.
 73473  	NamespaceId byte `xml:"namespaceId" json:"namespaceId"`
 73474  	// The variable length byte array containing the namespace-specific data.
 73475  	//
 73476  	// For a SCSI-3 compliant device this field is the descriptor header
 73477  	// along with the payload for data obtained from page 83h, and is the
 73478  	// payload for data obtained from page 80h of the Vital Product Data
 73479  	// (VPD).
 73480  	Data ByteSlice `xml:"data,omitempty" json:"data,omitempty"`
 73481  }
 73482  
 73483  func init() {
 73484  	t["ScsiLunDurableName"] = reflect.TypeOf((*ScsiLunDurableName)(nil)).Elem()
 73485  }
 73486  
 73487  // Specification used to create an Flex-SE based virtual disk
 73488  type SeSparseVirtualDiskSpec struct {
 73489  	FileBackedVirtualDiskSpec
 73490  
 73491  	// The grain size in kB for Flex-SE disk types.
 73492  	//
 73493  	// Default value will
 73494  	// be used if unset.
 73495  	GrainSizeKb int32 `xml:"grainSizeKb,omitempty" json:"grainSizeKb,omitempty"`
 73496  }
 73497  
 73498  func init() {
 73499  	t["SeSparseVirtualDiskSpec"] = reflect.TypeOf((*SeSparseVirtualDiskSpec)(nil)).Elem()
 73500  }
 73501  
 73502  // The parameters of `HostDatastoreBrowser.SearchDatastore_Task`.
 73503  type SearchDatastoreRequestType struct {
 73504  	This          ManagedObjectReference          `xml:"_this" json:"-"`
 73505  	DatastorePath string                          `xml:"datastorePath" json:"datastorePath"`
 73506  	SearchSpec    *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty" json:"searchSpec,omitempty"`
 73507  }
 73508  
 73509  func init() {
 73510  	t["SearchDatastoreRequestType"] = reflect.TypeOf((*SearchDatastoreRequestType)(nil)).Elem()
 73511  }
 73512  
 73513  // The parameters of `HostDatastoreBrowser.SearchDatastoreSubFolders_Task`.
 73514  type SearchDatastoreSubFoldersRequestType struct {
 73515  	This          ManagedObjectReference          `xml:"_this" json:"-"`
 73516  	DatastorePath string                          `xml:"datastorePath" json:"datastorePath"`
 73517  	SearchSpec    *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty" json:"searchSpec,omitempty"`
 73518  }
 73519  
 73520  func init() {
 73521  	t["SearchDatastoreSubFoldersRequestType"] = reflect.TypeOf((*SearchDatastoreSubFoldersRequestType)(nil)).Elem()
 73522  }
 73523  
 73524  type SearchDatastoreSubFolders_Task SearchDatastoreSubFoldersRequestType
 73525  
 73526  func init() {
 73527  	t["SearchDatastoreSubFolders_Task"] = reflect.TypeOf((*SearchDatastoreSubFolders_Task)(nil)).Elem()
 73528  }
 73529  
 73530  type SearchDatastoreSubFolders_TaskResponse struct {
 73531  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 73532  }
 73533  
 73534  type SearchDatastore_Task SearchDatastoreRequestType
 73535  
 73536  func init() {
 73537  	t["SearchDatastore_Task"] = reflect.TypeOf((*SearchDatastore_Task)(nil)).Elem()
 73538  }
 73539  
 73540  type SearchDatastore_TaskResponse struct {
 73541  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 73542  }
 73543  
 73544  // This fault is thrown when an attempt is made to disable a secondary
 73545  // virtual machine that has already been disabled.
 73546  type SecondaryVmAlreadyDisabled struct {
 73547  	VmFaultToleranceIssue
 73548  
 73549  	// Instance UUID of the secondary virtual machine.
 73550  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 73551  }
 73552  
 73553  func init() {
 73554  	t["SecondaryVmAlreadyDisabled"] = reflect.TypeOf((*SecondaryVmAlreadyDisabled)(nil)).Elem()
 73555  }
 73556  
 73557  type SecondaryVmAlreadyDisabledFault SecondaryVmAlreadyDisabled
 73558  
 73559  func init() {
 73560  	t["SecondaryVmAlreadyDisabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyDisabledFault)(nil)).Elem()
 73561  }
 73562  
 73563  // This fault is thrown when an attempt is made to enable a secondary
 73564  // virtual machine that has already been enabled.
 73565  type SecondaryVmAlreadyEnabled struct {
 73566  	VmFaultToleranceIssue
 73567  
 73568  	// Instance UUID of the secondary virtual machine.
 73569  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 73570  }
 73571  
 73572  func init() {
 73573  	t["SecondaryVmAlreadyEnabled"] = reflect.TypeOf((*SecondaryVmAlreadyEnabled)(nil)).Elem()
 73574  }
 73575  
 73576  type SecondaryVmAlreadyEnabledFault SecondaryVmAlreadyEnabled
 73577  
 73578  func init() {
 73579  	t["SecondaryVmAlreadyEnabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyEnabledFault)(nil)).Elem()
 73580  }
 73581  
 73582  // This fault is thrown when an attempt is made to register a secondary
 73583  // virtual machine with a primary virtual machine with whom it is
 73584  // already registered.
 73585  type SecondaryVmAlreadyRegistered struct {
 73586  	VmFaultToleranceIssue
 73587  
 73588  	// Instance UUID of the secondary virtual machine.
 73589  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 73590  }
 73591  
 73592  func init() {
 73593  	t["SecondaryVmAlreadyRegistered"] = reflect.TypeOf((*SecondaryVmAlreadyRegistered)(nil)).Elem()
 73594  }
 73595  
 73596  type SecondaryVmAlreadyRegisteredFault SecondaryVmAlreadyRegistered
 73597  
 73598  func init() {
 73599  	t["SecondaryVmAlreadyRegisteredFault"] = reflect.TypeOf((*SecondaryVmAlreadyRegisteredFault)(nil)).Elem()
 73600  }
 73601  
 73602  // This fault is thrown when an attempt is made to unregister a secondary
 73603  // virtual machine from a primary virtual machine with whom it has not
 73604  // been previously registered.
 73605  type SecondaryVmNotRegistered struct {
 73606  	VmFaultToleranceIssue
 73607  
 73608  	// Instance UUID of the secondary virtual machine.
 73609  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 73610  }
 73611  
 73612  func init() {
 73613  	t["SecondaryVmNotRegistered"] = reflect.TypeOf((*SecondaryVmNotRegistered)(nil)).Elem()
 73614  }
 73615  
 73616  type SecondaryVmNotRegisteredFault SecondaryVmNotRegistered
 73617  
 73618  func init() {
 73619  	t["SecondaryVmNotRegisteredFault"] = reflect.TypeOf((*SecondaryVmNotRegisteredFault)(nil)).Elem()
 73620  }
 73621  
 73622  // Thrown when the client is not allowed access to the property or method.
 73623  type SecurityError struct {
 73624  	RuntimeFault
 73625  }
 73626  
 73627  func init() {
 73628  	t["SecurityError"] = reflect.TypeOf((*SecurityError)(nil)).Elem()
 73629  }
 73630  
 73631  type SecurityErrorFault BaseSecurityError
 73632  
 73633  func init() {
 73634  	t["SecurityErrorFault"] = reflect.TypeOf((*SecurityErrorFault)(nil)).Elem()
 73635  }
 73636  
 73637  // The `SecurityProfile` data object represents host security configuration.
 73638  //
 73639  // If a profile plug-in defines policies or subprofiles, use the
 73640  // `ApplyProfile.policy` or `ApplyProfile.property`
 73641  // list to access the additional configuration data.
 73642  type SecurityProfile struct {
 73643  	ApplyProfile
 73644  
 73645  	// Permission configuration.
 73646  	Permission []PermissionProfile `xml:"permission,omitempty" json:"permission,omitempty"`
 73647  }
 73648  
 73649  func init() {
 73650  	t["SecurityProfile"] = reflect.TypeOf((*SecurityProfile)(nil)).Elem()
 73651  }
 73652  
 73653  type SelectActivePartition SelectActivePartitionRequestType
 73654  
 73655  func init() {
 73656  	t["SelectActivePartition"] = reflect.TypeOf((*SelectActivePartition)(nil)).Elem()
 73657  }
 73658  
 73659  // The parameters of `HostDiagnosticSystem.SelectActivePartition`.
 73660  type SelectActivePartitionRequestType struct {
 73661  	This      ManagedObjectReference `xml:"_this" json:"-"`
 73662  	Partition *HostScsiDiskPartition `xml:"partition,omitempty" json:"partition,omitempty"`
 73663  }
 73664  
 73665  func init() {
 73666  	t["SelectActivePartitionRequestType"] = reflect.TypeOf((*SelectActivePartitionRequestType)(nil)).Elem()
 73667  }
 73668  
 73669  type SelectActivePartitionResponse struct {
 73670  }
 73671  
 73672  type SelectVnic SelectVnicRequestType
 73673  
 73674  func init() {
 73675  	t["SelectVnic"] = reflect.TypeOf((*SelectVnic)(nil)).Elem()
 73676  }
 73677  
 73678  type SelectVnicForNicType SelectVnicForNicTypeRequestType
 73679  
 73680  func init() {
 73681  	t["SelectVnicForNicType"] = reflect.TypeOf((*SelectVnicForNicType)(nil)).Elem()
 73682  }
 73683  
 73684  // The parameters of `HostVirtualNicManager.SelectVnicForNicType`.
 73685  type SelectVnicForNicTypeRequestType struct {
 73686  	This ManagedObjectReference `xml:"_this" json:"-"`
 73687  	// The type of VirtualNic that would be selected
 73688  	NicType string `xml:"nicType" json:"nicType"`
 73689  	// The device that uniquely identifies the VirtualNic.
 73690  	Device string `xml:"device" json:"device"`
 73691  }
 73692  
 73693  func init() {
 73694  	t["SelectVnicForNicTypeRequestType"] = reflect.TypeOf((*SelectVnicForNicTypeRequestType)(nil)).Elem()
 73695  }
 73696  
 73697  type SelectVnicForNicTypeResponse struct {
 73698  }
 73699  
 73700  // The parameters of `HostVMotionSystem.SelectVnic`.
 73701  type SelectVnicRequestType struct {
 73702  	This ManagedObjectReference `xml:"_this" json:"-"`
 73703  	// The device that uniquely identifies the VirtualNic.
 73704  	Device string `xml:"device" json:"device"`
 73705  }
 73706  
 73707  func init() {
 73708  	t["SelectVnicRequestType"] = reflect.TypeOf((*SelectVnicRequestType)(nil)).Elem()
 73709  }
 73710  
 73711  type SelectVnicResponse struct {
 73712  }
 73713  
 73714  // Base class for selecting entities
 73715  type SelectionSet struct {
 73716  	DynamicData
 73717  }
 73718  
 73719  func init() {
 73720  	t["SelectionSet"] = reflect.TypeOf((*SelectionSet)(nil)).Elem()
 73721  }
 73722  
 73723  // The `SelectionSpec` is the base type for data
 73724  // object types that specify what additional objects to filter.
 73725  //
 73726  // The base
 73727  // type contains only an optional "name" field, which allows a selection to
 73728  // be named for future reference. More information is available in the
 73729  // subtype.
 73730  //
 73731  // Named selections support recursive specifications on an object
 73732  // hierarchy. When used by a derived object, the "name" field allows other
 73733  // `SelectionSpec` objects to refer to the object by
 73734  // name. When used as the base type only, the "name" field indicates
 73735  // recursion to the derived object by name.
 73736  //
 73737  // Names are meaningful only within the same FilterSpec.
 73738  type SelectionSpec struct {
 73739  	DynamicData
 73740  
 73741  	// Name of the selection specification.
 73742  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 73743  }
 73744  
 73745  func init() {
 73746  	t["SelectionSpec"] = reflect.TypeOf((*SelectionSpec)(nil)).Elem()
 73747  }
 73748  
 73749  // This data object type defines an email that is triggered by an
 73750  // alarm.
 73751  //
 73752  // You can use any
 73753  // elements of the `ActionParameter`
 73754  // enumerated list as part of your strings to provide information available
 73755  // at runtime.
 73756  type SendEmailAction struct {
 73757  	Action
 73758  
 73759  	// A comma-separated list of addresses to which the email notification is sent.
 73760  	ToList string `xml:"toList" json:"toList"`
 73761  	// A comma-separated list of addresses that are cc'ed on the email notification.
 73762  	CcList string `xml:"ccList" json:"ccList"`
 73763  	// Subject of the email notification.
 73764  	Subject string `xml:"subject" json:"subject"`
 73765  	// Content of the email notification.
 73766  	Body string `xml:"body" json:"body"`
 73767  }
 73768  
 73769  func init() {
 73770  	t["SendEmailAction"] = reflect.TypeOf((*SendEmailAction)(nil)).Elem()
 73771  }
 73772  
 73773  type SendNMI SendNMIRequestType
 73774  
 73775  func init() {
 73776  	t["SendNMI"] = reflect.TypeOf((*SendNMI)(nil)).Elem()
 73777  }
 73778  
 73779  type SendNMIRequestType struct {
 73780  	This ManagedObjectReference `xml:"_this" json:"-"`
 73781  }
 73782  
 73783  func init() {
 73784  	t["SendNMIRequestType"] = reflect.TypeOf((*SendNMIRequestType)(nil)).Elem()
 73785  }
 73786  
 73787  type SendNMIResponse struct {
 73788  }
 73789  
 73790  // This data object type specifies an SNMP trap that is triggered by an alarm.
 73791  type SendSNMPAction struct {
 73792  	Action
 73793  }
 73794  
 73795  func init() {
 73796  	t["SendSNMPAction"] = reflect.TypeOf((*SendSNMPAction)(nil)).Elem()
 73797  }
 73798  
 73799  type SendTestNotification SendTestNotificationRequestType
 73800  
 73801  func init() {
 73802  	t["SendTestNotification"] = reflect.TypeOf((*SendTestNotification)(nil)).Elem()
 73803  }
 73804  
 73805  type SendTestNotificationRequestType struct {
 73806  	This ManagedObjectReference `xml:"_this" json:"-"`
 73807  }
 73808  
 73809  func init() {
 73810  	t["SendTestNotificationRequestType"] = reflect.TypeOf((*SendTestNotificationRequestType)(nil)).Elem()
 73811  }
 73812  
 73813  type SendTestNotificationResponse struct {
 73814  }
 73815  
 73816  // This event records an expired VirtualCenter server license.
 73817  type ServerLicenseExpiredEvent struct {
 73818  	LicenseEvent
 73819  
 73820  	Product string `xml:"product" json:"product"`
 73821  }
 73822  
 73823  func init() {
 73824  	t["ServerLicenseExpiredEvent"] = reflect.TypeOf((*ServerLicenseExpiredEvent)(nil)).Elem()
 73825  }
 73826  
 73827  // This event records the starting of the VirtualCenter server.
 73828  type ServerStartedSessionEvent struct {
 73829  	SessionEvent
 73830  }
 73831  
 73832  func init() {
 73833  	t["ServerStartedSessionEvent"] = reflect.TypeOf((*ServerStartedSessionEvent)(nil)).Elem()
 73834  }
 73835  
 73836  // The `ServiceConsolePortGroupProfile` data object represents
 73837  // the profile for a port group that will be used by the service console.
 73838  //
 73839  // If a profile plug-in defines policies or subprofiles, use the
 73840  // `ApplyProfile.policy` or `ApplyProfile.property`
 73841  // list to access the additional configuration data.
 73842  type ServiceConsolePortGroupProfile struct {
 73843  	PortGroupProfile
 73844  
 73845  	// IP address configuration for the service console network.
 73846  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 73847  }
 73848  
 73849  func init() {
 73850  	t["ServiceConsolePortGroupProfile"] = reflect.TypeOf((*ServiceConsolePortGroupProfile)(nil)).Elem()
 73851  }
 73852  
 73853  // The ServiceConsoleReservationInfo data object type describes the
 73854  // amount of memory that is being reserved by the service console.
 73855  //
 73856  // Memory reserved for use by the service console is a hard reservation
 73857  // that cannot be changed except across hardware restarts.
 73858  //
 73859  // This memory that is reserved for the service console is used primarily
 73860  // to provide system management services. In addition, a small overhead
 73861  // is needed by each virtual machine on the service console.
 73862  //
 73863  // The only property of the data object that can be changed directly is the
 73864  // serviceConsoleReservedCfg property. This property indicates how much
 73865  // memory should be reserved for the service console on the next boot. In
 73866  // most cases, this amount is the same as the current reservation.
 73867  type ServiceConsoleReservationInfo struct {
 73868  	DynamicData
 73869  
 73870  	// The amount of memory that should be reserved for the service console on
 73871  	// the next boot.
 73872  	ServiceConsoleReservedCfg int64 `xml:"serviceConsoleReservedCfg" json:"serviceConsoleReservedCfg"`
 73873  	// The amount of memory that is currently reserved for the service console.
 73874  	ServiceConsoleReserved int64 `xml:"serviceConsoleReserved" json:"serviceConsoleReserved"`
 73875  	// The amount of memory that is not reserved for use by the service console.
 73876  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 73877  }
 73878  
 73879  func init() {
 73880  	t["ServiceConsoleReservationInfo"] = reflect.TypeOf((*ServiceConsoleReservationInfo)(nil)).Elem()
 73881  }
 73882  
 73883  // The `ServiceContent` data object defines properties for the ServiceInstance
 73884  // managed object.
 73885  //
 73886  // The ServiceInstance itself does not have directly-accessible
 73887  // properties because reading the properties of a managed object requires
 73888  // the use of a property collector, and the property collector itself
 73889  // is a property of the `ServiceInstance`.
 73890  // For this reason, use the method `ServiceInstance.RetrieveServiceContent`
 73891  // to retrieve the `ServiceContent` object.
 73892  type ServiceContent struct {
 73893  	DynamicData
 73894  
 73895  	// Reference to the top of the inventory managed by this service.
 73896  	//
 73897  	// Refers instance of `Folder`.
 73898  	RootFolder ManagedObjectReference `xml:"rootFolder" json:"rootFolder"`
 73899  	// Reference to a per-session object for retrieving properties and updates.
 73900  	//
 73901  	// Refers instance of `PropertyCollector`.
 73902  	PropertyCollector ManagedObjectReference `xml:"propertyCollector" json:"propertyCollector"`
 73903  	// A singleton managed object for tracking custom sets of objects.
 73904  	//
 73905  	// Refers instance of `ViewManager`.
 73906  	ViewManager *ManagedObjectReference `xml:"viewManager,omitempty" json:"viewManager,omitempty"`
 73907  	// Information about the service, such as the software version.
 73908  	About AboutInfo `xml:"about" json:"about"`
 73909  	// Generic configuration for a management server.
 73910  	//
 73911  	// This is for example by
 73912  	// vCenter to store the vCenter Settings. This is not used for a
 73913  	// stand-alone host, instead the vim.host.ConfigManager.advancedOption is used.
 73914  	//
 73915  	// See also `HostConfigManager`.
 73916  	//
 73917  	// Refers instance of `OptionManager`.
 73918  	Setting *ManagedObjectReference `xml:"setting,omitempty" json:"setting,omitempty"`
 73919  	// A user directory managed object.
 73920  	//
 73921  	// Refers instance of `UserDirectory`.
 73922  	UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty" json:"userDirectory,omitempty"`
 73923  	// Managed object for logging in and managing sessions.
 73924  	//
 73925  	// Refers instance of `SessionManager`.
 73926  	SessionManager *ManagedObjectReference `xml:"sessionManager,omitempty" json:"sessionManager,omitempty"`
 73927  	// Manages permissions for managed entities in the service.
 73928  	//
 73929  	// Refers instance of `AuthorizationManager`.
 73930  	AuthorizationManager *ManagedObjectReference `xml:"authorizationManager,omitempty" json:"authorizationManager,omitempty"`
 73931  	// A singleton managed object that manages local services.
 73932  	//
 73933  	// Refers instance of `ServiceManager`.
 73934  	ServiceManager *ManagedObjectReference `xml:"serviceManager,omitempty" json:"serviceManager,omitempty"`
 73935  	// A singleton managed object that manages the collection and reporting
 73936  	// of performance statistics.
 73937  	//
 73938  	// Refers instance of `PerformanceManager`.
 73939  	PerfManager *ManagedObjectReference `xml:"perfManager,omitempty" json:"perfManager,omitempty"`
 73940  	// A singleton managed object that manages scheduled tasks.
 73941  	//
 73942  	// Refers instance of `ScheduledTaskManager`.
 73943  	ScheduledTaskManager *ManagedObjectReference `xml:"scheduledTaskManager,omitempty" json:"scheduledTaskManager,omitempty"`
 73944  	// A singleton managed object that manages alarms.
 73945  	//
 73946  	// Refers instance of `AlarmManager`.
 73947  	AlarmManager *ManagedObjectReference `xml:"alarmManager,omitempty" json:"alarmManager,omitempty"`
 73948  	// A singleton managed object that manages events.
 73949  	//
 73950  	// Refers instance of `EventManager`.
 73951  	EventManager *ManagedObjectReference `xml:"eventManager,omitempty" json:"eventManager,omitempty"`
 73952  	// A singleton managed object that manages tasks.
 73953  	//
 73954  	// Refers instance of `TaskManager`.
 73955  	TaskManager *ManagedObjectReference `xml:"taskManager,omitempty" json:"taskManager,omitempty"`
 73956  	// A singleton managed object that manages extensions.
 73957  	//
 73958  	// Refers instance of `ExtensionManager`.
 73959  	ExtensionManager *ManagedObjectReference `xml:"extensionManager,omitempty" json:"extensionManager,omitempty"`
 73960  	// A singleton managed object that manages saved guest customization
 73961  	// specifications.
 73962  	//
 73963  	// Refers instance of `CustomizationSpecManager`.
 73964  	CustomizationSpecManager *ManagedObjectReference `xml:"customizationSpecManager,omitempty" json:"customizationSpecManager,omitempty"`
 73965  	// A singleton managed object that manages guest customization of
 73966  	// a running VM.
 73967  	//
 73968  	// The typical usage is for the guest customization after the
 73969  	// InstantClone operation. See `VirtualMachine.InstantClone_Task`.
 73970  	//
 73971  	// Refers instance of `VirtualMachineGuestCustomizationManager`.
 73972  	GuestCustomizationManager *ManagedObjectReference `xml:"guestCustomizationManager,omitempty" json:"guestCustomizationManager,omitempty"`
 73973  	// A singleton managed object that managed custom fields.
 73974  	//
 73975  	// Refers instance of `CustomFieldsManager`.
 73976  	CustomFieldsManager *ManagedObjectReference `xml:"customFieldsManager,omitempty" json:"customFieldsManager,omitempty"`
 73977  	// A singleton managed object that manages host local user and group accounts.
 73978  	//
 73979  	// Refers instance of `HostLocalAccountManager`.
 73980  	AccountManager *ManagedObjectReference `xml:"accountManager,omitempty" json:"accountManager,omitempty"`
 73981  	// A singleton managed object that provides access to low-level log files.
 73982  	//
 73983  	// Refers instance of `DiagnosticManager`.
 73984  	DiagnosticManager *ManagedObjectReference `xml:"diagnosticManager,omitempty" json:"diagnosticManager,omitempty"`
 73985  	// A singleton managed object that manages licensing
 73986  	//
 73987  	// Refers instance of `LicenseManager`.
 73988  	LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty" json:"licenseManager,omitempty"`
 73989  	// A singleton managed object that allows search of the inventory
 73990  	//
 73991  	// Refers instance of `SearchIndex`.
 73992  	SearchIndex *ManagedObjectReference `xml:"searchIndex,omitempty" json:"searchIndex,omitempty"`
 73993  	// A singleton managed object that allows management of files present
 73994  	// on datastores.
 73995  	//
 73996  	// Refers instance of `FileManager`.
 73997  	FileManager *ManagedObjectReference `xml:"fileManager,omitempty" json:"fileManager,omitempty"`
 73998  	// Datastore Namespace manager.
 73999  	//
 74000  	// A singleton managed object that is used to manage manipulations
 74001  	// related to datastores' namespaces.
 74002  	//
 74003  	// Refers instance of `DatastoreNamespaceManager`.
 74004  	DatastoreNamespaceManager *ManagedObjectReference `xml:"datastoreNamespaceManager,omitempty" json:"datastoreNamespaceManager,omitempty"`
 74005  	// A singleton managed object that allows management of virtual disks
 74006  	// on datastores.
 74007  	//
 74008  	// Refers instance of `VirtualDiskManager`.
 74009  	VirtualDiskManager *ManagedObjectReference `xml:"virtualDiskManager,omitempty" json:"virtualDiskManager,omitempty"`
 74010  	// Deprecated as of VI API 2.5, use the VMware vCenter Converter plug-in.
 74011  	//
 74012  	// A singleton managed object that manages the discovery, analysis,
 74013  	// recommendation and virtualization of physical machines
 74014  	//
 74015  	// Refers instance of `VirtualizationManager`.
 74016  	VirtualizationManager *ManagedObjectReference `xml:"virtualizationManager,omitempty" json:"virtualizationManager,omitempty"`
 74017  	// A singleton managed object that allows SNMP configuration.
 74018  	//
 74019  	// Not set if not supported on a particular platform.
 74020  	//
 74021  	// Refers instance of `HostSnmpSystem`.
 74022  	SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty" json:"snmpSystem,omitempty"`
 74023  	// A singleton managed object that can answer questions about the
 74024  	// feasibility of certain provisioning operations.
 74025  	//
 74026  	// Refers instance of `VirtualMachineProvisioningChecker`.
 74027  	VmProvisioningChecker *ManagedObjectReference `xml:"vmProvisioningChecker,omitempty" json:"vmProvisioningChecker,omitempty"`
 74028  	// A singleton managed object that can answer questions about compatibility
 74029  	// of a virtual machine with a host.
 74030  	//
 74031  	// Refers instance of `VirtualMachineCompatibilityChecker`.
 74032  	VmCompatibilityChecker *ManagedObjectReference `xml:"vmCompatibilityChecker,omitempty" json:"vmCompatibilityChecker,omitempty"`
 74033  	// A singleton managed object that can generate OVF descriptors (export) and create
 74034  	// vApps (single-VM or vApp container-based) from OVF descriptors (import).
 74035  	//
 74036  	// Refers instance of `OvfManager`.
 74037  	OvfManager *ManagedObjectReference `xml:"ovfManager,omitempty" json:"ovfManager,omitempty"`
 74038  	// A singleton managed object that supports management of IpPool objects.
 74039  	//
 74040  	// IP pools are
 74041  	// used when allocating IPv4 and IPv6 addresses to vApps.
 74042  	//
 74043  	// Refers instance of `IpPoolManager`.
 74044  	IpPoolManager *ManagedObjectReference `xml:"ipPoolManager,omitempty" json:"ipPoolManager,omitempty"`
 74045  	// A singleton managed object that provides relevant information of
 74046  	// DistributedVirtualSwitch.
 74047  	//
 74048  	// Refers instance of `DistributedVirtualSwitchManager`.
 74049  	DvSwitchManager *ManagedObjectReference `xml:"dvSwitchManager,omitempty" json:"dvSwitchManager,omitempty"`
 74050  	// A singleton managed object that manages the host profiles.
 74051  	//
 74052  	// Refers instance of `HostProfileManager`.
 74053  	HostProfileManager *ManagedObjectReference `xml:"hostProfileManager,omitempty" json:"hostProfileManager,omitempty"`
 74054  	// A singleton managed object that manages the cluster profiles.
 74055  	//
 74056  	// Refers instance of `ClusterProfileManager`.
 74057  	ClusterProfileManager *ManagedObjectReference `xml:"clusterProfileManager,omitempty" json:"clusterProfileManager,omitempty"`
 74058  	// A singleton managed object that manages compliance aspects of entities.
 74059  	//
 74060  	// Refers instance of `ProfileComplianceManager`.
 74061  	ComplianceManager *ManagedObjectReference `xml:"complianceManager,omitempty" json:"complianceManager,omitempty"`
 74062  	// A singleton managed object that provides methods for retrieving message
 74063  	// catalogs for client-side localization support.
 74064  	//
 74065  	// Refers instance of `LocalizationManager`.
 74066  	LocalizationManager *ManagedObjectReference `xml:"localizationManager,omitempty" json:"localizationManager,omitempty"`
 74067  	// A singleton managed object that provides methods for storage resource
 74068  	// management.
 74069  	//
 74070  	// Refers instance of `StorageResourceManager`.
 74071  	StorageResourceManager *ManagedObjectReference `xml:"storageResourceManager,omitempty" json:"storageResourceManager,omitempty"`
 74072  	// A singleton managed object that provides methods for guest operations.
 74073  	//
 74074  	// Refers instance of `GuestOperationsManager`.
 74075  	GuestOperationsManager *ManagedObjectReference `xml:"guestOperationsManager,omitempty" json:"guestOperationsManager,omitempty"`
 74076  	// A singleton managed object that provides methods for looking up static VM
 74077  	// overhead memory.
 74078  	//
 74079  	// Refers instance of `OverheadMemoryManager`.
 74080  	OverheadMemoryManager *ManagedObjectReference `xml:"overheadMemoryManager,omitempty" json:"overheadMemoryManager,omitempty"`
 74081  	// host certificate manager
 74082  	// A singleton managed object to manage the certificates between the
 74083  	// Certificate Server and the host.
 74084  	//
 74085  	// Refers instance of `CertificateManager`.
 74086  	CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty" json:"certificateManager,omitempty"`
 74087  	// A singleton managed object that manages IO Filters installed on the ESXi
 74088  	// hosts and IO Filter configuration of virtual disks.
 74089  	//
 74090  	// Refers instance of `IoFilterManager`.
 74091  	IoFilterManager *ManagedObjectReference `xml:"ioFilterManager,omitempty" json:"ioFilterManager,omitempty"`
 74092  	// A singleton managed object that manages all storage objects in the
 74093  	// Virtual Infrastructure.
 74094  	//
 74095  	// If connected to a vCenter,
 74096  	// this is the `VcenterVStorageObjectManager`; If connected
 74097  	// to an ESXi host, this is the `HostVStorageObjectManager`.
 74098  	//
 74099  	// A storage object in the Virtual Infrastructure is represented by a
 74100  	// vStorageObject.
 74101  	//
 74102  	// Refers instance of `VStorageObjectManagerBase`.
 74103  	VStorageObjectManager *ManagedObjectReference `xml:"vStorageObjectManager,omitempty" json:"vStorageObjectManager,omitempty"`
 74104  	// A singleton managed object that manages the host specification data.
 74105  	//
 74106  	// Refers instance of `HostSpecificationManager`.
 74107  	HostSpecManager *ManagedObjectReference `xml:"hostSpecManager,omitempty" json:"hostSpecManager,omitempty"`
 74108  	// A singleton managed object used to manage cryptographic keys.
 74109  	//
 74110  	// Refers instance of `CryptoManager`.
 74111  	CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty" json:"cryptoManager,omitempty"`
 74112  	// A singleton managed object that manages the health updates.
 74113  	//
 74114  	// Refers instance of `HealthUpdateManager`.
 74115  	HealthUpdateManager *ManagedObjectReference `xml:"healthUpdateManager,omitempty" json:"healthUpdateManager,omitempty"`
 74116  	// A singleton managed object that manages the VCHA Cluster
 74117  	// configuration.
 74118  	//
 74119  	// Refers instance of `FailoverClusterConfigurator`.
 74120  	FailoverClusterConfigurator *ManagedObjectReference `xml:"failoverClusterConfigurator,omitempty" json:"failoverClusterConfigurator,omitempty"`
 74121  	// A singleton managed object for managing a configured VCHA Cluster.
 74122  	//
 74123  	// Refers instance of `FailoverClusterManager`.
 74124  	FailoverClusterManager *ManagedObjectReference `xml:"failoverClusterManager,omitempty" json:"failoverClusterManager,omitempty"`
 74125  	// A singleton managed object used to configure tenants.
 74126  	//
 74127  	// Refers instance of `TenantTenantManager`.
 74128  	TenantManager *ManagedObjectReference `xml:"tenantManager,omitempty" json:"tenantManager,omitempty"`
 74129  	// A singleton managed object used to manage site related capabilities.
 74130  	//
 74131  	// Refers instance of `SiteInfoManager`.
 74132  	SiteInfoManager *ManagedObjectReference `xml:"siteInfoManager,omitempty" json:"siteInfoManager,omitempty"`
 74133  	// A singleton managed object used to query storage related entities.
 74134  	//
 74135  	// Refers instance of `StorageQueryManager`.
 74136  	StorageQueryManager *ManagedObjectReference `xml:"storageQueryManager,omitempty" json:"storageQueryManager,omitempty"`
 74137  	// A singleton managed object used to query DirectPath profiles.
 74138  	//
 74139  	// Refers instance of `DirectPathProfileManager`.
 74140  	DirectPathProfileManager *ManagedObjectReference `xml:"directPathProfileManager,omitempty" json:"directPathProfileManager,omitempty" vim:"9.0.0.0"`
 74141  }
 74142  
 74143  func init() {
 74144  	t["ServiceContent"] = reflect.TypeOf((*ServiceContent)(nil)).Elem()
 74145  }
 74146  
 74147  // This data object type specifies the information of a service endpoint as
 74148  // well as the parameters needed to locate and login to to the service
 74149  // endpoint.
 74150  type ServiceLocator struct {
 74151  	DynamicData
 74152  
 74153  	// Unique ID of the instance to which the service belongs.
 74154  	//
 74155  	// For
 74156  	// instances that support the vSphere API, this is the same as the
 74157  	// value found in `AboutInfo.instanceUuid`.
 74158  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 74159  	// URL used to access the service endpoint
 74160  	Url string `xml:"url" json:"url"`
 74161  	// Credential to establish the connection and login to the service.
 74162  	Credential BaseServiceLocatorCredential `xml:"credential,typeattr" json:"credential"`
 74163  	// The SSL thumbprint of the certificate of the service endpoint.
 74164  	//
 74165  	// Superceded by `ServiceLocator.sslCertificate`.
 74166  	// Note: If both <code>sslThumbprint</code> and <code>sslCertificate</code> are set,
 74167  	// <code>sslThumbprint</code> must correspond to the <code>sslCertificate</code>.
 74168  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 74169  	// The SSL certificate of the service endpoint in PEM format.
 74170  	//
 74171  	// A replacement for `ServiceLocator.sslThumbprint`.
 74172  	// Note: If both <code>sslThumbprint</code> and <code>sslCertificate</code> are set,
 74173  	// <code>sslThumbprint</code> must correspond to the <code>sslCertificate</code>.
 74174  	SslCertificate string `xml:"sslCertificate,omitempty" json:"sslCertificate,omitempty" vim:"9.0.0.0"`
 74175  }
 74176  
 74177  func init() {
 74178  	t["ServiceLocator"] = reflect.TypeOf((*ServiceLocator)(nil)).Elem()
 74179  }
 74180  
 74181  // The data object type is a base type of credential for authentication such
 74182  // as username/password or SAML token.
 74183  type ServiceLocatorCredential struct {
 74184  	DynamicData
 74185  }
 74186  
 74187  func init() {
 74188  	t["ServiceLocatorCredential"] = reflect.TypeOf((*ServiceLocatorCredential)(nil)).Elem()
 74189  }
 74190  
 74191  // The data object type specifies the username and password credential for
 74192  // authenticating to a service endpoint.
 74193  type ServiceLocatorNamePassword struct {
 74194  	ServiceLocatorCredential
 74195  
 74196  	// The username for Username-Password authentication
 74197  	Username string `xml:"username" json:"username"`
 74198  	// The password for Username-Password authentication
 74199  	Password string `xml:"password" json:"password"`
 74200  }
 74201  
 74202  func init() {
 74203  	t["ServiceLocatorNamePassword"] = reflect.TypeOf((*ServiceLocatorNamePassword)(nil)).Elem()
 74204  }
 74205  
 74206  // The data object type specifies the SAML token (SSO) based credential for
 74207  // authenticating to a service endpoint.
 74208  type ServiceLocatorSAMLCredential struct {
 74209  	ServiceLocatorCredential
 74210  
 74211  	// The SAML token for authentication
 74212  	Token string `xml:"token,omitempty" json:"token,omitempty"`
 74213  }
 74214  
 74215  func init() {
 74216  	t["ServiceLocatorSAMLCredential"] = reflect.TypeOf((*ServiceLocatorSAMLCredential)(nil)).Elem()
 74217  }
 74218  
 74219  // This data object represents essential information about a particular service.
 74220  //
 74221  // The information is sufficient to be able to identify the service and retrieve
 74222  // the object implementing it.
 74223  type ServiceManagerServiceInfo struct {
 74224  	DynamicData
 74225  
 74226  	// A service name.
 74227  	//
 74228  	// Each service is expected to create a unique name
 74229  	// for itself that can be used to locate the service. This name
 74230  	// does not need to be unique across hosts or other such locations though.
 74231  	ServiceName string `xml:"serviceName" json:"serviceName"`
 74232  	// A list of data that can be used to uniquely identify a particular instance of a service.
 74233  	//
 74234  	// Multiple instances of a service can exist across different domains (for instance, a service
 74235  	// that is associated with a particular virtual machine or a particular host). In such cases,
 74236  	// the service name is insufficient to identify the service and location data can be used
 74237  	// to identify the instance of interest. A service may publish as much location data
 74238  	// as is needed to identify it (e.g, vmware.host.&lt;hostname&gt; or vmware.vm.&lt;uuid&gt; or both).
 74239  	// The particular choice of locations have to be agreed upon by
 74240  	// the client and the service.
 74241  	Location []string `xml:"location,omitempty" json:"location,omitempty"`
 74242  	// The managed object that presents this service.
 74243  	Service ManagedObjectReference `xml:"service" json:"service"`
 74244  	// A description of the service.
 74245  	//
 74246  	// Provides help text on how
 74247  	// to use the service.
 74248  	Description string `xml:"description" json:"description"`
 74249  }
 74250  
 74251  func init() {
 74252  	t["ServiceManagerServiceInfo"] = reflect.TypeOf((*ServiceManagerServiceInfo)(nil)).Elem()
 74253  }
 74254  
 74255  // The `ServiceProfile` data object controls the configuration of a service.
 74256  //
 74257  // Use the `ApplyProfile.policy` list for access to configuration data
 74258  // for the service profile. Use the `ApplyProfile.property` list for access
 74259  // to subprofiles, if any.
 74260  type ServiceProfile struct {
 74261  	ApplyProfile
 74262  
 74263  	// Linkable identifier.
 74264  	Key string `xml:"key" json:"key"`
 74265  }
 74266  
 74267  func init() {
 74268  	t["ServiceProfile"] = reflect.TypeOf((*ServiceProfile)(nil)).Elem()
 74269  }
 74270  
 74271  // These are session events.
 74272  type SessionEvent struct {
 74273  	Event
 74274  }
 74275  
 74276  func init() {
 74277  	t["SessionEvent"] = reflect.TypeOf((*SessionEvent)(nil)).Elem()
 74278  }
 74279  
 74280  type SessionIsActive SessionIsActiveRequestType
 74281  
 74282  func init() {
 74283  	t["SessionIsActive"] = reflect.TypeOf((*SessionIsActive)(nil)).Elem()
 74284  }
 74285  
 74286  // The parameters of `SessionManager.SessionIsActive`.
 74287  type SessionIsActiveRequestType struct {
 74288  	This ManagedObjectReference `xml:"_this" json:"-"`
 74289  	// Session ID to validate.
 74290  	SessionID string `xml:"sessionID" json:"sessionID"`
 74291  	// User name to validate.
 74292  	UserName string `xml:"userName" json:"userName"`
 74293  }
 74294  
 74295  func init() {
 74296  	t["SessionIsActiveRequestType"] = reflect.TypeOf((*SessionIsActiveRequestType)(nil)).Elem()
 74297  }
 74298  
 74299  type SessionIsActiveResponse struct {
 74300  	Returnval bool `xml:"returnval" json:"returnval"`
 74301  }
 74302  
 74303  // This data object represents a ticket which grants access to some service.
 74304  //
 74305  // The ticket may be used only once and is valid only for the
 74306  // `SessionManagerServiceRequestSpec` with which it was acquired.
 74307  // For HTTP service requests (when spec is of type HttpServiceRequestSpec)
 74308  // the returned ticket must be used by setting
 74309  // `SessionManagerGenericServiceTicket.id`
 74310  // as the value of a special cookie in the HTTP request.
 74311  // For CGI requests the name of this cookie is 'vmware\_cgi\_ticket'.
 74312  // The use of the returned ticket for other services is to be defined.
 74313  type SessionManagerGenericServiceTicket struct {
 74314  	DynamicData
 74315  
 74316  	// A unique string identifying the ticket.
 74317  	Id string `xml:"id" json:"id"`
 74318  	// The name of the host that the service is running on
 74319  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 74320  	// The expected thumbprint of the SSL certificate of the host.
 74321  	//
 74322  	// If it is empty, the host must be authenticated by name.
 74323  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 74324  	// List of expected thumbprints of the certificate of the host to
 74325  	// which we are connecting.
 74326  	//
 74327  	// The list can be configured on the host
 74328  	// to include only certain hash types. The default configuration
 74329  	// includes all hash types that are considered secure. See vmware.com
 74330  	// for the current security standards.
 74331  	CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty" json:"certThumbprintList,omitempty" vim:"7.0.3.1"`
 74332  	// Supported only by vCenter.
 74333  	//
 74334  	// The expected SSL certificate of the host to which we are connecting
 74335  	// to, in PEM format.
 74336  	// Note: `SessionManagerGenericServiceTicket.sslThumbprint` and `SessionManagerGenericServiceTicket.sslCertificate` parameters are
 74337  	// mutually exclusive, and should never be used simultaneously.
 74338  	SslCertificate string `xml:"sslCertificate,omitempty" json:"sslCertificate,omitempty" vim:"9.0.0.0"`
 74339  	// Type of the ticket
 74340  	// See { @Vim::SessionManager::GenericServiceTicket::TicketType }
 74341  	TicketType string `xml:"ticketType,omitempty" json:"ticketType,omitempty" vim:"7.0.2.0"`
 74342  }
 74343  
 74344  func init() {
 74345  	t["SessionManagerGenericServiceTicket"] = reflect.TypeOf((*SessionManagerGenericServiceTicket)(nil)).Elem()
 74346  }
 74347  
 74348  // This data object type describes a request to an HTTP or HTTPS service.
 74349  type SessionManagerHttpServiceRequestSpec struct {
 74350  	SessionManagerServiceRequestSpec
 74351  
 74352  	// The HTTP method used for the request.
 74353  	//
 74354  	// If null, then any method is assumed.
 74355  	//
 74356  	// See also `SessionManagerHttpServiceRequestSpecMethod_enum`.
 74357  	Method string `xml:"method,omitempty" json:"method,omitempty"`
 74358  	// URL of the HTTP request.
 74359  	//
 74360  	// E.g. 'https://127.0.0.1:8080/cgi-bin/vm-support.cgi?n=val'.
 74361  	//
 74362  	// For ESXi CGI service requests:
 74363  	//   - only the path and query parts of the URL are used
 74364  	//     (e.g. "/cgi-bin/vm-support.cgi?n=val").
 74365  	//
 74366  	// This is so because the scheme is not known to the CGI service,
 74367  	// and the port may not be the same if using a proxy.
 74368  	Url string `xml:"url" json:"url"`
 74369  }
 74370  
 74371  func init() {
 74372  	t["SessionManagerHttpServiceRequestSpec"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpec)(nil)).Elem()
 74373  }
 74374  
 74375  // This data object type contains the user name
 74376  // and location of the file containing the password that
 74377  // clients can use for one-time logon to a server.
 74378  type SessionManagerLocalTicket struct {
 74379  	DynamicData
 74380  
 74381  	// User name to be used for logon.
 74382  	UserName string `xml:"userName" json:"userName"`
 74383  	// Absolute local path to the file containing a one-time password.
 74384  	PasswordFilePath string `xml:"passwordFilePath" json:"passwordFilePath"`
 74385  }
 74386  
 74387  func init() {
 74388  	t["SessionManagerLocalTicket"] = reflect.TypeOf((*SessionManagerLocalTicket)(nil)).Elem()
 74389  }
 74390  
 74391  // This data object type describes a request to a service.
 74392  //
 74393  // It is used as argument to
 74394  // `SessionManager.AcquireGenericServiceTicket`.
 74395  // This is the base class for more specific service request specifications.
 74396  // E.g. for HTTP services the derived class will provide a URL property.
 74397  type SessionManagerServiceRequestSpec struct {
 74398  	DynamicData
 74399  }
 74400  
 74401  func init() {
 74402  	t["SessionManagerServiceRequestSpec"] = reflect.TypeOf((*SessionManagerServiceRequestSpec)(nil)).Elem()
 74403  }
 74404  
 74405  // This data object type describes a request to invoke a specific method
 74406  // in a VMOMI service.
 74407  //
 74408  // It currently only supports {link vim.SessionManager#cloneSession} method.
 74409  // The GenericServiceTicket.id returned from
 74410  // `SessionManager.AcquireGenericServiceTicket` for this request
 74411  // can be use for `SessionManager.CloneSession` to clone a session
 74412  type SessionManagerVmomiServiceRequestSpec struct {
 74413  	SessionManagerServiceRequestSpec
 74414  
 74415  	// Name of the method identified by this request spec
 74416  	Method string `xml:"method" json:"method"`
 74417  }
 74418  
 74419  func init() {
 74420  	t["SessionManagerVmomiServiceRequestSpec"] = reflect.TypeOf((*SessionManagerVmomiServiceRequestSpec)(nil)).Elem()
 74421  }
 74422  
 74423  // This event records the termination of a session.
 74424  type SessionTerminatedEvent struct {
 74425  	SessionEvent
 74426  
 74427  	// The unique identifier of the terminated session.
 74428  	SessionId string `xml:"sessionId" json:"sessionId"`
 74429  	// The name of the user owning the terminated session.
 74430  	TerminatedUsername string `xml:"terminatedUsername" json:"terminatedUsername"`
 74431  }
 74432  
 74433  func init() {
 74434  	t["SessionTerminatedEvent"] = reflect.TypeOf((*SessionTerminatedEvent)(nil)).Elem()
 74435  }
 74436  
 74437  type SetCollectorPageSize SetCollectorPageSizeRequestType
 74438  
 74439  func init() {
 74440  	t["SetCollectorPageSize"] = reflect.TypeOf((*SetCollectorPageSize)(nil)).Elem()
 74441  }
 74442  
 74443  // The parameters of `HistoryCollector.SetCollectorPageSize`.
 74444  type SetCollectorPageSizeRequestType struct {
 74445  	This ManagedObjectReference `xml:"_this" json:"-"`
 74446  	// The maximum number of items in the page.
 74447  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 74448  }
 74449  
 74450  func init() {
 74451  	t["SetCollectorPageSizeRequestType"] = reflect.TypeOf((*SetCollectorPageSizeRequestType)(nil)).Elem()
 74452  }
 74453  
 74454  type SetCollectorPageSizeResponse struct {
 74455  }
 74456  
 74457  type SetCryptoMode SetCryptoModeRequestType
 74458  
 74459  func init() {
 74460  	t["SetCryptoMode"] = reflect.TypeOf((*SetCryptoMode)(nil)).Elem()
 74461  }
 74462  
 74463  // The parameters of `ClusterComputeResource.SetCryptoMode`.
 74464  type SetCryptoModeRequestType struct {
 74465  	This ManagedObjectReference `xml:"_this" json:"-"`
 74466  	// The encryption mode for the cluster.
 74467  	// See `ClusterCryptoConfigInfoCryptoMode_enum` for
 74468  	// supported values. An empty string is treated as a valid
 74469  	// input and will be interpreted as
 74470  	// `onDemand`.
 74471  	CryptoMode string `xml:"cryptoMode" json:"cryptoMode"`
 74472  	// The encryption mode policy for the cluster. When no policy
 74473  	// is specified, host keys will be automcatically generated
 74474  	// using the current default key provider.
 74475  	Policy *ClusterComputeResourceCryptoModePolicy `xml:"policy,omitempty" json:"policy,omitempty" vim:"8.0.3.0"`
 74476  }
 74477  
 74478  func init() {
 74479  	t["SetCryptoModeRequestType"] = reflect.TypeOf((*SetCryptoModeRequestType)(nil)).Elem()
 74480  }
 74481  
 74482  type SetCryptoModeResponse struct {
 74483  }
 74484  
 74485  type SetDefaultKmsCluster SetDefaultKmsClusterRequestType
 74486  
 74487  func init() {
 74488  	t["SetDefaultKmsCluster"] = reflect.TypeOf((*SetDefaultKmsCluster)(nil)).Elem()
 74489  }
 74490  
 74491  // The parameters of `CryptoManagerKmip.SetDefaultKmsCluster`.
 74492  type SetDefaultKmsClusterRequestType struct {
 74493  	This ManagedObjectReference `xml:"_this" json:"-"`
 74494  	// \[in\] The managed entity where the default KMS cluster to be
 74495  	// set. Currently the valid managed entity could be
 74496  	// cluster or host folder.
 74497  	// If omitted, then will set global default KMS cluster.
 74498  	//
 74499  	// Refers instance of `ManagedEntity`.
 74500  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 74501  	// \[in\] KMS cluster ID to become default.
 74502  	// If omitted, then will clear the default KMS cluster
 74503  	// setting.
 74504  	ClusterId *KeyProviderId `xml:"clusterId,omitempty" json:"clusterId,omitempty"`
 74505  }
 74506  
 74507  func init() {
 74508  	t["SetDefaultKmsClusterRequestType"] = reflect.TypeOf((*SetDefaultKmsClusterRequestType)(nil)).Elem()
 74509  }
 74510  
 74511  type SetDefaultKmsClusterResponse struct {
 74512  }
 74513  
 74514  type SetDisplayTopology SetDisplayTopologyRequestType
 74515  
 74516  func init() {
 74517  	t["SetDisplayTopology"] = reflect.TypeOf((*SetDisplayTopology)(nil)).Elem()
 74518  }
 74519  
 74520  // The parameters of `VirtualMachine.SetDisplayTopology`.
 74521  type SetDisplayTopologyRequestType struct {
 74522  	This ManagedObjectReference `xml:"_this" json:"-"`
 74523  	// The topology for each monitor that the
 74524  	// virtual machine's display must span.
 74525  	Displays []VirtualMachineDisplayTopology `xml:"displays" json:"displays"`
 74526  }
 74527  
 74528  func init() {
 74529  	t["SetDisplayTopologyRequestType"] = reflect.TypeOf((*SetDisplayTopologyRequestType)(nil)).Elem()
 74530  }
 74531  
 74532  type SetDisplayTopologyResponse struct {
 74533  }
 74534  
 74535  type SetEntityPermissions SetEntityPermissionsRequestType
 74536  
 74537  func init() {
 74538  	t["SetEntityPermissions"] = reflect.TypeOf((*SetEntityPermissions)(nil)).Elem()
 74539  }
 74540  
 74541  // The parameters of `AuthorizationManager.SetEntityPermissions`.
 74542  type SetEntityPermissionsRequestType struct {
 74543  	This ManagedObjectReference `xml:"_this" json:"-"`
 74544  	// The entity on which to set permissions.
 74545  	//
 74546  	// Required privileges: Authorization.ModifyPermissions
 74547  	//
 74548  	// Refers instance of `ManagedEntity`.
 74549  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 74550  	// An array of specifications for permissions on the entity.
 74551  	Permission []Permission `xml:"permission,omitempty" json:"permission,omitempty"`
 74552  }
 74553  
 74554  func init() {
 74555  	t["SetEntityPermissionsRequestType"] = reflect.TypeOf((*SetEntityPermissionsRequestType)(nil)).Elem()
 74556  }
 74557  
 74558  type SetEntityPermissionsResponse struct {
 74559  }
 74560  
 74561  type SetExtensionCertificate SetExtensionCertificateRequestType
 74562  
 74563  func init() {
 74564  	t["SetExtensionCertificate"] = reflect.TypeOf((*SetExtensionCertificate)(nil)).Elem()
 74565  }
 74566  
 74567  // The parameters of `ExtensionManager.SetExtensionCertificate`.
 74568  type SetExtensionCertificateRequestType struct {
 74569  	This ManagedObjectReference `xml:"_this" json:"-"`
 74570  	// Key of extension to update.
 74571  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 74572  	// PEM encoded certificate. If not specified, the
 74573  	// certificate passed over SSL handshake is used.
 74574  	CertificatePem string `xml:"certificatePem,omitempty" json:"certificatePem,omitempty"`
 74575  }
 74576  
 74577  func init() {
 74578  	t["SetExtensionCertificateRequestType"] = reflect.TypeOf((*SetExtensionCertificateRequestType)(nil)).Elem()
 74579  }
 74580  
 74581  type SetExtensionCertificateResponse struct {
 74582  }
 74583  
 74584  type SetField SetFieldRequestType
 74585  
 74586  func init() {
 74587  	t["SetField"] = reflect.TypeOf((*SetField)(nil)).Elem()
 74588  }
 74589  
 74590  // The parameters of `CustomFieldsManager.SetField`.
 74591  type SetFieldRequestType struct {
 74592  	This ManagedObjectReference `xml:"_this" json:"-"`
 74593  	// Required privileges: Global.SetCustomField
 74594  	//
 74595  	// Refers instance of `ManagedEntity`.
 74596  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 74597  	Key    int32                  `xml:"key" json:"key"`
 74598  	Value  string                 `xml:"value" json:"value"`
 74599  }
 74600  
 74601  func init() {
 74602  	t["SetFieldRequestType"] = reflect.TypeOf((*SetFieldRequestType)(nil)).Elem()
 74603  }
 74604  
 74605  type SetFieldResponse struct {
 74606  }
 74607  
 74608  type SetKeyCustomAttributes SetKeyCustomAttributesRequestType
 74609  
 74610  func init() {
 74611  	t["SetKeyCustomAttributes"] = reflect.TypeOf((*SetKeyCustomAttributes)(nil)).Elem()
 74612  }
 74613  
 74614  // The parameters of `CryptoManagerKmip.SetKeyCustomAttributes`.
 74615  type SetKeyCustomAttributesRequestType struct {
 74616  	This ManagedObjectReference `xml:"_this" json:"-"`
 74617  	// \[in\] The crypto Key Id.
 74618  	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
 74619  	// \[in\] The spec that contains custom attributes key/value pairs.
 74620  	Spec CryptoManagerKmipCustomAttributeSpec `xml:"spec" json:"spec"`
 74621  }
 74622  
 74623  func init() {
 74624  	t["SetKeyCustomAttributesRequestType"] = reflect.TypeOf((*SetKeyCustomAttributesRequestType)(nil)).Elem()
 74625  	minAPIVersionForType["SetKeyCustomAttributesRequestType"] = "8.0.1.0"
 74626  }
 74627  
 74628  type SetKeyCustomAttributesResponse struct {
 74629  	Returnval CryptoKeyResult `xml:"returnval" json:"returnval"`
 74630  }
 74631  
 74632  type SetLicenseEdition SetLicenseEditionRequestType
 74633  
 74634  func init() {
 74635  	t["SetLicenseEdition"] = reflect.TypeOf((*SetLicenseEdition)(nil)).Elem()
 74636  }
 74637  
 74638  // The parameters of `LicenseManager.SetLicenseEdition`.
 74639  type SetLicenseEditionRequestType struct {
 74640  	This ManagedObjectReference `xml:"_this" json:"-"`
 74641  	// Host to act on if LicenseManager is not on a host.
 74642  	//
 74643  	// Refers instance of `HostSystem`.
 74644  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 74645  	// Name of edition feature to select. If featureKey is not
 74646  	// set or set to empty string, the product becomes unlicensed.
 74647  	FeatureKey string `xml:"featureKey,omitempty" json:"featureKey,omitempty"`
 74648  }
 74649  
 74650  func init() {
 74651  	t["SetLicenseEditionRequestType"] = reflect.TypeOf((*SetLicenseEditionRequestType)(nil)).Elem()
 74652  }
 74653  
 74654  type SetLicenseEditionResponse struct {
 74655  }
 74656  
 74657  type SetLocale SetLocaleRequestType
 74658  
 74659  func init() {
 74660  	t["SetLocale"] = reflect.TypeOf((*SetLocale)(nil)).Elem()
 74661  }
 74662  
 74663  // The parameters of `SessionManager.SetLocale`.
 74664  type SetLocaleRequestType struct {
 74665  	This ManagedObjectReference `xml:"_this" json:"-"`
 74666  	// A two-character ISO-639 language ID (like "en")
 74667  	// optionally followed by an
 74668  	// underscore and a two-character ISO 3166 country ID (like "US").
 74669  	//
 74670  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 74671  	// Note: The method uses the server default locale when
 74672  	// a locale is not provided. This default can be configured in the
 74673  	// server configuration file. If unspecified, it defaults to the
 74674  	// locale of the server environment or English ("en") if unsupported.
 74675  	Locale string `xml:"locale" json:"locale"`
 74676  }
 74677  
 74678  func init() {
 74679  	t["SetLocaleRequestType"] = reflect.TypeOf((*SetLocaleRequestType)(nil)).Elem()
 74680  }
 74681  
 74682  type SetLocaleResponse struct {
 74683  }
 74684  
 74685  type SetMaxQueueDepth SetMaxQueueDepthRequestType
 74686  
 74687  func init() {
 74688  	t["SetMaxQueueDepth"] = reflect.TypeOf((*SetMaxQueueDepth)(nil)).Elem()
 74689  }
 74690  
 74691  // The parameters of `HostDatastoreSystem.SetMaxQueueDepth`.
 74692  type SetMaxQueueDepthRequestType struct {
 74693  	This ManagedObjectReference `xml:"_this" json:"-"`
 74694  	// The NFS datastore which need to set max queue depth
 74695  	//
 74696  	// Refers instance of `Datastore`.
 74697  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 74698  	// Max queue depth value for a datastore
 74699  	MaxQdepth int64 `xml:"maxQdepth" json:"maxQdepth"`
 74700  }
 74701  
 74702  func init() {
 74703  	t["SetMaxQueueDepthRequestType"] = reflect.TypeOf((*SetMaxQueueDepthRequestType)(nil)).Elem()
 74704  	minAPIVersionForType["SetMaxQueueDepthRequestType"] = "8.0.0.1"
 74705  }
 74706  
 74707  type SetMaxQueueDepthResponse struct {
 74708  }
 74709  
 74710  type SetMultipathLunPolicy SetMultipathLunPolicyRequestType
 74711  
 74712  func init() {
 74713  	t["SetMultipathLunPolicy"] = reflect.TypeOf((*SetMultipathLunPolicy)(nil)).Elem()
 74714  }
 74715  
 74716  // The parameters of `HostStorageSystem.SetMultipathLunPolicy`.
 74717  type SetMultipathLunPolicyRequestType struct {
 74718  	This ManagedObjectReference `xml:"_this" json:"-"`
 74719  	// The logical unit ID
 74720  	LunId string `xml:"lunId" json:"lunId"`
 74721  	// A data object that describes a path selection policy for
 74722  	// the logical unit.
 74723  	Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr" json:"policy"`
 74724  }
 74725  
 74726  func init() {
 74727  	t["SetMultipathLunPolicyRequestType"] = reflect.TypeOf((*SetMultipathLunPolicyRequestType)(nil)).Elem()
 74728  }
 74729  
 74730  type SetMultipathLunPolicyResponse struct {
 74731  }
 74732  
 74733  type SetNFSUser SetNFSUserRequestType
 74734  
 74735  func init() {
 74736  	t["SetNFSUser"] = reflect.TypeOf((*SetNFSUser)(nil)).Elem()
 74737  }
 74738  
 74739  // The parameters of `HostStorageSystem.SetNFSUser`.
 74740  type SetNFSUserRequestType struct {
 74741  	This ManagedObjectReference `xml:"_this" json:"-"`
 74742  	// User to be saved on the the esx host
 74743  	User string `xml:"user" json:"user"`
 74744  	// Password for the user.
 74745  	Password string `xml:"password" json:"password"`
 74746  }
 74747  
 74748  func init() {
 74749  	t["SetNFSUserRequestType"] = reflect.TypeOf((*SetNFSUserRequestType)(nil)).Elem()
 74750  }
 74751  
 74752  type SetNFSUserResponse struct {
 74753  }
 74754  
 74755  type SetPublicKey SetPublicKeyRequestType
 74756  
 74757  func init() {
 74758  	t["SetPublicKey"] = reflect.TypeOf((*SetPublicKey)(nil)).Elem()
 74759  }
 74760  
 74761  // The parameters of `ExtensionManager.SetPublicKey`.
 74762  type SetPublicKeyRequestType struct {
 74763  	This ManagedObjectReference `xml:"_this" json:"-"`
 74764  	// Key of extension to update.
 74765  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 74766  	// Public key of extension, encoded
 74767  	// in PEM (privacy-enhanced mail) format.
 74768  	PublicKey string `xml:"publicKey" json:"publicKey"`
 74769  }
 74770  
 74771  func init() {
 74772  	t["SetPublicKeyRequestType"] = reflect.TypeOf((*SetPublicKeyRequestType)(nil)).Elem()
 74773  }
 74774  
 74775  type SetPublicKeyResponse struct {
 74776  }
 74777  
 74778  type SetRegistryValueInGuest SetRegistryValueInGuestRequestType
 74779  
 74780  func init() {
 74781  	t["SetRegistryValueInGuest"] = reflect.TypeOf((*SetRegistryValueInGuest)(nil)).Elem()
 74782  }
 74783  
 74784  // The parameters of `GuestWindowsRegistryManager.SetRegistryValueInGuest`.
 74785  type SetRegistryValueInGuestRequestType struct {
 74786  	This ManagedObjectReference `xml:"_this" json:"-"`
 74787  	// Virtual machine to perform the operation on.
 74788  	//
 74789  	// Required privileges: VirtualMachine.GuestOperations.Modify
 74790  	//
 74791  	// Refers instance of `VirtualMachine`.
 74792  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 74793  	// The guest authentication data.
 74794  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 74795  	// The information for the registry value to be set/created.
 74796  	// The Value "name" (specified in
 74797  	// `GuestRegValueNameSpec`)
 74798  	// and the Value "data" (specified in
 74799  	// `GuestRegValueSpec`)
 74800  	// can both be empty. If "name" is empty, it sets the value for
 74801  	// the unnamed or default value of the given key.
 74802  	Value GuestRegValueSpec `xml:"value" json:"value"`
 74803  }
 74804  
 74805  func init() {
 74806  	t["SetRegistryValueInGuestRequestType"] = reflect.TypeOf((*SetRegistryValueInGuestRequestType)(nil)).Elem()
 74807  }
 74808  
 74809  type SetRegistryValueInGuestResponse struct {
 74810  }
 74811  
 74812  type SetScreenResolution SetScreenResolutionRequestType
 74813  
 74814  func init() {
 74815  	t["SetScreenResolution"] = reflect.TypeOf((*SetScreenResolution)(nil)).Elem()
 74816  }
 74817  
 74818  // The parameters of `VirtualMachine.SetScreenResolution`.
 74819  type SetScreenResolutionRequestType struct {
 74820  	This ManagedObjectReference `xml:"_this" json:"-"`
 74821  	// The screen width that should be set.
 74822  	Width int32 `xml:"width" json:"width"`
 74823  	// The screen height that should be set.
 74824  	Height int32 `xml:"height" json:"height"`
 74825  }
 74826  
 74827  func init() {
 74828  	t["SetScreenResolutionRequestType"] = reflect.TypeOf((*SetScreenResolutionRequestType)(nil)).Elem()
 74829  }
 74830  
 74831  type SetScreenResolutionResponse struct {
 74832  }
 74833  
 74834  type SetServiceAccount SetServiceAccountRequestType
 74835  
 74836  func init() {
 74837  	t["SetServiceAccount"] = reflect.TypeOf((*SetServiceAccount)(nil)).Elem()
 74838  }
 74839  
 74840  // The parameters of `ExtensionManager.SetServiceAccount`.
 74841  type SetServiceAccountRequestType struct {
 74842  	This ManagedObjectReference `xml:"_this" json:"-"`
 74843  	// Key of extension to update.
 74844  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 74845  	// account name qualified with SSO domain.
 74846  	ServiceAccount string `xml:"serviceAccount" json:"serviceAccount"`
 74847  }
 74848  
 74849  func init() {
 74850  	t["SetServiceAccountRequestType"] = reflect.TypeOf((*SetServiceAccountRequestType)(nil)).Elem()
 74851  	minAPIVersionForType["SetServiceAccountRequestType"] = "8.0.2.0"
 74852  }
 74853  
 74854  type SetServiceAccountResponse struct {
 74855  }
 74856  
 74857  type SetTaskDescription SetTaskDescriptionRequestType
 74858  
 74859  func init() {
 74860  	t["SetTaskDescription"] = reflect.TypeOf((*SetTaskDescription)(nil)).Elem()
 74861  }
 74862  
 74863  // The parameters of `Task.SetTaskDescription`.
 74864  type SetTaskDescriptionRequestType struct {
 74865  	This ManagedObjectReference `xml:"_this" json:"-"`
 74866  	// New description for task
 74867  	Description LocalizableMessage `xml:"description" json:"description"`
 74868  }
 74869  
 74870  func init() {
 74871  	t["SetTaskDescriptionRequestType"] = reflect.TypeOf((*SetTaskDescriptionRequestType)(nil)).Elem()
 74872  }
 74873  
 74874  type SetTaskDescriptionResponse struct {
 74875  }
 74876  
 74877  type SetTaskState SetTaskStateRequestType
 74878  
 74879  func init() {
 74880  	t["SetTaskState"] = reflect.TypeOf((*SetTaskState)(nil)).Elem()
 74881  }
 74882  
 74883  // The parameters of `Task.SetTaskState`.
 74884  type SetTaskStateRequestType struct {
 74885  	This ManagedObjectReference `xml:"_this" json:"-"`
 74886  	// New state for task
 74887  	State TaskInfoState `xml:"state" json:"state"`
 74888  	// Result to set, valid only if task state is
 74889  	// TaskInfo.State.success
 74890  	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
 74891  	// Fault to set, valid only if task state is
 74892  	// `error`. The fault must be a of a fault type that
 74893  	// directly or indirectly extends `VimFault`.
 74894  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 74895  }
 74896  
 74897  func init() {
 74898  	t["SetTaskStateRequestType"] = reflect.TypeOf((*SetTaskStateRequestType)(nil)).Elem()
 74899  }
 74900  
 74901  type SetTaskStateResponse struct {
 74902  }
 74903  
 74904  type SetVStorageObjectControlFlags SetVStorageObjectControlFlagsRequestType
 74905  
 74906  func init() {
 74907  	t["SetVStorageObjectControlFlags"] = reflect.TypeOf((*SetVStorageObjectControlFlags)(nil)).Elem()
 74908  }
 74909  
 74910  // The parameters of `VcenterVStorageObjectManager.SetVStorageObjectControlFlags`.
 74911  type SetVStorageObjectControlFlagsRequestType struct {
 74912  	This ManagedObjectReference `xml:"_this" json:"-"`
 74913  	// The ID of the virtual storage object.
 74914  	Id ID `xml:"id" json:"id"`
 74915  	// The datastore where the source virtual storage
 74916  	// object is located.
 74917  	//
 74918  	// Required privileges: Datastore.FileManagement
 74919  	//
 74920  	// Refers instance of `Datastore`.
 74921  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 74922  	// control flags enum array to be set on the
 74923  	// VStorageObject. All control flags not included
 74924  	// in the array remain intact.
 74925  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 74926  }
 74927  
 74928  func init() {
 74929  	t["SetVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*SetVStorageObjectControlFlagsRequestType)(nil)).Elem()
 74930  }
 74931  
 74932  type SetVStorageObjectControlFlagsResponse struct {
 74933  }
 74934  
 74935  type SetVirtualDiskUuid SetVirtualDiskUuidRequestType
 74936  
 74937  func init() {
 74938  	t["SetVirtualDiskUuid"] = reflect.TypeOf((*SetVirtualDiskUuid)(nil)).Elem()
 74939  }
 74940  
 74941  // The parameters of `VcenterVStorageObjectManager.SetVirtualDiskUuidEx_Task`.
 74942  type SetVirtualDiskUuidExRequestType struct {
 74943  	This ManagedObjectReference `xml:"_this" json:"-"`
 74944  	// The name of the disk, either a datastore path or a URL
 74945  	// referring to the virtual disk whose uuid for the DDB entry needs to be set.
 74946  	// A datastore path has the form
 74947  	// > \[_datastore_\] _path_
 74948  	//
 74949  	// where
 74950  	//   - _datastore_ is the datastore name.
 74951  	//   - _path_ is a slash-delimited path from the root of the datastore.
 74952  	//
 74953  	// An example datastore path is "\[storage\] path/to/file.extension".
 74954  	Name string `xml:"name" json:"name"`
 74955  	// If <code>name</code> is a datastore path, the datacenter for
 74956  	// that datastore path is mandatory. Not needed when invoked directly on ESX.
 74957  	// If not specified on a call from VirtualCenter,
 74958  	// <code>name</code> must be a URL.
 74959  	//
 74960  	// Refers instance of `Datacenter`.
 74961  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 74962  	// The hex representation of the unique ID for this virtual disk. If uuid is not set or missing,
 74963  	// a random UUID is generated and assigned.
 74964  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 74965  }
 74966  
 74967  func init() {
 74968  	t["SetVirtualDiskUuidExRequestType"] = reflect.TypeOf((*SetVirtualDiskUuidExRequestType)(nil)).Elem()
 74969  	minAPIVersionForType["SetVirtualDiskUuidExRequestType"] = "8.0.3.0"
 74970  }
 74971  
 74972  type SetVirtualDiskUuidEx_Task SetVirtualDiskUuidExRequestType
 74973  
 74974  func init() {
 74975  	t["SetVirtualDiskUuidEx_Task"] = reflect.TypeOf((*SetVirtualDiskUuidEx_Task)(nil)).Elem()
 74976  }
 74977  
 74978  type SetVirtualDiskUuidEx_TaskResponse struct {
 74979  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74980  }
 74981  
 74982  // The parameters of `VirtualDiskManager.SetVirtualDiskUuid`.
 74983  type SetVirtualDiskUuidRequestType struct {
 74984  	This ManagedObjectReference `xml:"_this" json:"-"`
 74985  	// The name of the disk, either a datastore path or a URL
 74986  	// referring to the virtual disk whose SCSI inquiry page 0x83
 74987  	// data should be set.
 74988  	Name string `xml:"name" json:"name"`
 74989  	// If <code>name</code> is a datastore path, the datacenter for
 74990  	// that datastore path. Not needed when invoked directly on ESX.
 74991  	// If not specified on a call to VirtualCenter,
 74992  	// <code>name</code> must be a URL.
 74993  	//
 74994  	// Refers instance of `Datacenter`.
 74995  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 74996  	// The hex representation of the unique ID for this virtual disk.
 74997  	Uuid string `xml:"uuid" json:"uuid"`
 74998  }
 74999  
 75000  func init() {
 75001  	t["SetVirtualDiskUuidRequestType"] = reflect.TypeOf((*SetVirtualDiskUuidRequestType)(nil)).Elem()
 75002  }
 75003  
 75004  type SetVirtualDiskUuidResponse struct {
 75005  }
 75006  
 75007  // The virtual machine has one or more SCSI controllers that are engaged
 75008  // in bus sharing.
 75009  //
 75010  // This is an error when migrating a powered-on virtual machine,
 75011  // and can be returned as a subfault of DisallowedMigrationDeviceAttached.
 75012  type SharedBusControllerNotSupported struct {
 75013  	DeviceNotSupported
 75014  }
 75015  
 75016  func init() {
 75017  	t["SharedBusControllerNotSupported"] = reflect.TypeOf((*SharedBusControllerNotSupported)(nil)).Elem()
 75018  }
 75019  
 75020  type SharedBusControllerNotSupportedFault SharedBusControllerNotSupported
 75021  
 75022  func init() {
 75023  	t["SharedBusControllerNotSupportedFault"] = reflect.TypeOf((*SharedBusControllerNotSupportedFault)(nil)).Elem()
 75024  }
 75025  
 75026  // Specification of shares.
 75027  //
 75028  // Shares are used to determine relative allocation between resource consumers.
 75029  // In general, a consumer with more shares gets proportionally more of
 75030  // the resource, subject to certain other constraints.
 75031  type SharesInfo struct {
 75032  	DynamicData
 75033  
 75034  	// The number of shares allocated.
 75035  	//
 75036  	// Used to determine resource allocation in case of
 75037  	// resource contention. This value is only set if level is set to custom. If level is
 75038  	// not set to custom, this value is ignored. Therefore, only shares with custom
 75039  	// values can be compared.
 75040  	//
 75041  	// There is no unit for this value. It is a relative measure based on the settings
 75042  	// for other resource pools.
 75043  	Shares int32 `xml:"shares" json:"shares"`
 75044  	// The allocation level.
 75045  	//
 75046  	// The level is a simplified view of shares.
 75047  	// Levels map to a pre-determined set of numeric values for shares.
 75048  	// If the shares value does not map to a predefined size, then
 75049  	// the level is set as custom.
 75050  	Level SharesLevel `xml:"level" json:"level"`
 75051  }
 75052  
 75053  func init() {
 75054  	t["SharesInfo"] = reflect.TypeOf((*SharesInfo)(nil)).Elem()
 75055  }
 75056  
 75057  // Specification of shares.
 75058  //
 75059  // Object of this class specifies value ranges for object of
 75060  // instance `SharesInfo`
 75061  type SharesOption struct {
 75062  	DynamicData
 75063  
 75064  	// Value range which can be used for share definition
 75065  	// in `SharesInfo.shares`
 75066  	SharesOption IntOption `xml:"sharesOption" json:"sharesOption"`
 75067  	// Default value for `SharesInfo.level`
 75068  	DefaultLevel SharesLevel `xml:"defaultLevel" json:"defaultLevel"`
 75069  }
 75070  
 75071  func init() {
 75072  	t["SharesOption"] = reflect.TypeOf((*SharesOption)(nil)).Elem()
 75073  }
 75074  
 75075  // This exception is thrown when VirtualMachine.shrinkDisk
 75076  // encounters an error
 75077  type ShrinkDiskFault struct {
 75078  	VimFault
 75079  
 75080  	// Disk Id of the virtual disk that caused the fault
 75081  	DiskId int32 `xml:"diskId,omitempty" json:"diskId,omitempty"`
 75082  }
 75083  
 75084  func init() {
 75085  	t["ShrinkDiskFault"] = reflect.TypeOf((*ShrinkDiskFault)(nil)).Elem()
 75086  }
 75087  
 75088  type ShrinkDiskFaultFault ShrinkDiskFault
 75089  
 75090  func init() {
 75091  	t["ShrinkDiskFaultFault"] = reflect.TypeOf((*ShrinkDiskFaultFault)(nil)).Elem()
 75092  }
 75093  
 75094  // The parameters of `VirtualDiskManager.ShrinkVirtualDisk_Task`.
 75095  type ShrinkVirtualDiskRequestType struct {
 75096  	This ManagedObjectReference `xml:"_this" json:"-"`
 75097  	// The name of the disk, either a datastore path or a URL
 75098  	// referring to the virtual disk that should be shrink.
 75099  	Name string `xml:"name" json:"name"`
 75100  	// If <code>name</code> is a datastore path, the datacenter for
 75101  	// that datastore path. Not needed when invoked directly on ESX.
 75102  	// If not specified on a call to VirtualCenter,
 75103  	// <code>name</code> must be a URL.
 75104  	//
 75105  	// Refers instance of `Datacenter`.
 75106  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 75107  	// If true or omitted, performs shrink in copy-shrink mode, otherwise
 75108  	// shrink in in-place mode.
 75109  	Copy *bool `xml:"copy" json:"copy,omitempty"`
 75110  }
 75111  
 75112  func init() {
 75113  	t["ShrinkVirtualDiskRequestType"] = reflect.TypeOf((*ShrinkVirtualDiskRequestType)(nil)).Elem()
 75114  }
 75115  
 75116  type ShrinkVirtualDisk_Task ShrinkVirtualDiskRequestType
 75117  
 75118  func init() {
 75119  	t["ShrinkVirtualDisk_Task"] = reflect.TypeOf((*ShrinkVirtualDisk_Task)(nil)).Elem()
 75120  }
 75121  
 75122  type ShrinkVirtualDisk_TaskResponse struct {
 75123  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75124  }
 75125  
 75126  type ShutdownGuest ShutdownGuestRequestType
 75127  
 75128  func init() {
 75129  	t["ShutdownGuest"] = reflect.TypeOf((*ShutdownGuest)(nil)).Elem()
 75130  }
 75131  
 75132  type ShutdownGuestRequestType struct {
 75133  	This ManagedObjectReference `xml:"_this" json:"-"`
 75134  }
 75135  
 75136  func init() {
 75137  	t["ShutdownGuestRequestType"] = reflect.TypeOf((*ShutdownGuestRequestType)(nil)).Elem()
 75138  }
 75139  
 75140  type ShutdownGuestResponse struct {
 75141  }
 75142  
 75143  // The parameters of `HostSystem.ShutdownHost_Task`.
 75144  type ShutdownHostRequestType struct {
 75145  	This ManagedObjectReference `xml:"_this" json:"-"`
 75146  	// Flag to specify whether or not the host should be shut down
 75147  	// regardless of whether it is in maintenance mode.
 75148  	// If true, the host is shut down, even if there are
 75149  	// virtual machines running or other operations in progress.
 75150  	Force bool `xml:"force" json:"force"`
 75151  }
 75152  
 75153  func init() {
 75154  	t["ShutdownHostRequestType"] = reflect.TypeOf((*ShutdownHostRequestType)(nil)).Elem()
 75155  }
 75156  
 75157  type ShutdownHost_Task ShutdownHostRequestType
 75158  
 75159  func init() {
 75160  	t["ShutdownHost_Task"] = reflect.TypeOf((*ShutdownHost_Task)(nil)).Elem()
 75161  }
 75162  
 75163  type ShutdownHost_TaskResponse struct {
 75164  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75165  }
 75166  
 75167  // This class specifies a single IP address.
 75168  type SingleIp struct {
 75169  	IpAddress
 75170  
 75171  	// The IP address.
 75172  	//
 75173  	// The value of this property should either be an
 75174  	// IPv4 address such as "192.168.0.1" or an IPv6 address such as
 75175  	// "fc00:192:168:0:6cd9:a132:e889:b612"
 75176  	Address string `xml:"address" json:"address"`
 75177  }
 75178  
 75179  func init() {
 75180  	t["SingleIp"] = reflect.TypeOf((*SingleIp)(nil)).Elem()
 75181  }
 75182  
 75183  // This class defines a Single MAC address.
 75184  type SingleMac struct {
 75185  	MacAddress
 75186  
 75187  	// The MAC address.
 75188  	//
 75189  	// The value for this property should be in the form
 75190  	// like "00:50:56:bc:ef:ab".
 75191  	Address string `xml:"address" json:"address"`
 75192  }
 75193  
 75194  func init() {
 75195  	t["SingleMac"] = reflect.TypeOf((*SingleMac)(nil)).Elem()
 75196  }
 75197  
 75198  // This data object type represents the external site-related capabilities
 75199  // available in the environment managed by this vCenter.
 75200  type SiteInfo struct {
 75201  	DynamicData
 75202  }
 75203  
 75204  func init() {
 75205  	t["SiteInfo"] = reflect.TypeOf((*SiteInfo)(nil)).Elem()
 75206  }
 75207  
 75208  // An attempt is being made to copy a virtual machine's disk that has
 75209  // associated snapshots, and preserving the snapshots is not supported by the
 75210  // host under any circumstances.
 75211  //
 75212  // This is a warning.
 75213  type SnapshotCloneNotSupported struct {
 75214  	SnapshotCopyNotSupported
 75215  }
 75216  
 75217  func init() {
 75218  	t["SnapshotCloneNotSupported"] = reflect.TypeOf((*SnapshotCloneNotSupported)(nil)).Elem()
 75219  }
 75220  
 75221  type SnapshotCloneNotSupportedFault SnapshotCloneNotSupported
 75222  
 75223  func init() {
 75224  	t["SnapshotCloneNotSupportedFault"] = reflect.TypeOf((*SnapshotCloneNotSupportedFault)(nil)).Elem()
 75225  }
 75226  
 75227  // An attempt is being made to move or copy a virtual machine's disk that has
 75228  // associated snapshots, and preserving the snapshots is not supported
 75229  // because of some aspect of the virtual machine configuration, virtual
 75230  // machine power state, or the requested disk placement.
 75231  //
 75232  // This is an error
 75233  // for move operations (where the source is deleted after the copy) and a
 75234  // warning for clones (where the source is preserved).
 75235  type SnapshotCopyNotSupported struct {
 75236  	MigrationFault
 75237  }
 75238  
 75239  func init() {
 75240  	t["SnapshotCopyNotSupported"] = reflect.TypeOf((*SnapshotCopyNotSupported)(nil)).Elem()
 75241  }
 75242  
 75243  type SnapshotCopyNotSupportedFault BaseSnapshotCopyNotSupported
 75244  
 75245  func init() {
 75246  	t["SnapshotCopyNotSupportedFault"] = reflect.TypeOf((*SnapshotCopyNotSupportedFault)(nil)).Elem()
 75247  }
 75248  
 75249  // Fault thrown if a snapshot operation cannot be performed because
 75250  // snapshots are disabled on the virtual machine.
 75251  type SnapshotDisabled struct {
 75252  	SnapshotFault
 75253  }
 75254  
 75255  func init() {
 75256  	t["SnapshotDisabled"] = reflect.TypeOf((*SnapshotDisabled)(nil)).Elem()
 75257  }
 75258  
 75259  type SnapshotDisabledFault SnapshotDisabled
 75260  
 75261  func init() {
 75262  	t["SnapshotDisabledFault"] = reflect.TypeOf((*SnapshotDisabledFault)(nil)).Elem()
 75263  }
 75264  
 75265  // Base type for Snapshot-related errors.
 75266  type SnapshotFault struct {
 75267  	VimFault
 75268  }
 75269  
 75270  func init() {
 75271  	t["SnapshotFault"] = reflect.TypeOf((*SnapshotFault)(nil)).Elem()
 75272  }
 75273  
 75274  type SnapshotFaultFault BaseSnapshotFault
 75275  
 75276  func init() {
 75277  	t["SnapshotFaultFault"] = reflect.TypeOf((*SnapshotFaultFault)(nil)).Elem()
 75278  }
 75279  
 75280  // Thrown if a snapshot operation cannot be performed on account
 75281  // of an incompatible device.
 75282  //
 75283  // This fault can be thrown for instance
 75284  // if a virtual machine uses a raw disk or a shared bus controller.
 75285  type SnapshotIncompatibleDeviceInVm struct {
 75286  	SnapshotFault
 75287  
 75288  	// A fault specifies the particular device issue.
 75289  	//
 75290  	// This is typically
 75291  	// a subclass of VirtualHardwareCompatibilityIssue, such as
 75292  	// RawDiskNotSupported, or SharedBusControllerNotSupported.
 75293  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 75294  }
 75295  
 75296  func init() {
 75297  	t["SnapshotIncompatibleDeviceInVm"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVm)(nil)).Elem()
 75298  }
 75299  
 75300  type SnapshotIncompatibleDeviceInVmFault SnapshotIncompatibleDeviceInVm
 75301  
 75302  func init() {
 75303  	t["SnapshotIncompatibleDeviceInVmFault"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVmFault)(nil)).Elem()
 75304  }
 75305  
 75306  // Fault thrown when an attempt is made to create or delete a snapshot on a
 75307  // virtual machine that has its snapshot locked.
 75308  type SnapshotLocked struct {
 75309  	SnapshotFault
 75310  }
 75311  
 75312  func init() {
 75313  	t["SnapshotLocked"] = reflect.TypeOf((*SnapshotLocked)(nil)).Elem()
 75314  }
 75315  
 75316  type SnapshotLockedFault SnapshotLocked
 75317  
 75318  func init() {
 75319  	t["SnapshotLockedFault"] = reflect.TypeOf((*SnapshotLockedFault)(nil)).Elem()
 75320  }
 75321  
 75322  // An attempt is being made to move a virtual machine's disk that has
 75323  // associated snapshots, and preserving the snapshots is not supported by the
 75324  // host because the disk is currently located somewhere other than the virtual
 75325  // machine's home datastore.
 75326  type SnapshotMoveFromNonHomeNotSupported struct {
 75327  	SnapshotCopyNotSupported
 75328  }
 75329  
 75330  func init() {
 75331  	t["SnapshotMoveFromNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupported)(nil)).Elem()
 75332  }
 75333  
 75334  type SnapshotMoveFromNonHomeNotSupportedFault SnapshotMoveFromNonHomeNotSupported
 75335  
 75336  func init() {
 75337  	t["SnapshotMoveFromNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupportedFault)(nil)).Elem()
 75338  }
 75339  
 75340  // An attempt is being made to move a virtual machine's disk that has
 75341  // associated snapshots, and preserving the snapshots is not supported by the
 75342  // host under any circumstances.
 75343  type SnapshotMoveNotSupported struct {
 75344  	SnapshotCopyNotSupported
 75345  }
 75346  
 75347  func init() {
 75348  	t["SnapshotMoveNotSupported"] = reflect.TypeOf((*SnapshotMoveNotSupported)(nil)).Elem()
 75349  }
 75350  
 75351  type SnapshotMoveNotSupportedFault SnapshotMoveNotSupported
 75352  
 75353  func init() {
 75354  	t["SnapshotMoveNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveNotSupportedFault)(nil)).Elem()
 75355  }
 75356  
 75357  // An attempt is being made to move a virtual machine's disk that has
 75358  // associated snapshots, and preserving the snapshots is not supported by the
 75359  // host because the disk is being moved to some location other than the new
 75360  // home datastore for the virtual machine.
 75361  type SnapshotMoveToNonHomeNotSupported struct {
 75362  	SnapshotCopyNotSupported
 75363  }
 75364  
 75365  func init() {
 75366  	t["SnapshotMoveToNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupported)(nil)).Elem()
 75367  }
 75368  
 75369  type SnapshotMoveToNonHomeNotSupportedFault SnapshotMoveToNonHomeNotSupported
 75370  
 75371  func init() {
 75372  	t["SnapshotMoveToNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupportedFault)(nil)).Elem()
 75373  }
 75374  
 75375  // This fault is for a snapshot request on a virtual machine whose state
 75376  // has not changed since a previous successful snapshot.
 75377  //
 75378  // For example, this
 75379  // occurs when you suspend the virtual machine, create a snapshot, and
 75380  // then request another snapshot of the suspended virtual machine.
 75381  type SnapshotNoChange struct {
 75382  	SnapshotFault
 75383  }
 75384  
 75385  func init() {
 75386  	t["SnapshotNoChange"] = reflect.TypeOf((*SnapshotNoChange)(nil)).Elem()
 75387  }
 75388  
 75389  type SnapshotNoChangeFault SnapshotNoChange
 75390  
 75391  func init() {
 75392  	t["SnapshotNoChangeFault"] = reflect.TypeOf((*SnapshotNoChangeFault)(nil)).Elem()
 75393  }
 75394  
 75395  // If the virtual machine is migrated to the destination host, there may be
 75396  // a problem reverting to one of its snapshots.
 75397  //
 75398  // This is a warning. If the
 75399  // snapshot name is not set and the event array is empty, then it the snapshot
 75400  // might possibly revert correctly. If the name is set and the event array is not
 75401  // empty then there surely will be a problem reverting to the snapshot.
 75402  type SnapshotRevertIssue struct {
 75403  	MigrationFault
 75404  
 75405  	// The name of the problematic snapshot.
 75406  	SnapshotName string `xml:"snapshotName,omitempty" json:"snapshotName,omitempty"`
 75407  	// The problem(s) that would occur on reverting to the snapshot.
 75408  	//
 75409  	// This
 75410  	// is determined similarly to invoking validateMigration on a powered-off
 75411  	// virtual machine with the snapshot's state. However, not all errors
 75412  	// or warnings for virtual machine migration are guaranteed to be
 75413  	// detected for snapshots.
 75414  	Event []BaseEvent `xml:"event,omitempty,typeattr" json:"event,omitempty"`
 75415  	// True if any of the events above are error events.
 75416  	Errors bool `xml:"errors" json:"errors"`
 75417  }
 75418  
 75419  func init() {
 75420  	t["SnapshotRevertIssue"] = reflect.TypeOf((*SnapshotRevertIssue)(nil)).Elem()
 75421  }
 75422  
 75423  type SnapshotRevertIssueFault SnapshotRevertIssue
 75424  
 75425  func init() {
 75426  	t["SnapshotRevertIssueFault"] = reflect.TypeOf((*SnapshotRevertIssueFault)(nil)).Elem()
 75427  }
 75428  
 75429  // This data type defines the filtering specification for removing snapshots
 75430  // from virtual machine.
 75431  type SnapshotSelectionSpec struct {
 75432  	DynamicData
 75433  
 75434  	// This is the property to select snapshots older than X days.
 75435  	RetentionDays int32 `xml:"retentionDays,omitempty" json:"retentionDays,omitempty"`
 75436  }
 75437  
 75438  func init() {
 75439  	t["SnapshotSelectionSpec"] = reflect.TypeOf((*SnapshotSelectionSpec)(nil)).Elem()
 75440  	minAPIVersionForType["SnapshotSelectionSpec"] = "8.0.3.0"
 75441  }
 75442  
 75443  // The current DRS migration priority setting prevents generating
 75444  // a recommendation to correct the soft VM/Host affinity rules constraint
 75445  // violation for the VM so the violation will not be corrected.
 75446  type SoftRuleVioCorrectionDisallowed struct {
 75447  	VmConfigFault
 75448  
 75449  	// The vm for which the VM/Host soft affinity rules constraint violation
 75450  	// is not being corrected by DRS.
 75451  	VmName string `xml:"vmName" json:"vmName"`
 75452  }
 75453  
 75454  func init() {
 75455  	t["SoftRuleVioCorrectionDisallowed"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowed)(nil)).Elem()
 75456  }
 75457  
 75458  type SoftRuleVioCorrectionDisallowedFault SoftRuleVioCorrectionDisallowed
 75459  
 75460  func init() {
 75461  	t["SoftRuleVioCorrectionDisallowedFault"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowedFault)(nil)).Elem()
 75462  }
 75463  
 75464  // DRS has determined that correcting the soft VM/Host affinity rules
 75465  // constraint violation for the VM impacts respecting cluster constraints
 75466  // or performance goals so the violation will not be corrected.
 75467  type SoftRuleVioCorrectionImpact struct {
 75468  	VmConfigFault
 75469  
 75470  	// The vm for which the VM/Host soft affinity rules constraint violation
 75471  	// is not being corrected by DRS.
 75472  	VmName string `xml:"vmName" json:"vmName"`
 75473  }
 75474  
 75475  func init() {
 75476  	t["SoftRuleVioCorrectionImpact"] = reflect.TypeOf((*SoftRuleVioCorrectionImpact)(nil)).Elem()
 75477  }
 75478  
 75479  type SoftRuleVioCorrectionImpactFault SoftRuleVioCorrectionImpact
 75480  
 75481  func init() {
 75482  	t["SoftRuleVioCorrectionImpactFault"] = reflect.TypeOf((*SoftRuleVioCorrectionImpactFault)(nil)).Elem()
 75483  }
 75484  
 75485  // Software Packages provide discrete version and packaging.
 75486  //
 75487  // This data is reported by CLI:: esxcli software vib get -n ...
 75488  type SoftwarePackage struct {
 75489  	DynamicData
 75490  
 75491  	// Identifier that uniquely identifies the software package.
 75492  	Name string `xml:"name" json:"name"`
 75493  	// Version string uniquely identifies this package.
 75494  	Version string `xml:"version" json:"version"`
 75495  	// Type of vib installed.
 75496  	//
 75497  	// See `SoftwarePackageVibType_enum`.
 75498  	Type string `xml:"type" json:"type"`
 75499  	// The corporate entity that created this package.
 75500  	Vendor string `xml:"vendor" json:"vendor"`
 75501  	// See also `HostImageAcceptanceLevel_enum`.
 75502  	AcceptanceLevel string `xml:"acceptanceLevel" json:"acceptanceLevel"`
 75503  	// A brief description of the package contents.
 75504  	Summary string `xml:"summary" json:"summary"`
 75505  	// A full account of the package contents.
 75506  	Description string `xml:"description" json:"description"`
 75507  	// The list of SupportReference objects with in-depth support information.
 75508  	ReferenceURL []string `xml:"referenceURL,omitempty" json:"referenceURL,omitempty"`
 75509  	// The time when the package was installed.
 75510  	//
 75511  	// On Autodeploy stateless installs
 75512  	// there is no set value.
 75513  	CreationDate *time.Time `xml:"creationDate" json:"creationDate,omitempty"`
 75514  	// A list of VIBs that must be installed at the same time as this VIB.
 75515  	Depends []Relation `xml:"depends,omitempty" json:"depends,omitempty"`
 75516  	// A list of VIBs that cannot be installed at the same time as
 75517  	// this VIB for a given version.
 75518  	Conflicts []Relation `xml:"conflicts,omitempty" json:"conflicts,omitempty"`
 75519  	// A list of SoftwareConstraint objects that identify VIBs that
 75520  	// replace this VIB or make it obsolete.
 75521  	//
 75522  	// VIBs automatically replace VIBs with
 75523  	// the same name but lower versions.
 75524  	Replaces []Relation `xml:"replaces,omitempty" json:"replaces,omitempty"`
 75525  	// A list of virtual packages or interfaces this VIB provides.
 75526  	Provides []string `xml:"provides,omitempty" json:"provides,omitempty"`
 75527  	// True if hosts must be in maintenance mode for installation of this VIB.
 75528  	MaintenanceModeRequired *bool `xml:"maintenanceModeRequired" json:"maintenanceModeRequired,omitempty"`
 75529  	// A list of hardware platforms this package is supported on.
 75530  	HardwarePlatformsRequired []string `xml:"hardwarePlatformsRequired,omitempty" json:"hardwarePlatformsRequired,omitempty"`
 75531  	// A set of optional attributes for this package.
 75532  	Capability SoftwarePackageCapability `xml:"capability" json:"capability"`
 75533  	// A list of string tags for this package defined by the vendor
 75534  	// or publisher.
 75535  	//
 75536  	// Tags can be used to identify characteristics of a package.
 75537  	Tag []string `xml:"tag,omitempty" json:"tag,omitempty"`
 75538  	// A list of string tags to indicate one or more of what is
 75539  	// contained: may be one of bootloader, upgrade, bootisobios, bootisoefi,
 75540  	// vgz, tgz, boot or other values.
 75541  	Payload []string `xml:"payload,omitempty" json:"payload,omitempty"`
 75542  }
 75543  
 75544  func init() {
 75545  	t["SoftwarePackage"] = reflect.TypeOf((*SoftwarePackage)(nil)).Elem()
 75546  }
 75547  
 75548  type SoftwarePackageCapability struct {
 75549  	DynamicData
 75550  
 75551  	// True if live installs of this VIB are supported.
 75552  	LiveInstallAllowed *bool `xml:"liveInstallAllowed" json:"liveInstallAllowed,omitempty"`
 75553  	// True if live removals of this VIB are supported.
 75554  	LiveRemoveAllowed *bool `xml:"liveRemoveAllowed" json:"liveRemoveAllowed,omitempty"`
 75555  	// True if the package supports host profiles or other technologies
 75556  	// that make it suitable for use in conjunction with vSphere Auto Deploy.
 75557  	StatelessReady *bool `xml:"statelessReady" json:"statelessReady,omitempty"`
 75558  	// True if this vib will supplant files from another package at runtime.
 75559  	//
 75560  	// When False this prevents two packages from installing the same file.
 75561  	Overlay *bool `xml:"overlay" json:"overlay,omitempty"`
 75562  }
 75563  
 75564  func init() {
 75565  	t["SoftwarePackageCapability"] = reflect.TypeOf((*SoftwarePackageCapability)(nil)).Elem()
 75566  }
 75567  
 75568  // Thrown when an operation is denied because the entity
 75569  // invoking it is not a Solution User.
 75570  type SolutionUserRequired struct {
 75571  	SecurityError
 75572  }
 75573  
 75574  func init() {
 75575  	t["SolutionUserRequired"] = reflect.TypeOf((*SolutionUserRequired)(nil)).Elem()
 75576  }
 75577  
 75578  type SolutionUserRequiredFault SolutionUserRequired
 75579  
 75580  func init() {
 75581  	t["SolutionUserRequiredFault"] = reflect.TypeOf((*SolutionUserRequiredFault)(nil)).Elem()
 75582  }
 75583  
 75584  // The SourceNodeSpec class defines specification of
 75585  // the source node that is used to initiate the configuration or
 75586  // deployment for VCHA.
 75587  type SourceNodeSpec struct {
 75588  	DynamicData
 75589  
 75590  	// Credentials for the management vCenter Server that is managing
 75591  	// this node.
 75592  	ManagementVc ServiceLocator `xml:"managementVc" json:"managementVc"`
 75593  	// VirtualMachine reference for this vCenter Server.
 75594  	//
 75595  	// Refers instance of `VirtualMachine`.
 75596  	ActiveVc ManagedObjectReference `xml:"activeVc" json:"activeVc"`
 75597  }
 75598  
 75599  func init() {
 75600  	t["SourceNodeSpec"] = reflect.TypeOf((*SourceNodeSpec)(nil)).Elem()
 75601  }
 75602  
 75603  // A SsdDiskNotAvailable fault indicating that the specified SSD
 75604  // disk is not available.
 75605  //
 75606  // The disk either has been used or not a
 75607  // SSD disk.
 75608  type SsdDiskNotAvailable struct {
 75609  	VimFault
 75610  
 75611  	// The device path of the disk.
 75612  	//
 75613  	// See also `HostScsiDisk.devicePath`.
 75614  	DevicePath string `xml:"devicePath" json:"devicePath"`
 75615  }
 75616  
 75617  func init() {
 75618  	t["SsdDiskNotAvailable"] = reflect.TypeOf((*SsdDiskNotAvailable)(nil)).Elem()
 75619  }
 75620  
 75621  type SsdDiskNotAvailableFault SsdDiskNotAvailable
 75622  
 75623  func init() {
 75624  	t["SsdDiskNotAvailableFault"] = reflect.TypeOf((*SsdDiskNotAvailableFault)(nil)).Elem()
 75625  }
 75626  
 75627  // The parameters of `HostPatchManager.StageHostPatch_Task`.
 75628  type StageHostPatchRequestType struct {
 75629  	This ManagedObjectReference `xml:"_this" json:"-"`
 75630  	// A list of urls pointing to metadata.zip.
 75631  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 75632  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 75633  	BundleUrls []string `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 75634  	// The urls of update binary files to be staged.
 75635  	VibUrls []string                                   `xml:"vibUrls,omitempty" json:"vibUrls,omitempty"`
 75636  	Spec    *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 75637  }
 75638  
 75639  func init() {
 75640  	t["StageHostPatchRequestType"] = reflect.TypeOf((*StageHostPatchRequestType)(nil)).Elem()
 75641  }
 75642  
 75643  type StageHostPatch_Task StageHostPatchRequestType
 75644  
 75645  func init() {
 75646  	t["StageHostPatch_Task"] = reflect.TypeOf((*StageHostPatch_Task)(nil)).Elem()
 75647  }
 75648  
 75649  type StageHostPatch_TaskResponse struct {
 75650  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75651  }
 75652  
 75653  type StampAllRulesWithUuidRequestType struct {
 75654  	This ManagedObjectReference `xml:"_this" json:"-"`
 75655  }
 75656  
 75657  func init() {
 75658  	t["StampAllRulesWithUuidRequestType"] = reflect.TypeOf((*StampAllRulesWithUuidRequestType)(nil)).Elem()
 75659  }
 75660  
 75661  type StampAllRulesWithUuid_Task StampAllRulesWithUuidRequestType
 75662  
 75663  func init() {
 75664  	t["StampAllRulesWithUuid_Task"] = reflect.TypeOf((*StampAllRulesWithUuid_Task)(nil)).Elem()
 75665  }
 75666  
 75667  type StampAllRulesWithUuid_TaskResponse struct {
 75668  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75669  }
 75670  
 75671  type StandbyGuest StandbyGuestRequestType
 75672  
 75673  func init() {
 75674  	t["StandbyGuest"] = reflect.TypeOf((*StandbyGuest)(nil)).Elem()
 75675  }
 75676  
 75677  type StandbyGuestRequestType struct {
 75678  	This ManagedObjectReference `xml:"_this" json:"-"`
 75679  }
 75680  
 75681  func init() {
 75682  	t["StandbyGuestRequestType"] = reflect.TypeOf((*StandbyGuestRequestType)(nil)).Elem()
 75683  }
 75684  
 75685  type StandbyGuestResponse struct {
 75686  }
 75687  
 75688  // The parameters of `VirtualMachineGuestCustomizationManager.StartGuestNetwork_Task`.
 75689  type StartGuestNetworkRequestType struct {
 75690  	This ManagedObjectReference `xml:"_this" json:"-"`
 75691  	// The Virtual Machine managed object reference.
 75692  	//
 75693  	// Refers instance of `VirtualMachine`.
 75694  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 75695  	// The guest authentication data. See
 75696  	// `GuestAuthentication`.
 75697  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 75698  }
 75699  
 75700  func init() {
 75701  	t["StartGuestNetworkRequestType"] = reflect.TypeOf((*StartGuestNetworkRequestType)(nil)).Elem()
 75702  }
 75703  
 75704  type StartGuestNetwork_Task StartGuestNetworkRequestType
 75705  
 75706  func init() {
 75707  	t["StartGuestNetwork_Task"] = reflect.TypeOf((*StartGuestNetwork_Task)(nil)).Elem()
 75708  }
 75709  
 75710  type StartGuestNetwork_TaskResponse struct {
 75711  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75712  }
 75713  
 75714  type StartProgramInGuest StartProgramInGuestRequestType
 75715  
 75716  func init() {
 75717  	t["StartProgramInGuest"] = reflect.TypeOf((*StartProgramInGuest)(nil)).Elem()
 75718  }
 75719  
 75720  // The parameters of `GuestProcessManager.StartProgramInGuest`.
 75721  type StartProgramInGuestRequestType struct {
 75722  	This ManagedObjectReference `xml:"_this" json:"-"`
 75723  	// Virtual machine to perform the operation on.
 75724  	//
 75725  	// Required privileges: VirtualMachine.GuestOperations.Execute
 75726  	//
 75727  	// Refers instance of `VirtualMachine`.
 75728  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 75729  	// The guest authentication data. See
 75730  	// `GuestAuthentication`.
 75731  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 75732  	// The arguments describing the program to be started.
 75733  	Spec BaseGuestProgramSpec `xml:"spec,typeattr" json:"spec"`
 75734  }
 75735  
 75736  func init() {
 75737  	t["StartProgramInGuestRequestType"] = reflect.TypeOf((*StartProgramInGuestRequestType)(nil)).Elem()
 75738  }
 75739  
 75740  type StartProgramInGuestResponse struct {
 75741  	Returnval int64 `xml:"returnval" json:"returnval"`
 75742  }
 75743  
 75744  // The parameters of `VirtualMachine.StartRecording_Task`.
 75745  type StartRecordingRequestType struct {
 75746  	This ManagedObjectReference `xml:"_this" json:"-"`
 75747  	// The name for the snapshot associated with this recording.
 75748  	// The name need not be unique for this virtual machine.
 75749  	Name string `xml:"name" json:"name"`
 75750  	// A description for the snapshot associated with this
 75751  	// recording. If omitted, a default description may be provided.
 75752  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 75753  }
 75754  
 75755  func init() {
 75756  	t["StartRecordingRequestType"] = reflect.TypeOf((*StartRecordingRequestType)(nil)).Elem()
 75757  }
 75758  
 75759  type StartRecording_Task StartRecordingRequestType
 75760  
 75761  func init() {
 75762  	t["StartRecording_Task"] = reflect.TypeOf((*StartRecording_Task)(nil)).Elem()
 75763  }
 75764  
 75765  type StartRecording_TaskResponse struct {
 75766  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75767  }
 75768  
 75769  // The parameters of `VirtualMachine.StartReplaying_Task`.
 75770  type StartReplayingRequestType struct {
 75771  	This ManagedObjectReference `xml:"_this" json:"-"`
 75772  	// The snapshot from which to start the replay. This
 75773  	// snapshot must have been created by a record operation on the
 75774  	// virtual machine.
 75775  	//
 75776  	// Refers instance of `VirtualMachineSnapshot`.
 75777  	ReplaySnapshot ManagedObjectReference `xml:"replaySnapshot" json:"replaySnapshot"`
 75778  }
 75779  
 75780  func init() {
 75781  	t["StartReplayingRequestType"] = reflect.TypeOf((*StartReplayingRequestType)(nil)).Elem()
 75782  }
 75783  
 75784  type StartReplaying_Task StartReplayingRequestType
 75785  
 75786  func init() {
 75787  	t["StartReplaying_Task"] = reflect.TypeOf((*StartReplaying_Task)(nil)).Elem()
 75788  }
 75789  
 75790  type StartReplaying_TaskResponse struct {
 75791  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75792  }
 75793  
 75794  type StartService StartServiceRequestType
 75795  
 75796  func init() {
 75797  	t["StartService"] = reflect.TypeOf((*StartService)(nil)).Elem()
 75798  }
 75799  
 75800  // The parameters of `HostServiceSystem.StartService`.
 75801  type StartServiceRequestType struct {
 75802  	This ManagedObjectReference `xml:"_this" json:"-"`
 75803  	// Service identifier
 75804  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 75805  	Id string `xml:"id" json:"id"`
 75806  }
 75807  
 75808  func init() {
 75809  	t["StartServiceRequestType"] = reflect.TypeOf((*StartServiceRequestType)(nil)).Elem()
 75810  }
 75811  
 75812  type StartServiceResponse struct {
 75813  }
 75814  
 75815  // An alarm expression that uses the running state of either a virtual machine or
 75816  // a host as the condition that triggers the alarm.
 75817  //
 75818  // Base type.
 75819  //
 75820  // There are two alarm operands: yellow and red. At least one of them
 75821  // must be set. The value of the alarm expression is determined as follows:
 75822  //   - If the red state is set but the yellow state is not: the expression is red when
 75823  //     the state operand matches (isEqual operator) or does not match (isUnequal operator)
 75824  //     the state of the managed entity. The expression is green otherwise.
 75825  //   - If yellow is set but red is not: the expression is yellow when
 75826  //     the state operand matches (isEqual) or does not match (isUnequal)
 75827  //     the state of the managed entity. The expression is green otherwise.
 75828  //   - If both yellow and red are set, the value of the expression is red when
 75829  //     the red state operand matches (isEqual) or does not match (isUnequal)
 75830  //     the state of the managed entity. Otherwise, the expression is
 75831  //     yellow when the yellow state operand matches (isEqual) or does not match (isUnequal)
 75832  //     the state of the managed entity. Otherwise, the expression is green.
 75833  type StateAlarmExpression struct {
 75834  	AlarmExpression
 75835  
 75836  	// The operation to be tested on the target state.
 75837  	Operator StateAlarmOperator `xml:"operator" json:"operator"`
 75838  	// Name of the object type containing the property.
 75839  	Type string `xml:"type" json:"type"`
 75840  	// Path of the state property.
 75841  	//
 75842  	// The supported values:
 75843  	//   - for vim.VirtualMachine type:
 75844  	//   - runtime.powerState or summary.quickStats.guestHeartbeatStatus
 75845  	//   - for vim.HostSystem type: runtime.connectionState
 75846  	StatePath string `xml:"statePath" json:"statePath"`
 75847  	// Whether or not to test for a yellow condition.
 75848  	//
 75849  	// If this property is not set, do not calculate yellow status.
 75850  	Yellow string `xml:"yellow,omitempty" json:"yellow,omitempty"`
 75851  	// Whether or not to test for a red condition.
 75852  	//
 75853  	// If this property is not set, do not calculate red status.
 75854  	Red string `xml:"red,omitempty" json:"red,omitempty"`
 75855  }
 75856  
 75857  func init() {
 75858  	t["StateAlarmExpression"] = reflect.TypeOf((*StateAlarmExpression)(nil)).Elem()
 75859  }
 75860  
 75861  // The `StaticRouteProfile` data object represents a single static IP route.
 75862  //
 75863  // The `ApplyProfile.policy` property contains
 75864  // data values for static route configuration.
 75865  type StaticRouteProfile struct {
 75866  	ApplyProfile
 75867  
 75868  	// Linkable identifier.
 75869  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 75870  }
 75871  
 75872  func init() {
 75873  	t["StaticRouteProfile"] = reflect.TypeOf((*StaticRouteProfile)(nil)).Elem()
 75874  }
 75875  
 75876  type StopRecordingRequestType struct {
 75877  	This ManagedObjectReference `xml:"_this" json:"-"`
 75878  }
 75879  
 75880  func init() {
 75881  	t["StopRecordingRequestType"] = reflect.TypeOf((*StopRecordingRequestType)(nil)).Elem()
 75882  }
 75883  
 75884  type StopRecording_Task StopRecordingRequestType
 75885  
 75886  func init() {
 75887  	t["StopRecording_Task"] = reflect.TypeOf((*StopRecording_Task)(nil)).Elem()
 75888  }
 75889  
 75890  type StopRecording_TaskResponse struct {
 75891  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75892  }
 75893  
 75894  type StopReplayingRequestType struct {
 75895  	This ManagedObjectReference `xml:"_this" json:"-"`
 75896  }
 75897  
 75898  func init() {
 75899  	t["StopReplayingRequestType"] = reflect.TypeOf((*StopReplayingRequestType)(nil)).Elem()
 75900  }
 75901  
 75902  type StopReplaying_Task StopReplayingRequestType
 75903  
 75904  func init() {
 75905  	t["StopReplaying_Task"] = reflect.TypeOf((*StopReplaying_Task)(nil)).Elem()
 75906  }
 75907  
 75908  type StopReplaying_TaskResponse struct {
 75909  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75910  }
 75911  
 75912  type StopService StopServiceRequestType
 75913  
 75914  func init() {
 75915  	t["StopService"] = reflect.TypeOf((*StopService)(nil)).Elem()
 75916  }
 75917  
 75918  // The parameters of `HostServiceSystem.StopService`.
 75919  type StopServiceRequestType struct {
 75920  	This ManagedObjectReference `xml:"_this" json:"-"`
 75921  	// Service identifier
 75922  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 75923  	Id string `xml:"id" json:"id"`
 75924  }
 75925  
 75926  func init() {
 75927  	t["StopServiceRequestType"] = reflect.TypeOf((*StopServiceRequestType)(nil)).Elem()
 75928  }
 75929  
 75930  type StopServiceResponse struct {
 75931  }
 75932  
 75933  // Storage DRS fine grain automation controls
 75934  type StorageDrsAutomationConfig struct {
 75935  	DynamicData
 75936  
 75937  	// Specifies the behavior of Storage DRS when it generates
 75938  	// recommendations for correcting space load imbalance in a
 75939  	// datastore cluster.
 75940  	//
 75941  	// See `StorageDrsPodConfigInfo`. If specified, this option
 75942  	// overrides the datastore cluster level automation behavior defined in the
 75943  	// `StorageDrsPodConfigInfo`.
 75944  	SpaceLoadBalanceAutomationMode string `xml:"spaceLoadBalanceAutomationMode,omitempty" json:"spaceLoadBalanceAutomationMode,omitempty"`
 75945  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75946  	//
 75947  	// Specifies the behavior of Storage DRS when it generates
 75948  	// recommendations for correcting I/O load imbalance in a datastore
 75949  	// cluster.
 75950  	//
 75951  	// See `StorageDrsPodConfigInfo`. If specified, this option
 75952  	// overrides the datastore cluster level automation behavior defined in the
 75953  	// `StorageDrsPodConfigInfo`.
 75954  	IoLoadBalanceAutomationMode string `xml:"ioLoadBalanceAutomationMode,omitempty" json:"ioLoadBalanceAutomationMode,omitempty"`
 75955  	// Specifies the behavior of Storage DRS when it generates
 75956  	// recommendations for correcting affinity rule violations in a
 75957  	// datastore cluster.
 75958  	//
 75959  	// See `StorageDrsPodConfigInfoBehavior_enum`. If
 75960  	// specified, this option overrides the datastore cluster level
 75961  	// automation behavior defined in the `StorageDrsPodConfigInfo` for
 75962  	// recommendations aimed at fixing rule violations.
 75963  	RuleEnforcementAutomationMode string `xml:"ruleEnforcementAutomationMode,omitempty" json:"ruleEnforcementAutomationMode,omitempty"`
 75964  	// Specifies the behavior of Storage DRS when it generates
 75965  	// recommendations for correcting storage and Vm policy violations
 75966  	// in a datastore cluster.
 75967  	//
 75968  	// See `StorageDrsPodConfigInfoBehavior_enum`. If
 75969  	// specified, this option overrides the datastore cluster level
 75970  	// automation behavior defined in the `StorageDrsPodConfigInfo` for
 75971  	// recommendations aimed at fixing storage policy violations.
 75972  	PolicyEnforcementAutomationMode string `xml:"policyEnforcementAutomationMode,omitempty" json:"policyEnforcementAutomationMode,omitempty"`
 75973  	// Specifies the behavior of Storage DRS when it generates
 75974  	// recommendations for datastore evacuations in a datastore
 75975  	// cluster.
 75976  	//
 75977  	// See `StorageDrsPodConfigInfoBehavior_enum`. If specified, this
 75978  	// option overrides the datastore cluster level automation behavior
 75979  	// defined in the `StorageDrsPodConfigInfo` for recommendations aimed at
 75980  	// evacuating Vms from a datastore.
 75981  	VmEvacuationAutomationMode string `xml:"vmEvacuationAutomationMode,omitempty" json:"vmEvacuationAutomationMode,omitempty"`
 75982  }
 75983  
 75984  func init() {
 75985  	t["StorageDrsAutomationConfig"] = reflect.TypeOf((*StorageDrsAutomationConfig)(nil)).Elem()
 75986  }
 75987  
 75988  // This fault is thrown because Storage DRS cannot generate recommendations
 75989  // to relocate one or more virtual disks of a VM because the disk has
 75990  // multi-writer mode enabled.
 75991  type StorageDrsCannotMoveDiskInMultiWriterMode struct {
 75992  	VimFault
 75993  }
 75994  
 75995  func init() {
 75996  	t["StorageDrsCannotMoveDiskInMultiWriterMode"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterMode)(nil)).Elem()
 75997  }
 75998  
 75999  type StorageDrsCannotMoveDiskInMultiWriterModeFault StorageDrsCannotMoveDiskInMultiWriterMode
 76000  
 76001  func init() {
 76002  	t["StorageDrsCannotMoveDiskInMultiWriterModeFault"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterModeFault)(nil)).Elem()
 76003  }
 76004  
 76005  // This fault is thrown because Storage DRS cannot generate recommendations
 76006  // to relocate Fault Tolerant VMs across datastores.
 76007  type StorageDrsCannotMoveFTVm struct {
 76008  	VimFault
 76009  }
 76010  
 76011  func init() {
 76012  	t["StorageDrsCannotMoveFTVm"] = reflect.TypeOf((*StorageDrsCannotMoveFTVm)(nil)).Elem()
 76013  }
 76014  
 76015  type StorageDrsCannotMoveFTVmFault StorageDrsCannotMoveFTVm
 76016  
 76017  func init() {
 76018  	t["StorageDrsCannotMoveFTVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveFTVmFault)(nil)).Elem()
 76019  }
 76020  
 76021  // This fault is thrown because Storage DRS cannot generate recommendations
 76022  // to relocate an independent disk.
 76023  type StorageDrsCannotMoveIndependentDisk struct {
 76024  	VimFault
 76025  }
 76026  
 76027  func init() {
 76028  	t["StorageDrsCannotMoveIndependentDisk"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDisk)(nil)).Elem()
 76029  }
 76030  
 76031  type StorageDrsCannotMoveIndependentDiskFault StorageDrsCannotMoveIndependentDisk
 76032  
 76033  func init() {
 76034  	t["StorageDrsCannotMoveIndependentDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDiskFault)(nil)).Elem()
 76035  }
 76036  
 76037  // This fault is thrown because Storage DRS cannot generate recommendations
 76038  // to relocate VM because it has a manually selected fixed location for its
 76039  // swap file.
 76040  type StorageDrsCannotMoveManuallyPlacedSwapFile struct {
 76041  	VimFault
 76042  }
 76043  
 76044  func init() {
 76045  	t["StorageDrsCannotMoveManuallyPlacedSwapFile"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFile)(nil)).Elem()
 76046  }
 76047  
 76048  type StorageDrsCannotMoveManuallyPlacedSwapFileFault StorageDrsCannotMoveManuallyPlacedSwapFile
 76049  
 76050  func init() {
 76051  	t["StorageDrsCannotMoveManuallyPlacedSwapFileFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFileFault)(nil)).Elem()
 76052  }
 76053  
 76054  // This fault is thrown because Storage DRS cannot generate recommendations
 76055  // to relocate a Vm that is placed by user to a specific datastore.
 76056  type StorageDrsCannotMoveManuallyPlacedVm struct {
 76057  	VimFault
 76058  }
 76059  
 76060  func init() {
 76061  	t["StorageDrsCannotMoveManuallyPlacedVm"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVm)(nil)).Elem()
 76062  }
 76063  
 76064  type StorageDrsCannotMoveManuallyPlacedVmFault StorageDrsCannotMoveManuallyPlacedVm
 76065  
 76066  func init() {
 76067  	t["StorageDrsCannotMoveManuallyPlacedVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVmFault)(nil)).Elem()
 76068  }
 76069  
 76070  // This fault is thrown because Storage DRS cannot generate recommendations
 76071  // to relocate a shared virtual disk that is attached to more than one Vm.
 76072  type StorageDrsCannotMoveSharedDisk struct {
 76073  	VimFault
 76074  }
 76075  
 76076  func init() {
 76077  	t["StorageDrsCannotMoveSharedDisk"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDisk)(nil)).Elem()
 76078  }
 76079  
 76080  type StorageDrsCannotMoveSharedDiskFault StorageDrsCannotMoveSharedDisk
 76081  
 76082  func init() {
 76083  	t["StorageDrsCannotMoveSharedDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDiskFault)(nil)).Elem()
 76084  }
 76085  
 76086  // This fault is thrown because Storage DRS cannot generate recommendations
 76087  // to relocate template VMs across datastores.
 76088  type StorageDrsCannotMoveTemplate struct {
 76089  	VimFault
 76090  }
 76091  
 76092  func init() {
 76093  	t["StorageDrsCannotMoveTemplate"] = reflect.TypeOf((*StorageDrsCannotMoveTemplate)(nil)).Elem()
 76094  }
 76095  
 76096  type StorageDrsCannotMoveTemplateFault StorageDrsCannotMoveTemplate
 76097  
 76098  func init() {
 76099  	t["StorageDrsCannotMoveTemplateFault"] = reflect.TypeOf((*StorageDrsCannotMoveTemplateFault)(nil)).Elem()
 76100  }
 76101  
 76102  // This fault is thrown because Storage DRS cannot generate recommendations
 76103  // to relocate VMs placed in user-specified folders.
 76104  type StorageDrsCannotMoveVmInUserFolder struct {
 76105  	VimFault
 76106  }
 76107  
 76108  func init() {
 76109  	t["StorageDrsCannotMoveVmInUserFolder"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolder)(nil)).Elem()
 76110  }
 76111  
 76112  type StorageDrsCannotMoveVmInUserFolderFault StorageDrsCannotMoveVmInUserFolder
 76113  
 76114  func init() {
 76115  	t["StorageDrsCannotMoveVmInUserFolderFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolderFault)(nil)).Elem()
 76116  }
 76117  
 76118  // This fault is thrown because Storage DRS cannot generate recommendations
 76119  // to relocate VMs that have a CD-ROM device mounted.
 76120  type StorageDrsCannotMoveVmWithMountedCDROM struct {
 76121  	VimFault
 76122  }
 76123  
 76124  func init() {
 76125  	t["StorageDrsCannotMoveVmWithMountedCDROM"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROM)(nil)).Elem()
 76126  }
 76127  
 76128  type StorageDrsCannotMoveVmWithMountedCDROMFault StorageDrsCannotMoveVmWithMountedCDROM
 76129  
 76130  func init() {
 76131  	t["StorageDrsCannotMoveVmWithMountedCDROMFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROMFault)(nil)).Elem()
 76132  }
 76133  
 76134  // This fault is thrown because Storage DRS cannot generate recommendations
 76135  // to relocate VMs that have no files in its file layout.
 76136  type StorageDrsCannotMoveVmWithNoFilesInLayout struct {
 76137  	VimFault
 76138  }
 76139  
 76140  func init() {
 76141  	t["StorageDrsCannotMoveVmWithNoFilesInLayout"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayout)(nil)).Elem()
 76142  }
 76143  
 76144  type StorageDrsCannotMoveVmWithNoFilesInLayoutFault StorageDrsCannotMoveVmWithNoFilesInLayout
 76145  
 76146  func init() {
 76147  	t["StorageDrsCannotMoveVmWithNoFilesInLayoutFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayoutFault)(nil)).Elem()
 76148  }
 76149  
 76150  // The `StorageDrsConfigInfo` data object describes storage DRS configuration
 76151  // for a pod `StoragePod`.
 76152  type StorageDrsConfigInfo struct {
 76153  	DynamicData
 76154  
 76155  	// Pod-wide configuration of the storage DRS service.
 76156  	PodConfig StorageDrsPodConfigInfo `xml:"podConfig" json:"podConfig"`
 76157  	// List of virtual machine configurations for the storage DRS
 76158  	// service.
 76159  	//
 76160  	// Each entry applies to all the virtual disks of the virtual machine
 76161  	// on this pod.
 76162  	//
 76163  	// If a virtual machine is not specified in this array, the service uses
 76164  	// the default settings for that virtual machine.
 76165  	VmConfig []StorageDrsVmConfigInfo `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
 76166  }
 76167  
 76168  func init() {
 76169  	t["StorageDrsConfigInfo"] = reflect.TypeOf((*StorageDrsConfigInfo)(nil)).Elem()
 76170  }
 76171  
 76172  // The `StorageDrsConfigSpec` data object provides a set of update
 76173  // specifications for storage DRS configuration.
 76174  //
 76175  // To support
 76176  // incremental changes, these properties are all optional.
 76177  type StorageDrsConfigSpec struct {
 76178  	DynamicData
 76179  
 76180  	// Changes to the configuration of the storage DRS service.
 76181  	PodConfigSpec *StorageDrsPodConfigSpec `xml:"podConfigSpec,omitempty" json:"podConfigSpec,omitempty"`
 76182  	// Changes to the per-virtual-machine storage DRS settings.
 76183  	VmConfigSpec []StorageDrsVmConfigSpec `xml:"vmConfigSpec,omitempty" json:"vmConfigSpec,omitempty"`
 76184  }
 76185  
 76186  func init() {
 76187  	t["StorageDrsConfigSpec"] = reflect.TypeOf((*StorageDrsConfigSpec)(nil)).Elem()
 76188  }
 76189  
 76190  // This fault is thrown when one datastore using Storage DRS is added to two
 76191  // different datacenters.
 76192  type StorageDrsDatacentersCannotShareDatastore struct {
 76193  	VimFault
 76194  }
 76195  
 76196  func init() {
 76197  	t["StorageDrsDatacentersCannotShareDatastore"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastore)(nil)).Elem()
 76198  }
 76199  
 76200  type StorageDrsDatacentersCannotShareDatastoreFault StorageDrsDatacentersCannotShareDatastore
 76201  
 76202  func init() {
 76203  	t["StorageDrsDatacentersCannotShareDatastoreFault"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastoreFault)(nil)).Elem()
 76204  }
 76205  
 76206  // This fault is thrown when Storage DRS cannot move disks of a virtual machine
 76207  // because Storage DRS is disabled on it.
 76208  type StorageDrsDisabledOnVm struct {
 76209  	VimFault
 76210  }
 76211  
 76212  func init() {
 76213  	t["StorageDrsDisabledOnVm"] = reflect.TypeOf((*StorageDrsDisabledOnVm)(nil)).Elem()
 76214  }
 76215  
 76216  type StorageDrsDisabledOnVmFault StorageDrsDisabledOnVm
 76217  
 76218  func init() {
 76219  	t["StorageDrsDisabledOnVmFault"] = reflect.TypeOf((*StorageDrsDisabledOnVmFault)(nil)).Elem()
 76220  }
 76221  
 76222  // This fault is thrown when HMS service cannot move certain secondary
 76223  // replica disks per Storage DRS move recommendations
 76224  type StorageDrsHbrDiskNotMovable struct {
 76225  	VimFault
 76226  
 76227  	// Comma-separated list of disk IDs that are not movable and failed
 76228  	// Storage DRS recommendation action.
 76229  	NonMovableDiskIds string `xml:"nonMovableDiskIds" json:"nonMovableDiskIds"`
 76230  }
 76231  
 76232  func init() {
 76233  	t["StorageDrsHbrDiskNotMovable"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovable)(nil)).Elem()
 76234  }
 76235  
 76236  type StorageDrsHbrDiskNotMovableFault StorageDrsHbrDiskNotMovable
 76237  
 76238  func init() {
 76239  	t["StorageDrsHbrDiskNotMovableFault"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovableFault)(nil)).Elem()
 76240  }
 76241  
 76242  // This fault is thrown HMS service is in the process of moving
 76243  // a subset of disks for which Storage DRS recommendation is generated.
 76244  type StorageDrsHmsMoveInProgress struct {
 76245  	VimFault
 76246  }
 76247  
 76248  func init() {
 76249  	t["StorageDrsHmsMoveInProgress"] = reflect.TypeOf((*StorageDrsHmsMoveInProgress)(nil)).Elem()
 76250  }
 76251  
 76252  type StorageDrsHmsMoveInProgressFault StorageDrsHmsMoveInProgress
 76253  
 76254  func init() {
 76255  	t["StorageDrsHmsMoveInProgressFault"] = reflect.TypeOf((*StorageDrsHmsMoveInProgressFault)(nil)).Elem()
 76256  }
 76257  
 76258  // This fault is thrown when Storage DRS cannot connect to HMS service
 76259  // or HMS APIs invoked by Storage DRS error out due to connection issues.
 76260  type StorageDrsHmsUnreachable struct {
 76261  	VimFault
 76262  }
 76263  
 76264  func init() {
 76265  	t["StorageDrsHmsUnreachable"] = reflect.TypeOf((*StorageDrsHmsUnreachable)(nil)).Elem()
 76266  }
 76267  
 76268  type StorageDrsHmsUnreachableFault StorageDrsHmsUnreachable
 76269  
 76270  func init() {
 76271  	t["StorageDrsHmsUnreachableFault"] = reflect.TypeOf((*StorageDrsHmsUnreachableFault)(nil)).Elem()
 76272  }
 76273  
 76274  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76275  //
 76276  // Storage DRS configuration for I/O load balancing.
 76277  type StorageDrsIoLoadBalanceConfig struct {
 76278  	DynamicData
 76279  
 76280  	// Storage DRS makes storage migration recommendations if total
 76281  	// IOPs reservation of all VMs running on a datastore is higher than
 76282  	// the specified threshold.
 76283  	//
 76284  	// Storage DRS recommends migration out of
 76285  	// all such datastores, if more than one datastore exceed their reserved
 76286  	// IOPs threshold.
 76287  	//
 76288  	// The actual Iops used to determine threshold are computed from Storage
 76289  	// DRS estimation of IOPs capacity of a datastore. The absolute value
 76290  	// may change over time, according to storage response to workloads.
 76291  	//
 76292  	// The valid values are in the range of 30 (i.e., 30%) to 100 (i.e., 100%).
 76293  	// If not specified, the default value is 60%.
 76294  	ReservablePercentThreshold int32 `xml:"reservablePercentThreshold,omitempty" json:"reservablePercentThreshold,omitempty"`
 76295  	// Storage DRS makes storage migration recommendations if total
 76296  	// IOPs reservation of all VMs running on a datastore is higher than
 76297  	// the specified threshold.
 76298  	//
 76299  	// Storage DRS recommends migration out of
 76300  	// all such datastores, if more than one datastore exceed their reserved
 76301  	// IOPs threshold.
 76302  	//
 76303  	// This is an advanced option, and should only be used if Storage DRS
 76304  	// estimated IOPs capacity is incorrect for datastores. The value
 76305  	// should be based on conservative estimate of storage performance,
 76306  	// and ideally should be set to about 50-60% of worse case peak
 76307  	// performance of backing LUN.
 76308  	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty"`
 76309  	// Determines which reservation threshold specification to use.
 76310  	//
 76311  	// See `StorageDrsPodConfigInfoBehavior_enum`. If unspecified, the
 76312  	// mode is assumed automatic by default. Storage DRS uses
 76313  	// percentage value in that case.
 76314  	// If mode is specified, but corresponding reservationThreshold
 76315  	// value is absent, option specific defaults are used.
 76316  	ReservableThresholdMode string `xml:"reservableThresholdMode,omitempty" json:"reservableThresholdMode,omitempty"`
 76317  	// Storage DRS makes storage migration recommendations if
 76318  	// I/O latency on one (or more) of the datastores is higher than
 76319  	// the specified threshold.
 76320  	//
 76321  	// Unit: millisecond.
 76322  	// The valid values are in the range of 5 to 100. If not specified,
 76323  	// the default value is 15.
 76324  	IoLatencyThreshold int32 `xml:"ioLatencyThreshold,omitempty" json:"ioLatencyThreshold,omitempty"`
 76325  	// Storage DRS makes storage migration recommendations if
 76326  	// I/O load imbalance level is higher than the specified threshold.
 76327  	//
 76328  	// Unit: a number.
 76329  	// The valid values are in the range of 1 to 100. If not specified,
 76330  	// the default value is 5.
 76331  	IoLoadImbalanceThreshold int32 `xml:"ioLoadImbalanceThreshold,omitempty" json:"ioLoadImbalanceThreshold,omitempty"`
 76332  }
 76333  
 76334  func init() {
 76335  	t["StorageDrsIoLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsIoLoadBalanceConfig)(nil)).Elem()
 76336  }
 76337  
 76338  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76339  //
 76340  // The fault occurs when Storage DRS disables IO Load balancing internally
 76341  // even though it is enabled by the user.
 76342  //
 76343  // This can happen due to one of the
 76344  // following reasons:
 76345  // 1\. SIOC couldn't get enabled on at least one of the datastores
 76346  // 2\. The connectivity between hosts and datastores is not uniform for all datastores.
 76347  // 3\. Some statistics are not available to run IO load balancing
 76348  type StorageDrsIolbDisabledInternally struct {
 76349  	VimFault
 76350  }
 76351  
 76352  func init() {
 76353  	t["StorageDrsIolbDisabledInternally"] = reflect.TypeOf((*StorageDrsIolbDisabledInternally)(nil)).Elem()
 76354  }
 76355  
 76356  type StorageDrsIolbDisabledInternallyFault StorageDrsIolbDisabledInternally
 76357  
 76358  func init() {
 76359  	t["StorageDrsIolbDisabledInternallyFault"] = reflect.TypeOf((*StorageDrsIolbDisabledInternallyFault)(nil)).Elem()
 76360  }
 76361  
 76362  // An incremental update to the advance settings.
 76363  type StorageDrsOptionSpec struct {
 76364  	ArrayUpdateSpec
 76365  
 76366  	Option BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 76367  }
 76368  
 76369  func init() {
 76370  	t["StorageDrsOptionSpec"] = reflect.TypeOf((*StorageDrsOptionSpec)(nil)).Elem()
 76371  }
 76372  
 76373  type StorageDrsPlacementRankVmSpec struct {
 76374  	DynamicData
 76375  
 76376  	// Individual VM placement specification for ranking clusters
 76377  	VmPlacementSpec PlacementSpec `xml:"vmPlacementSpec" json:"vmPlacementSpec"`
 76378  	// Set of candidate clusters for the placement request
 76379  	//
 76380  	// Refers instances of `ClusterComputeResource`.
 76381  	VmClusters []ManagedObjectReference `xml:"vmClusters" json:"vmClusters"`
 76382  }
 76383  
 76384  func init() {
 76385  	t["StorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*StorageDrsPlacementRankVmSpec)(nil)).Elem()
 76386  }
 76387  
 76388  // The `StorageDrsPodConfigInfo` data object contains pod-wide configuration information
 76389  // for the storage DRS service.
 76390  type StorageDrsPodConfigInfo struct {
 76391  	DynamicData
 76392  
 76393  	// Flag indicating whether or not storage DRS is enabled.
 76394  	Enabled bool `xml:"enabled" json:"enabled"`
 76395  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76396  	//
 76397  	// Flag indicating whether or not storage DRS takes into account storage I/O
 76398  	// workload when making load balancing and initial placement recommendations.
 76399  	IoLoadBalanceEnabled bool `xml:"ioLoadBalanceEnabled" json:"ioLoadBalanceEnabled"`
 76400  	// Specifies the pod-wide default storage DRS behavior for virtual machines.
 76401  	//
 76402  	// For currently supported storage DRS behavior, see `StorageDrsPodConfigInfoBehavior_enum`.
 76403  	// You can override the default behavior for a virtual machine
 76404  	// by using the `StorageDrsVmConfigInfo` object.
 76405  	DefaultVmBehavior string `xml:"defaultVmBehavior" json:"defaultVmBehavior"`
 76406  	// Specify the interval that storage DRS runs to load balance among datastores
 76407  	// within a storage pod.
 76408  	//
 76409  	// Unit: minute.
 76410  	// The valid values are from 60 (1 hour) to 43200 (30 days).
 76411  	// If not specified, the default value is 480 (8 hours).
 76412  	LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty" json:"loadBalanceInterval,omitempty"`
 76413  	// Specifies whether or not each virtual machine in this pod should have its virtual
 76414  	// disks on the same datastore by default.
 76415  	//
 76416  	// If set to true, virtual machines will have
 76417  	// all their virtual disks on the same datastore. If set to false, the virtual disks
 76418  	// of a virtual machine may or may not be placed on the same datastore.
 76419  	// If not set, the default value is true.
 76420  	// You can override the default behavior for a virtual machine
 76421  	// by using the `StorageDrsVmConfigInfo` object.
 76422  	DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity" json:"defaultIntraVmAffinity,omitempty"`
 76423  	// The configuration settings for load balancing storage space.
 76424  	SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty" json:"spaceLoadBalanceConfig,omitempty"`
 76425  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76426  	//
 76427  	// The configuration settings for load balancing I/O workload.
 76428  	//
 76429  	// This takes effect only if `StorageDrsPodConfigInfo.ioLoadBalanceEnabled` is <code>true</code>.
 76430  	IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty" json:"ioLoadBalanceConfig,omitempty"`
 76431  	// Configuration settings for fine-grain automation overrides on
 76432  	// the cluster level setting.
 76433  	AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty" json:"automationOverrides,omitempty"`
 76434  	// Pod-wide rules.
 76435  	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 76436  	// Advanced settings.
 76437  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 76438  }
 76439  
 76440  func init() {
 76441  	t["StorageDrsPodConfigInfo"] = reflect.TypeOf((*StorageDrsPodConfigInfo)(nil)).Elem()
 76442  }
 76443  
 76444  // The `StorageDrsPodConfigSpec` data object provides a set of update
 76445  // specifications for pod-wide storage DRS configuration.
 76446  //
 76447  // To support
 76448  // incremental changes, these properties are all optional.
 76449  type StorageDrsPodConfigSpec struct {
 76450  	DynamicData
 76451  
 76452  	// Flag indicating whether or not storage DRS is enabled.
 76453  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 76454  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76455  	//
 76456  	// Flag indicating whether or not storage DRS takes into account storage I/O
 76457  	// workload when making load balancing and initial placement recommendations.
 76458  	IoLoadBalanceEnabled *bool `xml:"ioLoadBalanceEnabled" json:"ioLoadBalanceEnabled,omitempty"`
 76459  	// Specifies the pod-wide default storage DRS behavior for virtual machines.
 76460  	//
 76461  	// For currently supported storage DRS behavior, see `StorageDrsPodConfigInfoBehavior_enum`.
 76462  	// You can override the default behavior for a virtual machine
 76463  	// by using the `StorageDrsVmConfigInfo` object.
 76464  	DefaultVmBehavior string `xml:"defaultVmBehavior,omitempty" json:"defaultVmBehavior,omitempty"`
 76465  	// Specify the interval that storage DRS runs to load balance among datastores
 76466  	// within a storage pod.
 76467  	LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty" json:"loadBalanceInterval,omitempty"`
 76468  	// Specifies whether or not each virtual machine in this pod should have its virtual
 76469  	// disks on the same datastore by default.
 76470  	DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity" json:"defaultIntraVmAffinity,omitempty"`
 76471  	// The configuration settings for load balancing storage space.
 76472  	SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty" json:"spaceLoadBalanceConfig,omitempty"`
 76473  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76474  	//
 76475  	// The configuration settings for load balancing I/O workload.
 76476  	//
 76477  	// This takes effect only if `StorageDrsPodConfigInfo.ioLoadBalanceEnabled` is <code>true</code>.
 76478  	IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty" json:"ioLoadBalanceConfig,omitempty"`
 76479  	// Configuration settings for fine-grain automation overrides on
 76480  	// the cluster level setting.
 76481  	AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty" json:"automationOverrides,omitempty"`
 76482  	// Changes to the set of rules.
 76483  	Rule []ClusterRuleSpec `xml:"rule,omitempty" json:"rule,omitempty"`
 76484  	// Changes to advance settings.
 76485  	Option []StorageDrsOptionSpec `xml:"option,omitempty" json:"option,omitempty"`
 76486  }
 76487  
 76488  func init() {
 76489  	t["StorageDrsPodConfigSpec"] = reflect.TypeOf((*StorageDrsPodConfigSpec)(nil)).Elem()
 76490  }
 76491  
 76492  // Specification for moving or copying a virtual machine to a different Storage Pod.
 76493  type StorageDrsPodSelectionSpec struct {
 76494  	DynamicData
 76495  
 76496  	// An optional list that allows specifying the storage pod location
 76497  	// for each virtual disk and the VM configurations and overrides to be
 76498  	// used during placement.
 76499  	InitialVmConfig []VmPodConfigForPlacement `xml:"initialVmConfig,omitempty" json:"initialVmConfig,omitempty"`
 76500  	// The storage pod where the virtual machine should be located.
 76501  	//
 76502  	// Refers instance of `StoragePod`.
 76503  	StoragePod *ManagedObjectReference `xml:"storagePod,omitempty" json:"storagePod,omitempty"`
 76504  }
 76505  
 76506  func init() {
 76507  	t["StorageDrsPodSelectionSpec"] = reflect.TypeOf((*StorageDrsPodSelectionSpec)(nil)).Elem()
 76508  }
 76509  
 76510  // This fault is thrown when Storage DRS cannot move disks of a virtual machine
 76511  // because the relocate method of the virtual machine is disabled.
 76512  type StorageDrsRelocateDisabled struct {
 76513  	VimFault
 76514  }
 76515  
 76516  func init() {
 76517  	t["StorageDrsRelocateDisabled"] = reflect.TypeOf((*StorageDrsRelocateDisabled)(nil)).Elem()
 76518  }
 76519  
 76520  type StorageDrsRelocateDisabledFault StorageDrsRelocateDisabled
 76521  
 76522  func init() {
 76523  	t["StorageDrsRelocateDisabledFault"] = reflect.TypeOf((*StorageDrsRelocateDisabledFault)(nil)).Elem()
 76524  }
 76525  
 76526  // Storage DRS configuration for space load balancing.
 76527  type StorageDrsSpaceLoadBalanceConfig struct {
 76528  	DynamicData
 76529  
 76530  	SpaceThresholdMode string `xml:"spaceThresholdMode,omitempty" json:"spaceThresholdMode,omitempty"`
 76531  	// Storage DRS makes storage migration recommendations if
 76532  	// space utilization on one (or more) of the datastores is higher than
 76533  	// the specified threshold.
 76534  	//
 76535  	// The valid values are in the range of 50 (i.e., 50%) to 100 (i.e., 100%).
 76536  	// If not specified, the default value is 80%.
 76537  	SpaceUtilizationThreshold int32 `xml:"spaceUtilizationThreshold,omitempty" json:"spaceUtilizationThreshold,omitempty"`
 76538  	// Storage DRS makes storage migration recommendations if
 76539  	// free space on one (or more) of the datastores falls below
 76540  	// the specified threshold.
 76541  	//
 76542  	// The unit is in gigabytes and the minimum value is 1GB.
 76543  	// The maximum value is limited by the capacity of the smallest
 76544  	// datastore in a datastore cluster.
 76545  	// If not specified, the default value is 50GB.
 76546  	FreeSpaceThresholdGB int32 `xml:"freeSpaceThresholdGB,omitempty" json:"freeSpaceThresholdGB,omitempty"`
 76547  	// Storage DRS considers making storage migration recommendations if
 76548  	// the difference in space utilization between the source and destination datastores
 76549  	// is higher than the specified threshold.
 76550  	//
 76551  	// The valid values are in the range of 1 (i.e., 1%) to 50 (i.e., 50%).
 76552  	// If not specified, the default value is 5%.
 76553  	MinSpaceUtilizationDifference int32 `xml:"minSpaceUtilizationDifference,omitempty" json:"minSpaceUtilizationDifference,omitempty"`
 76554  }
 76555  
 76556  func init() {
 76557  	t["StorageDrsSpaceLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfig)(nil)).Elem()
 76558  }
 76559  
 76560  // This fault is thrown when Storage DRS action for relocating
 76561  // HMS collection of replica disks does not correspond to current
 76562  // HMS inventory configuration and hence, is rejected by HMS service.
 76563  type StorageDrsStaleHmsCollection struct {
 76564  	VimFault
 76565  }
 76566  
 76567  func init() {
 76568  	t["StorageDrsStaleHmsCollection"] = reflect.TypeOf((*StorageDrsStaleHmsCollection)(nil)).Elem()
 76569  }
 76570  
 76571  type StorageDrsStaleHmsCollectionFault StorageDrsStaleHmsCollection
 76572  
 76573  func init() {
 76574  	t["StorageDrsStaleHmsCollectionFault"] = reflect.TypeOf((*StorageDrsStaleHmsCollectionFault)(nil)).Elem()
 76575  }
 76576  
 76577  // This fault is thrown when Storage DRS cannot generate recommendations
 76578  // to move VM files due to pre-existing cross datastore disk backings.
 76579  type StorageDrsUnableToMoveFiles struct {
 76580  	VimFault
 76581  }
 76582  
 76583  func init() {
 76584  	t["StorageDrsUnableToMoveFiles"] = reflect.TypeOf((*StorageDrsUnableToMoveFiles)(nil)).Elem()
 76585  }
 76586  
 76587  type StorageDrsUnableToMoveFilesFault StorageDrsUnableToMoveFiles
 76588  
 76589  func init() {
 76590  	t["StorageDrsUnableToMoveFilesFault"] = reflect.TypeOf((*StorageDrsUnableToMoveFilesFault)(nil)).Elem()
 76591  }
 76592  
 76593  // Storage DRS configuration for a single virtual machine.
 76594  //
 76595  // This makes it
 76596  // possible to override the default behavior for an individual virtual machine.
 76597  type StorageDrsVmConfigInfo struct {
 76598  	DynamicData
 76599  
 76600  	// Reference to the virtual machine.
 76601  	//
 76602  	// Can be NULL during initial placement.
 76603  	//
 76604  	// Refers instance of `VirtualMachine`.
 76605  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 76606  	// Flag to indicate whether or not VirtualCenter is allowed to perform any
 76607  	// storage migration or initial placement recommendations for this virtual
 76608  	// machine on the pod `StoragePod`.
 76609  	//
 76610  	// If this flag is false, the virtual machine is effectively excluded from
 76611  	// storage DRS.
 76612  	//
 76613  	// If no individual DRS specification exists for a virtual machine,
 76614  	// this property defaults to true.
 76615  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 76616  	// Specifies the particular storage DRS behavior for this virtual machine.
 76617  	//
 76618  	// For supported values, see `StorageDrsPodConfigInfoBehavior_enum`.
 76619  	Behavior string `xml:"behavior,omitempty" json:"behavior,omitempty"`
 76620  	// Specifies whether or not to have the affinity rule for the virtual disks
 76621  	// of this virtual machine.
 76622  	//
 76623  	// If not set, the default value is derived from
 76624  	// the pod-wide default `StorageDrsPodConfigInfo.defaultIntraVmAffinity`.
 76625  	IntraVmAffinity *bool `xml:"intraVmAffinity" json:"intraVmAffinity,omitempty"`
 76626  	// Deprecated as of vSphere API 7.0.
 76627  	//
 76628  	// Specifies the disks for this virtual machine that should be placed
 76629  	// on different datastores.
 76630  	//
 76631  	// A VM cannot have both an affinity and an
 76632  	// anti-affinity rule at the same time. Virtual machine disks that are
 76633  	// not in this rule are unconstrained and can be placed either on the
 76634  	// same datastore or on a different datastore as other disks from this
 76635  	// virtual machine.
 76636  	IntraVmAntiAffinity *VirtualDiskAntiAffinityRuleSpec `xml:"intraVmAntiAffinity,omitempty" json:"intraVmAntiAffinity,omitempty"`
 76637  	// List of the virtual disk rules that can be overridden/created.
 76638  	VirtualDiskRules []VirtualDiskRuleSpec `xml:"virtualDiskRules,omitempty" json:"virtualDiskRules,omitempty"`
 76639  }
 76640  
 76641  func init() {
 76642  	t["StorageDrsVmConfigInfo"] = reflect.TypeOf((*StorageDrsVmConfigInfo)(nil)).Elem()
 76643  }
 76644  
 76645  // Updates the per-virtual-machine storage DRS configuration.
 76646  type StorageDrsVmConfigSpec struct {
 76647  	ArrayUpdateSpec
 76648  
 76649  	Info *StorageDrsVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 76650  }
 76651  
 76652  func init() {
 76653  	t["StorageDrsVmConfigSpec"] = reflect.TypeOf((*StorageDrsVmConfigSpec)(nil)).Elem()
 76654  }
 76655  
 76656  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76657  //
 76658  // The IOAllocationInfo specifies the shares, limit and reservation
 76659  // for storage I/O resource.
 76660  //
 76661  // The storage I/O resource is allocated to virtual machines based on their
 76662  // shares, limit and reservation. The reservation is currently exposed only
 76663  // at the host level for local and shared datastores.
 76664  // We do not support storage I/O resource management on resource pools.
 76665  //
 76666  // Each virtual machine has one IOAllocationInfo object per virtual
 76667  // disk. For example, we can specify that a virtual machine has 500 shares
 76668  // on the first virtual disk, 1000 shares on the second virtual disk, etc.
 76669  type StorageIOAllocationInfo struct {
 76670  	DynamicData
 76671  
 76672  	// The utilization of a virtual machine will not exceed this limit, even
 76673  	// if there are available resources.
 76674  	//
 76675  	// This is typically used to ensure a consistent
 76676  	// performance of virtual machines independent of available resources.
 76677  	// If set to -1, then there is no fixed limit on resource usage (only
 76678  	// bounded by available resources and shares). The unit is number of
 76679  	// I/O per second.
 76680  	// While setting the limit for storage I/O resource, if the property is unset,
 76681  	// it is treated as no change and the property is not updated. While reading
 76682  	// back the limit information of storage I/O resource, if the property is unset,
 76683  	// a default value of -1 will be returned, which indicates that there is no
 76684  	// limit on resource usage.
 76685  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 76686  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76687  	//
 76688  	// Shares are used in case of resource contention.
 76689  	//
 76690  	// The value should be within a range of 200 to 4000.
 76691  	// While setting shares for storage I/O resource, if the property is unset,
 76692  	// it is treated as no change and the property is not updated. While reading
 76693  	// back the shares information of storage I/O resource, if the property is unset,
 76694  	// a default value of `SharesInfo.level` = normal,
 76695  	// `SharesInfo.shares` = 1000 will be returned.
 76696  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 76697  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76698  	//
 76699  	// Reservation control is used to provide guaranteed allocation in terms
 76700  	// of IOPS.
 76701  	//
 76702  	// Large IO sizes are considered as multiple IOs using a chunk
 76703  	// size of 32 KB as default. This control is initially supported only
 76704  	// at host level for local datastores. It future, it may get supported
 76705  	// on shared storage based on integration with Storage IO Control.
 76706  	// Also right now we don't do any admission control based on IO
 76707  	// reservation values.
 76708  	Reservation *int32 `xml:"reservation" json:"reservation,omitempty"`
 76709  }
 76710  
 76711  func init() {
 76712  	t["StorageIOAllocationInfo"] = reflect.TypeOf((*StorageIOAllocationInfo)(nil)).Elem()
 76713  }
 76714  
 76715  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76716  //
 76717  // The IOAllocationOption specifies value ranges that can be used
 76718  // to initialize `StorageIOAllocationInfo` object.
 76719  type StorageIOAllocationOption struct {
 76720  	DynamicData
 76721  
 76722  	// limitOptions defines a range of values allowed to be used for
 76723  	// storage IO limit `StorageIOAllocationInfo.limit`.
 76724  	LimitOption LongOption `xml:"limitOption" json:"limitOption"`
 76725  	// sharesOption defines a range of values allowed to be used to
 76726  	// specify allocated io shares `StorageIOAllocationInfo.shares`.
 76727  	SharesOption SharesOption `xml:"sharesOption" json:"sharesOption"`
 76728  }
 76729  
 76730  func init() {
 76731  	t["StorageIOAllocationOption"] = reflect.TypeOf((*StorageIOAllocationOption)(nil)).Elem()
 76732  }
 76733  
 76734  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76735  //
 76736  // Configuration setting ranges for `StorageIORMConfigSpec` object.
 76737  type StorageIORMConfigOption struct {
 76738  	DynamicData
 76739  
 76740  	// enabledOption provides default state value for
 76741  	// `StorageIORMConfigSpec.enabled`
 76742  	EnabledOption BoolOption `xml:"enabledOption" json:"enabledOption"`
 76743  	// congestionThresholdOption defines value range which can be used for
 76744  	// `StorageIORMConfigSpec.congestionThreshold`
 76745  	CongestionThresholdOption IntOption `xml:"congestionThresholdOption" json:"congestionThresholdOption"`
 76746  	// statsCollectionEnabledOption provides default value for
 76747  	// `StorageIORMConfigSpec.statsCollectionEnabled`
 76748  	StatsCollectionEnabledOption *BoolOption `xml:"statsCollectionEnabledOption,omitempty" json:"statsCollectionEnabledOption,omitempty"`
 76749  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76750  	//
 76751  	// reservationEnabledOption provides default value for
 76752  	// `StorageIORMConfigSpec.reservationEnabled`
 76753  	ReservationEnabledOption *BoolOption `xml:"reservationEnabledOption,omitempty" json:"reservationEnabledOption,omitempty"`
 76754  }
 76755  
 76756  func init() {
 76757  	t["StorageIORMConfigOption"] = reflect.TypeOf((*StorageIORMConfigOption)(nil)).Elem()
 76758  }
 76759  
 76760  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76761  //
 76762  // Configuration settings used for creating or reconfiguring
 76763  // storage I/O resource management.
 76764  //
 76765  // All fields are defined as optional. If a field is unset,
 76766  // the property is not changed.
 76767  type StorageIORMConfigSpec struct {
 76768  	DynamicData
 76769  
 76770  	// Flag indicating whether or not the service is enabled.
 76771  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 76772  	// Mode of congestion threshold specification
 76773  	// For more information, see
 76774  	// `StorageIORMThresholdMode_enum`
 76775  	CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty" json:"congestionThresholdMode,omitempty"`
 76776  	// The latency beyond which the storage array is considered congested.
 76777  	//
 76778  	// For more information, see
 76779  	// `StorageIORMInfo.congestionThreshold`
 76780  	CongestionThreshold int32 `xml:"congestionThreshold,omitempty" json:"congestionThreshold,omitempty"`
 76781  	// The percentage of peak throughput to be used for setting threshold latency
 76782  	// of a datastore.
 76783  	//
 76784  	// Valid values are between 50 to 100.
 76785  	//
 76786  	// For more information, see
 76787  	// `StorageIORMInfo.congestionThreshold`
 76788  	PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty" json:"percentOfPeakThroughput,omitempty"`
 76789  	// Flag indicating whether the service is enabled in stats collection mode.
 76790  	StatsCollectionEnabled *bool `xml:"statsCollectionEnabled" json:"statsCollectionEnabled,omitempty"`
 76791  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76792  	//
 76793  	// Flag indicating whether IO reservations support is enabled.
 76794  	ReservationEnabled *bool `xml:"reservationEnabled" json:"reservationEnabled,omitempty"`
 76795  	// Flag indicating whether stats aggregation is disabled.
 76796  	StatsAggregationDisabled *bool `xml:"statsAggregationDisabled" json:"statsAggregationDisabled,omitempty"`
 76797  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76798  	//
 76799  	// Storage DRS makes storage migration recommendations
 76800  	// if total IOPs reservation for all VMs running on the
 76801  	// datastore is higher than specified threshold value.
 76802  	//
 76803  	// This value (if present) overrides
 76804  	// `StorageIORMInfo.reservableIopsThreshold`
 76805  	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty"`
 76806  }
 76807  
 76808  func init() {
 76809  	t["StorageIORMConfigSpec"] = reflect.TypeOf((*StorageIORMConfigSpec)(nil)).Elem()
 76810  }
 76811  
 76812  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76813  //
 76814  // Configuration of storage I/O resource management.
 76815  type StorageIORMInfo struct {
 76816  	DynamicData
 76817  
 76818  	// Flag indicating whether or not the service is enabled.
 76819  	Enabled bool `xml:"enabled" json:"enabled"`
 76820  	// Mode of congestion threshold specification
 76821  	// For more information, see
 76822  	// `StorageIORMThresholdMode_enum`
 76823  	CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty" json:"congestionThresholdMode,omitempty"`
 76824  	// The latency beyond which the storage array is considered congested.
 76825  	//
 76826  	// If storage I/O resource management is enabled on a datastore,
 76827  	// the algorithm tries to maintain the latency to be below or
 76828  	// close to this value. The unit is millisecond. The range of
 76829  	// this value is between 5 to 100 milliseconds.
 76830  	CongestionThreshold int32 `xml:"congestionThreshold" json:"congestionThreshold"`
 76831  	// The percentage of peak throughput to be used for setting congestion threshold
 76832  	// of a datastore.
 76833  	//
 76834  	// Valid values are between 50 to 100. Default value is 90%
 76835  	//
 76836  	// For more information, see
 76837  	// `StorageIORMInfo.congestionThreshold`
 76838  	PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty" json:"percentOfPeakThroughput,omitempty"`
 76839  	// Deprecated as of vSphere API 6.5, use `StorageIORMInfo.enabled` instead.
 76840  	//
 76841  	// Flag indicating whether service is running in stats collection mode.
 76842  	StatsCollectionEnabled *bool `xml:"statsCollectionEnabled" json:"statsCollectionEnabled,omitempty"`
 76843  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76844  	//
 76845  	// Flag indicating whether IO reservations support is enabled.
 76846  	ReservationEnabled *bool `xml:"reservationEnabled" json:"reservationEnabled,omitempty"`
 76847  	// Flag indicating whether stats aggregation is disabled.
 76848  	StatsAggregationDisabled *bool `xml:"statsAggregationDisabled" json:"statsAggregationDisabled,omitempty"`
 76849  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76850  	//
 76851  	// Storage DRS makes storage migration recommendations
 76852  	// if total IOPs reservation for all VMs running on the
 76853  	// datastore is higher than specified threshold value.
 76854  	//
 76855  	// This value (if present) overrides
 76856  	// `StorageIORMInfo.reservableIopsThreshold`
 76857  	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty"`
 76858  }
 76859  
 76860  func init() {
 76861  	t["StorageIORMInfo"] = reflect.TypeOf((*StorageIORMInfo)(nil)).Elem()
 76862  }
 76863  
 76864  // Describes a single storage migration action.
 76865  //
 76866  // The storage migration
 76867  // action applies either to a virtual machine or a set of virtual disks.
 76868  type StorageMigrationAction struct {
 76869  	ClusterAction
 76870  
 76871  	// Virtual machine reference.
 76872  	//
 76873  	// Refers instance of `VirtualMachine`.
 76874  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 76875  	// Specification for moving a virtual machine or a set of virtual disks
 76876  	// to a different datastore.
 76877  	RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec" json:"relocateSpec"`
 76878  	// Source datastore.
 76879  	//
 76880  	// Refers instance of `Datastore`.
 76881  	Source ManagedObjectReference `xml:"source" json:"source"`
 76882  	// Destination datastore.
 76883  	//
 76884  	// Refers instance of `Datastore`.
 76885  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 76886  	// The amount of data to be transferred.
 76887  	//
 76888  	// Unit: KB.
 76889  	SizeTransferred int64 `xml:"sizeTransferred" json:"sizeTransferred"`
 76890  	// Space utilization on the source datastore before storage migration.
 76891  	//
 76892  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 76893  	// If not set, the value is not available.
 76894  	SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty" json:"spaceUtilSrcBefore,omitempty"`
 76895  	// Space utilization on the destination datastore before storage migration.
 76896  	//
 76897  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 76898  	// If not set, the value is not available.
 76899  	SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty" json:"spaceUtilDstBefore,omitempty"`
 76900  	// Expected space utilization on the source datastore after storage migration.
 76901  	//
 76902  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 76903  	// If not set, the value is not available.
 76904  	SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty" json:"spaceUtilSrcAfter,omitempty"`
 76905  	// Expected space utilization on the destination datastore after storage migration.
 76906  	//
 76907  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 76908  	// If not set, the value is not available.
 76909  	SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty" json:"spaceUtilDstAfter,omitempty"`
 76910  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76911  	//
 76912  	// I/O latency on the source datastore before storage migration.
 76913  	//
 76914  	// Unit: millisecond.
 76915  	// If not set, the value is not available.
 76916  	IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty" json:"ioLatencySrcBefore,omitempty"`
 76917  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76918  	//
 76919  	// I/O latency on the destination datastore before storage migration.
 76920  	//
 76921  	// Unit: millisecond.
 76922  	// If not set, the value is not available.
 76923  	IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty" json:"ioLatencyDstBefore,omitempty"`
 76924  }
 76925  
 76926  func init() {
 76927  	t["StorageMigrationAction"] = reflect.TypeOf((*StorageMigrationAction)(nil)).Elem()
 76928  }
 76929  
 76930  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76931  //
 76932  // Summary statistics for datastore performance
 76933  // The statistics are reported in aggregated quantiles over a time period
 76934  type StoragePerformanceSummary struct {
 76935  	DynamicData
 76936  
 76937  	// Time period over which statistics are aggregated
 76938  	// The reported time unit is in seconds
 76939  	Interval int32 `xml:"interval" json:"interval"`
 76940  	// Metric percentile specification.
 76941  	//
 76942  	// A percentile is a value
 76943  	// between 1 and 100. The metric value reported in the
 76944  	// aggregated statistics corresponds with the percentile values
 76945  	// in this field. For example, if the value of percentile\[0\] is
 76946  	// P, and the value of the datastoreReadLatency\[0\] is L, then
 76947  	// P% of all the read IOs performed during observation interval
 76948  	// is less than L milliseconds.
 76949  	Percentile []int32 `xml:"percentile" json:"percentile"`
 76950  	// Aggregated datastore latency in milliseconds for read operations
 76951  	DatastoreReadLatency []float64 `xml:"datastoreReadLatency" json:"datastoreReadLatency"`
 76952  	// Aggregated datastore latency in milliseconds for write operations
 76953  	DatastoreWriteLatency []float64 `xml:"datastoreWriteLatency" json:"datastoreWriteLatency"`
 76954  	// Aggregated datastore latency as observed by Vms using the datastore
 76955  	// The reported latency is in milliseconds.
 76956  	DatastoreVmLatency []float64 `xml:"datastoreVmLatency" json:"datastoreVmLatency"`
 76957  	// Aggregated datastore Read IO rate (Reads/second)
 76958  	DatastoreReadIops []float64 `xml:"datastoreReadIops" json:"datastoreReadIops"`
 76959  	// Aggregated datastore Write IO rate (Writes/second)
 76960  	DatastoreWriteIops []float64 `xml:"datastoreWriteIops" json:"datastoreWriteIops"`
 76961  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 76962  	//
 76963  	// Cumulative SIOC activity to satisfy SIOC latency threshold
 76964  	// setting.
 76965  	//
 76966  	// This metric indicates the total time that SIOC is
 76967  	// actively throttling IO requests. The SIOC throttling
 76968  	// activity occurs whenever the datastore latency exceeds the
 76969  	// SIOC latency threshold. If SIOC is not enabled on the
 76970  	// datastore, the metric indicates the total time that SIOC
 76971  	// would have been active. The unit of reporting is in
 76972  	// milliseconds.
 76973  	SiocActivityDuration int32 `xml:"siocActivityDuration" json:"siocActivityDuration"`
 76974  }
 76975  
 76976  func init() {
 76977  	t["StoragePerformanceSummary"] = reflect.TypeOf((*StoragePerformanceSummary)(nil)).Elem()
 76978  }
 76979  
 76980  // Describes a single storage initial placement action for placing a virtual
 76981  // machine or a set of virtual disks on a datastore.
 76982  type StoragePlacementAction struct {
 76983  	ClusterAction
 76984  
 76985  	// Virtual machine reference.
 76986  	//
 76987  	// It is possible that the VM has not been created, in which case,
 76988  	// this property is left unset.
 76989  	//
 76990  	// Refers instance of `VirtualMachine`.
 76991  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 76992  	// Specification for placing a virtual machine or a set of virtual disks
 76993  	// to a datastore.
 76994  	RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec" json:"relocateSpec"`
 76995  	// Target datastore.
 76996  	//
 76997  	// Refers instance of `Datastore`.
 76998  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 76999  	// Current space utilization on the target datastore.
 77000  	//
 77001  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 77002  	// If not set, the value is not available.
 77003  	SpaceUtilBefore float32 `xml:"spaceUtilBefore,omitempty" json:"spaceUtilBefore,omitempty"`
 77004  	// Current space demand on the target datastore.
 77005  	//
 77006  	// Unit: percentage. For example, if set to 70.0, space demand is 70%. This
 77007  	// value include the space demanded by thin provisioned VMs. Hence, it may
 77008  	// be higher than 100%. If not set, the value is not available.
 77009  	SpaceDemandBefore float32 `xml:"spaceDemandBefore,omitempty" json:"spaceDemandBefore,omitempty"`
 77010  	// Space utilization on the target datastore after placing the virtual disk.
 77011  	//
 77012  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 77013  	// If not set, the value is not available.
 77014  	SpaceUtilAfter float32 `xml:"spaceUtilAfter,omitempty" json:"spaceUtilAfter,omitempty"`
 77015  	// Space demand on the target datastore after placing the virtual disk.
 77016  	//
 77017  	// Unit: percentage. For example, if set to 70.0, space demand is 70%. This
 77018  	// value include the space demanded by thin provisioned VMs. Hence, it may
 77019  	// be higher than 100%. If not set, the value is not available.
 77020  	SpaceDemandAfter float32 `xml:"spaceDemandAfter,omitempty" json:"spaceDemandAfter,omitempty"`
 77021  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 77022  	//
 77023  	// Current I/O latency on the target datastore.
 77024  	//
 77025  	// Unit: millisecond.
 77026  	// If not set, the value is not available.
 77027  	IoLatencyBefore float32 `xml:"ioLatencyBefore,omitempty" json:"ioLatencyBefore,omitempty"`
 77028  }
 77029  
 77030  func init() {
 77031  	t["StoragePlacementAction"] = reflect.TypeOf((*StoragePlacementAction)(nil)).Elem()
 77032  }
 77033  
 77034  // Both `StorageResourceManager.RecommendDatastores` and
 77035  // `Datastore.DatastoreEnterMaintenanceMode` methods may invoke Storage DRS
 77036  // for recommendations on placing or evacuating virtual disks.
 77037  //
 77038  // StoragePlacementResult is the class of the result returned by
 77039  // the methods.
 77040  type StoragePlacementResult struct {
 77041  	DynamicData
 77042  
 77043  	// The list of recommendations that the client needs to approve manually.
 77044  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 77045  	// Information about any fault in case Storage DRS failed to make a recommendation.
 77046  	DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
 77047  	// The ID of the task, which monitors the storage placement or datastore entering
 77048  	// maintennace mode operation.
 77049  	//
 77050  	// Refers instance of `Task`.
 77051  	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
 77052  }
 77053  
 77054  func init() {
 77055  	t["StoragePlacementResult"] = reflect.TypeOf((*StoragePlacementResult)(nil)).Elem()
 77056  }
 77057  
 77058  // StoragePlacementSpec encapsulates all of the inputs passed to the
 77059  // `StorageResourceManager.RecommendDatastores` method.
 77060  type StoragePlacementSpec struct {
 77061  	DynamicData
 77062  
 77063  	// The storage placement type.
 77064  	//
 77065  	// The set of possible values is described in
 77066  	// `StoragePlacementSpecPlacementType_enum`
 77067  	Type string `xml:"type" json:"type"`
 77068  	// Priority of this placement operation.
 77069  	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
 77070  	// The relevant virtual machine.
 77071  	//
 77072  	// Refers instance of `VirtualMachine`.
 77073  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 77074  	// Specification for moving a virtual machine or a set of virtual disks
 77075  	// to a different storage pod.
 77076  	PodSelectionSpec StorageDrsPodSelectionSpec `xml:"podSelectionSpec" json:"podSelectionSpec"`
 77077  	// Specification for a virtual machine cloning operation.
 77078  	CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty" json:"cloneSpec,omitempty"`
 77079  	// Name for cloned virtual machine.
 77080  	CloneName string `xml:"cloneName,omitempty" json:"cloneName,omitempty"`
 77081  	// Configuration for the virtual machine.
 77082  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 77083  	// Specification for relocating a virtual machine.
 77084  	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
 77085  	// The resource pool to which this virtual machine should be attached.
 77086  	//
 77087  	// Refers instance of `ResourcePool`.
 77088  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 77089  	// The target host for the virtual machine.
 77090  	//
 77091  	// Refers instance of `HostSystem`.
 77092  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 77093  	// The target virtual machine folder for the virtual machine.
 77094  	//
 77095  	// Note that this is a different folder than the pod(s) that the virtual
 77096  	// machine belongs to. The pod mapping represents the storage view of
 77097  	// the virtual machine, while the virtual machine folder mapping
 77098  	// represents an inventory view of the virtual machine.
 77099  	// For manual VM provisioning operations, this is specified implicitly
 77100  	// as the object that the `Folder.CreateVM_Task` method is invoked on.
 77101  	//
 77102  	// Refers instance of `Folder`.
 77103  	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
 77104  	// Specification for whether to disable pre-requisite storage vmotions
 77105  	// for storage placements.
 77106  	//
 77107  	// If unset, default behavior is to allow such
 77108  	// prerequisite moves.
 77109  	DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves" json:"disallowPrerequisiteMoves,omitempty"`
 77110  	// Resource lease duration in seconds.
 77111  	//
 77112  	// If the duration is within bounds,
 77113  	// Storage DRS will hold onto resources needed for applying recommendations
 77114  	// generated as part of that call.
 77115  	// Only initial placement recommendations generated by storage DRS can reserve
 77116  	// resources this way.
 77117  	ResourceLeaseDurationSec int32 `xml:"resourceLeaseDurationSec,omitempty" json:"resourceLeaseDurationSec,omitempty"`
 77118  }
 77119  
 77120  func init() {
 77121  	t["StoragePlacementSpec"] = reflect.TypeOf((*StoragePlacementSpec)(nil)).Elem()
 77122  }
 77123  
 77124  // The `StoragePodSummary` data object
 77125  // encapsulates runtime properties of a `StoragePod`.
 77126  type StoragePodSummary struct {
 77127  	DynamicData
 77128  
 77129  	// The name of the storage pod.
 77130  	Name string `xml:"name" json:"name"`
 77131  	// Total capacity of this storage pod, in bytes.
 77132  	//
 77133  	// This value is the sum of the
 77134  	// capacity of all datastores that are part of this storage pod, and is updated
 77135  	// periodically by the server.
 77136  	Capacity int64 `xml:"capacity" json:"capacity"`
 77137  	// Total free space on this storage pod, in bytes.
 77138  	//
 77139  	// This value is the sum of the
 77140  	// free space on all datastores that are part of this storage pod, and is updated
 77141  	// periodically by the server.
 77142  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 77143  }
 77144  
 77145  func init() {
 77146  	t["StoragePodSummary"] = reflect.TypeOf((*StoragePodSummary)(nil)).Elem()
 77147  }
 77148  
 77149  // The `StorageProfile` data object represents the host storage configuration.
 77150  //
 77151  // If a profile plug-in defines policies or subprofiles, use the
 77152  // `ApplyProfile.policy` or `ApplyProfile.property`
 77153  // list to access the additional configuration data.
 77154  type StorageProfile struct {
 77155  	ApplyProfile
 77156  
 77157  	// List of NAS storage subprofiles.
 77158  	//
 77159  	// Use the `NasStorageProfile.key` property
 77160  	// to access a subprofile in the list.
 77161  	NasStorage []NasStorageProfile `xml:"nasStorage,omitempty" json:"nasStorage,omitempty"`
 77162  }
 77163  
 77164  func init() {
 77165  	t["StorageProfile"] = reflect.TypeOf((*StorageProfile)(nil)).Elem()
 77166  }
 77167  
 77168  // Describes the storage requirement to perform a consolidation
 77169  // operation.
 77170  type StorageRequirement struct {
 77171  	DynamicData
 77172  
 77173  	// The datastore.
 77174  	//
 77175  	// Refers instance of `Datastore`.
 77176  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 77177  	// Space required.
 77178  	FreeSpaceRequiredInKb int64 `xml:"freeSpaceRequiredInKb" json:"freeSpaceRequiredInKb"`
 77179  }
 77180  
 77181  func init() {
 77182  	t["StorageRequirement"] = reflect.TypeOf((*StorageRequirement)(nil)).Elem()
 77183  }
 77184  
 77185  // A data object to report aggregate storage statistics by storage
 77186  // profile
 77187  type StorageResourceManagerStorageProfileStatistics struct {
 77188  	DynamicData
 77189  
 77190  	// Profile identifier for the reported statistics
 77191  	ProfileId string `xml:"profileId" json:"profileId"`
 77192  	// The aggregate storage capacity available for a given storage
 77193  	// capability profile.
 77194  	//
 77195  	// The capacity is reported in Megabytes.
 77196  	TotalSpaceMB int64 `xml:"totalSpaceMB" json:"totalSpaceMB"`
 77197  	// The aggregate used storage capacity by a given storage capability
 77198  	// profile
 77199  	// The used space is reported in Megabytes
 77200  	UsedSpaceMB int64 `xml:"usedSpaceMB" json:"usedSpaceMB"`
 77201  }
 77202  
 77203  func init() {
 77204  	t["StorageResourceManagerStorageProfileStatistics"] = reflect.TypeOf((*StorageResourceManagerStorageProfileStatistics)(nil)).Elem()
 77205  }
 77206  
 77207  // An operation on a powered-on virtual machine requests a change of storage
 77208  // location, but the host does not have that capability.
 77209  type StorageVMotionNotSupported struct {
 77210  	MigrationFeatureNotSupported
 77211  }
 77212  
 77213  func init() {
 77214  	t["StorageVMotionNotSupported"] = reflect.TypeOf((*StorageVMotionNotSupported)(nil)).Elem()
 77215  }
 77216  
 77217  type StorageVMotionNotSupportedFault StorageVMotionNotSupported
 77218  
 77219  func init() {
 77220  	t["StorageVMotionNotSupportedFault"] = reflect.TypeOf((*StorageVMotionNotSupportedFault)(nil)).Elem()
 77221  }
 77222  
 77223  // This fault is thrown when Storage DRS tries to migrate disks of a virtual machine to a datastore,
 77224  // but finds that the datastore is incompatible with the given virtual machine.
 77225  type StorageVmotionIncompatible struct {
 77226  	VirtualHardwareCompatibilityIssue
 77227  
 77228  	// The datastore that is incompatible with a given virtual machine.
 77229  	//
 77230  	// Refers instance of `Datastore`.
 77231  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 77232  }
 77233  
 77234  func init() {
 77235  	t["StorageVmotionIncompatible"] = reflect.TypeOf((*StorageVmotionIncompatible)(nil)).Elem()
 77236  }
 77237  
 77238  type StorageVmotionIncompatibleFault StorageVmotionIncompatible
 77239  
 77240  func init() {
 77241  	t["StorageVmotionIncompatibleFault"] = reflect.TypeOf((*StorageVmotionIncompatibleFault)(nil)).Elem()
 77242  }
 77243  
 77244  // The string type of setting or configuration that may get a
 77245  // negated value.
 77246  type StringExpression struct {
 77247  	NegatableExpression
 77248  
 77249  	// The String value that is either used as it is or negated.
 77250  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 77251  }
 77252  
 77253  func init() {
 77254  	t["StringExpression"] = reflect.TypeOf((*StringExpression)(nil)).Elem()
 77255  }
 77256  
 77257  // The StringOption data object type is used to define an open-ended
 77258  // string value based on an optional subset of valid characters.
 77259  type StringOption struct {
 77260  	OptionType
 77261  
 77262  	// The default value.
 77263  	DefaultValue string `xml:"defaultValue" json:"defaultValue"`
 77264  	// The string containing the set of valid characters.
 77265  	//
 77266  	// If a string
 77267  	// option is not specified, all strings are allowed.
 77268  	ValidCharacters string `xml:"validCharacters,omitempty" json:"validCharacters,omitempty"`
 77269  }
 77270  
 77271  func init() {
 77272  	t["StringOption"] = reflect.TypeOf((*StringOption)(nil)).Elem()
 77273  }
 77274  
 77275  // The string type of setting or configuration that may get an
 77276  // inherited value.
 77277  type StringPolicy struct {
 77278  	InheritablePolicy
 77279  
 77280  	// The String value that is either set or inherited.
 77281  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 77282  }
 77283  
 77284  func init() {
 77285  	t["StringPolicy"] = reflect.TypeOf((*StringPolicy)(nil)).Elem()
 77286  }
 77287  
 77288  // Implementation of `HostProfilesEntityCustomizations`
 77289  // that maps a cluster or host profile to the `AnswerFile`
 77290  // object containing the host profiles customizations for that entity.
 77291  //
 77292  // This
 77293  // object will be used as elements of the
 77294  // `HostProfilesEntityCustomizations`.{vim.profile.host.ProfileManager.EntityCustomizations#entityCustomizations}
 77295  // when the `HostProfilesEntityCustomizations`.{vim.profile.host.ProfileManager.EntityCustomizations#customizationsFormat}
 77296  // value is "structured".
 77297  type StructuredCustomizations struct {
 77298  	HostProfilesEntityCustomizations
 77299  
 77300  	// Entity associated with the host customizations specified in the
 77301  	// <code>customizations</code> `AnswerFile` object.
 77302  	//
 77303  	// In the current release, this object will always be a host.
 77304  	//
 77305  	// Refers instance of `ManagedEntity`.
 77306  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 77307  	// Host Profile Customizations for the associated <code>entity</code>.
 77308  	//
 77309  	// This is the same object that would be returned by the
 77310  	// `HostProfileManager.RetrieveAnswerFile` method
 77311  	Customizations *AnswerFile `xml:"customizations,omitempty" json:"customizations,omitempty"`
 77312  }
 77313  
 77314  func init() {
 77315  	t["StructuredCustomizations"] = reflect.TypeOf((*StructuredCustomizations)(nil)).Elem()
 77316  }
 77317  
 77318  type SubnetInfo struct {
 77319  	VirtualMachineTargetInfo
 77320  
 77321  	// The ID of the subnet
 77322  	Id string `xml:"id" json:"id"`
 77323  	// The subnet folder info
 77324  	SubnetFolderInfo SubnetInfoFolderInfo `xml:"subnetFolderInfo" json:"subnetFolderInfo"`
 77325  	// The VPC folder info
 77326  	VpcFolderInfo SubnetInfoFolderInfo `xml:"vpcFolderInfo" json:"vpcFolderInfo"`
 77327  	// The project folder info
 77328  	ProjectFolderInfo *SubnetInfoFolderInfo `xml:"projectFolderInfo,omitempty" json:"projectFolderInfo,omitempty"`
 77329  	// The root folder info.
 77330  	//
 77331  	// root folder can be either "Virtual Private Clouds" or "NSX Managed Folders"
 77332  	RootFolderInfo SubnetInfoFolderInfo `xml:"rootFolderInfo" json:"rootFolderInfo"`
 77333  }
 77334  
 77335  func init() {
 77336  	t["SubnetInfo"] = reflect.TypeOf((*SubnetInfo)(nil)).Elem()
 77337  	minAPIVersionForType["SubnetInfo"] = "9.0.0.0"
 77338  }
 77339  
 77340  type SubnetInfoFolderInfo struct {
 77341  	DynamicData
 77342  
 77343  	Name string `xml:"name" json:"name"`
 77344  	// Refers instance of `Folder`.
 77345  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
 77346  }
 77347  
 77348  func init() {
 77349  	t["SubnetInfoFolderInfo"] = reflect.TypeOf((*SubnetInfoFolderInfo)(nil)).Elem()
 77350  	minAPIVersionForType["SubnetInfoFolderInfo"] = "9.0.0.0"
 77351  }
 77352  
 77353  type SuspendVAppRequestType struct {
 77354  	This ManagedObjectReference `xml:"_this" json:"-"`
 77355  }
 77356  
 77357  func init() {
 77358  	t["SuspendVAppRequestType"] = reflect.TypeOf((*SuspendVAppRequestType)(nil)).Elem()
 77359  }
 77360  
 77361  type SuspendVApp_Task SuspendVAppRequestType
 77362  
 77363  func init() {
 77364  	t["SuspendVApp_Task"] = reflect.TypeOf((*SuspendVApp_Task)(nil)).Elem()
 77365  }
 77366  
 77367  type SuspendVApp_TaskResponse struct {
 77368  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77369  }
 77370  
 77371  type SuspendVMRequestType struct {
 77372  	This ManagedObjectReference `xml:"_this" json:"-"`
 77373  }
 77374  
 77375  func init() {
 77376  	t["SuspendVMRequestType"] = reflect.TypeOf((*SuspendVMRequestType)(nil)).Elem()
 77377  }
 77378  
 77379  type SuspendVM_Task SuspendVMRequestType
 77380  
 77381  func init() {
 77382  	t["SuspendVM_Task"] = reflect.TypeOf((*SuspendVM_Task)(nil)).Elem()
 77383  }
 77384  
 77385  type SuspendVM_TaskResponse struct {
 77386  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77387  }
 77388  
 77389  // Either the source host product or the destination host product does not support
 77390  // relocation of suspended VMs.
 77391  //
 77392  // It must be supported on both, in order for the
 77393  // relocation to succeed. This fault is only applicable to suspended virtual machines.
 77394  type SuspendedRelocateNotSupported struct {
 77395  	MigrationFault
 77396  }
 77397  
 77398  func init() {
 77399  	t["SuspendedRelocateNotSupported"] = reflect.TypeOf((*SuspendedRelocateNotSupported)(nil)).Elem()
 77400  }
 77401  
 77402  type SuspendedRelocateNotSupportedFault SuspendedRelocateNotSupported
 77403  
 77404  func init() {
 77405  	t["SuspendedRelocateNotSupportedFault"] = reflect.TypeOf((*SuspendedRelocateNotSupportedFault)(nil)).Elem()
 77406  }
 77407  
 77408  // The compute resource and/or virtual machine configurations indicate that
 77409  // when executing on the host the virtual machine should use a specific
 77410  // datastore, but host does not have read/write access to that datastore.
 77411  //
 77412  // (It may have no access at all, or read-only access.) If executing on the
 77413  // host the virtual machine would instead use its own directory for swapfile
 77414  // placement. This is a compatibility warning, not an error.
 77415  type SwapDatastoreNotWritableOnHost struct {
 77416  	DatastoreNotWritableOnHost
 77417  }
 77418  
 77419  func init() {
 77420  	t["SwapDatastoreNotWritableOnHost"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHost)(nil)).Elem()
 77421  }
 77422  
 77423  type SwapDatastoreNotWritableOnHostFault SwapDatastoreNotWritableOnHost
 77424  
 77425  func init() {
 77426  	t["SwapDatastoreNotWritableOnHostFault"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHostFault)(nil)).Elem()
 77427  }
 77428  
 77429  // The compute resource and/or virtual machine configurations indicate that
 77430  // when executing on the host the virtual machine should use a swap
 77431  // datastore, but the host does not have a swap datastore configured.
 77432  //
 77433  // If
 77434  // executing on the host the virtual machine would instead use its own directory
 77435  // for swapfile placement. This is a compatibility warning, not an error.
 77436  // Note it is actually the common case for a host to not have a configured
 77437  // swap datastore, and the problem may rest with the compute resource and/or
 77438  // virtual machine configuration; therefore this is not a HostConfigFault.
 77439  type SwapDatastoreUnset struct {
 77440  	VimFault
 77441  }
 77442  
 77443  func init() {
 77444  	t["SwapDatastoreUnset"] = reflect.TypeOf((*SwapDatastoreUnset)(nil)).Elem()
 77445  }
 77446  
 77447  type SwapDatastoreUnsetFault SwapDatastoreUnset
 77448  
 77449  func init() {
 77450  	t["SwapDatastoreUnsetFault"] = reflect.TypeOf((*SwapDatastoreUnsetFault)(nil)).Elem()
 77451  }
 77452  
 77453  // The virtual machine is configured to override the default swapfile placement
 77454  // policy, which is not supported on the host.
 77455  type SwapPlacementOverrideNotSupported struct {
 77456  	InvalidVmConfig
 77457  }
 77458  
 77459  func init() {
 77460  	t["SwapPlacementOverrideNotSupported"] = reflect.TypeOf((*SwapPlacementOverrideNotSupported)(nil)).Elem()
 77461  }
 77462  
 77463  type SwapPlacementOverrideNotSupportedFault SwapPlacementOverrideNotSupported
 77464  
 77465  func init() {
 77466  	t["SwapPlacementOverrideNotSupportedFault"] = reflect.TypeOf((*SwapPlacementOverrideNotSupportedFault)(nil)).Elem()
 77467  }
 77468  
 77469  // The distributed virtual switch received a reconfiguration request to
 77470  // activate a feature that requires a switch IP address.
 77471  //
 77472  // However, the IP
 77473  // address for the switch has not been specified.
 77474  type SwitchIpUnset struct {
 77475  	DvsFault
 77476  }
 77477  
 77478  func init() {
 77479  	t["SwitchIpUnset"] = reflect.TypeOf((*SwitchIpUnset)(nil)).Elem()
 77480  }
 77481  
 77482  type SwitchIpUnsetFault SwitchIpUnset
 77483  
 77484  func init() {
 77485  	t["SwitchIpUnsetFault"] = reflect.TypeOf((*SwitchIpUnsetFault)(nil)).Elem()
 77486  }
 77487  
 77488  // Thrown if an operation is not supported while the DistributedVirtualSwitch
 77489  // is not in upgrade mode.
 77490  type SwitchNotInUpgradeMode struct {
 77491  	DvsFault
 77492  }
 77493  
 77494  func init() {
 77495  	t["SwitchNotInUpgradeMode"] = reflect.TypeOf((*SwitchNotInUpgradeMode)(nil)).Elem()
 77496  }
 77497  
 77498  type SwitchNotInUpgradeModeFault SwitchNotInUpgradeMode
 77499  
 77500  func init() {
 77501  	t["SwitchNotInUpgradeModeFault"] = reflect.TypeOf((*SwitchNotInUpgradeModeFault)(nil)).Elem()
 77502  }
 77503  
 77504  // Exception type for reporting a low-level operating system
 77505  // error.
 77506  type SystemError struct {
 77507  	RuntimeFault
 77508  
 77509  	// A message to indicate detailed information about the error.
 77510  	//
 77511  	// This property is not internationalization friendly and
 77512  	// normally reported by the underlying operating system.
 77513  	Reason string `xml:"reason" json:"reason"`
 77514  }
 77515  
 77516  func init() {
 77517  	t["SystemError"] = reflect.TypeOf((*SystemError)(nil)).Elem()
 77518  }
 77519  
 77520  type SystemErrorFault SystemError
 77521  
 77522  func init() {
 77523  	t["SystemErrorFault"] = reflect.TypeOf((*SystemErrorFault)(nil)).Elem()
 77524  }
 77525  
 77526  // IPMI System Event Log (SEL) provides a history of hardware sensor states.
 77527  //
 77528  // This is defined in IPMI specification, section 32.1 SEL Event Records.
 77529  // CLI:: esxcli hardware ipmi sel list
 77530  type SystemEventInfo struct {
 77531  	DynamicData
 77532  
 77533  	// The recordId uniquely identifies an entry in IPMI System Event Log.
 77534  	RecordId int64 `xml:"recordId" json:"recordId"`
 77535  	// A ISO 8601 timestamp when the event was added to IPMI System Event Log.
 77536  	//
 77537  	// This timestamp comes from the IPMI subsystem clock and may not be
 77538  	// the same as hypervisor's clock.
 77539  	When string `xml:"when" json:"when"`
 77540  	// The IPMI SEL type defines the if the SEL event uses
 77541  	// the system event format format or is OEM defined.
 77542  	//
 77543  	// A value of 2 indicates system event.
 77544  	// Values 0xC0-0xDF, 0xE0-0xFF are OEM event ranges.
 77545  	SelType int64 `xml:"selType" json:"selType"`
 77546  	// A description of what the event is about.
 77547  	Message string `xml:"message" json:"message"`
 77548  	// The IPMI Sensor/probe that is reporting this event.
 77549  	//
 77550  	// A value of zero (0) indicates event has no related sensor.
 77551  	SensorNumber int64 `xml:"sensorNumber" json:"sensorNumber"`
 77552  }
 77553  
 77554  func init() {
 77555  	t["SystemEventInfo"] = reflect.TypeOf((*SystemEventInfo)(nil)).Elem()
 77556  }
 77557  
 77558  // Defines a tag that can be associated with a managed entity.
 77559  type Tag struct {
 77560  	DynamicData
 77561  
 77562  	// The tag key in human readable form.
 77563  	Key string `xml:"key" json:"key"`
 77564  }
 77565  
 77566  func init() {
 77567  	t["Tag"] = reflect.TypeOf((*Tag)(nil)).Elem()
 77568  }
 77569  
 77570  // Static strings for task objects.
 77571  //
 77572  // These strings are locale-specific.
 77573  type TaskDescription struct {
 77574  	DynamicData
 77575  
 77576  	// Display label and summary for all tasks
 77577  	MethodInfo []BaseElementDescription `xml:"methodInfo,typeattr" json:"methodInfo"`
 77578  	// *TaskInfo State enum*
 77579  	State []BaseElementDescription `xml:"state,typeattr" json:"state"`
 77580  	// Kind of entity responsible for creating this task.
 77581  	Reason []BaseTypeDescription `xml:"reason,typeattr" json:"reason"`
 77582  }
 77583  
 77584  func init() {
 77585  	t["TaskDescription"] = reflect.TypeOf((*TaskDescription)(nil)).Elem()
 77586  }
 77587  
 77588  // This event records the creation of a Task.
 77589  //
 77590  // Note that the embedded TaskInfo object is a _snapshot_ of the
 77591  // Task state at the time of its creation, so its state will always be
 77592  // "queued". To find the current status of the task, query for the
 77593  // current state of the Task using the eventChainId in the embedded
 77594  // TaskInfo object.
 77595  type TaskEvent struct {
 77596  	Event
 77597  
 77598  	// The information about the task.
 77599  	Info TaskInfo `xml:"info" json:"info"`
 77600  }
 77601  
 77602  func init() {
 77603  	t["TaskEvent"] = reflect.TypeOf((*TaskEvent)(nil)).Elem()
 77604  }
 77605  
 77606  // This data object type defines the specification for the task filter used
 77607  // to query tasks in the history collector database.
 77608  //
 77609  // The client creates a task
 77610  // history collector with a filter specification, then retrieves the tasks from
 77611  // the task history collector.
 77612  type TaskFilterSpec struct {
 77613  	DynamicData
 77614  
 77615  	// The filter specification for retrieving tasks by managed entity.
 77616  	//
 77617  	// If not provided, then the tasks attached to all managed entities are
 77618  	// collected.
 77619  	Entity *TaskFilterSpecByEntity `xml:"entity,omitempty" json:"entity,omitempty"`
 77620  	// The filter specification for retrieving tasks by time.
 77621  	//
 77622  	// If not provided, then the tasks with any time stamp are collected.
 77623  	Time *TaskFilterSpecByTime `xml:"time,omitempty" json:"time,omitempty"`
 77624  	// The filter specification for retrieving tasks by user name.
 77625  	//
 77626  	// If not provided, then the tasks belonging to any user are collected.
 77627  	UserName *TaskFilterSpecByUsername `xml:"userName,omitempty" json:"userName,omitempty"`
 77628  	// This property, if provided, limits the set of collected tasks to those
 77629  	// associated with the specified activation Ids.
 77630  	ActivationId []string `xml:"activationId,omitempty" json:"activationId,omitempty"`
 77631  	// This property, if provided, limits the set of collected tasks by their states.
 77632  	//
 77633  	// Task states are enumerated in `State`.
 77634  	// If not provided, tasks are collected regardless of their state.
 77635  	State []TaskInfoState `xml:"state,omitempty" json:"state,omitempty"`
 77636  	// This property, if provided, limits the set of collected tasks to those
 77637  	// associated with the specified alarm.
 77638  	//
 77639  	// If not provided, tasks are collected regardless of their association with alarms.
 77640  	//
 77641  	// Refers instance of `Alarm`.
 77642  	Alarm *ManagedObjectReference `xml:"alarm,omitempty" json:"alarm,omitempty"`
 77643  	// This property, if provided, limits the set of collected tasks to those
 77644  	// associated with the specified scheduled task.
 77645  	//
 77646  	// If not provided, tasks are collected regardless of their association with any
 77647  	// scheduled task.
 77648  	//
 77649  	// Refers instance of `ScheduledTask`.
 77650  	ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty" json:"scheduledTask,omitempty"`
 77651  	// The filter specification for retrieving tasks by chain ID.
 77652  	//
 77653  	// If it is set,
 77654  	// tasks not with the given `TaskInfo.eventChainId` will be
 77655  	// filtered out. If the property is not set, tasks' chain ID is disregarded
 77656  	// for filtering purposes.
 77657  	EventChainId []int32 `xml:"eventChainId,omitempty" json:"eventChainId,omitempty"`
 77658  	// The filter specification for retrieving tasks by
 77659  	// `tag`.
 77660  	//
 77661  	// If it is set, tasks not with the given tag(s)
 77662  	// will be filtered out. If the property is not set, tasks' tag is disregarded for
 77663  	// filtering purposes. If it is set, and includes an empty string, tasks without a
 77664  	// tag will be returned.
 77665  	Tag []string `xml:"tag,omitempty" json:"tag,omitempty"`
 77666  	// The filter specification for retrieving tasks by
 77667  	// `TaskInfo.parentTaskKey`.
 77668  	//
 77669  	// If it is set, tasks not with the
 77670  	// given parentTaskKey(s) will be filtered out. If the property is not set,
 77671  	// tasks' parentTaskKey is disregarded for filtering purposes.
 77672  	ParentTaskKey []string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty"`
 77673  	// The filter specification for retrieving tasks by
 77674  	// `TaskInfo.rootTaskKey`.
 77675  	//
 77676  	// If it is set, tasks not with the
 77677  	// given rootTaskKey(s) will be filtered out. If the property is not set,
 77678  	// tasks' rootTaskKey is disregarded for filtering purposes.
 77679  	RootTaskKey []string `xml:"rootTaskKey,omitempty" json:"rootTaskKey,omitempty"`
 77680  }
 77681  
 77682  func init() {
 77683  	t["TaskFilterSpec"] = reflect.TypeOf((*TaskFilterSpec)(nil)).Elem()
 77684  }
 77685  
 77686  // This data object type specifies a managed entity used to
 77687  // filter task history.
 77688  type TaskFilterSpecByEntity struct {
 77689  	DynamicData
 77690  
 77691  	// The managed entity to which the task pertains.
 77692  	//
 77693  	// Refers instance of `ManagedEntity`.
 77694  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 77695  	// Specification of related managed entities in the inventory hierarchy.
 77696  	Recursion TaskFilterSpecRecursionOption `xml:"recursion" json:"recursion"`
 77697  }
 77698  
 77699  func init() {
 77700  	t["TaskFilterSpecByEntity"] = reflect.TypeOf((*TaskFilterSpecByEntity)(nil)).Elem()
 77701  }
 77702  
 77703  // This data object type specifies a time range used to filter task history.
 77704  type TaskFilterSpecByTime struct {
 77705  	DynamicData
 77706  
 77707  	// The time stamp to filter: queued, started, or completed time.
 77708  	TimeType TaskFilterSpecTimeOption `xml:"timeType" json:"timeType"`
 77709  	// The beginning of the time range.
 77710  	//
 77711  	// If this property is not specified, then tasks are collected from
 77712  	// the earliest time in the database.
 77713  	//
 77714  	// When this property is specified, the time type field must also be specified.
 77715  	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
 77716  	// The end of the time range.
 77717  	//
 77718  	// If this property is not specified, then tasks are collected up to
 77719  	// the latest time in the database.
 77720  	//
 77721  	// When this property is specified, the time type field must also be specified.
 77722  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 77723  }
 77724  
 77725  func init() {
 77726  	t["TaskFilterSpecByTime"] = reflect.TypeOf((*TaskFilterSpecByTime)(nil)).Elem()
 77727  }
 77728  
 77729  // This data object type enables you to filter task history according to
 77730  // the users who performed the tasks.
 77731  type TaskFilterSpecByUsername struct {
 77732  	DynamicData
 77733  
 77734  	// Whether or not to filter by system user.
 77735  	//
 77736  	// If set to true, filters for system user event.
 77737  	SystemUser bool `xml:"systemUser" json:"systemUser"`
 77738  	// Specifies the username list to use in the filter.
 77739  	//
 77740  	// If not set, then all regular user tasks are collected.
 77741  	UserList []string `xml:"userList,omitempty" json:"userList,omitempty"`
 77742  }
 77743  
 77744  func init() {
 77745  	t["TaskFilterSpecByUsername"] = reflect.TypeOf((*TaskFilterSpecByUsername)(nil)).Elem()
 77746  }
 77747  
 77748  // The TaskInProgress data object type represents a fault when an operation tries
 77749  // to access an entity that already has another (long) operation in progress.
 77750  type TaskInProgress struct {
 77751  	VimFault
 77752  
 77753  	// The task already in progress when the operation was attempted.
 77754  	//
 77755  	// Refers instance of `Task`.
 77756  	Task ManagedObjectReference `xml:"task" json:"task"`
 77757  }
 77758  
 77759  func init() {
 77760  	t["TaskInProgress"] = reflect.TypeOf((*TaskInProgress)(nil)).Elem()
 77761  }
 77762  
 77763  type TaskInProgressFault BaseTaskInProgress
 77764  
 77765  func init() {
 77766  	t["TaskInProgressFault"] = reflect.TypeOf((*TaskInProgressFault)(nil)).Elem()
 77767  }
 77768  
 77769  // This data object type contains all information about a task.
 77770  //
 77771  // A task
 77772  // represents an operation performed by VirtualCenter or ESX.
 77773  type TaskInfo struct {
 77774  	DynamicData
 77775  
 77776  	// The unique key for the task.
 77777  	Key string `xml:"key" json:"key"`
 77778  	// The managed object that represents this task.
 77779  	//
 77780  	// Refers instance of `Task`.
 77781  	Task ManagedObjectReference `xml:"task" json:"task"`
 77782  	// The description field of the task describes the current phase of
 77783  	// operation of the task.
 77784  	//
 77785  	// For a task that does a single monolithic
 77786  	// activity, this will be fixed and unchanging.
 77787  	// For tasks that have various substeps, this field will change
 77788  	// as the task progresses from one phase to another.
 77789  	Description *LocalizableMessage `xml:"description,omitempty" json:"description,omitempty"`
 77790  	// The name of the operation that created the task.
 77791  	//
 77792  	// This is not set
 77793  	// for internal tasks.
 77794  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 77795  	// An identifier for this operation.
 77796  	//
 77797  	// This includes publicly visible
 77798  	// internal tasks and is a lookup in the TaskDescription methodInfo
 77799  	// data object.
 77800  	DescriptionId string `xml:"descriptionId" json:"descriptionId"`
 77801  	// Managed entity to which the operation applies.
 77802  	//
 77803  	// Refers instance of `ManagedEntity`.
 77804  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 77805  	// The name of the managed entity, locale-specific, retained for the
 77806  	// history collector database.
 77807  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
 77808  	// If the state of the task is "running", then this property is a list of
 77809  	// managed entities that the operation has locked, with a shared lock.
 77810  	//
 77811  	// Refers instances of `ManagedEntity`.
 77812  	Locked []ManagedObjectReference `xml:"locked,omitempty" json:"locked,omitempty"`
 77813  	// Runtime status of the task.
 77814  	State TaskInfoState `xml:"state" json:"state"`
 77815  	// Flag to indicate whether or not the client requested
 77816  	// cancellation of the task.
 77817  	Cancelled bool `xml:"cancelled" json:"cancelled"`
 77818  	// Flag to indicate whether or not the cancel task operation is supported.
 77819  	Cancelable bool `xml:"cancelable" json:"cancelable"`
 77820  	// If the task state is "error", then this property contains the fault code.
 77821  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 77822  	// If the task state is "success", then this property may be used
 77823  	// to hold a return value.
 77824  	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
 77825  	// If the task state is "running", then this property contains a
 77826  	// progress measurement, expressed as percentage completed, from 0 to 100.
 77827  	//
 77828  	// If this property is not set, then the command does not report progress.
 77829  	Progress        int32         `xml:"progress,omitempty" json:"progress,omitempty"`
 77830  	ProgressDetails []KeyAnyValue `xml:"progressDetails,omitempty" json:"progressDetails,omitempty" vim:"8.0.1.0"`
 77831  	// Kind of entity responsible for creating this task.
 77832  	Reason BaseTaskReason `xml:"reason,typeattr" json:"reason"`
 77833  	// Time stamp when the task was created.
 77834  	QueueTime time.Time `xml:"queueTime" json:"queueTime"`
 77835  	// Time stamp when the task started running.
 77836  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
 77837  	// Time stamp when the task was completed (whether success or failure).
 77838  	CompleteTime *time.Time `xml:"completeTime" json:"completeTime,omitempty"`
 77839  	// Event chain ID that leads to the corresponding events.
 77840  	EventChainId int32 `xml:"eventChainId" json:"eventChainId"`
 77841  	// The user entered tag to identify the operations and their side effects
 77842  	ChangeTag string `xml:"changeTag,omitempty" json:"changeTag,omitempty"`
 77843  	// Tasks can be created by another task.
 77844  	//
 77845  	// This shows `TaskInfo.key` of the task spun off this task. This is to
 77846  	// track causality between tasks.
 77847  	ParentTaskKey string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty"`
 77848  	// Tasks can be created by another task and such creation can go on for
 77849  	// multiple levels.
 77850  	//
 77851  	// This is the `TaskInfo.key` of the task
 77852  	// that started the chain of tasks.
 77853  	RootTaskKey string `xml:"rootTaskKey,omitempty" json:"rootTaskKey,omitempty"`
 77854  	// The activation Id is a client-provided token to link an API call with a task.
 77855  	ActivationId string `xml:"activationId,omitempty" json:"activationId,omitempty"`
 77856  }
 77857  
 77858  func init() {
 77859  	t["TaskInfo"] = reflect.TypeOf((*TaskInfo)(nil)).Elem()
 77860  }
 77861  
 77862  // This data object type defines the specification for the filter used
 77863  // to include or exclude various information from the tasks while retrieving
 77864  // from the history collector database.
 77865  //
 77866  // The client creates a task history
 77867  // collector with `TaskFilterSpec` along with this optional
 77868  // spec, then retrieves the tasks from the task history collector.
 77869  type TaskInfoFilterSpec struct {
 77870  	DynamicData
 77871  
 77872  	// The filter specification for filtering out tasks' results.
 77873  	//
 77874  	// If it is set, then the
 77875  	// results information will be included or excluded based on the supplied parameters. If it is
 77876  	// not set, then results information of all tasks will be included.
 77877  	FilterTaskResults *TaskInfoFilterSpecFilterTaskResults `xml:"filterTaskResults,omitempty" json:"filterTaskResults,omitempty"`
 77878  }
 77879  
 77880  func init() {
 77881  	t["TaskInfoFilterSpec"] = reflect.TypeOf((*TaskInfoFilterSpec)(nil)).Elem()
 77882  	minAPIVersionForType["TaskInfoFilterSpec"] = "8.0.3.0"
 77883  }
 77884  
 77885  // This data object type enables to filter the results information for
 77886  // all or the specified tasks.
 77887  //
 77888  // 1\. If removeAll=true, the results information of all tasks will be excluded.
 77889  // 2\. If removeAll=false/unset:
 77890  // a. If descriptionIds is empty, the results information of all tasks will be included.
 77891  // b. If descriptionIds is non-empty:
 77892  // i. If filterIn=true, the results information of all tasks will be included.
 77893  // ii. If filterIn=false/unset, the results information of all tasks will be excluded.
 77894  type TaskInfoFilterSpecFilterTaskResults struct {
 77895  	DynamicData
 77896  
 77897  	// Excludes results information of all tasks.
 77898  	//
 77899  	// If set to true, the results information of all tasks will be excluded.
 77900  	RemoveAll *bool `xml:"removeAll" json:"removeAll,omitempty"`
 77901  	// The description IDs of tasks that have to be filtered out.
 77902  	//
 77903  	// The `TaskInfoFilterSpecFilterTaskResults.filterIn`
 77904  	// option can switch the behavior to filter in.
 77905  	DescriptionIds []string `xml:"descriptionIds,omitempty" json:"descriptionIds,omitempty"`
 77906  	// Boolean Flag to invert the filter semantics to filter in the results instead of
 77907  	// filtering out.
 77908  	//
 77909  	// If set to true, then the results of only the tasks specified by the
 77910  	// `TaskInfoFilterSpecFilterTaskResults.descriptionIds` will be included.
 77911  	// If unset or set to false, then the results of only the tasks specified by the
 77912  	// `TaskInfoFilterSpecFilterTaskResults.descriptionIds` will be excluded.
 77913  	// This boolean flag will only be considered if descriptionsIds is non-empty and if removeAll is false.
 77914  	FilterIn *bool `xml:"filterIn" json:"filterIn,omitempty"`
 77915  }
 77916  
 77917  func init() {
 77918  	t["TaskInfoFilterSpecFilterTaskResults"] = reflect.TypeOf((*TaskInfoFilterSpecFilterTaskResults)(nil)).Elem()
 77919  	minAPIVersionForType["TaskInfoFilterSpecFilterTaskResults"] = "8.0.3.0"
 77920  }
 77921  
 77922  // `TaskManagerTaskViewSpec` provides the specifications
 77923  // for returning the set of tasks in the
 77924  // Task Console.
 77925  type TaskManagerTaskViewSpec struct {
 77926  	DynamicData
 77927  }
 77928  
 77929  func init() {
 77930  	t["TaskManagerTaskViewSpec"] = reflect.TypeOf((*TaskManagerTaskViewSpec)(nil)).Elem()
 77931  	minAPIVersionForType["TaskManagerTaskViewSpec"] = "9.0.0.0"
 77932  }
 77933  
 77934  // Defines the view parameters with starting task ID for the task query.
 77935  type TaskManagerViewByStartId struct {
 77936  	TaskManagerTaskViewSpec
 77937  
 77938  	// The page size to be fetched.
 77939  	//
 77940  	// When the value is &gt; 0, the query will fetch tasks older than
 77941  	// the specified task in `TaskManagerViewByStartId.startId` parameter with lesser task IDs.
 77942  	// (Next page when the tasks are shown with the newest task first)
 77943  	// When the value is &lt; 0, the query will fetch tasks newer than
 77944  	// the specified task in `TaskManagerViewByStartId.startId` parameter with greater task IDs.
 77945  	// (Previous page when the tasks are shown with the newest task first)
 77946  	Count int32 `xml:"count" json:"count"`
 77947  	// Specifies the `TaskInfo.key` of the task from which to
 77948  	// start the query.
 77949  	//
 77950  	// If it is set to an empty string and `TaskManagerViewByStartId.count` &gt; 0,
 77951  	// the query will return the latest (newest) `TaskManagerViewByStartId.count` tasks in the system.
 77952  	// In order to read the oldest tasks in the system, the caller should set this
 77953  	// field to "task-0" and `TaskManagerViewByStartId.count` to a negative number.
 77954  	StartId string `xml:"startId" json:"startId"`
 77955  }
 77956  
 77957  func init() {
 77958  	t["TaskManagerViewByStartId"] = reflect.TypeOf((*TaskManagerViewByStartId)(nil)).Elem()
 77959  	minAPIVersionForType["TaskManagerViewByStartId"] = "9.0.0.0"
 77960  }
 77961  
 77962  // Base type for all task reasons.
 77963  //
 77964  // Task reasons represent the kind of entity responsible for a task's creation.
 77965  type TaskReason struct {
 77966  	DynamicData
 77967  }
 77968  
 77969  func init() {
 77970  	t["TaskReason"] = reflect.TypeOf((*TaskReason)(nil)).Elem()
 77971  }
 77972  
 77973  // Indicates that the task was queued by an alarm.
 77974  type TaskReasonAlarm struct {
 77975  	TaskReason
 77976  
 77977  	// The name of the alarm that queued the task, retained in the history
 77978  	// collector database.
 77979  	AlarmName string `xml:"alarmName" json:"alarmName"`
 77980  	// The alarm object that queued the task.
 77981  	//
 77982  	// Refers instance of `Alarm`.
 77983  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
 77984  	// The name of the managed entity on which the alarm is triggered,
 77985  	// retained in the history collector database.
 77986  	EntityName string `xml:"entityName" json:"entityName"`
 77987  	// The managed entity object on which the alarm is triggered.
 77988  	//
 77989  	// Refers instance of `ManagedEntity`.
 77990  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 77991  }
 77992  
 77993  func init() {
 77994  	t["TaskReasonAlarm"] = reflect.TypeOf((*TaskReasonAlarm)(nil)).Elem()
 77995  }
 77996  
 77997  // Indicates that the task was queued by a scheduled task.
 77998  type TaskReasonSchedule struct {
 77999  	TaskReason
 78000  
 78001  	// The name of the scheduled task that queued this task.
 78002  	Name string `xml:"name" json:"name"`
 78003  	// The scheduledTask object that queued this task.
 78004  	//
 78005  	// Refers instance of `ScheduledTask`.
 78006  	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
 78007  }
 78008  
 78009  func init() {
 78010  	t["TaskReasonSchedule"] = reflect.TypeOf((*TaskReasonSchedule)(nil)).Elem()
 78011  }
 78012  
 78013  // Indicates that the task was started by the system (a default task).
 78014  type TaskReasonSystem struct {
 78015  	TaskReason
 78016  }
 78017  
 78018  func init() {
 78019  	t["TaskReasonSystem"] = reflect.TypeOf((*TaskReasonSystem)(nil)).Elem()
 78020  }
 78021  
 78022  // Indicates that the task was queued by a specific user.
 78023  type TaskReasonUser struct {
 78024  	TaskReason
 78025  
 78026  	// Name of the user that queued the task.
 78027  	UserName string `xml:"userName" json:"userName"`
 78028  }
 78029  
 78030  func init() {
 78031  	t["TaskReasonUser"] = reflect.TypeOf((*TaskReasonUser)(nil)).Elem()
 78032  }
 78033  
 78034  // The `TaskScheduler` data object is the base type for the scheduler objects.
 78035  //
 78036  // The hierarchy of scheduler objects is as follows:
 78037  //
 78038  //	TaskScheduler
 78039  //	    `AfterStartupTaskScheduler`
 78040  //	    `OnceTaskScheduler`
 78041  //	    `RecurrentTaskScheduler`
 78042  //	        `HourlyTaskScheduler`
 78043  //	            `DailyTaskScheduler`
 78044  //	                `WeeklyTaskScheduler`
 78045  //	                `MonthlyTaskScheduler`
 78046  //	                    `MonthlyByDayTaskScheduler`
 78047  //	                    `MonthlyByWeekdayTaskScheduler`
 78048  //
 78049  // Use a scheduler object to set the time(s) for task execution.
 78050  // You can use two scheduling modes - single execution or
 78051  // recurring execution:
 78052  //   - Use the `AfterStartupTaskScheduler` or the `OnceTaskScheduler`
 78053  //     to schedule a single instance of task execution.
 78054  //   - Use one of the recurrent task schedulers to schedule
 78055  //     hourly, daily, weekly, or monthly task execution.
 78056  //
 78057  // After you have established the task timing, use the scheduler
 78058  // object for the `ScheduledTaskSpec`
 78059  // `ScheduledTaskSpec.scheduler` property value.
 78060  type TaskScheduler struct {
 78061  	DynamicData
 78062  
 78063  	// The time that the schedule for the task takes effect.
 78064  	//
 78065  	// Task activation is distinct from task execution.
 78066  	// When you activate a task, its schedule starts,
 78067  	// and when the next execution time occurs, the task will run.
 78068  	// If you do not set activeTime, the activation time defaults to
 78069  	// the time that you create the scheduled task.
 78070  	ActiveTime *time.Time `xml:"activeTime" json:"activeTime,omitempty"`
 78071  	// The time the schedule for the task expires.
 78072  	//
 78073  	// If you do not set expireTime, the schedule does not expire.
 78074  	ExpireTime *time.Time `xml:"expireTime" json:"expireTime,omitempty"`
 78075  }
 78076  
 78077  func init() {
 78078  	t["TaskScheduler"] = reflect.TypeOf((*TaskScheduler)(nil)).Elem()
 78079  }
 78080  
 78081  // This event records when a task is cleaned up b/c of timeout
 78082  type TaskTimeoutEvent struct {
 78083  	TaskEvent
 78084  }
 78085  
 78086  func init() {
 78087  	t["TaskTimeoutEvent"] = reflect.TypeOf((*TaskTimeoutEvent)(nil)).Elem()
 78088  }
 78089  
 78090  // The teaming configuration of the uplink ports in the DVS matches
 78091  // physical switch configuration.
 78092  type TeamingMatchEvent struct {
 78093  	DvsHealthStatusChangeEvent
 78094  }
 78095  
 78096  func init() {
 78097  	t["TeamingMatchEvent"] = reflect.TypeOf((*TeamingMatchEvent)(nil)).Elem()
 78098  }
 78099  
 78100  // The teaming configuration of the uplink ports in the DVS
 78101  // does not match physical switch configuration.
 78102  type TeamingMisMatchEvent struct {
 78103  	DvsHealthStatusChangeEvent
 78104  }
 78105  
 78106  func init() {
 78107  	t["TeamingMisMatchEvent"] = reflect.TypeOf((*TeamingMisMatchEvent)(nil)).Elem()
 78108  }
 78109  
 78110  // This event records the start of a template upgrade.
 78111  type TemplateBeingUpgradedEvent struct {
 78112  	TemplateUpgradeEvent
 78113  }
 78114  
 78115  func init() {
 78116  	t["TemplateBeingUpgradedEvent"] = reflect.TypeOf((*TemplateBeingUpgradedEvent)(nil)).Elem()
 78117  }
 78118  
 78119  // This data object type describes a template virtual machine configuration file.
 78120  type TemplateConfigFileInfo struct {
 78121  	VmConfigFileInfo
 78122  }
 78123  
 78124  func init() {
 78125  	t["TemplateConfigFileInfo"] = reflect.TypeOf((*TemplateConfigFileInfo)(nil)).Elem()
 78126  }
 78127  
 78128  // This data object type describes the query specification for a template virtual
 78129  // machine configuration file.
 78130  type TemplateConfigFileQuery struct {
 78131  	VmConfigFileQuery
 78132  }
 78133  
 78134  func init() {
 78135  	t["TemplateConfigFileQuery"] = reflect.TypeOf((*TemplateConfigFileQuery)(nil)).Elem()
 78136  }
 78137  
 78138  // This event is the base class for all the template upgrade events.
 78139  type TemplateUpgradeEvent struct {
 78140  	Event
 78141  
 78142  	LegacyTemplate string `xml:"legacyTemplate" json:"legacyTemplate"`
 78143  }
 78144  
 78145  func init() {
 78146  	t["TemplateUpgradeEvent"] = reflect.TypeOf((*TemplateUpgradeEvent)(nil)).Elem()
 78147  }
 78148  
 78149  // This event records that the template upgrade failed.
 78150  type TemplateUpgradeFailedEvent struct {
 78151  	TemplateUpgradeEvent
 78152  
 78153  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 78154  }
 78155  
 78156  func init() {
 78157  	t["TemplateUpgradeFailedEvent"] = reflect.TypeOf((*TemplateUpgradeFailedEvent)(nil)).Elem()
 78158  }
 78159  
 78160  // This event records that the template upgrade succeeded.
 78161  type TemplateUpgradedEvent struct {
 78162  	TemplateUpgradeEvent
 78163  }
 78164  
 78165  func init() {
 78166  	t["TemplateUpgradedEvent"] = reflect.TypeOf((*TemplateUpgradedEvent)(nil)).Elem()
 78167  }
 78168  
 78169  // The parameters of `VirtualMachine.TerminateFaultTolerantVM_Task`.
 78170  type TerminateFaultTolerantVMRequestType struct {
 78171  	This ManagedObjectReference `xml:"_this" json:"-"`
 78172  	// The secondary virtual machine specified will be terminated, allowing
 78173  	// fault tolerance to activate. If no virtual machine is specified,
 78174  	// all secondary virtual machines will be terminated. If vm is a
 78175  	// primary, InvalidArgument exception is thrown.
 78176  	// This field must specify a virtual machine that is part of the fault
 78177  	// tolerant group that this virtual machine is currently associated with. It can
 78178  	// only be invoked from the primary virtual machine in the group. If the primary
 78179  	// virtual machine is terminated, an available secondary virtual machine will be
 78180  	// promoted to primary. If no secondary exists, an exception will be thrown and
 78181  	// the primary virtual machine will not be terminated. If a secondary virtual
 78182  	// machine is terminated, it may be respawned on a potentially different host.
 78183  	//
 78184  	// Refers instance of `VirtualMachine`.
 78185  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 78186  }
 78187  
 78188  func init() {
 78189  	t["TerminateFaultTolerantVMRequestType"] = reflect.TypeOf((*TerminateFaultTolerantVMRequestType)(nil)).Elem()
 78190  }
 78191  
 78192  type TerminateFaultTolerantVM_Task TerminateFaultTolerantVMRequestType
 78193  
 78194  func init() {
 78195  	t["TerminateFaultTolerantVM_Task"] = reflect.TypeOf((*TerminateFaultTolerantVM_Task)(nil)).Elem()
 78196  }
 78197  
 78198  type TerminateFaultTolerantVM_TaskResponse struct {
 78199  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78200  }
 78201  
 78202  type TerminateProcessInGuest TerminateProcessInGuestRequestType
 78203  
 78204  func init() {
 78205  	t["TerminateProcessInGuest"] = reflect.TypeOf((*TerminateProcessInGuest)(nil)).Elem()
 78206  }
 78207  
 78208  // The parameters of `GuestProcessManager.TerminateProcessInGuest`.
 78209  type TerminateProcessInGuestRequestType struct {
 78210  	This ManagedObjectReference `xml:"_this" json:"-"`
 78211  	// Virtual machine to perform the operation on.
 78212  	//
 78213  	// Required privileges: VirtualMachine.GuestOperations.Execute
 78214  	//
 78215  	// Refers instance of `VirtualMachine`.
 78216  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 78217  	// The guest authentication data. See
 78218  	// `GuestAuthentication`.
 78219  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 78220  	// Process ID of the process to be terminated
 78221  	Pid int64 `xml:"pid" json:"pid"`
 78222  }
 78223  
 78224  func init() {
 78225  	t["TerminateProcessInGuestRequestType"] = reflect.TypeOf((*TerminateProcessInGuestRequestType)(nil)).Elem()
 78226  }
 78227  
 78228  type TerminateProcessInGuestResponse struct {
 78229  }
 78230  
 78231  type TerminateSession TerminateSessionRequestType
 78232  
 78233  func init() {
 78234  	t["TerminateSession"] = reflect.TypeOf((*TerminateSession)(nil)).Elem()
 78235  }
 78236  
 78237  // The parameters of `SessionManager.TerminateSession`.
 78238  type TerminateSessionRequestType struct {
 78239  	This ManagedObjectReference `xml:"_this" json:"-"`
 78240  	// A list of sessions to terminate.
 78241  	SessionId []string `xml:"sessionId" json:"sessionId"`
 78242  }
 78243  
 78244  func init() {
 78245  	t["TerminateSessionRequestType"] = reflect.TypeOf((*TerminateSessionRequestType)(nil)).Elem()
 78246  }
 78247  
 78248  type TerminateSessionResponse struct {
 78249  }
 78250  
 78251  type TerminateVM TerminateVMRequestType
 78252  
 78253  func init() {
 78254  	t["TerminateVM"] = reflect.TypeOf((*TerminateVM)(nil)).Elem()
 78255  }
 78256  
 78257  type TerminateVMRequestType struct {
 78258  	This ManagedObjectReference `xml:"_this" json:"-"`
 78259  }
 78260  
 78261  func init() {
 78262  	t["TerminateVMRequestType"] = reflect.TypeOf((*TerminateVMRequestType)(nil)).Elem()
 78263  }
 78264  
 78265  type TerminateVMResponse struct {
 78266  }
 78267  
 78268  type TestTimeService TestTimeServiceRequestType
 78269  
 78270  func init() {
 78271  	t["TestTimeService"] = reflect.TypeOf((*TestTimeService)(nil)).Elem()
 78272  }
 78273  
 78274  type TestTimeServiceRequestType struct {
 78275  	This ManagedObjectReference `xml:"_this" json:"-"`
 78276  }
 78277  
 78278  func init() {
 78279  	t["TestTimeServiceRequestType"] = reflect.TypeOf((*TestTimeServiceRequestType)(nil)).Elem()
 78280  }
 78281  
 78282  type TestTimeServiceResponse struct {
 78283  	Returnval *HostDateTimeSystemServiceTestResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 78284  }
 78285  
 78286  // A ThirdPartyLicenseAssignmentFailed fault is thrown when
 78287  // the license assignment to a 3rd party module fails.
 78288  //
 78289  // The 3rd-party modules are installed and ran on ESX hosts,
 78290  // so this fault provides both host and module IDs.
 78291  type ThirdPartyLicenseAssignmentFailed struct {
 78292  	RuntimeFault
 78293  
 78294  	// The ESX host where 3rd party license was applied.
 78295  	//
 78296  	// Refers instance of `HostSystem`.
 78297  	Host ManagedObjectReference `xml:"host" json:"host"`
 78298  	// The asset-id of 3rd party module
 78299  	Module string `xml:"module" json:"module"`
 78300  	// The reason why the assignment failed, if known.
 78301  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 78302  }
 78303  
 78304  func init() {
 78305  	t["ThirdPartyLicenseAssignmentFailed"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailed)(nil)).Elem()
 78306  }
 78307  
 78308  type ThirdPartyLicenseAssignmentFailedFault ThirdPartyLicenseAssignmentFailed
 78309  
 78310  func init() {
 78311  	t["ThirdPartyLicenseAssignmentFailedFault"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedFault)(nil)).Elem()
 78312  }
 78313  
 78314  // TicketedSessionAuthentication contains the information necessary to
 78315  // use previously obtained credentials in the guest.
 78316  //
 78317  // The ticketed session is not stateless and stores state inside of the guest.
 78318  //
 78319  // A TicketedSessionAuthentication object will be returned as the result of a
 78320  // successful call to `GuestAuthManager.AcquireCredentialsInGuest`. You can
 78321  // use this object in any guest operations function call.
 78322  //
 78323  // When you no longer need the TicketedSessionAuthentication object, you should
 78324  // call `GuestAuthManager.ReleaseCredentialsInGuest` to free associated resources
 78325  // and session data.
 78326  type TicketedSessionAuthentication struct {
 78327  	GuestAuthentication
 78328  
 78329  	// This contains a base64 encoded Ticket.
 78330  	Ticket string `xml:"ticket" json:"ticket"`
 78331  }
 78332  
 78333  func init() {
 78334  	t["TicketedSessionAuthentication"] = reflect.TypeOf((*TicketedSessionAuthentication)(nil)).Elem()
 78335  }
 78336  
 78337  // This event indicates that an operation performed on the host timed out.
 78338  //
 78339  // Typically,
 78340  // a previous event in the sequence of events contains more
 78341  // information about the cause of the operation timing out.
 78342  type TimedOutHostOperationEvent struct {
 78343  	HostEvent
 78344  }
 78345  
 78346  func init() {
 78347  	t["TimedOutHostOperationEvent"] = reflect.TypeOf((*TimedOutHostOperationEvent)(nil)).Elem()
 78348  }
 78349  
 78350  // Timedout exception is thrown when a server abandons an operation that
 78351  // is taking longer than expected.
 78352  type Timedout struct {
 78353  	VimFault
 78354  }
 78355  
 78356  func init() {
 78357  	t["Timedout"] = reflect.TypeOf((*Timedout)(nil)).Elem()
 78358  }
 78359  
 78360  type TimedoutFault BaseTimedout
 78361  
 78362  func init() {
 78363  	t["TimedoutFault"] = reflect.TypeOf((*TimedoutFault)(nil)).Elem()
 78364  }
 78365  
 78366  // Thrown if the number of levels in the snapshot tree exceeds
 78367  // the supported maximum.
 78368  type TooManyConcurrentNativeClones struct {
 78369  	FileFault
 78370  }
 78371  
 78372  func init() {
 78373  	t["TooManyConcurrentNativeClones"] = reflect.TypeOf((*TooManyConcurrentNativeClones)(nil)).Elem()
 78374  }
 78375  
 78376  type TooManyConcurrentNativeClonesFault TooManyConcurrentNativeClones
 78377  
 78378  func init() {
 78379  	t["TooManyConcurrentNativeClonesFault"] = reflect.TypeOf((*TooManyConcurrentNativeClonesFault)(nil)).Elem()
 78380  }
 78381  
 78382  // Thrown if there are too many consecutive user overrides of
 78383  // server-managed settings.
 78384  //
 78385  // There are some properties which users are
 78386  // allowed to set only in certain configurations. The system controls them
 78387  // in other configurations, and overrides all user updates. If there are
 78388  // such frequent user overrides in the system controlled state that the
 78389  // next update arrives before the previous override is complete, the
 78390  // system can enter a tight loop and appear unresponsive to the user. This
 78391  // would typically happen if the user overrides are generated by a script.
 78392  // If the number of such user overrides exceeds the supported maximum, we
 78393  // conceptually "throw" this fault. In practice, this is converted into a
 78394  // host-level ConfigIssue in VC.
 78395  type TooManyConsecutiveOverrides struct {
 78396  	VimFault
 78397  }
 78398  
 78399  func init() {
 78400  	t["TooManyConsecutiveOverrides"] = reflect.TypeOf((*TooManyConsecutiveOverrides)(nil)).Elem()
 78401  }
 78402  
 78403  type TooManyConsecutiveOverridesFault TooManyConsecutiveOverrides
 78404  
 78405  func init() {
 78406  	t["TooManyConsecutiveOverridesFault"] = reflect.TypeOf((*TooManyConsecutiveOverridesFault)(nil)).Elem()
 78407  }
 78408  
 78409  // Thrown when the number of virtual devices exceeds the maximum for
 78410  // a given controller.
 78411  type TooManyDevices struct {
 78412  	InvalidVmConfig
 78413  }
 78414  
 78415  func init() {
 78416  	t["TooManyDevices"] = reflect.TypeOf((*TooManyDevices)(nil)).Elem()
 78417  }
 78418  
 78419  type TooManyDevicesFault TooManyDevices
 78420  
 78421  func init() {
 78422  	t["TooManyDevicesFault"] = reflect.TypeOf((*TooManyDevicesFault)(nil)).Elem()
 78423  }
 78424  
 78425  // Deprecated as of vSphere 4.1, this error condition is no longer possible.
 78426  //
 78427  // The VM has too many disks which can cause the VM to take a long time
 78428  // to power-on.
 78429  //
 78430  // This can result in migration taking a long time to complete
 78431  // or to fail due to timeout. This is a problem only for migration of
 78432  // powered-on virtual machines from or to ESX 2.x hosts.
 78433  type TooManyDisksOnLegacyHost struct {
 78434  	MigrationFault
 78435  
 78436  	// The number disks this VM has.
 78437  	DiskCount int32 `xml:"diskCount" json:"diskCount"`
 78438  	// Whether this number of disks will cause a timeout failure.
 78439  	TimeoutDanger bool `xml:"timeoutDanger" json:"timeoutDanger"`
 78440  }
 78441  
 78442  func init() {
 78443  	t["TooManyDisksOnLegacyHost"] = reflect.TypeOf((*TooManyDisksOnLegacyHost)(nil)).Elem()
 78444  }
 78445  
 78446  type TooManyDisksOnLegacyHostFault TooManyDisksOnLegacyHost
 78447  
 78448  func init() {
 78449  	t["TooManyDisksOnLegacyHostFault"] = reflect.TypeOf((*TooManyDisksOnLegacyHostFault)(nil)).Elem()
 78450  }
 78451  
 78452  // A TooManyGuestLogons exception is thrown when
 78453  // there are too many concurrent login sessions active
 78454  // in the guest.
 78455  //
 78456  // `GuestAuthManager.ReleaseCredentialsInGuest` can be called
 78457  // on ticketed sessions that are no longer needed. This will decrease
 78458  // the number of concurrent sessions active in the guest.
 78459  type TooManyGuestLogons struct {
 78460  	GuestOperationsFault
 78461  }
 78462  
 78463  func init() {
 78464  	t["TooManyGuestLogons"] = reflect.TypeOf((*TooManyGuestLogons)(nil)).Elem()
 78465  }
 78466  
 78467  type TooManyGuestLogonsFault TooManyGuestLogons
 78468  
 78469  func init() {
 78470  	t["TooManyGuestLogonsFault"] = reflect.TypeOf((*TooManyGuestLogonsFault)(nil)).Elem()
 78471  }
 78472  
 78473  // Thrown when a computer resource does not accept any more hosts.
 78474  //
 78475  // Clusters with DRS or
 78476  // HA enabled might impose a limit on the size of the cluster.
 78477  type TooManyHosts struct {
 78478  	HostConnectFault
 78479  }
 78480  
 78481  func init() {
 78482  	t["TooManyHosts"] = reflect.TypeOf((*TooManyHosts)(nil)).Elem()
 78483  }
 78484  
 78485  type TooManyHostsFault TooManyHosts
 78486  
 78487  func init() {
 78488  	t["TooManyHostsFault"] = reflect.TypeOf((*TooManyHostsFault)(nil)).Elem()
 78489  }
 78490  
 78491  // Thrown if the number of levels in the snapshot tree exceeds
 78492  // the supported maximum.
 78493  type TooManyNativeCloneLevels struct {
 78494  	FileFault
 78495  }
 78496  
 78497  func init() {
 78498  	t["TooManyNativeCloneLevels"] = reflect.TypeOf((*TooManyNativeCloneLevels)(nil)).Elem()
 78499  }
 78500  
 78501  type TooManyNativeCloneLevelsFault TooManyNativeCloneLevels
 78502  
 78503  func init() {
 78504  	t["TooManyNativeCloneLevelsFault"] = reflect.TypeOf((*TooManyNativeCloneLevelsFault)(nil)).Elem()
 78505  }
 78506  
 78507  // Thrown if the number of levels in the snapshot tree exceeds
 78508  // the supported maximum.
 78509  type TooManyNativeClonesOnFile struct {
 78510  	FileFault
 78511  }
 78512  
 78513  func init() {
 78514  	t["TooManyNativeClonesOnFile"] = reflect.TypeOf((*TooManyNativeClonesOnFile)(nil)).Elem()
 78515  }
 78516  
 78517  type TooManyNativeClonesOnFileFault TooManyNativeClonesOnFile
 78518  
 78519  func init() {
 78520  	t["TooManyNativeClonesOnFileFault"] = reflect.TypeOf((*TooManyNativeClonesOnFileFault)(nil)).Elem()
 78521  }
 78522  
 78523  // Thrown if the number of levels in the snapshot tree exceeds
 78524  // the supported maximum.
 78525  type TooManySnapshotLevels struct {
 78526  	SnapshotFault
 78527  }
 78528  
 78529  func init() {
 78530  	t["TooManySnapshotLevels"] = reflect.TypeOf((*TooManySnapshotLevels)(nil)).Elem()
 78531  }
 78532  
 78533  type TooManySnapshotLevelsFault TooManySnapshotLevels
 78534  
 78535  func init() {
 78536  	t["TooManySnapshotLevelsFault"] = reflect.TypeOf((*TooManySnapshotLevelsFault)(nil)).Elem()
 78537  }
 78538  
 78539  // Thrown when tools upgrade fails because the version of tools
 78540  // installed in the guest is already up-to-date.
 78541  type ToolsAlreadyUpgraded struct {
 78542  	VmToolsUpgradeFault
 78543  }
 78544  
 78545  func init() {
 78546  	t["ToolsAlreadyUpgraded"] = reflect.TypeOf((*ToolsAlreadyUpgraded)(nil)).Elem()
 78547  }
 78548  
 78549  type ToolsAlreadyUpgradedFault ToolsAlreadyUpgraded
 78550  
 78551  func init() {
 78552  	t["ToolsAlreadyUpgradedFault"] = reflect.TypeOf((*ToolsAlreadyUpgradedFault)(nil)).Elem()
 78553  }
 78554  
 78555  // Thrown when tools upgrade fails because the virtual machine's
 78556  // guest operating system doesn't support tools auto-upgrades.
 78557  type ToolsAutoUpgradeNotSupported struct {
 78558  	VmToolsUpgradeFault
 78559  }
 78560  
 78561  func init() {
 78562  	t["ToolsAutoUpgradeNotSupported"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupported)(nil)).Elem()
 78563  }
 78564  
 78565  type ToolsAutoUpgradeNotSupportedFault ToolsAutoUpgradeNotSupported
 78566  
 78567  func init() {
 78568  	t["ToolsAutoUpgradeNotSupportedFault"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupportedFault)(nil)).Elem()
 78569  }
 78570  
 78571  // ToolsConfigInfo is a data object type containing settings for the VMware Tools
 78572  // software running in the guest operating system.
 78573  type ToolsConfigInfo struct {
 78574  	DynamicData
 78575  
 78576  	// Version of VMware Tools installed on the guest operating system.
 78577  	ToolsVersion int32 `xml:"toolsVersion,omitempty" json:"toolsVersion,omitempty"`
 78578  	// Installation type of VMware Tools in the guest operating system.
 78579  	//
 78580  	// The set of possible values is described in
 78581  	// `VirtualMachineToolsInstallType_enum`
 78582  	ToolsInstallType string `xml:"toolsInstallType,omitempty" json:"toolsInstallType,omitempty"`
 78583  	// Flag to specify whether or not scripts should run
 78584  	// after the virtual machine powers on.
 78585  	AfterPowerOn *bool `xml:"afterPowerOn" json:"afterPowerOn,omitempty"`
 78586  	// Flag to specify whether or not scripts should run
 78587  	// after the virtual machine resumes.
 78588  	AfterResume *bool `xml:"afterResume" json:"afterResume,omitempty"`
 78589  	// Flag to specify whether or not scripts should run
 78590  	// before the virtual machine suspends.
 78591  	BeforeGuestStandby *bool `xml:"beforeGuestStandby" json:"beforeGuestStandby,omitempty"`
 78592  	// Flag to specify whether or not scripts should run
 78593  	// before the virtual machine powers off.
 78594  	BeforeGuestShutdown *bool `xml:"beforeGuestShutdown" json:"beforeGuestShutdown,omitempty"`
 78595  	// Flag to specify whether or not scripts should run
 78596  	// before the virtual machine reboots.
 78597  	BeforeGuestReboot *bool `xml:"beforeGuestReboot" json:"beforeGuestReboot,omitempty"`
 78598  	// Tools upgrade policy setting for the virtual machine.
 78599  	//
 78600  	// See also `UpgradePolicy_enum`.
 78601  	ToolsUpgradePolicy string `xml:"toolsUpgradePolicy,omitempty" json:"toolsUpgradePolicy,omitempty"`
 78602  	// When set, this indicates that a customization operation is pending on the VM.
 78603  	//
 78604  	// The value represents the filename of the customization package on the host.
 78605  	PendingCustomization string `xml:"pendingCustomization,omitempty" json:"pendingCustomization,omitempty"`
 78606  	// When set, provides the id of the key used to encrypt the customization
 78607  	// package attached to the VM.
 78608  	CustomizationKeyId *CryptoKeyId `xml:"customizationKeyId,omitempty" json:"customizationKeyId,omitempty"`
 78609  	// Indicates whether or not the tools program is allowed to synchronize
 78610  	// guest time with host time.
 78611  	//
 78612  	// When set to <code>false</code>, disallows
 78613  	// tool periodic time synchronization as well as guest time step corrections
 78614  	// due to one-off events like resume from suspend.
 78615  	SyncTimeWithHostAllowed *bool `xml:"syncTimeWithHostAllowed" json:"syncTimeWithHostAllowed,omitempty" vim:"7.0.1.0"`
 78616  	// Flag to specify whether or not the tools program will periodically
 78617  	// synchronize guest time with host time.
 78618  	//
 78619  	// Periodical synchronization is
 78620  	// only allowed if `ToolsConfigInfo.syncTimeWithHostAllowed`
 78621  	// is not set to <code>false</code>.
 78622  	SyncTimeWithHost *bool `xml:"syncTimeWithHost" json:"syncTimeWithHost,omitempty"`
 78623  	// Information about the last tools upgrade attempt if applicable.
 78624  	//
 78625  	// This information is maintained by the server and is ignored if set by the client.
 78626  	LastInstallInfo *ToolsConfigInfoToolsLastInstallInfo `xml:"lastInstallInfo,omitempty" json:"lastInstallInfo,omitempty"`
 78627  }
 78628  
 78629  func init() {
 78630  	t["ToolsConfigInfo"] = reflect.TypeOf((*ToolsConfigInfo)(nil)).Elem()
 78631  }
 78632  
 78633  // Describes status of last tools upgrade attempt
 78634  type ToolsConfigInfoToolsLastInstallInfo struct {
 78635  	DynamicData
 78636  
 78637  	// Number of attempts that have been made to upgrade the version of tools
 78638  	// installed on this virtual machine.
 78639  	Counter int32 `xml:"counter" json:"counter"`
 78640  	// Error that happened, if any, during last attempt to upgrade tools.
 78641  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 78642  }
 78643  
 78644  func init() {
 78645  	t["ToolsConfigInfoToolsLastInstallInfo"] = reflect.TypeOf((*ToolsConfigInfoToolsLastInstallInfo)(nil)).Elem()
 78646  }
 78647  
 78648  // Thrown when the tools image couldn't be copied to the guest
 78649  // operating system: disk out of space, file access error, etc.
 78650  type ToolsImageCopyFailed struct {
 78651  	VmToolsUpgradeFault
 78652  }
 78653  
 78654  func init() {
 78655  	t["ToolsImageCopyFailed"] = reflect.TypeOf((*ToolsImageCopyFailed)(nil)).Elem()
 78656  }
 78657  
 78658  type ToolsImageCopyFailedFault ToolsImageCopyFailed
 78659  
 78660  func init() {
 78661  	t["ToolsImageCopyFailedFault"] = reflect.TypeOf((*ToolsImageCopyFailedFault)(nil)).Elem()
 78662  }
 78663  
 78664  // Thrown when tools install or upgrade fails because the required
 78665  // tools image is not available.
 78666  type ToolsImageNotAvailable struct {
 78667  	VmToolsUpgradeFault
 78668  }
 78669  
 78670  func init() {
 78671  	t["ToolsImageNotAvailable"] = reflect.TypeOf((*ToolsImageNotAvailable)(nil)).Elem()
 78672  }
 78673  
 78674  type ToolsImageNotAvailableFault ToolsImageNotAvailable
 78675  
 78676  func init() {
 78677  	t["ToolsImageNotAvailableFault"] = reflect.TypeOf((*ToolsImageNotAvailableFault)(nil)).Elem()
 78678  }
 78679  
 78680  // Thrown when tools install or upgrade fails because the
 78681  // signature check on the tools image failed.
 78682  type ToolsImageSignatureCheckFailed struct {
 78683  	VmToolsUpgradeFault
 78684  }
 78685  
 78686  func init() {
 78687  	t["ToolsImageSignatureCheckFailed"] = reflect.TypeOf((*ToolsImageSignatureCheckFailed)(nil)).Elem()
 78688  }
 78689  
 78690  type ToolsImageSignatureCheckFailedFault ToolsImageSignatureCheckFailed
 78691  
 78692  func init() {
 78693  	t["ToolsImageSignatureCheckFailedFault"] = reflect.TypeOf((*ToolsImageSignatureCheckFailedFault)(nil)).Elem()
 78694  }
 78695  
 78696  // The virtual machine is currently in the progress of guest tools installation
 78697  // that prevents the migration operation.
 78698  type ToolsInstallationInProgress struct {
 78699  	MigrationFault
 78700  }
 78701  
 78702  func init() {
 78703  	t["ToolsInstallationInProgress"] = reflect.TypeOf((*ToolsInstallationInProgress)(nil)).Elem()
 78704  }
 78705  
 78706  type ToolsInstallationInProgressFault ToolsInstallationInProgress
 78707  
 78708  func init() {
 78709  	t["ToolsInstallationInProgressFault"] = reflect.TypeOf((*ToolsInstallationInProgressFault)(nil)).Elem()
 78710  }
 78711  
 78712  // A ToolsUnavailableFault exception is thrown when an
 78713  // operation fails to contact VMware Tools
 78714  // running inside the virtual machine.
 78715  type ToolsUnavailable struct {
 78716  	VimFault
 78717  }
 78718  
 78719  func init() {
 78720  	t["ToolsUnavailable"] = reflect.TypeOf((*ToolsUnavailable)(nil)).Elem()
 78721  }
 78722  
 78723  type ToolsUnavailableFault ToolsUnavailable
 78724  
 78725  func init() {
 78726  	t["ToolsUnavailableFault"] = reflect.TypeOf((*ToolsUnavailableFault)(nil)).Elem()
 78727  }
 78728  
 78729  // Thrown when tools install or upgrade fails because the
 78730  // operation was canclled by the user.
 78731  type ToolsUpgradeCancelled struct {
 78732  	VmToolsUpgradeFault
 78733  }
 78734  
 78735  func init() {
 78736  	t["ToolsUpgradeCancelled"] = reflect.TypeOf((*ToolsUpgradeCancelled)(nil)).Elem()
 78737  }
 78738  
 78739  type ToolsUpgradeCancelledFault ToolsUpgradeCancelled
 78740  
 78741  func init() {
 78742  	t["ToolsUpgradeCancelledFault"] = reflect.TypeOf((*ToolsUpgradeCancelledFault)(nil)).Elem()
 78743  }
 78744  
 78745  // The `TraversalSpec` data object type specifies
 78746  // how to derive a new set of objects to add to the filter.
 78747  //
 78748  // It specifies a property path whose value is either another managed
 78749  // object or an array of managed objects included in the set of objects for
 78750  // consideration. This data object can also be named, using the "name"
 78751  // field in the base type.
 78752  type TraversalSpec struct {
 78753  	SelectionSpec
 78754  
 78755  	// Name of the object type containing the property.
 78756  	Type string `xml:"type" json:"type"`
 78757  	// Name of the property to use in order to select additional objects.
 78758  	Path string `xml:"path" json:"path"`
 78759  	// Flag to indicate whether or not to filter the object in the "path"
 78760  	// field.
 78761  	Skip *bool `xml:"skip" json:"skip,omitempty"`
 78762  	// Optional set of selections to specify additional objects to filter.
 78763  	SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr" json:"selectSet,omitempty"`
 78764  }
 78765  
 78766  func init() {
 78767  	t["TraversalSpec"] = reflect.TypeOf((*TraversalSpec)(nil)).Elem()
 78768  }
 78769  
 78770  // The parameters of `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
 78771  type TurnDiskLocatorLedOffRequestType struct {
 78772  	This ManagedObjectReference `xml:"_this" json:"-"`
 78773  	// The SCSI disk UUIDs for which the disk locator LED
 78774  	// should be turned off.
 78775  	ScsiDiskUuids []string `xml:"scsiDiskUuids" json:"scsiDiskUuids"`
 78776  }
 78777  
 78778  func init() {
 78779  	t["TurnDiskLocatorLedOffRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOffRequestType)(nil)).Elem()
 78780  }
 78781  
 78782  type TurnDiskLocatorLedOff_Task TurnDiskLocatorLedOffRequestType
 78783  
 78784  func init() {
 78785  	t["TurnDiskLocatorLedOff_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOff_Task)(nil)).Elem()
 78786  }
 78787  
 78788  type TurnDiskLocatorLedOff_TaskResponse struct {
 78789  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78790  }
 78791  
 78792  // The parameters of `HostStorageSystem.TurnDiskLocatorLedOn_Task`.
 78793  type TurnDiskLocatorLedOnRequestType struct {
 78794  	This ManagedObjectReference `xml:"_this" json:"-"`
 78795  	// The SCSI disk UUIDs for which the disk locator LED
 78796  	// should be turned on.
 78797  	ScsiDiskUuids []string `xml:"scsiDiskUuids" json:"scsiDiskUuids"`
 78798  }
 78799  
 78800  func init() {
 78801  	t["TurnDiskLocatorLedOnRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOnRequestType)(nil)).Elem()
 78802  }
 78803  
 78804  type TurnDiskLocatorLedOn_Task TurnDiskLocatorLedOnRequestType
 78805  
 78806  func init() {
 78807  	t["TurnDiskLocatorLedOn_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOn_Task)(nil)).Elem()
 78808  }
 78809  
 78810  type TurnDiskLocatorLedOn_TaskResponse struct {
 78811  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78812  }
 78813  
 78814  type TurnOffFaultToleranceForVMRequestType struct {
 78815  	This ManagedObjectReference `xml:"_this" json:"-"`
 78816  }
 78817  
 78818  func init() {
 78819  	t["TurnOffFaultToleranceForVMRequestType"] = reflect.TypeOf((*TurnOffFaultToleranceForVMRequestType)(nil)).Elem()
 78820  }
 78821  
 78822  type TurnOffFaultToleranceForVM_Task TurnOffFaultToleranceForVMRequestType
 78823  
 78824  func init() {
 78825  	t["TurnOffFaultToleranceForVM_Task"] = reflect.TypeOf((*TurnOffFaultToleranceForVM_Task)(nil)).Elem()
 78826  }
 78827  
 78828  type TurnOffFaultToleranceForVM_TaskResponse struct {
 78829  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78830  }
 78831  
 78832  // Static strings used for describing an object type.
 78833  type TypeDescription struct {
 78834  	Description
 78835  
 78836  	// Type being described
 78837  	Key string `xml:"key" json:"key"`
 78838  }
 78839  
 78840  func init() {
 78841  	t["TypeDescription"] = reflect.TypeOf((*TypeDescription)(nil)).Elem()
 78842  }
 78843  
 78844  // VFlash is not supported on the datastore.
 78845  type UnSupportedDatastoreForVFlash struct {
 78846  	UnsupportedDatastore
 78847  
 78848  	// The name of the Datastore.
 78849  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 78850  	// Datastore file system volume type.
 78851  	//
 78852  	// See `DatastoreSummary.type`
 78853  	Type string `xml:"type" json:"type"`
 78854  }
 78855  
 78856  func init() {
 78857  	t["UnSupportedDatastoreForVFlash"] = reflect.TypeOf((*UnSupportedDatastoreForVFlash)(nil)).Elem()
 78858  }
 78859  
 78860  type UnSupportedDatastoreForVFlashFault UnSupportedDatastoreForVFlash
 78861  
 78862  func init() {
 78863  	t["UnSupportedDatastoreForVFlashFault"] = reflect.TypeOf((*UnSupportedDatastoreForVFlashFault)(nil)).Elem()
 78864  }
 78865  
 78866  type UnassignUserFromGroup UnassignUserFromGroupRequestType
 78867  
 78868  func init() {
 78869  	t["UnassignUserFromGroup"] = reflect.TypeOf((*UnassignUserFromGroup)(nil)).Elem()
 78870  }
 78871  
 78872  // The parameters of `HostLocalAccountManager.UnassignUserFromGroup`.
 78873  type UnassignUserFromGroupRequestType struct {
 78874  	This ManagedObjectReference `xml:"_this" json:"-"`
 78875  	// User being unassigned from group.
 78876  	User string `xml:"user" json:"user"`
 78877  	// Group from which the user is being removed.
 78878  	Group string `xml:"group" json:"group"`
 78879  }
 78880  
 78881  func init() {
 78882  	t["UnassignUserFromGroupRequestType"] = reflect.TypeOf((*UnassignUserFromGroupRequestType)(nil)).Elem()
 78883  }
 78884  
 78885  type UnassignUserFromGroupResponse struct {
 78886  }
 78887  
 78888  type UnbindVnic UnbindVnicRequestType
 78889  
 78890  func init() {
 78891  	t["UnbindVnic"] = reflect.TypeOf((*UnbindVnic)(nil)).Elem()
 78892  }
 78893  
 78894  // The parameters of `IscsiManager.UnbindVnic`.
 78895  type UnbindVnicRequestType struct {
 78896  	This ManagedObjectReference `xml:"_this" json:"-"`
 78897  	// iSCSI adapter name for which the Virtual NIC to
 78898  	// be removed.
 78899  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
 78900  	// Virtual NIC that is to be removed from the iSCSI HBA
 78901  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 78902  	Force      bool   `xml:"force" json:"force"`
 78903  }
 78904  
 78905  func init() {
 78906  	t["UnbindVnicRequestType"] = reflect.TypeOf((*UnbindVnicRequestType)(nil)).Elem()
 78907  }
 78908  
 78909  type UnbindVnicResponse struct {
 78910  }
 78911  
 78912  // Fault thrown when an attempt is made to move or clone an undoable disk with an
 78913  // uncommitted REDO log.
 78914  //
 78915  // This is an error. Undoable disks may be moved but they must
 78916  // be committed.
 78917  type UncommittedUndoableDisk struct {
 78918  	MigrationFault
 78919  }
 78920  
 78921  func init() {
 78922  	t["UncommittedUndoableDisk"] = reflect.TypeOf((*UncommittedUndoableDisk)(nil)).Elem()
 78923  }
 78924  
 78925  type UncommittedUndoableDiskFault UncommittedUndoableDisk
 78926  
 78927  func init() {
 78928  	t["UncommittedUndoableDiskFault"] = reflect.TypeOf((*UncommittedUndoableDiskFault)(nil)).Elem()
 78929  }
 78930  
 78931  // The property value has not been configured by the user, so the application
 78932  // cannot be started.
 78933  //
 78934  // This is thrown if a property value is the empty string
 78935  // and the types does not allow it. For example, for an integer type or
 78936  // a string where the minimum length is 1, and so forth.
 78937  type UnconfiguredPropertyValue struct {
 78938  	InvalidPropertyValue
 78939  }
 78940  
 78941  func init() {
 78942  	t["UnconfiguredPropertyValue"] = reflect.TypeOf((*UnconfiguredPropertyValue)(nil)).Elem()
 78943  }
 78944  
 78945  type UnconfiguredPropertyValueFault UnconfiguredPropertyValue
 78946  
 78947  func init() {
 78948  	t["UnconfiguredPropertyValueFault"] = reflect.TypeOf((*UnconfiguredPropertyValueFault)(nil)).Elem()
 78949  }
 78950  
 78951  // The specified guest operating system is not supported by the guest
 78952  // customization process.
 78953  type UncustomizableGuest struct {
 78954  	CustomizationFault
 78955  
 78956  	// The guest OS ID for the uncustomizable guest.
 78957  	UncustomizableGuestOS string `xml:"uncustomizableGuestOS" json:"uncustomizableGuestOS"`
 78958  }
 78959  
 78960  func init() {
 78961  	t["UncustomizableGuest"] = reflect.TypeOf((*UncustomizableGuest)(nil)).Elem()
 78962  }
 78963  
 78964  type UncustomizableGuestFault UncustomizableGuest
 78965  
 78966  func init() {
 78967  	t["UncustomizableGuestFault"] = reflect.TypeOf((*UncustomizableGuestFault)(nil)).Elem()
 78968  }
 78969  
 78970  // Error received when customization fails, possibly due to a scripting runtime
 78971  // error or invalid script parameters.
 78972  type UnexpectedCustomizationFault struct {
 78973  	CustomizationFault
 78974  }
 78975  
 78976  func init() {
 78977  	t["UnexpectedCustomizationFault"] = reflect.TypeOf((*UnexpectedCustomizationFault)(nil)).Elem()
 78978  }
 78979  
 78980  type UnexpectedCustomizationFaultFault UnexpectedCustomizationFault
 78981  
 78982  func init() {
 78983  	t["UnexpectedCustomizationFaultFault"] = reflect.TypeOf((*UnexpectedCustomizationFaultFault)(nil)).Elem()
 78984  }
 78985  
 78986  // An UnexpectedFault may be thrown when a newer version of the server
 78987  // reports a error that a cannot be converted to a fault that a client
 78988  // that is using an older version of the API would expect.
 78989  type UnexpectedFault struct {
 78990  	RuntimeFault
 78991  
 78992  	// Name of the unexpected fault.
 78993  	FaultName string `xml:"faultName" json:"faultName"`
 78994  	// The unexpected fault if the server can send it in a form that the client
 78995  	// will be able to de-serialize.
 78996  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 78997  }
 78998  
 78999  func init() {
 79000  	t["UnexpectedFault"] = reflect.TypeOf((*UnexpectedFault)(nil)).Elem()
 79001  }
 79002  
 79003  type UnexpectedFaultFault UnexpectedFault
 79004  
 79005  func init() {
 79006  	t["UnexpectedFaultFault"] = reflect.TypeOf((*UnexpectedFaultFault)(nil)).Elem()
 79007  }
 79008  
 79009  // The parameters of `HostPatchManager.UninstallHostPatch_Task`.
 79010  type UninstallHostPatchRequestType struct {
 79011  	This ManagedObjectReference `xml:"_this" json:"-"`
 79012  	// A list of bulletin IDs to be removed.
 79013  	BulletinIds []string                                   `xml:"bulletinIds,omitempty" json:"bulletinIds,omitempty"`
 79014  	Spec        *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 79015  }
 79016  
 79017  func init() {
 79018  	t["UninstallHostPatchRequestType"] = reflect.TypeOf((*UninstallHostPatchRequestType)(nil)).Elem()
 79019  }
 79020  
 79021  type UninstallHostPatch_Task UninstallHostPatchRequestType
 79022  
 79023  func init() {
 79024  	t["UninstallHostPatch_Task"] = reflect.TypeOf((*UninstallHostPatch_Task)(nil)).Elem()
 79025  }
 79026  
 79027  type UninstallHostPatch_TaskResponse struct {
 79028  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79029  }
 79030  
 79031  // The parameters of `IoFilterManager.UninstallIoFilter_Task`.
 79032  type UninstallIoFilterRequestType struct {
 79033  	This ManagedObjectReference `xml:"_this" json:"-"`
 79034  	// ID of the filter.
 79035  	FilterId string `xml:"filterId" json:"filterId"`
 79036  	// The compute resource to uninstall the IO Filter from.
 79037  	// "compRes" must be a cluster.
 79038  	//
 79039  	// Refers instance of `ComputeResource`.
 79040  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 79041  }
 79042  
 79043  func init() {
 79044  	t["UninstallIoFilterRequestType"] = reflect.TypeOf((*UninstallIoFilterRequestType)(nil)).Elem()
 79045  }
 79046  
 79047  type UninstallIoFilter_Task UninstallIoFilterRequestType
 79048  
 79049  func init() {
 79050  	t["UninstallIoFilter_Task"] = reflect.TypeOf((*UninstallIoFilter_Task)(nil)).Elem()
 79051  }
 79052  
 79053  type UninstallIoFilter_TaskResponse struct {
 79054  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79055  }
 79056  
 79057  type UninstallService UninstallServiceRequestType
 79058  
 79059  func init() {
 79060  	t["UninstallService"] = reflect.TypeOf((*UninstallService)(nil)).Elem()
 79061  }
 79062  
 79063  // The parameters of `HostServiceSystem.UninstallService`.
 79064  type UninstallServiceRequestType struct {
 79065  	This ManagedObjectReference `xml:"_this" json:"-"`
 79066  	// Service identifier
 79067  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 79068  	Id string `xml:"id" json:"id"`
 79069  }
 79070  
 79071  func init() {
 79072  	t["UninstallServiceRequestType"] = reflect.TypeOf((*UninstallServiceRequestType)(nil)).Elem()
 79073  }
 79074  
 79075  type UninstallServiceResponse struct {
 79076  }
 79077  
 79078  // This event records that we have unlicensed virtual machines on the
 79079  // specified host.
 79080  //
 79081  // This can be both a (@link vim.ManagedEntity.configIssue
 79082  // configIssue) and an entry in the event log.
 79083  type UnlicensedVirtualMachinesEvent struct {
 79084  	LicenseEvent
 79085  
 79086  	Unlicensed int32 `xml:"unlicensed" json:"unlicensed"`
 79087  	Available  int32 `xml:"available" json:"available"`
 79088  }
 79089  
 79090  func init() {
 79091  	t["UnlicensedVirtualMachinesEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesEvent)(nil)).Elem()
 79092  }
 79093  
 79094  // This event records that we discovered unlicensed virtual machines on
 79095  // the specified host.
 79096  //
 79097  // After this event is entered into the event log, we
 79098  // expect to see a corresponding (@link
 79099  // vim.event.Event.UnlicensedVirtualMachinesEvent
 79100  // UnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue
 79101  // configIssue) on the host.
 79102  type UnlicensedVirtualMachinesFoundEvent struct {
 79103  	LicenseEvent
 79104  
 79105  	Available int32 `xml:"available" json:"available"`
 79106  }
 79107  
 79108  func init() {
 79109  	t["UnlicensedVirtualMachinesFoundEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesFoundEvent)(nil)).Elem()
 79110  }
 79111  
 79112  // The parameters of `HostStorageSystem.UnmapVmfsVolumeEx_Task`.
 79113  type UnmapVmfsVolumeExRequestType struct {
 79114  	This ManagedObjectReference `xml:"_this" json:"-"`
 79115  	// each element specifies the UUID of a VMFS volume to be unmapped.
 79116  	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
 79117  }
 79118  
 79119  func init() {
 79120  	t["UnmapVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmapVmfsVolumeExRequestType)(nil)).Elem()
 79121  }
 79122  
 79123  type UnmapVmfsVolumeEx_Task UnmapVmfsVolumeExRequestType
 79124  
 79125  func init() {
 79126  	t["UnmapVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmapVmfsVolumeEx_Task)(nil)).Elem()
 79127  }
 79128  
 79129  type UnmapVmfsVolumeEx_TaskResponse struct {
 79130  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79131  }
 79132  
 79133  type UnmarkServiceProviderEntities UnmarkServiceProviderEntitiesRequestType
 79134  
 79135  func init() {
 79136  	t["UnmarkServiceProviderEntities"] = reflect.TypeOf((*UnmarkServiceProviderEntities)(nil)).Elem()
 79137  }
 79138  
 79139  // The parameters of `TenantTenantManager.UnmarkServiceProviderEntities`.
 79140  type UnmarkServiceProviderEntitiesRequestType struct {
 79141  	This ManagedObjectReference `xml:"_this" json:"-"`
 79142  	// an array of management entities.
 79143  	//
 79144  	// Required privileges: TenantManager.Update
 79145  	//
 79146  	// Refers instances of `ManagedEntity`.
 79147  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 79148  }
 79149  
 79150  func init() {
 79151  	t["UnmarkServiceProviderEntitiesRequestType"] = reflect.TypeOf((*UnmarkServiceProviderEntitiesRequestType)(nil)).Elem()
 79152  }
 79153  
 79154  type UnmarkServiceProviderEntitiesResponse struct {
 79155  }
 79156  
 79157  // The parameters of `HostVsanSystem.UnmountDiskMapping_Task`.
 79158  type UnmountDiskMappingRequestType struct {
 79159  	This    ManagedObjectReference `xml:"_this" json:"-"`
 79160  	Mapping []VsanHostDiskMapping  `xml:"mapping" json:"mapping"`
 79161  }
 79162  
 79163  func init() {
 79164  	t["UnmountDiskMappingRequestType"] = reflect.TypeOf((*UnmountDiskMappingRequestType)(nil)).Elem()
 79165  }
 79166  
 79167  type UnmountDiskMapping_Task UnmountDiskMappingRequestType
 79168  
 79169  func init() {
 79170  	t["UnmountDiskMapping_Task"] = reflect.TypeOf((*UnmountDiskMapping_Task)(nil)).Elem()
 79171  }
 79172  
 79173  type UnmountDiskMapping_TaskResponse struct {
 79174  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79175  }
 79176  
 79177  type UnmountForceMountedVmfsVolume UnmountForceMountedVmfsVolumeRequestType
 79178  
 79179  func init() {
 79180  	t["UnmountForceMountedVmfsVolume"] = reflect.TypeOf((*UnmountForceMountedVmfsVolume)(nil)).Elem()
 79181  }
 79182  
 79183  // The parameters of `HostStorageSystem.UnmountForceMountedVmfsVolume`.
 79184  type UnmountForceMountedVmfsVolumeRequestType struct {
 79185  	This     ManagedObjectReference `xml:"_this" json:"-"`
 79186  	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
 79187  }
 79188  
 79189  func init() {
 79190  	t["UnmountForceMountedVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountForceMountedVmfsVolumeRequestType)(nil)).Elem()
 79191  }
 79192  
 79193  type UnmountForceMountedVmfsVolumeResponse struct {
 79194  }
 79195  
 79196  type UnmountToolsInstaller UnmountToolsInstallerRequestType
 79197  
 79198  func init() {
 79199  	t["UnmountToolsInstaller"] = reflect.TypeOf((*UnmountToolsInstaller)(nil)).Elem()
 79200  }
 79201  
 79202  type UnmountToolsInstallerRequestType struct {
 79203  	This ManagedObjectReference `xml:"_this" json:"-"`
 79204  }
 79205  
 79206  func init() {
 79207  	t["UnmountToolsInstallerRequestType"] = reflect.TypeOf((*UnmountToolsInstallerRequestType)(nil)).Elem()
 79208  }
 79209  
 79210  type UnmountToolsInstallerResponse struct {
 79211  }
 79212  
 79213  type UnmountVffsVolume UnmountVffsVolumeRequestType
 79214  
 79215  func init() {
 79216  	t["UnmountVffsVolume"] = reflect.TypeOf((*UnmountVffsVolume)(nil)).Elem()
 79217  }
 79218  
 79219  // The parameters of `HostStorageSystem.UnmountVffsVolume`.
 79220  type UnmountVffsVolumeRequestType struct {
 79221  	This     ManagedObjectReference `xml:"_this" json:"-"`
 79222  	VffsUuid string                 `xml:"vffsUuid" json:"vffsUuid"`
 79223  }
 79224  
 79225  func init() {
 79226  	t["UnmountVffsVolumeRequestType"] = reflect.TypeOf((*UnmountVffsVolumeRequestType)(nil)).Elem()
 79227  }
 79228  
 79229  type UnmountVffsVolumeResponse struct {
 79230  }
 79231  
 79232  type UnmountVmfsVolume UnmountVmfsVolumeRequestType
 79233  
 79234  func init() {
 79235  	t["UnmountVmfsVolume"] = reflect.TypeOf((*UnmountVmfsVolume)(nil)).Elem()
 79236  }
 79237  
 79238  // The parameters of `HostStorageSystem.UnmountVmfsVolumeEx_Task`.
 79239  type UnmountVmfsVolumeExRequestType struct {
 79240  	This ManagedObjectReference `xml:"_this" json:"-"`
 79241  	// each element specifies the UUID of a VMFS volume to be unmounted.
 79242  	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
 79243  }
 79244  
 79245  func init() {
 79246  	t["UnmountVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeExRequestType)(nil)).Elem()
 79247  }
 79248  
 79249  type UnmountVmfsVolumeEx_Task UnmountVmfsVolumeExRequestType
 79250  
 79251  func init() {
 79252  	t["UnmountVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmountVmfsVolumeEx_Task)(nil)).Elem()
 79253  }
 79254  
 79255  type UnmountVmfsVolumeEx_TaskResponse struct {
 79256  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79257  }
 79258  
 79259  // The parameters of `HostStorageSystem.UnmountVmfsVolume`.
 79260  type UnmountVmfsVolumeRequestType struct {
 79261  	This     ManagedObjectReference `xml:"_this" json:"-"`
 79262  	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
 79263  }
 79264  
 79265  func init() {
 79266  	t["UnmountVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeRequestType)(nil)).Elem()
 79267  }
 79268  
 79269  type UnmountVmfsVolumeResponse struct {
 79270  }
 79271  
 79272  // A UnrecognizedHost is thrown if the VirtualCenter server fails to
 79273  // validate the identity of the host using host-key.
 79274  //
 79275  // If a reconnect is attempted on a host and if the host-key of the host
 79276  // has changed since the last successful connection attempt,
 79277  // (might be changed by another instance of VirtualCenter), VirtualCenter
 79278  // server will fail to recognize the host.
 79279  type UnrecognizedHost struct {
 79280  	VimFault
 79281  
 79282  	// Host in the VirtualCenter inventory which failed the identity
 79283  	// validation.
 79284  	HostName string `xml:"hostName" json:"hostName"`
 79285  }
 79286  
 79287  func init() {
 79288  	t["UnrecognizedHost"] = reflect.TypeOf((*UnrecognizedHost)(nil)).Elem()
 79289  }
 79290  
 79291  type UnrecognizedHostFault UnrecognizedHost
 79292  
 79293  func init() {
 79294  	t["UnrecognizedHostFault"] = reflect.TypeOf((*UnrecognizedHostFault)(nil)).Elem()
 79295  }
 79296  
 79297  type UnregisterAndDestroyRequestType struct {
 79298  	This ManagedObjectReference `xml:"_this" json:"-"`
 79299  }
 79300  
 79301  func init() {
 79302  	t["UnregisterAndDestroyRequestType"] = reflect.TypeOf((*UnregisterAndDestroyRequestType)(nil)).Elem()
 79303  }
 79304  
 79305  type UnregisterAndDestroy_Task UnregisterAndDestroyRequestType
 79306  
 79307  func init() {
 79308  	t["UnregisterAndDestroy_Task"] = reflect.TypeOf((*UnregisterAndDestroy_Task)(nil)).Elem()
 79309  }
 79310  
 79311  type UnregisterAndDestroy_TaskResponse struct {
 79312  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79313  }
 79314  
 79315  type UnregisterExtension UnregisterExtensionRequestType
 79316  
 79317  func init() {
 79318  	t["UnregisterExtension"] = reflect.TypeOf((*UnregisterExtension)(nil)).Elem()
 79319  }
 79320  
 79321  // The parameters of `ExtensionManager.UnregisterExtension`.
 79322  type UnregisterExtensionRequestType struct {
 79323  	This ManagedObjectReference `xml:"_this" json:"-"`
 79324  	// Unique name of extension to unregister.
 79325  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 79326  }
 79327  
 79328  func init() {
 79329  	t["UnregisterExtensionRequestType"] = reflect.TypeOf((*UnregisterExtensionRequestType)(nil)).Elem()
 79330  }
 79331  
 79332  type UnregisterExtensionResponse struct {
 79333  }
 79334  
 79335  type UnregisterHealthUpdateProvider UnregisterHealthUpdateProviderRequestType
 79336  
 79337  func init() {
 79338  	t["UnregisterHealthUpdateProvider"] = reflect.TypeOf((*UnregisterHealthUpdateProvider)(nil)).Elem()
 79339  }
 79340  
 79341  // The parameters of `HealthUpdateManager.UnregisterHealthUpdateProvider`.
 79342  type UnregisterHealthUpdateProviderRequestType struct {
 79343  	This ManagedObjectReference `xml:"_this" json:"-"`
 79344  	// The provider id.
 79345  	ProviderId string `xml:"providerId" json:"providerId"`
 79346  }
 79347  
 79348  func init() {
 79349  	t["UnregisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*UnregisterHealthUpdateProviderRequestType)(nil)).Elem()
 79350  }
 79351  
 79352  type UnregisterHealthUpdateProviderResponse struct {
 79353  }
 79354  
 79355  type UnregisterKmsCluster UnregisterKmsClusterRequestType
 79356  
 79357  func init() {
 79358  	t["UnregisterKmsCluster"] = reflect.TypeOf((*UnregisterKmsCluster)(nil)).Elem()
 79359  }
 79360  
 79361  // The parameters of `CryptoManagerKmip.UnregisterKmsCluster`.
 79362  type UnregisterKmsClusterRequestType struct {
 79363  	This ManagedObjectReference `xml:"_this" json:"-"`
 79364  	// \[in\] KMS cluster ID to unregister.
 79365  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 79366  }
 79367  
 79368  func init() {
 79369  	t["UnregisterKmsClusterRequestType"] = reflect.TypeOf((*UnregisterKmsClusterRequestType)(nil)).Elem()
 79370  }
 79371  
 79372  type UnregisterKmsClusterResponse struct {
 79373  }
 79374  
 79375  type UnregisterVM UnregisterVMRequestType
 79376  
 79377  func init() {
 79378  	t["UnregisterVM"] = reflect.TypeOf((*UnregisterVM)(nil)).Elem()
 79379  }
 79380  
 79381  type UnregisterVMRequestType struct {
 79382  	This ManagedObjectReference `xml:"_this" json:"-"`
 79383  }
 79384  
 79385  func init() {
 79386  	t["UnregisterVMRequestType"] = reflect.TypeOf((*UnregisterVMRequestType)(nil)).Elem()
 79387  }
 79388  
 79389  type UnregisterVMResponse struct {
 79390  }
 79391  
 79392  // The compute resource and virtual machine configurations for swapfile
 79393  // placement would require the virtual machine swapfile to change location for
 79394  // this VMotion; however the host does not support this.
 79395  type UnsharedSwapVMotionNotSupported struct {
 79396  	MigrationFeatureNotSupported
 79397  }
 79398  
 79399  func init() {
 79400  	t["UnsharedSwapVMotionNotSupported"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupported)(nil)).Elem()
 79401  }
 79402  
 79403  type UnsharedSwapVMotionNotSupportedFault UnsharedSwapVMotionNotSupported
 79404  
 79405  func init() {
 79406  	t["UnsharedSwapVMotionNotSupportedFault"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupportedFault)(nil)).Elem()
 79407  }
 79408  
 79409  // The virtual machine is not supported on the target datastore.
 79410  //
 79411  // This fault is
 79412  // thrown by provisioning operations when an attempt is made to create a virtual
 79413  // machine on an unsupported datastore (for example, creating a non-legacy
 79414  // virtual machine on a legacy datastore).
 79415  type UnsupportedDatastore struct {
 79416  	VmConfigFault
 79417  
 79418  	// The invalid datastore for this virtual machine.
 79419  	//
 79420  	// Refers instance of `Datastore`.
 79421  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 79422  }
 79423  
 79424  func init() {
 79425  	t["UnsupportedDatastore"] = reflect.TypeOf((*UnsupportedDatastore)(nil)).Elem()
 79426  }
 79427  
 79428  type UnsupportedDatastoreFault BaseUnsupportedDatastore
 79429  
 79430  func init() {
 79431  	t["UnsupportedDatastoreFault"] = reflect.TypeOf((*UnsupportedDatastoreFault)(nil)).Elem()
 79432  }
 79433  
 79434  // The specified guest operating system is not supported on the host
 79435  // that is the target of the operation.
 79436  type UnsupportedGuest struct {
 79437  	InvalidVmConfig
 79438  
 79439  	// The guest OS ID for the unsupported guest.
 79440  	UnsupportedGuestOS string `xml:"unsupportedGuestOS" json:"unsupportedGuestOS"`
 79441  }
 79442  
 79443  func init() {
 79444  	t["UnsupportedGuest"] = reflect.TypeOf((*UnsupportedGuest)(nil)).Elem()
 79445  }
 79446  
 79447  type UnsupportedGuestFault UnsupportedGuest
 79448  
 79449  func init() {
 79450  	t["UnsupportedGuestFault"] = reflect.TypeOf((*UnsupportedGuestFault)(nil)).Elem()
 79451  }
 79452  
 79453  // This exception will be thrown if a client tries to connect with a unsupported version
 79454  // of the Vim API.
 79455  type UnsupportedVimApiVersion struct {
 79456  	VimFault
 79457  
 79458  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 79459  }
 79460  
 79461  func init() {
 79462  	t["UnsupportedVimApiVersion"] = reflect.TypeOf((*UnsupportedVimApiVersion)(nil)).Elem()
 79463  }
 79464  
 79465  type UnsupportedVimApiVersionFault UnsupportedVimApiVersion
 79466  
 79467  func init() {
 79468  	t["UnsupportedVimApiVersionFault"] = reflect.TypeOf((*UnsupportedVimApiVersionFault)(nil)).Elem()
 79469  }
 79470  
 79471  // ESX 3 Server products requires the .vmx file to be stored
 79472  // on NAS or VMFS3 storage.
 79473  //
 79474  // If attempting to power on a virtual
 79475  // machine with the .vmx file stored on the service console, this
 79476  // fault will be thrown.
 79477  type UnsupportedVmxLocation struct {
 79478  	VmConfigFault
 79479  }
 79480  
 79481  func init() {
 79482  	t["UnsupportedVmxLocation"] = reflect.TypeOf((*UnsupportedVmxLocation)(nil)).Elem()
 79483  }
 79484  
 79485  type UnsupportedVmxLocationFault UnsupportedVmxLocation
 79486  
 79487  func init() {
 79488  	t["UnsupportedVmxLocationFault"] = reflect.TypeOf((*UnsupportedVmxLocationFault)(nil)).Elem()
 79489  }
 79490  
 79491  // Specifies SSL policy for untrusted SSL certificate.
 79492  //
 79493  // This option allows to explicitly disable SSL certificate verification.
 79494  type UntrustedCertificate struct {
 79495  	IoFilterManagerSslTrust
 79496  }
 79497  
 79498  func init() {
 79499  	t["UntrustedCertificate"] = reflect.TypeOf((*UntrustedCertificate)(nil)).Elem()
 79500  	minAPIVersionForType["UntrustedCertificate"] = "8.0.3.0"
 79501  }
 79502  
 79503  // The unused disk blocks of the specified virtual disk have not been
 79504  // scrubbed on the file system.
 79505  //
 79506  // Typically, this fault is returned as part of a parent fault like
 79507  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 79508  // unused blocks of the virtual disk must be zeroed-out on the file system before
 79509  // before fault tolerance can be enabled on the associated virtual machine.
 79510  type UnusedVirtualDiskBlocksNotScrubbed struct {
 79511  	DeviceBackingNotSupported
 79512  }
 79513  
 79514  func init() {
 79515  	t["UnusedVirtualDiskBlocksNotScrubbed"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbed)(nil)).Elem()
 79516  }
 79517  
 79518  type UnusedVirtualDiskBlocksNotScrubbedFault UnusedVirtualDiskBlocksNotScrubbed
 79519  
 79520  func init() {
 79521  	t["UnusedVirtualDiskBlocksNotScrubbedFault"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbedFault)(nil)).Elem()
 79522  }
 79523  
 79524  // The parameters of `HostProfileManager.UpdateAnswerFile_Task`.
 79525  type UpdateAnswerFileRequestType struct {
 79526  	This ManagedObjectReference `xml:"_this" json:"-"`
 79527  	// Host with which the answer file is associated.
 79528  	//
 79529  	// Refers instance of `HostSystem`.
 79530  	Host ManagedObjectReference `xml:"host" json:"host"`
 79531  	// Host-specific configuration data. If the configuration
 79532  	// specification does not contain any host-specific user input
 79533  	// (<code>configSpec</code>.`AnswerFileOptionsCreateSpec.userInput`),
 79534  	// the method does not perform any operation on the answer file.
 79535  	ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr" json:"configSpec"`
 79536  }
 79537  
 79538  func init() {
 79539  	t["UpdateAnswerFileRequestType"] = reflect.TypeOf((*UpdateAnswerFileRequestType)(nil)).Elem()
 79540  }
 79541  
 79542  type UpdateAnswerFile_Task UpdateAnswerFileRequestType
 79543  
 79544  func init() {
 79545  	t["UpdateAnswerFile_Task"] = reflect.TypeOf((*UpdateAnswerFile_Task)(nil)).Elem()
 79546  }
 79547  
 79548  type UpdateAnswerFile_TaskResponse struct {
 79549  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79550  }
 79551  
 79552  type UpdateAssignableHardwareConfig UpdateAssignableHardwareConfigRequestType
 79553  
 79554  func init() {
 79555  	t["UpdateAssignableHardwareConfig"] = reflect.TypeOf((*UpdateAssignableHardwareConfig)(nil)).Elem()
 79556  }
 79557  
 79558  // The parameters of `HostAssignableHardwareManager.UpdateAssignableHardwareConfig`.
 79559  type UpdateAssignableHardwareConfigRequestType struct {
 79560  	This   ManagedObjectReference       `xml:"_this" json:"-"`
 79561  	Config HostAssignableHardwareConfig `xml:"config" json:"config"`
 79562  }
 79563  
 79564  func init() {
 79565  	t["UpdateAssignableHardwareConfigRequestType"] = reflect.TypeOf((*UpdateAssignableHardwareConfigRequestType)(nil)).Elem()
 79566  }
 79567  
 79568  type UpdateAssignableHardwareConfigResponse struct {
 79569  }
 79570  
 79571  type UpdateAssignedLicense UpdateAssignedLicenseRequestType
 79572  
 79573  func init() {
 79574  	t["UpdateAssignedLicense"] = reflect.TypeOf((*UpdateAssignedLicense)(nil)).Elem()
 79575  }
 79576  
 79577  // The parameters of `LicenseAssignmentManager.UpdateAssignedLicense`.
 79578  type UpdateAssignedLicenseRequestType struct {
 79579  	This ManagedObjectReference `xml:"_this" json:"-"`
 79580  	// ID of the entity. E.g. HostSystem.
 79581  	Entity string `xml:"entity" json:"entity"`
 79582  	// A license.
 79583  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 79584  	// Display name for the entity
 79585  	EntityDisplayName string `xml:"entityDisplayName,omitempty" json:"entityDisplayName,omitempty"`
 79586  }
 79587  
 79588  func init() {
 79589  	t["UpdateAssignedLicenseRequestType"] = reflect.TypeOf((*UpdateAssignedLicenseRequestType)(nil)).Elem()
 79590  }
 79591  
 79592  type UpdateAssignedLicenseResponse struct {
 79593  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
 79594  }
 79595  
 79596  type UpdateAuthorizationRole UpdateAuthorizationRoleRequestType
 79597  
 79598  func init() {
 79599  	t["UpdateAuthorizationRole"] = reflect.TypeOf((*UpdateAuthorizationRole)(nil)).Elem()
 79600  }
 79601  
 79602  // The parameters of `AuthorizationManager.UpdateAuthorizationRole`.
 79603  type UpdateAuthorizationRoleRequestType struct {
 79604  	This ManagedObjectReference `xml:"_this" json:"-"`
 79605  	// The ID of the role that is updated.
 79606  	RoleId int32 `xml:"roleId" json:"roleId"`
 79607  	// The new name for the role.
 79608  	NewName string `xml:"newName" json:"newName"`
 79609  	// The new set of privileges to assign to the role.
 79610  	PrivIds []string `xml:"privIds,omitempty" json:"privIds,omitempty"`
 79611  }
 79612  
 79613  func init() {
 79614  	t["UpdateAuthorizationRoleRequestType"] = reflect.TypeOf((*UpdateAuthorizationRoleRequestType)(nil)).Elem()
 79615  }
 79616  
 79617  type UpdateAuthorizationRoleResponse struct {
 79618  }
 79619  
 79620  type UpdateBootDevice UpdateBootDeviceRequestType
 79621  
 79622  func init() {
 79623  	t["UpdateBootDevice"] = reflect.TypeOf((*UpdateBootDevice)(nil)).Elem()
 79624  }
 79625  
 79626  // The parameters of `HostBootDeviceSystem.UpdateBootDevice`.
 79627  type UpdateBootDeviceRequestType struct {
 79628  	This ManagedObjectReference `xml:"_this" json:"-"`
 79629  	// The `HostBootDevice.key` of the
 79630  	// `HostBootDevice` from which the host will boot.
 79631  	Key string `xml:"key" json:"key"`
 79632  }
 79633  
 79634  func init() {
 79635  	t["UpdateBootDeviceRequestType"] = reflect.TypeOf((*UpdateBootDeviceRequestType)(nil)).Elem()
 79636  }
 79637  
 79638  type UpdateBootDeviceResponse struct {
 79639  }
 79640  
 79641  type UpdateChildResourceConfiguration UpdateChildResourceConfigurationRequestType
 79642  
 79643  func init() {
 79644  	t["UpdateChildResourceConfiguration"] = reflect.TypeOf((*UpdateChildResourceConfiguration)(nil)).Elem()
 79645  }
 79646  
 79647  // The parameters of `ResourcePool.UpdateChildResourceConfiguration`.
 79648  type UpdateChildResourceConfigurationRequestType struct {
 79649  	This ManagedObjectReference `xml:"_this" json:"-"`
 79650  	Spec []ResourceConfigSpec   `xml:"spec" json:"spec"`
 79651  }
 79652  
 79653  func init() {
 79654  	t["UpdateChildResourceConfigurationRequestType"] = reflect.TypeOf((*UpdateChildResourceConfigurationRequestType)(nil)).Elem()
 79655  }
 79656  
 79657  type UpdateChildResourceConfigurationResponse struct {
 79658  }
 79659  
 79660  type UpdateClusterProfile UpdateClusterProfileRequestType
 79661  
 79662  func init() {
 79663  	t["UpdateClusterProfile"] = reflect.TypeOf((*UpdateClusterProfile)(nil)).Elem()
 79664  }
 79665  
 79666  // The parameters of `ClusterProfile.UpdateClusterProfile`.
 79667  type UpdateClusterProfileRequestType struct {
 79668  	This ManagedObjectReference `xml:"_this" json:"-"`
 79669  	// Specification which describes the changes.
 79670  	Config BaseClusterProfileConfigSpec `xml:"config,typeattr" json:"config"`
 79671  }
 79672  
 79673  func init() {
 79674  	t["UpdateClusterProfileRequestType"] = reflect.TypeOf((*UpdateClusterProfileRequestType)(nil)).Elem()
 79675  }
 79676  
 79677  type UpdateClusterProfileResponse struct {
 79678  }
 79679  
 79680  type UpdateConfig UpdateConfigRequestType
 79681  
 79682  func init() {
 79683  	t["UpdateConfig"] = reflect.TypeOf((*UpdateConfig)(nil)).Elem()
 79684  }
 79685  
 79686  // The parameters of `ResourcePool.UpdateConfig`.
 79687  type UpdateConfigRequestType struct {
 79688  	This ManagedObjectReference `xml:"_this" json:"-"`
 79689  	// If set, then the new name of the resource pool.
 79690  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 79691  	// If set, then the new resource allocation for this
 79692  	// resource pool.
 79693  	Config *ResourceConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
 79694  }
 79695  
 79696  func init() {
 79697  	t["UpdateConfigRequestType"] = reflect.TypeOf((*UpdateConfigRequestType)(nil)).Elem()
 79698  }
 79699  
 79700  type UpdateConfigResponse struct {
 79701  }
 79702  
 79703  type UpdateConsoleIpRouteConfig UpdateConsoleIpRouteConfigRequestType
 79704  
 79705  func init() {
 79706  	t["UpdateConsoleIpRouteConfig"] = reflect.TypeOf((*UpdateConsoleIpRouteConfig)(nil)).Elem()
 79707  }
 79708  
 79709  // The parameters of `HostNetworkSystem.UpdateConsoleIpRouteConfig`.
 79710  type UpdateConsoleIpRouteConfigRequestType struct {
 79711  	This   ManagedObjectReference `xml:"_this" json:"-"`
 79712  	Config BaseHostIpRouteConfig  `xml:"config,typeattr" json:"config"`
 79713  }
 79714  
 79715  func init() {
 79716  	t["UpdateConsoleIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateConsoleIpRouteConfigRequestType)(nil)).Elem()
 79717  }
 79718  
 79719  type UpdateConsoleIpRouteConfigResponse struct {
 79720  }
 79721  
 79722  type UpdateCounterLevelMapping UpdateCounterLevelMappingRequestType
 79723  
 79724  func init() {
 79725  	t["UpdateCounterLevelMapping"] = reflect.TypeOf((*UpdateCounterLevelMapping)(nil)).Elem()
 79726  }
 79727  
 79728  // The parameters of `PerformanceManager.UpdateCounterLevelMapping`.
 79729  type UpdateCounterLevelMappingRequestType struct {
 79730  	This ManagedObjectReference `xml:"_this" json:"-"`
 79731  	// An array of `PerformanceManagerCounterLevelMapping` objects. The
 79732  	// levels for the counters passed in are changed to the passed in values. If
 79733  	// the optional aggregateLevel field is left unset then only the
 79734  	// perDeviceLevel is configured. If the optional perDeviceLevel is left
 79735  	// unset then only the aggregateLevel is configured. If there are multiple
 79736  	// entries in the passed in array for the same counterId being updated then
 79737  	// the last entry containing the counterId takes effect.
 79738  	CounterLevelMap []PerformanceManagerCounterLevelMapping `xml:"counterLevelMap" json:"counterLevelMap"`
 79739  }
 79740  
 79741  func init() {
 79742  	t["UpdateCounterLevelMappingRequestType"] = reflect.TypeOf((*UpdateCounterLevelMappingRequestType)(nil)).Elem()
 79743  }
 79744  
 79745  type UpdateCounterLevelMappingResponse struct {
 79746  }
 79747  
 79748  // The parameters of `DistributedVirtualSwitch.UpdateDVSHealthCheckConfig_Task`.
 79749  type UpdateDVSHealthCheckConfigRequestType struct {
 79750  	This ManagedObjectReference `xml:"_this" json:"-"`
 79751  	// The health check configuration.
 79752  	HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,typeattr" json:"healthCheckConfig"`
 79753  }
 79754  
 79755  func init() {
 79756  	t["UpdateDVSHealthCheckConfigRequestType"] = reflect.TypeOf((*UpdateDVSHealthCheckConfigRequestType)(nil)).Elem()
 79757  }
 79758  
 79759  type UpdateDVSHealthCheckConfig_Task UpdateDVSHealthCheckConfigRequestType
 79760  
 79761  func init() {
 79762  	t["UpdateDVSHealthCheckConfig_Task"] = reflect.TypeOf((*UpdateDVSHealthCheckConfig_Task)(nil)).Elem()
 79763  }
 79764  
 79765  type UpdateDVSHealthCheckConfig_TaskResponse struct {
 79766  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79767  }
 79768  
 79769  // The parameters of `VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task`.
 79770  type UpdateDVSLacpGroupConfigRequestType struct {
 79771  	This ManagedObjectReference `xml:"_this" json:"-"`
 79772  	// The Link Aggregation Control Protocol groups to be configured.
 79773  	LacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"lacpGroupSpec" json:"lacpGroupSpec"`
 79774  }
 79775  
 79776  func init() {
 79777  	t["UpdateDVSLacpGroupConfigRequestType"] = reflect.TypeOf((*UpdateDVSLacpGroupConfigRequestType)(nil)).Elem()
 79778  }
 79779  
 79780  type UpdateDVSLacpGroupConfig_Task UpdateDVSLacpGroupConfigRequestType
 79781  
 79782  func init() {
 79783  	t["UpdateDVSLacpGroupConfig_Task"] = reflect.TypeOf((*UpdateDVSLacpGroupConfig_Task)(nil)).Elem()
 79784  }
 79785  
 79786  type UpdateDVSLacpGroupConfig_TaskResponse struct {
 79787  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79788  }
 79789  
 79790  type UpdateDateTime UpdateDateTimeRequestType
 79791  
 79792  func init() {
 79793  	t["UpdateDateTime"] = reflect.TypeOf((*UpdateDateTime)(nil)).Elem()
 79794  }
 79795  
 79796  type UpdateDateTimeConfig UpdateDateTimeConfigRequestType
 79797  
 79798  func init() {
 79799  	t["UpdateDateTimeConfig"] = reflect.TypeOf((*UpdateDateTimeConfig)(nil)).Elem()
 79800  }
 79801  
 79802  // The parameters of `HostDateTimeSystem.UpdateDateTimeConfig`.
 79803  type UpdateDateTimeConfigRequestType struct {
 79804  	This ManagedObjectReference `xml:"_this" json:"-"`
 79805  	// The new DateTime configuration information.
 79806  	Config HostDateTimeConfig `xml:"config" json:"config"`
 79807  }
 79808  
 79809  func init() {
 79810  	t["UpdateDateTimeConfigRequestType"] = reflect.TypeOf((*UpdateDateTimeConfigRequestType)(nil)).Elem()
 79811  }
 79812  
 79813  type UpdateDateTimeConfigResponse struct {
 79814  }
 79815  
 79816  // The parameters of `HostDateTimeSystem.UpdateDateTime`.
 79817  type UpdateDateTimeRequestType struct {
 79818  	This ManagedObjectReference `xml:"_this" json:"-"`
 79819  	// DateTime to update the host to.
 79820  	DateTime time.Time `xml:"dateTime" json:"dateTime"`
 79821  }
 79822  
 79823  func init() {
 79824  	t["UpdateDateTimeRequestType"] = reflect.TypeOf((*UpdateDateTimeRequestType)(nil)).Elem()
 79825  }
 79826  
 79827  type UpdateDateTimeResponse struct {
 79828  }
 79829  
 79830  type UpdateDefaultPolicy UpdateDefaultPolicyRequestType
 79831  
 79832  func init() {
 79833  	t["UpdateDefaultPolicy"] = reflect.TypeOf((*UpdateDefaultPolicy)(nil)).Elem()
 79834  }
 79835  
 79836  // The parameters of `HostFirewallSystem.UpdateDefaultPolicy`.
 79837  type UpdateDefaultPolicyRequestType struct {
 79838  	This          ManagedObjectReference    `xml:"_this" json:"-"`
 79839  	DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy" json:"defaultPolicy"`
 79840  }
 79841  
 79842  func init() {
 79843  	t["UpdateDefaultPolicyRequestType"] = reflect.TypeOf((*UpdateDefaultPolicyRequestType)(nil)).Elem()
 79844  }
 79845  
 79846  type UpdateDefaultPolicyResponse struct {
 79847  }
 79848  
 79849  type UpdateDiskPartitions UpdateDiskPartitionsRequestType
 79850  
 79851  func init() {
 79852  	t["UpdateDiskPartitions"] = reflect.TypeOf((*UpdateDiskPartitions)(nil)).Elem()
 79853  }
 79854  
 79855  // The parameters of `HostStorageSystem.UpdateDiskPartitions`.
 79856  type UpdateDiskPartitionsRequestType struct {
 79857  	This ManagedObjectReference `xml:"_this" json:"-"`
 79858  	// The name of the device path for the specific disk.
 79859  	DevicePath string `xml:"devicePath" json:"devicePath"`
 79860  	// A data object that describes the disk partition table
 79861  	// specification used to configure the partitions on a disk.
 79862  	Spec HostDiskPartitionSpec `xml:"spec" json:"spec"`
 79863  }
 79864  
 79865  func init() {
 79866  	t["UpdateDiskPartitionsRequestType"] = reflect.TypeOf((*UpdateDiskPartitionsRequestType)(nil)).Elem()
 79867  }
 79868  
 79869  type UpdateDiskPartitionsResponse struct {
 79870  }
 79871  
 79872  type UpdateDnsConfig UpdateDnsConfigRequestType
 79873  
 79874  func init() {
 79875  	t["UpdateDnsConfig"] = reflect.TypeOf((*UpdateDnsConfig)(nil)).Elem()
 79876  }
 79877  
 79878  // The parameters of `HostNetworkSystem.UpdateDnsConfig`.
 79879  type UpdateDnsConfigRequestType struct {
 79880  	This   ManagedObjectReference `xml:"_this" json:"-"`
 79881  	Config BaseHostDnsConfig      `xml:"config,typeattr" json:"config"`
 79882  }
 79883  
 79884  func init() {
 79885  	t["UpdateDnsConfigRequestType"] = reflect.TypeOf((*UpdateDnsConfigRequestType)(nil)).Elem()
 79886  }
 79887  
 79888  type UpdateDnsConfigResponse struct {
 79889  }
 79890  
 79891  type UpdateDvsCapability UpdateDvsCapabilityRequestType
 79892  
 79893  func init() {
 79894  	t["UpdateDvsCapability"] = reflect.TypeOf((*UpdateDvsCapability)(nil)).Elem()
 79895  }
 79896  
 79897  // The parameters of `DistributedVirtualSwitch.UpdateDvsCapability`.
 79898  type UpdateDvsCapabilityRequestType struct {
 79899  	This ManagedObjectReference `xml:"_this" json:"-"`
 79900  	// The capability of the switch.
 79901  	Capability DVSCapability `xml:"capability" json:"capability"`
 79902  }
 79903  
 79904  func init() {
 79905  	t["UpdateDvsCapabilityRequestType"] = reflect.TypeOf((*UpdateDvsCapabilityRequestType)(nil)).Elem()
 79906  }
 79907  
 79908  type UpdateDvsCapabilityResponse struct {
 79909  }
 79910  
 79911  type UpdateExtension UpdateExtensionRequestType
 79912  
 79913  func init() {
 79914  	t["UpdateExtension"] = reflect.TypeOf((*UpdateExtension)(nil)).Elem()
 79915  }
 79916  
 79917  // The parameters of `ExtensionManager.UpdateExtension`.
 79918  type UpdateExtensionRequestType struct {
 79919  	This ManagedObjectReference `xml:"_this" json:"-"`
 79920  	// Updated extension description.
 79921  	Extension Extension `xml:"extension" json:"extension"`
 79922  }
 79923  
 79924  func init() {
 79925  	t["UpdateExtensionRequestType"] = reflect.TypeOf((*UpdateExtensionRequestType)(nil)).Elem()
 79926  }
 79927  
 79928  type UpdateExtensionResponse struct {
 79929  }
 79930  
 79931  type UpdateFlags UpdateFlagsRequestType
 79932  
 79933  func init() {
 79934  	t["UpdateFlags"] = reflect.TypeOf((*UpdateFlags)(nil)).Elem()
 79935  }
 79936  
 79937  // The parameters of `HostSystem.UpdateFlags`.
 79938  type UpdateFlagsRequestType struct {
 79939  	This     ManagedObjectReference `xml:"_this" json:"-"`
 79940  	FlagInfo HostFlagInfo           `xml:"flagInfo" json:"flagInfo"`
 79941  }
 79942  
 79943  func init() {
 79944  	t["UpdateFlagsRequestType"] = reflect.TypeOf((*UpdateFlagsRequestType)(nil)).Elem()
 79945  }
 79946  
 79947  type UpdateFlagsResponse struct {
 79948  }
 79949  
 79950  type UpdateGraphicsConfig UpdateGraphicsConfigRequestType
 79951  
 79952  func init() {
 79953  	t["UpdateGraphicsConfig"] = reflect.TypeOf((*UpdateGraphicsConfig)(nil)).Elem()
 79954  }
 79955  
 79956  // The parameters of `HostGraphicsManager.UpdateGraphicsConfig`.
 79957  type UpdateGraphicsConfigRequestType struct {
 79958  	This   ManagedObjectReference `xml:"_this" json:"-"`
 79959  	Config HostGraphicsConfig     `xml:"config" json:"config"`
 79960  }
 79961  
 79962  func init() {
 79963  	t["UpdateGraphicsConfigRequestType"] = reflect.TypeOf((*UpdateGraphicsConfigRequestType)(nil)).Elem()
 79964  }
 79965  
 79966  type UpdateGraphicsConfigResponse struct {
 79967  }
 79968  
 79969  type UpdateHostImageAcceptanceLevel UpdateHostImageAcceptanceLevelRequestType
 79970  
 79971  func init() {
 79972  	t["UpdateHostImageAcceptanceLevel"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevel)(nil)).Elem()
 79973  }
 79974  
 79975  // The parameters of `HostImageConfigManager.UpdateHostImageAcceptanceLevel`.
 79976  type UpdateHostImageAcceptanceLevelRequestType struct {
 79977  	This ManagedObjectReference `xml:"_this" json:"-"`
 79978  	// the new AcceptanceLevel to set.
 79979  	NewAcceptanceLevel string `xml:"newAcceptanceLevel" json:"newAcceptanceLevel"`
 79980  }
 79981  
 79982  func init() {
 79983  	t["UpdateHostImageAcceptanceLevelRequestType"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevelRequestType)(nil)).Elem()
 79984  }
 79985  
 79986  type UpdateHostImageAcceptanceLevelResponse struct {
 79987  }
 79988  
 79989  type UpdateHostProfile UpdateHostProfileRequestType
 79990  
 79991  func init() {
 79992  	t["UpdateHostProfile"] = reflect.TypeOf((*UpdateHostProfile)(nil)).Elem()
 79993  }
 79994  
 79995  // The parameters of `HostProfile.UpdateHostProfile`.
 79996  type UpdateHostProfileRequestType struct {
 79997  	This ManagedObjectReference `xml:"_this" json:"-"`
 79998  	// Specification containing the new data.
 79999  	Config BaseHostProfileConfigSpec `xml:"config,typeattr" json:"config"`
 80000  }
 80001  
 80002  func init() {
 80003  	t["UpdateHostProfileRequestType"] = reflect.TypeOf((*UpdateHostProfileRequestType)(nil)).Elem()
 80004  }
 80005  
 80006  type UpdateHostProfileResponse struct {
 80007  }
 80008  
 80009  type UpdateHostSpecification UpdateHostSpecificationRequestType
 80010  
 80011  func init() {
 80012  	t["UpdateHostSpecification"] = reflect.TypeOf((*UpdateHostSpecification)(nil)).Elem()
 80013  }
 80014  
 80015  // The parameters of `HostSpecificationManager.UpdateHostSpecification`.
 80016  type UpdateHostSpecificationRequestType struct {
 80017  	This ManagedObjectReference `xml:"_this" json:"-"`
 80018  	// The host whose specification will be updated.
 80019  	//
 80020  	// Refers instance of `HostSystem`.
 80021  	Host ManagedObjectReference `xml:"host" json:"host"`
 80022  	// The new host specification to be updated with.
 80023  	HostSpec HostSpecification `xml:"hostSpec" json:"hostSpec"`
 80024  }
 80025  
 80026  func init() {
 80027  	t["UpdateHostSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSpecificationRequestType)(nil)).Elem()
 80028  }
 80029  
 80030  type UpdateHostSpecificationResponse struct {
 80031  }
 80032  
 80033  type UpdateHostSubSpecification UpdateHostSubSpecificationRequestType
 80034  
 80035  func init() {
 80036  	t["UpdateHostSubSpecification"] = reflect.TypeOf((*UpdateHostSubSpecification)(nil)).Elem()
 80037  }
 80038  
 80039  // The parameters of `HostSpecificationManager.UpdateHostSubSpecification`.
 80040  type UpdateHostSubSpecificationRequestType struct {
 80041  	This ManagedObjectReference `xml:"_this" json:"-"`
 80042  	// The host whose specification will be updated.
 80043  	//
 80044  	// Refers instance of `HostSystem`.
 80045  	Host ManagedObjectReference `xml:"host" json:"host"`
 80046  	// The data object for the new host sub specification.
 80047  	HostSubSpec HostSubSpecification `xml:"hostSubSpec" json:"hostSubSpec"`
 80048  }
 80049  
 80050  func init() {
 80051  	t["UpdateHostSubSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSubSpecificationRequestType)(nil)).Elem()
 80052  }
 80053  
 80054  type UpdateHostSubSpecificationResponse struct {
 80055  }
 80056  
 80057  type UpdateHppMultipathLunPolicy UpdateHppMultipathLunPolicyRequestType
 80058  
 80059  func init() {
 80060  	t["UpdateHppMultipathLunPolicy"] = reflect.TypeOf((*UpdateHppMultipathLunPolicy)(nil)).Elem()
 80061  }
 80062  
 80063  // The parameters of `HostStorageSystem.UpdateHppMultipathLunPolicy`.
 80064  type UpdateHppMultipathLunPolicyRequestType struct {
 80065  	This ManagedObjectReference `xml:"_this" json:"-"`
 80066  	// The logical unit ID
 80067  	LunId string `xml:"lunId" json:"lunId"`
 80068  	// A data object that describes a path selection policy and
 80069  	// its configuration for the logical unit.
 80070  	Policy HostMultipathInfoHppLogicalUnitPolicy `xml:"policy" json:"policy"`
 80071  }
 80072  
 80073  func init() {
 80074  	t["UpdateHppMultipathLunPolicyRequestType"] = reflect.TypeOf((*UpdateHppMultipathLunPolicyRequestType)(nil)).Elem()
 80075  }
 80076  
 80077  type UpdateHppMultipathLunPolicyResponse struct {
 80078  }
 80079  
 80080  type UpdateInternetScsiAdvancedOptions UpdateInternetScsiAdvancedOptionsRequestType
 80081  
 80082  func init() {
 80083  	t["UpdateInternetScsiAdvancedOptions"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptions)(nil)).Elem()
 80084  }
 80085  
 80086  // The parameters of `HostStorageSystem.UpdateInternetScsiAdvancedOptions`.
 80087  type UpdateInternetScsiAdvancedOptionsRequestType struct {
 80088  	This ManagedObjectReference `xml:"_this" json:"-"`
 80089  	// The device of the Internet SCSI HBA adapter.
 80090  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 80091  	// The set the targets to configure. If not provided,
 80092  	// the settings will be applied to the host bus adapter itself.
 80093  	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
 80094  	// The list of options to set.
 80095  	Options []HostInternetScsiHbaParamValue `xml:"options" json:"options"`
 80096  }
 80097  
 80098  func init() {
 80099  	t["UpdateInternetScsiAdvancedOptionsRequestType"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptionsRequestType)(nil)).Elem()
 80100  }
 80101  
 80102  type UpdateInternetScsiAdvancedOptionsResponse struct {
 80103  }
 80104  
 80105  type UpdateInternetScsiAlias UpdateInternetScsiAliasRequestType
 80106  
 80107  func init() {
 80108  	t["UpdateInternetScsiAlias"] = reflect.TypeOf((*UpdateInternetScsiAlias)(nil)).Elem()
 80109  }
 80110  
 80111  // The parameters of `HostStorageSystem.UpdateInternetScsiAlias`.
 80112  type UpdateInternetScsiAliasRequestType struct {
 80113  	This ManagedObjectReference `xml:"_this" json:"-"`
 80114  	// The device of the Internet SCSI HBA adapter.
 80115  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 80116  	// The new value for the alias of the adapter.
 80117  	IScsiAlias string `xml:"iScsiAlias" json:"iScsiAlias"`
 80118  }
 80119  
 80120  func init() {
 80121  	t["UpdateInternetScsiAliasRequestType"] = reflect.TypeOf((*UpdateInternetScsiAliasRequestType)(nil)).Elem()
 80122  }
 80123  
 80124  type UpdateInternetScsiAliasResponse struct {
 80125  }
 80126  
 80127  type UpdateInternetScsiAuthenticationProperties UpdateInternetScsiAuthenticationPropertiesRequestType
 80128  
 80129  func init() {
 80130  	t["UpdateInternetScsiAuthenticationProperties"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationProperties)(nil)).Elem()
 80131  }
 80132  
 80133  // The parameters of `HostStorageSystem.UpdateInternetScsiAuthenticationProperties`.
 80134  type UpdateInternetScsiAuthenticationPropertiesRequestType struct {
 80135  	This ManagedObjectReference `xml:"_this" json:"-"`
 80136  	// The device of the Internet SCSI HBA adapter.
 80137  	// associated with the target.
 80138  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 80139  	// The data object that represents
 80140  	// the authentication settings to set.
 80141  	AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties" json:"authenticationProperties"`
 80142  	// The set the targets to configure. Optional,
 80143  	// when obmitted will configura the authentication properties
 80144  	// for the adapter instead.
 80145  	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
 80146  }
 80147  
 80148  func init() {
 80149  	t["UpdateInternetScsiAuthenticationPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationPropertiesRequestType)(nil)).Elem()
 80150  }
 80151  
 80152  type UpdateInternetScsiAuthenticationPropertiesResponse struct {
 80153  }
 80154  
 80155  type UpdateInternetScsiDigestProperties UpdateInternetScsiDigestPropertiesRequestType
 80156  
 80157  func init() {
 80158  	t["UpdateInternetScsiDigestProperties"] = reflect.TypeOf((*UpdateInternetScsiDigestProperties)(nil)).Elem()
 80159  }
 80160  
 80161  // The parameters of `HostStorageSystem.UpdateInternetScsiDigestProperties`.
 80162  type UpdateInternetScsiDigestPropertiesRequestType struct {
 80163  	This ManagedObjectReference `xml:"_this" json:"-"`
 80164  	// The device of the Internet SCSI HBA adapter.
 80165  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 80166  	// The set the targets to configure. If not provided,
 80167  	// the settings will be applied to the host bus adapter itself.
 80168  	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
 80169  	// The data object that represents the digest
 80170  	// settings to set.
 80171  	DigestProperties HostInternetScsiHbaDigestProperties `xml:"digestProperties" json:"digestProperties"`
 80172  }
 80173  
 80174  func init() {
 80175  	t["UpdateInternetScsiDigestPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDigestPropertiesRequestType)(nil)).Elem()
 80176  }
 80177  
 80178  type UpdateInternetScsiDigestPropertiesResponse struct {
 80179  }
 80180  
 80181  type UpdateInternetScsiDiscoveryProperties UpdateInternetScsiDiscoveryPropertiesRequestType
 80182  
 80183  func init() {
 80184  	t["UpdateInternetScsiDiscoveryProperties"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryProperties)(nil)).Elem()
 80185  }
 80186  
 80187  // The parameters of `HostStorageSystem.UpdateInternetScsiDiscoveryProperties`.
 80188  type UpdateInternetScsiDiscoveryPropertiesRequestType struct {
 80189  	This ManagedObjectReference `xml:"_this" json:"-"`
 80190  	// The device of the Internet SCSI HBA adapter.
 80191  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 80192  	// The discovery settings for this host bus adapter.
 80193  	DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties" json:"discoveryProperties"`
 80194  }
 80195  
 80196  func init() {
 80197  	t["UpdateInternetScsiDiscoveryPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryPropertiesRequestType)(nil)).Elem()
 80198  }
 80199  
 80200  type UpdateInternetScsiDiscoveryPropertiesResponse struct {
 80201  }
 80202  
 80203  type UpdateInternetScsiIPProperties UpdateInternetScsiIPPropertiesRequestType
 80204  
 80205  func init() {
 80206  	t["UpdateInternetScsiIPProperties"] = reflect.TypeOf((*UpdateInternetScsiIPProperties)(nil)).Elem()
 80207  }
 80208  
 80209  // The parameters of `HostStorageSystem.UpdateInternetScsiIPProperties`.
 80210  type UpdateInternetScsiIPPropertiesRequestType struct {
 80211  	This ManagedObjectReference `xml:"_this" json:"-"`
 80212  	// The device of the Internet SCSI HBA adapter.
 80213  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 80214  	// A data object representing the IP properties
 80215  	// for the host bus adapter
 80216  	IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties" json:"ipProperties"`
 80217  }
 80218  
 80219  func init() {
 80220  	t["UpdateInternetScsiIPPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiIPPropertiesRequestType)(nil)).Elem()
 80221  }
 80222  
 80223  type UpdateInternetScsiIPPropertiesResponse struct {
 80224  }
 80225  
 80226  type UpdateInternetScsiName UpdateInternetScsiNameRequestType
 80227  
 80228  func init() {
 80229  	t["UpdateInternetScsiName"] = reflect.TypeOf((*UpdateInternetScsiName)(nil)).Elem()
 80230  }
 80231  
 80232  // The parameters of `HostStorageSystem.UpdateInternetScsiName`.
 80233  type UpdateInternetScsiNameRequestType struct {
 80234  	This ManagedObjectReference `xml:"_this" json:"-"`
 80235  	// The current name of the Internet SCSI HBA adapter.
 80236  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 80237  	// The new name for the Internet SCSI HBA adapter
 80238  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 80239  }
 80240  
 80241  func init() {
 80242  	t["UpdateInternetScsiNameRequestType"] = reflect.TypeOf((*UpdateInternetScsiNameRequestType)(nil)).Elem()
 80243  }
 80244  
 80245  type UpdateInternetScsiNameResponse struct {
 80246  }
 80247  
 80248  type UpdateIpConfig UpdateIpConfigRequestType
 80249  
 80250  func init() {
 80251  	t["UpdateIpConfig"] = reflect.TypeOf((*UpdateIpConfig)(nil)).Elem()
 80252  }
 80253  
 80254  // The parameters of `HostVMotionSystem.UpdateIpConfig`.
 80255  type UpdateIpConfigRequestType struct {
 80256  	This     ManagedObjectReference `xml:"_this" json:"-"`
 80257  	IpConfig HostIpConfig           `xml:"ipConfig" json:"ipConfig"`
 80258  }
 80259  
 80260  func init() {
 80261  	t["UpdateIpConfigRequestType"] = reflect.TypeOf((*UpdateIpConfigRequestType)(nil)).Elem()
 80262  }
 80263  
 80264  type UpdateIpConfigResponse struct {
 80265  }
 80266  
 80267  type UpdateIpPool UpdateIpPoolRequestType
 80268  
 80269  func init() {
 80270  	t["UpdateIpPool"] = reflect.TypeOf((*UpdateIpPool)(nil)).Elem()
 80271  }
 80272  
 80273  // The parameters of `IpPoolManager.UpdateIpPool`.
 80274  type UpdateIpPoolRequestType struct {
 80275  	This ManagedObjectReference `xml:"_this" json:"-"`
 80276  	// The datacenter on which to look up the pool.
 80277  	//
 80278  	// Required privileges: Datacenter.IpPoolConfig
 80279  	//
 80280  	// Refers instance of `Datacenter`.
 80281  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 80282  	// The IP pool to update on the server
 80283  	Pool IpPool `xml:"pool" json:"pool"`
 80284  }
 80285  
 80286  func init() {
 80287  	t["UpdateIpPoolRequestType"] = reflect.TypeOf((*UpdateIpPoolRequestType)(nil)).Elem()
 80288  }
 80289  
 80290  type UpdateIpPoolResponse struct {
 80291  }
 80292  
 80293  type UpdateIpRouteConfig UpdateIpRouteConfigRequestType
 80294  
 80295  func init() {
 80296  	t["UpdateIpRouteConfig"] = reflect.TypeOf((*UpdateIpRouteConfig)(nil)).Elem()
 80297  }
 80298  
 80299  // The parameters of `HostNetworkSystem.UpdateIpRouteConfig`.
 80300  type UpdateIpRouteConfigRequestType struct {
 80301  	This   ManagedObjectReference `xml:"_this" json:"-"`
 80302  	Config BaseHostIpRouteConfig  `xml:"config,typeattr" json:"config"`
 80303  }
 80304  
 80305  func init() {
 80306  	t["UpdateIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteConfigRequestType)(nil)).Elem()
 80307  }
 80308  
 80309  type UpdateIpRouteConfigResponse struct {
 80310  }
 80311  
 80312  type UpdateIpRouteTableConfig UpdateIpRouteTableConfigRequestType
 80313  
 80314  func init() {
 80315  	t["UpdateIpRouteTableConfig"] = reflect.TypeOf((*UpdateIpRouteTableConfig)(nil)).Elem()
 80316  }
 80317  
 80318  // The parameters of `HostNetworkSystem.UpdateIpRouteTableConfig`.
 80319  type UpdateIpRouteTableConfigRequestType struct {
 80320  	This   ManagedObjectReference `xml:"_this" json:"-"`
 80321  	Config HostIpRouteTableConfig `xml:"config" json:"config"`
 80322  }
 80323  
 80324  func init() {
 80325  	t["UpdateIpRouteTableConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteTableConfigRequestType)(nil)).Elem()
 80326  }
 80327  
 80328  type UpdateIpRouteTableConfigResponse struct {
 80329  }
 80330  
 80331  type UpdateIpmi UpdateIpmiRequestType
 80332  
 80333  func init() {
 80334  	t["UpdateIpmi"] = reflect.TypeOf((*UpdateIpmi)(nil)).Elem()
 80335  }
 80336  
 80337  // The parameters of `HostSystem.UpdateIpmi`.
 80338  type UpdateIpmiRequestType struct {
 80339  	This     ManagedObjectReference `xml:"_this" json:"-"`
 80340  	IpmiInfo HostIpmiInfo           `xml:"ipmiInfo" json:"ipmiInfo"`
 80341  }
 80342  
 80343  func init() {
 80344  	t["UpdateIpmiRequestType"] = reflect.TypeOf((*UpdateIpmiRequestType)(nil)).Elem()
 80345  }
 80346  
 80347  type UpdateIpmiResponse struct {
 80348  }
 80349  
 80350  type UpdateKmipServer UpdateKmipServerRequestType
 80351  
 80352  func init() {
 80353  	t["UpdateKmipServer"] = reflect.TypeOf((*UpdateKmipServer)(nil)).Elem()
 80354  }
 80355  
 80356  // The parameters of `CryptoManagerKmip.UpdateKmipServer`.
 80357  type UpdateKmipServerRequestType struct {
 80358  	This ManagedObjectReference `xml:"_this" json:"-"`
 80359  	// \[in\] KMIP server connection information.
 80360  	// When update a KMIP server settings, changes to
 80361  	// `KmipServerSpec.defaultKeyType` and
 80362  	// `KmipServerSpecWrappingKeyIdKeySpec`
 80363  	// will apply to all servers.
 80364  	Server KmipServerSpec `xml:"server" json:"server"`
 80365  }
 80366  
 80367  func init() {
 80368  	t["UpdateKmipServerRequestType"] = reflect.TypeOf((*UpdateKmipServerRequestType)(nil)).Elem()
 80369  }
 80370  
 80371  type UpdateKmipServerResponse struct {
 80372  }
 80373  
 80374  type UpdateKmsSignedCsrClientCert UpdateKmsSignedCsrClientCertRequestType
 80375  
 80376  func init() {
 80377  	t["UpdateKmsSignedCsrClientCert"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCert)(nil)).Elem()
 80378  }
 80379  
 80380  // The parameters of `CryptoManagerKmip.UpdateKmsSignedCsrClientCert`.
 80381  type UpdateKmsSignedCsrClientCertRequestType struct {
 80382  	This ManagedObjectReference `xml:"_this" json:"-"`
 80383  	// \[in\] KMIP cluster.
 80384  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 80385  	// \[in\] Client certificate.
 80386  	Certificate string `xml:"certificate" json:"certificate"`
 80387  }
 80388  
 80389  func init() {
 80390  	t["UpdateKmsSignedCsrClientCertRequestType"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCertRequestType)(nil)).Elem()
 80391  }
 80392  
 80393  type UpdateKmsSignedCsrClientCertResponse struct {
 80394  }
 80395  
 80396  type UpdateLicense UpdateLicenseRequestType
 80397  
 80398  func init() {
 80399  	t["UpdateLicense"] = reflect.TypeOf((*UpdateLicense)(nil)).Elem()
 80400  }
 80401  
 80402  type UpdateLicenseLabel UpdateLicenseLabelRequestType
 80403  
 80404  func init() {
 80405  	t["UpdateLicenseLabel"] = reflect.TypeOf((*UpdateLicenseLabel)(nil)).Elem()
 80406  }
 80407  
 80408  // The parameters of `LicenseManager.UpdateLicenseLabel`.
 80409  type UpdateLicenseLabelRequestType struct {
 80410  	This ManagedObjectReference `xml:"_this" json:"-"`
 80411  	// A license.
 80412  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 80413  	// A label key.
 80414  	LabelKey string `xml:"labelKey" json:"labelKey"`
 80415  	// Value for the label.
 80416  	LabelValue string `xml:"labelValue" json:"labelValue"`
 80417  }
 80418  
 80419  func init() {
 80420  	t["UpdateLicenseLabelRequestType"] = reflect.TypeOf((*UpdateLicenseLabelRequestType)(nil)).Elem()
 80421  }
 80422  
 80423  type UpdateLicenseLabelResponse struct {
 80424  }
 80425  
 80426  // The parameters of `LicenseManager.UpdateLicense`.
 80427  type UpdateLicenseRequestType struct {
 80428  	This ManagedObjectReference `xml:"_this" json:"-"`
 80429  	// A license. E.g. a serial license.
 80430  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 80431  	// array of key-value labels.
 80432  	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
 80433  }
 80434  
 80435  func init() {
 80436  	t["UpdateLicenseRequestType"] = reflect.TypeOf((*UpdateLicenseRequestType)(nil)).Elem()
 80437  }
 80438  
 80439  type UpdateLicenseResponse struct {
 80440  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
 80441  }
 80442  
 80443  type UpdateLinkedChildren UpdateLinkedChildrenRequestType
 80444  
 80445  func init() {
 80446  	t["UpdateLinkedChildren"] = reflect.TypeOf((*UpdateLinkedChildren)(nil)).Elem()
 80447  }
 80448  
 80449  // The parameters of `VirtualApp.UpdateLinkedChildren`.
 80450  type UpdateLinkedChildrenRequestType struct {
 80451  	This ManagedObjectReference `xml:"_this" json:"-"`
 80452  	// a set of LinkInfo objects that either add a new link
 80453  	// or modify an exisiting link.
 80454  	AddChangeSet []VirtualAppLinkInfo `xml:"addChangeSet,omitempty" json:"addChangeSet,omitempty"`
 80455  	// a set of entities that should no longer link to this vApp.
 80456  	//
 80457  	// Refers instances of `ManagedEntity`.
 80458  	RemoveSet []ManagedObjectReference `xml:"removeSet,omitempty" json:"removeSet,omitempty"`
 80459  }
 80460  
 80461  func init() {
 80462  	t["UpdateLinkedChildrenRequestType"] = reflect.TypeOf((*UpdateLinkedChildrenRequestType)(nil)).Elem()
 80463  }
 80464  
 80465  type UpdateLinkedChildrenResponse struct {
 80466  }
 80467  
 80468  type UpdateLocalSwapDatastore UpdateLocalSwapDatastoreRequestType
 80469  
 80470  func init() {
 80471  	t["UpdateLocalSwapDatastore"] = reflect.TypeOf((*UpdateLocalSwapDatastore)(nil)).Elem()
 80472  }
 80473  
 80474  // The parameters of `HostDatastoreSystem.UpdateLocalSwapDatastore`.
 80475  type UpdateLocalSwapDatastoreRequestType struct {
 80476  	This ManagedObjectReference `xml:"_this" json:"-"`
 80477  	// The selected datastore. If this argument is unset, then
 80478  	// the `localSwapDatastore`
 80479  	// property becomes unset. Otherwise, the host must have read/write
 80480  	// access to the indicated datastore.
 80481  	//
 80482  	// Refers instance of `Datastore`.
 80483  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 80484  }
 80485  
 80486  func init() {
 80487  	t["UpdateLocalSwapDatastoreRequestType"] = reflect.TypeOf((*UpdateLocalSwapDatastoreRequestType)(nil)).Elem()
 80488  }
 80489  
 80490  type UpdateLocalSwapDatastoreResponse struct {
 80491  }
 80492  
 80493  type UpdateLockdownExceptions UpdateLockdownExceptionsRequestType
 80494  
 80495  func init() {
 80496  	t["UpdateLockdownExceptions"] = reflect.TypeOf((*UpdateLockdownExceptions)(nil)).Elem()
 80497  }
 80498  
 80499  // The parameters of `HostAccessManager.UpdateLockdownExceptions`.
 80500  type UpdateLockdownExceptionsRequestType struct {
 80501  	This ManagedObjectReference `xml:"_this" json:"-"`
 80502  	// the new list of lockdown mode exceptions.
 80503  	Users []string `xml:"users,omitempty" json:"users,omitempty"`
 80504  }
 80505  
 80506  func init() {
 80507  	t["UpdateLockdownExceptionsRequestType"] = reflect.TypeOf((*UpdateLockdownExceptionsRequestType)(nil)).Elem()
 80508  }
 80509  
 80510  type UpdateLockdownExceptionsResponse struct {
 80511  }
 80512  
 80513  type UpdateModuleOptionString UpdateModuleOptionStringRequestType
 80514  
 80515  func init() {
 80516  	t["UpdateModuleOptionString"] = reflect.TypeOf((*UpdateModuleOptionString)(nil)).Elem()
 80517  }
 80518  
 80519  // The parameters of `HostKernelModuleSystem.UpdateModuleOptionString`.
 80520  type UpdateModuleOptionStringRequestType struct {
 80521  	This ManagedObjectReference `xml:"_this" json:"-"`
 80522  	// Module name.
 80523  	Name string `xml:"name" json:"name"`
 80524  	// Option string to be passed to the kernel module at
 80525  	// load time.
 80526  	Options string `xml:"options" json:"options"`
 80527  }
 80528  
 80529  func init() {
 80530  	t["UpdateModuleOptionStringRequestType"] = reflect.TypeOf((*UpdateModuleOptionStringRequestType)(nil)).Elem()
 80531  }
 80532  
 80533  type UpdateModuleOptionStringResponse struct {
 80534  }
 80535  
 80536  type UpdateNetworkConfig UpdateNetworkConfigRequestType
 80537  
 80538  func init() {
 80539  	t["UpdateNetworkConfig"] = reflect.TypeOf((*UpdateNetworkConfig)(nil)).Elem()
 80540  }
 80541  
 80542  // The parameters of `HostNetworkSystem.UpdateNetworkConfig`.
 80543  type UpdateNetworkConfigRequestType struct {
 80544  	This       ManagedObjectReference `xml:"_this" json:"-"`
 80545  	Config     HostNetworkConfig      `xml:"config" json:"config"`
 80546  	ChangeMode string                 `xml:"changeMode" json:"changeMode"`
 80547  }
 80548  
 80549  func init() {
 80550  	t["UpdateNetworkConfigRequestType"] = reflect.TypeOf((*UpdateNetworkConfigRequestType)(nil)).Elem()
 80551  }
 80552  
 80553  type UpdateNetworkConfigResponse struct {
 80554  	Returnval HostNetworkConfigResult `xml:"returnval" json:"returnval"`
 80555  }
 80556  
 80557  type UpdateNetworkResourcePool UpdateNetworkResourcePoolRequestType
 80558  
 80559  func init() {
 80560  	t["UpdateNetworkResourcePool"] = reflect.TypeOf((*UpdateNetworkResourcePool)(nil)).Elem()
 80561  }
 80562  
 80563  // The parameters of `DistributedVirtualSwitch.UpdateNetworkResourcePool`.
 80564  type UpdateNetworkResourcePoolRequestType struct {
 80565  	This ManagedObjectReference `xml:"_this" json:"-"`
 80566  	// The network resource pool configuration specification.
 80567  	ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
 80568  }
 80569  
 80570  func init() {
 80571  	t["UpdateNetworkResourcePoolRequestType"] = reflect.TypeOf((*UpdateNetworkResourcePoolRequestType)(nil)).Elem()
 80572  }
 80573  
 80574  type UpdateNetworkResourcePoolResponse struct {
 80575  }
 80576  
 80577  type UpdateOptions UpdateOptionsRequestType
 80578  
 80579  func init() {
 80580  	t["UpdateOptions"] = reflect.TypeOf((*UpdateOptions)(nil)).Elem()
 80581  }
 80582  
 80583  // The parameters of `OptionManager.UpdateOptions`.
 80584  type UpdateOptionsRequestType struct {
 80585  	This         ManagedObjectReference `xml:"_this" json:"-"`
 80586  	ChangedValue []BaseOptionValue      `xml:"changedValue,typeattr" json:"changedValue"`
 80587  }
 80588  
 80589  func init() {
 80590  	t["UpdateOptionsRequestType"] = reflect.TypeOf((*UpdateOptionsRequestType)(nil)).Elem()
 80591  }
 80592  
 80593  type UpdateOptionsResponse struct {
 80594  }
 80595  
 80596  type UpdatePassthruConfig UpdatePassthruConfigRequestType
 80597  
 80598  func init() {
 80599  	t["UpdatePassthruConfig"] = reflect.TypeOf((*UpdatePassthruConfig)(nil)).Elem()
 80600  }
 80601  
 80602  // The parameters of `HostPciPassthruSystem.UpdatePassthruConfig`.
 80603  type UpdatePassthruConfigRequestType struct {
 80604  	This ManagedObjectReference `xml:"_this" json:"-"`
 80605  	// The new PciPassthru configuration information.
 80606  	Config []BaseHostPciPassthruConfig `xml:"config,typeattr" json:"config"`
 80607  }
 80608  
 80609  func init() {
 80610  	t["UpdatePassthruConfigRequestType"] = reflect.TypeOf((*UpdatePassthruConfigRequestType)(nil)).Elem()
 80611  }
 80612  
 80613  type UpdatePassthruConfigResponse struct {
 80614  }
 80615  
 80616  type UpdatePerfInterval UpdatePerfIntervalRequestType
 80617  
 80618  func init() {
 80619  	t["UpdatePerfInterval"] = reflect.TypeOf((*UpdatePerfInterval)(nil)).Elem()
 80620  }
 80621  
 80622  // The parameters of `PerformanceManager.UpdatePerfInterval`.
 80623  type UpdatePerfIntervalRequestType struct {
 80624  	This ManagedObjectReference `xml:"_this" json:"-"`
 80625  	// The *historical interval* being modified, a
 80626  	// complete data object comprising values for `PerfInterval.enabled`, *interval ID*,
 80627  	// `PerfInterval.length` of time to maintain statistics for this
 80628  	// interval in the database, `PerfInterval.level`, `PerfInterval.name`, and `PerfInterval.samplingPeriod`
 80629  	// properties.
 80630  	Interval PerfInterval `xml:"interval" json:"interval"`
 80631  }
 80632  
 80633  func init() {
 80634  	t["UpdatePerfIntervalRequestType"] = reflect.TypeOf((*UpdatePerfIntervalRequestType)(nil)).Elem()
 80635  }
 80636  
 80637  type UpdatePerfIntervalResponse struct {
 80638  }
 80639  
 80640  type UpdatePhysicalNicLinkSpeed UpdatePhysicalNicLinkSpeedRequestType
 80641  
 80642  func init() {
 80643  	t["UpdatePhysicalNicLinkSpeed"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeed)(nil)).Elem()
 80644  }
 80645  
 80646  // The parameters of `HostNetworkSystem.UpdatePhysicalNicLinkSpeed`.
 80647  type UpdatePhysicalNicLinkSpeedRequestType struct {
 80648  	This      ManagedObjectReference `xml:"_this" json:"-"`
 80649  	Device    string                 `xml:"device" json:"device"`
 80650  	LinkSpeed *PhysicalNicLinkInfo   `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
 80651  }
 80652  
 80653  func init() {
 80654  	t["UpdatePhysicalNicLinkSpeedRequestType"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeedRequestType)(nil)).Elem()
 80655  }
 80656  
 80657  type UpdatePhysicalNicLinkSpeedResponse struct {
 80658  }
 80659  
 80660  type UpdatePortGroup UpdatePortGroupRequestType
 80661  
 80662  func init() {
 80663  	t["UpdatePortGroup"] = reflect.TypeOf((*UpdatePortGroup)(nil)).Elem()
 80664  }
 80665  
 80666  // The parameters of `HostNetworkSystem.UpdatePortGroup`.
 80667  type UpdatePortGroupRequestType struct {
 80668  	This    ManagedObjectReference `xml:"_this" json:"-"`
 80669  	PgName  string                 `xml:"pgName" json:"pgName"`
 80670  	Portgrp HostPortGroupSpec      `xml:"portgrp" json:"portgrp"`
 80671  }
 80672  
 80673  func init() {
 80674  	t["UpdatePortGroupRequestType"] = reflect.TypeOf((*UpdatePortGroupRequestType)(nil)).Elem()
 80675  }
 80676  
 80677  type UpdatePortGroupResponse struct {
 80678  }
 80679  
 80680  // The parameters of `HostSystem.UpdateProductLockerLocation_Task`.
 80681  type UpdateProductLockerLocationRequestType struct {
 80682  	This ManagedObjectReference `xml:"_this" json:"-"`
 80683  	// The absolute path for the VMware Tools repository
 80684  	// on the host. It should have "/vmfs/volumes/" prefix and
 80685  	// it should be a valid existing path, or it could be
 80686  	// empty to restore to default value.
 80687  	Path string `xml:"path" json:"path"`
 80688  }
 80689  
 80690  func init() {
 80691  	t["UpdateProductLockerLocationRequestType"] = reflect.TypeOf((*UpdateProductLockerLocationRequestType)(nil)).Elem()
 80692  }
 80693  
 80694  type UpdateProductLockerLocation_Task UpdateProductLockerLocationRequestType
 80695  
 80696  func init() {
 80697  	t["UpdateProductLockerLocation_Task"] = reflect.TypeOf((*UpdateProductLockerLocation_Task)(nil)).Elem()
 80698  }
 80699  
 80700  type UpdateProductLockerLocation_TaskResponse struct {
 80701  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 80702  }
 80703  
 80704  type UpdateProgress UpdateProgressRequestType
 80705  
 80706  func init() {
 80707  	t["UpdateProgress"] = reflect.TypeOf((*UpdateProgress)(nil)).Elem()
 80708  }
 80709  
 80710  // The parameters of `Task.UpdateProgress`.
 80711  type UpdateProgressRequestType struct {
 80712  	This ManagedObjectReference `xml:"_this" json:"-"`
 80713  	// Percentage to set for this task
 80714  	PercentDone int32 `xml:"percentDone" json:"percentDone"`
 80715  }
 80716  
 80717  func init() {
 80718  	t["UpdateProgressRequestType"] = reflect.TypeOf((*UpdateProgressRequestType)(nil)).Elem()
 80719  }
 80720  
 80721  type UpdateProgressResponse struct {
 80722  }
 80723  
 80724  type UpdateReferenceHost UpdateReferenceHostRequestType
 80725  
 80726  func init() {
 80727  	t["UpdateReferenceHost"] = reflect.TypeOf((*UpdateReferenceHost)(nil)).Elem()
 80728  }
 80729  
 80730  // The parameters of `HostProfile.UpdateReferenceHost`.
 80731  type UpdateReferenceHostRequestType struct {
 80732  	This ManagedObjectReference `xml:"_this" json:"-"`
 80733  	// Reference host to use. If unset, the `HostProfile.referenceHost`
 80734  	// property is cleared.
 80735  	//
 80736  	// Refers instance of `HostSystem`.
 80737  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 80738  }
 80739  
 80740  func init() {
 80741  	t["UpdateReferenceHostRequestType"] = reflect.TypeOf((*UpdateReferenceHostRequestType)(nil)).Elem()
 80742  }
 80743  
 80744  type UpdateReferenceHostResponse struct {
 80745  }
 80746  
 80747  type UpdateRuleset UpdateRulesetRequestType
 80748  
 80749  func init() {
 80750  	t["UpdateRuleset"] = reflect.TypeOf((*UpdateRuleset)(nil)).Elem()
 80751  }
 80752  
 80753  // The parameters of `HostFirewallSystem.UpdateRuleset`.
 80754  type UpdateRulesetRequestType struct {
 80755  	This ManagedObjectReference         `xml:"_this" json:"-"`
 80756  	Id   string                         `xml:"id" json:"id"`
 80757  	Spec HostFirewallRulesetRulesetSpec `xml:"spec" json:"spec"`
 80758  }
 80759  
 80760  func init() {
 80761  	t["UpdateRulesetRequestType"] = reflect.TypeOf((*UpdateRulesetRequestType)(nil)).Elem()
 80762  }
 80763  
 80764  type UpdateRulesetResponse struct {
 80765  }
 80766  
 80767  type UpdateScsiLunDisplayName UpdateScsiLunDisplayNameRequestType
 80768  
 80769  func init() {
 80770  	t["UpdateScsiLunDisplayName"] = reflect.TypeOf((*UpdateScsiLunDisplayName)(nil)).Elem()
 80771  }
 80772  
 80773  // The parameters of `HostStorageSystem.UpdateScsiLunDisplayName`.
 80774  type UpdateScsiLunDisplayNameRequestType struct {
 80775  	This ManagedObjectReference `xml:"_this" json:"-"`
 80776  	// The uuid of the ScsiLun to update.
 80777  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 80778  	// The new name to assign to the ScsiLun object.
 80779  	DisplayName string `xml:"displayName" json:"displayName"`
 80780  }
 80781  
 80782  func init() {
 80783  	t["UpdateScsiLunDisplayNameRequestType"] = reflect.TypeOf((*UpdateScsiLunDisplayNameRequestType)(nil)).Elem()
 80784  }
 80785  
 80786  type UpdateScsiLunDisplayNameResponse struct {
 80787  }
 80788  
 80789  type UpdateSelfSignedClientCert UpdateSelfSignedClientCertRequestType
 80790  
 80791  func init() {
 80792  	t["UpdateSelfSignedClientCert"] = reflect.TypeOf((*UpdateSelfSignedClientCert)(nil)).Elem()
 80793  }
 80794  
 80795  // The parameters of `CryptoManagerKmip.UpdateSelfSignedClientCert`.
 80796  type UpdateSelfSignedClientCertRequestType struct {
 80797  	This ManagedObjectReference `xml:"_this" json:"-"`
 80798  	// \[in\] KMIP cluster.
 80799  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 80800  	// \[in\] Client certificate.
 80801  	Certificate string `xml:"certificate" json:"certificate"`
 80802  }
 80803  
 80804  func init() {
 80805  	t["UpdateSelfSignedClientCertRequestType"] = reflect.TypeOf((*UpdateSelfSignedClientCertRequestType)(nil)).Elem()
 80806  }
 80807  
 80808  type UpdateSelfSignedClientCertResponse struct {
 80809  }
 80810  
 80811  type UpdateServiceConsoleVirtualNic UpdateServiceConsoleVirtualNicRequestType
 80812  
 80813  func init() {
 80814  	t["UpdateServiceConsoleVirtualNic"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNic)(nil)).Elem()
 80815  }
 80816  
 80817  // The parameters of `HostNetworkSystem.UpdateServiceConsoleVirtualNic`.
 80818  type UpdateServiceConsoleVirtualNicRequestType struct {
 80819  	This   ManagedObjectReference `xml:"_this" json:"-"`
 80820  	Device string                 `xml:"device" json:"device"`
 80821  	Nic    HostVirtualNicSpec     `xml:"nic" json:"nic"`
 80822  }
 80823  
 80824  func init() {
 80825  	t["UpdateServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNicRequestType)(nil)).Elem()
 80826  }
 80827  
 80828  type UpdateServiceConsoleVirtualNicResponse struct {
 80829  }
 80830  
 80831  type UpdateServiceMessage UpdateServiceMessageRequestType
 80832  
 80833  func init() {
 80834  	t["UpdateServiceMessage"] = reflect.TypeOf((*UpdateServiceMessage)(nil)).Elem()
 80835  }
 80836  
 80837  // The parameters of `SessionManager.UpdateServiceMessage`.
 80838  type UpdateServiceMessageRequestType struct {
 80839  	This ManagedObjectReference `xml:"_this" json:"-"`
 80840  	// The message to send. Newline characters may be included.
 80841  	Message string `xml:"message" json:"message"`
 80842  }
 80843  
 80844  func init() {
 80845  	t["UpdateServiceMessageRequestType"] = reflect.TypeOf((*UpdateServiceMessageRequestType)(nil)).Elem()
 80846  }
 80847  
 80848  type UpdateServiceMessageResponse struct {
 80849  }
 80850  
 80851  type UpdateServicePolicy UpdateServicePolicyRequestType
 80852  
 80853  func init() {
 80854  	t["UpdateServicePolicy"] = reflect.TypeOf((*UpdateServicePolicy)(nil)).Elem()
 80855  }
 80856  
 80857  // The parameters of `HostServiceSystem.UpdateServicePolicy`.
 80858  type UpdateServicePolicyRequestType struct {
 80859  	This ManagedObjectReference `xml:"_this" json:"-"`
 80860  	// Service identifier
 80861  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 80862  	Id string `xml:"id" json:"id"`
 80863  	// Specifies the condition for service activation.
 80864  	// Use one of the `HostServicePolicy_enum` values.
 80865  	Policy string `xml:"policy" json:"policy"`
 80866  }
 80867  
 80868  func init() {
 80869  	t["UpdateServicePolicyRequestType"] = reflect.TypeOf((*UpdateServicePolicyRequestType)(nil)).Elem()
 80870  }
 80871  
 80872  type UpdateServicePolicyResponse struct {
 80873  }
 80874  
 80875  // A set of updates that represent the changes since a prior call to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx`.
 80876  type UpdateSet struct {
 80877  	DynamicData
 80878  
 80879  	// New data version to pass in the next call to `PropertyCollector.CheckForUpdates`,
 80880  	// `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx`.
 80881  	//
 80882  	// These versions,
 80883  	// although they are opaque, are strongly ordered in the sense that passing
 80884  	// a version to `PropertyCollector.WaitForUpdates`, `PropertyCollector.CheckForUpdates` or
 80885  	// `PropertyCollector.WaitForUpdatesEx` requests updates that reflect changes in the
 80886  	// objects selected by the Filter that happened after the specified version.
 80887  	Version string `xml:"version" json:"version"`
 80888  	// Set of managed object updates detected by specific filters.
 80889  	//
 80890  	// Updates
 80891  	// are reported in sets. Each set is associated with a reference to a
 80892  	// filter that detected the updates in the set.
 80893  	FilterSet []PropertyFilterUpdate `xml:"filterSet,omitempty" json:"filterSet,omitempty"`
 80894  	// If true, this `UpdateSet` contains results
 80895  	// from a suspended change calculation, which places restrictions on the
 80896  	// use of version.
 80897  	//
 80898  	// The `PropertyCollector` may suspend a calculation due to server
 80899  	// policy or if the total number of `ObjectUpdate` entries summed across every `PropertyFilterUpdate` reached the maximum specified in
 80900  	// `WaitOptions.maxObjectUpdates`. The client
 80901  	// can pass the "truncated data version" to `PropertyCollector.WaitForUpdatesEx` to
 80902  	// resume the update calculation, which will start on the filter where it
 80903  	// left off. A truncated data version cannot be used more than once and
 80904  	// may not be passed to `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`. `UpdateSet.truncated` will
 80905  	// never be true in an `UpdateSet` returned from
 80906  	// `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`.
 80907  	//
 80908  	// If false, this `UpdateSet` contains a
 80909  	// complete change calculation or the last part of a series of suspended
 80910  	// change calculations. The version may be passed to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx` more than once. Re-using a version allows a client
 80911  	// to recover a change sequence after a transient failure on a previous
 80912  	// call.
 80913  	Truncated *bool `xml:"truncated" json:"truncated,omitempty"`
 80914  }
 80915  
 80916  func init() {
 80917  	t["UpdateSet"] = reflect.TypeOf((*UpdateSet)(nil)).Elem()
 80918  }
 80919  
 80920  type UpdateSoftwareInternetScsiEnabled UpdateSoftwareInternetScsiEnabledRequestType
 80921  
 80922  func init() {
 80923  	t["UpdateSoftwareInternetScsiEnabled"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabled)(nil)).Elem()
 80924  }
 80925  
 80926  // The parameters of `HostStorageSystem.UpdateSoftwareInternetScsiEnabled`.
 80927  type UpdateSoftwareInternetScsiEnabledRequestType struct {
 80928  	This ManagedObjectReference `xml:"_this" json:"-"`
 80929  	// True to enable the iSCSI; false to disable it
 80930  	Enabled bool `xml:"enabled" json:"enabled"`
 80931  }
 80932  
 80933  func init() {
 80934  	t["UpdateSoftwareInternetScsiEnabledRequestType"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabledRequestType)(nil)).Elem()
 80935  }
 80936  
 80937  type UpdateSoftwareInternetScsiEnabledResponse struct {
 80938  }
 80939  
 80940  type UpdateSystemResources UpdateSystemResourcesRequestType
 80941  
 80942  func init() {
 80943  	t["UpdateSystemResources"] = reflect.TypeOf((*UpdateSystemResources)(nil)).Elem()
 80944  }
 80945  
 80946  // The parameters of `HostSystem.UpdateSystemResources`.
 80947  type UpdateSystemResourcesRequestType struct {
 80948  	This         ManagedObjectReference `xml:"_this" json:"-"`
 80949  	ResourceInfo HostSystemResourceInfo `xml:"resourceInfo" json:"resourceInfo"`
 80950  }
 80951  
 80952  func init() {
 80953  	t["UpdateSystemResourcesRequestType"] = reflect.TypeOf((*UpdateSystemResourcesRequestType)(nil)).Elem()
 80954  }
 80955  
 80956  type UpdateSystemResourcesResponse struct {
 80957  }
 80958  
 80959  type UpdateSystemSwapConfiguration UpdateSystemSwapConfigurationRequestType
 80960  
 80961  func init() {
 80962  	t["UpdateSystemSwapConfiguration"] = reflect.TypeOf((*UpdateSystemSwapConfiguration)(nil)).Elem()
 80963  }
 80964  
 80965  // The parameters of `HostSystem.UpdateSystemSwapConfiguration`.
 80966  type UpdateSystemSwapConfigurationRequestType struct {
 80967  	This ManagedObjectReference `xml:"_this" json:"-"`
 80968  	// Contains a list of system swap options that
 80969  	// configure the system swap functionality.
 80970  	SysSwapConfig HostSystemSwapConfiguration `xml:"sysSwapConfig" json:"sysSwapConfig"`
 80971  }
 80972  
 80973  func init() {
 80974  	t["UpdateSystemSwapConfigurationRequestType"] = reflect.TypeOf((*UpdateSystemSwapConfigurationRequestType)(nil)).Elem()
 80975  }
 80976  
 80977  type UpdateSystemSwapConfigurationResponse struct {
 80978  }
 80979  
 80980  type UpdateSystemUsers UpdateSystemUsersRequestType
 80981  
 80982  func init() {
 80983  	t["UpdateSystemUsers"] = reflect.TypeOf((*UpdateSystemUsers)(nil)).Elem()
 80984  }
 80985  
 80986  // The parameters of `HostAccessManager.UpdateSystemUsers`.
 80987  type UpdateSystemUsersRequestType struct {
 80988  	This ManagedObjectReference `xml:"_this" json:"-"`
 80989  	// the new list of local system users.
 80990  	Users []string `xml:"users,omitempty" json:"users,omitempty"`
 80991  }
 80992  
 80993  func init() {
 80994  	t["UpdateSystemUsersRequestType"] = reflect.TypeOf((*UpdateSystemUsersRequestType)(nil)).Elem()
 80995  }
 80996  
 80997  type UpdateSystemUsersResponse struct {
 80998  }
 80999  
 81000  type UpdateUser UpdateUserRequestType
 81001  
 81002  func init() {
 81003  	t["UpdateUser"] = reflect.TypeOf((*UpdateUser)(nil)).Elem()
 81004  }
 81005  
 81006  // The parameters of `HostLocalAccountManager.UpdateUser`.
 81007  type UpdateUserRequestType struct {
 81008  	This ManagedObjectReference `xml:"_this" json:"-"`
 81009  	// Specification of user being updated.
 81010  	User BaseHostAccountSpec `xml:"user,typeattr" json:"user"`
 81011  }
 81012  
 81013  func init() {
 81014  	t["UpdateUserRequestType"] = reflect.TypeOf((*UpdateUserRequestType)(nil)).Elem()
 81015  }
 81016  
 81017  type UpdateUserResponse struct {
 81018  }
 81019  
 81020  type UpdateVAppConfig UpdateVAppConfigRequestType
 81021  
 81022  func init() {
 81023  	t["UpdateVAppConfig"] = reflect.TypeOf((*UpdateVAppConfig)(nil)).Elem()
 81024  }
 81025  
 81026  // The parameters of `VirtualApp.UpdateVAppConfig`.
 81027  type UpdateVAppConfigRequestType struct {
 81028  	This ManagedObjectReference `xml:"_this" json:"-"`
 81029  	// contains the updates to the current configuration. Any set element,
 81030  	// is changed. All values in the spec that is left unset, will not be
 81031  	// modified.
 81032  	Spec VAppConfigSpec `xml:"spec" json:"spec"`
 81033  }
 81034  
 81035  func init() {
 81036  	t["UpdateVAppConfigRequestType"] = reflect.TypeOf((*UpdateVAppConfigRequestType)(nil)).Elem()
 81037  }
 81038  
 81039  type UpdateVAppConfigResponse struct {
 81040  }
 81041  
 81042  // The parameters of `VcenterVStorageObjectManager.UpdateVStorageInfrastructureObjectPolicy_Task`.
 81043  type UpdateVStorageInfrastructureObjectPolicyRequestType struct {
 81044  	This ManagedObjectReference `xml:"_this" json:"-"`
 81045  	// specification to assign a SPBM policy to virtual storage
 81046  	// infrastructure object.
 81047  	Spec VslmInfrastructureObjectPolicySpec `xml:"spec" json:"spec"`
 81048  }
 81049  
 81050  func init() {
 81051  	t["UpdateVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*UpdateVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem()
 81052  }
 81053  
 81054  type UpdateVStorageInfrastructureObjectPolicy_Task UpdateVStorageInfrastructureObjectPolicyRequestType
 81055  
 81056  func init() {
 81057  	t["UpdateVStorageInfrastructureObjectPolicy_Task"] = reflect.TypeOf((*UpdateVStorageInfrastructureObjectPolicy_Task)(nil)).Elem()
 81058  }
 81059  
 81060  type UpdateVStorageInfrastructureObjectPolicy_TaskResponse struct {
 81061  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81062  }
 81063  
 81064  // The parameters of `VcenterVStorageObjectManager.UpdateVStorageObjectCrypto_Task`.
 81065  type UpdateVStorageObjectCryptoRequestType struct {
 81066  	This ManagedObjectReference `xml:"_this" json:"-"`
 81067  	// The ID of the virtual storage object.
 81068  	Id ID `xml:"id" json:"id"`
 81069  	// The datastore where the virtual storage object is
 81070  	// located.
 81071  	//
 81072  	// Refers instance of `Datastore`.
 81073  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 81074  	// New profile requirement on the virtual storage object.
 81075  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 81076  	// The crypto information of each disk on the chain.
 81077  	DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto,omitempty"`
 81078  }
 81079  
 81080  func init() {
 81081  	t["UpdateVStorageObjectCryptoRequestType"] = reflect.TypeOf((*UpdateVStorageObjectCryptoRequestType)(nil)).Elem()
 81082  }
 81083  
 81084  type UpdateVStorageObjectCrypto_Task UpdateVStorageObjectCryptoRequestType
 81085  
 81086  func init() {
 81087  	t["UpdateVStorageObjectCrypto_Task"] = reflect.TypeOf((*UpdateVStorageObjectCrypto_Task)(nil)).Elem()
 81088  }
 81089  
 81090  type UpdateVStorageObjectCrypto_TaskResponse struct {
 81091  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81092  }
 81093  
 81094  // The parameters of `VcenterVStorageObjectManager.UpdateVStorageObjectPolicy_Task`.
 81095  type UpdateVStorageObjectPolicyRequestType struct {
 81096  	This ManagedObjectReference `xml:"_this" json:"-"`
 81097  	// The ID of the virtual storage object.
 81098  	Id ID `xml:"id" json:"id"`
 81099  	// The datastore where the virtual storage object is
 81100  	// located.
 81101  	//
 81102  	// Refers instance of `Datastore`.
 81103  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 81104  	// New profile requirement on the virtual storage object.
 81105  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 81106  }
 81107  
 81108  func init() {
 81109  	t["UpdateVStorageObjectPolicyRequestType"] = reflect.TypeOf((*UpdateVStorageObjectPolicyRequestType)(nil)).Elem()
 81110  }
 81111  
 81112  type UpdateVStorageObjectPolicy_Task UpdateVStorageObjectPolicyRequestType
 81113  
 81114  func init() {
 81115  	t["UpdateVStorageObjectPolicy_Task"] = reflect.TypeOf((*UpdateVStorageObjectPolicy_Task)(nil)).Elem()
 81116  }
 81117  
 81118  type UpdateVStorageObjectPolicy_TaskResponse struct {
 81119  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81120  }
 81121  
 81122  // The parameters of `Datastore.UpdateVVolVirtualMachineFiles_Task`.
 81123  type UpdateVVolVirtualMachineFilesRequestType struct {
 81124  	This ManagedObjectReference `xml:"_this" json:"-"`
 81125  	// Mapping of source to target storage container
 81126  	// as well as source to target VVol IDs.
 81127  	FailoverPair []DatastoreVVolContainerFailoverPair `xml:"failoverPair,omitempty" json:"failoverPair,omitempty"`
 81128  }
 81129  
 81130  func init() {
 81131  	t["UpdateVVolVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVVolVirtualMachineFilesRequestType)(nil)).Elem()
 81132  }
 81133  
 81134  type UpdateVVolVirtualMachineFiles_Task UpdateVVolVirtualMachineFilesRequestType
 81135  
 81136  func init() {
 81137  	t["UpdateVVolVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVVolVirtualMachineFiles_Task)(nil)).Elem()
 81138  }
 81139  
 81140  type UpdateVVolVirtualMachineFiles_TaskResponse struct {
 81141  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81142  }
 81143  
 81144  // The parameters of `Datastore.UpdateVirtualMachineFiles_Task`.
 81145  type UpdateVirtualMachineFilesRequestType struct {
 81146  	This ManagedObjectReference `xml:"_this" json:"-"`
 81147  	// Old mount path to datastore mapping.
 81148  	MountPathDatastoreMapping []DatastoreMountPathDatastorePair `xml:"mountPathDatastoreMapping" json:"mountPathDatastoreMapping"`
 81149  }
 81150  
 81151  func init() {
 81152  	t["UpdateVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVirtualMachineFilesRequestType)(nil)).Elem()
 81153  }
 81154  
 81155  // UpdateVirtualMachineFilesResult is the result returned
 81156  // to the `Datastore.UpdateVirtualMachineFiles_Task` method.
 81157  type UpdateVirtualMachineFilesResult struct {
 81158  	DynamicData
 81159  
 81160  	// The list of virtual machines files the server has attempted
 81161  	// to update but failed to update.
 81162  	FailedVmFile []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"failedVmFile,omitempty" json:"failedVmFile,omitempty"`
 81163  }
 81164  
 81165  func init() {
 81166  	t["UpdateVirtualMachineFilesResult"] = reflect.TypeOf((*UpdateVirtualMachineFilesResult)(nil)).Elem()
 81167  }
 81168  
 81169  type UpdateVirtualMachineFilesResultFailedVmFileInfo struct {
 81170  	DynamicData
 81171  
 81172  	// The file path
 81173  	VmFile string `xml:"vmFile" json:"vmFile"`
 81174  	// The reason why the update failed.
 81175  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 81176  }
 81177  
 81178  func init() {
 81179  	t["UpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*UpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem()
 81180  }
 81181  
 81182  type UpdateVirtualMachineFiles_Task UpdateVirtualMachineFilesRequestType
 81183  
 81184  func init() {
 81185  	t["UpdateVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVirtualMachineFiles_Task)(nil)).Elem()
 81186  }
 81187  
 81188  type UpdateVirtualMachineFiles_TaskResponse struct {
 81189  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81190  }
 81191  
 81192  type UpdateVirtualNic UpdateVirtualNicRequestType
 81193  
 81194  func init() {
 81195  	t["UpdateVirtualNic"] = reflect.TypeOf((*UpdateVirtualNic)(nil)).Elem()
 81196  }
 81197  
 81198  // The parameters of `HostNetworkSystem.UpdateVirtualNic`.
 81199  type UpdateVirtualNicRequestType struct {
 81200  	This   ManagedObjectReference `xml:"_this" json:"-"`
 81201  	Device string                 `xml:"device" json:"device"`
 81202  	Nic    HostVirtualNicSpec     `xml:"nic" json:"nic"`
 81203  }
 81204  
 81205  func init() {
 81206  	t["UpdateVirtualNicRequestType"] = reflect.TypeOf((*UpdateVirtualNicRequestType)(nil)).Elem()
 81207  }
 81208  
 81209  type UpdateVirtualNicResponse struct {
 81210  }
 81211  
 81212  type UpdateVirtualSwitch UpdateVirtualSwitchRequestType
 81213  
 81214  func init() {
 81215  	t["UpdateVirtualSwitch"] = reflect.TypeOf((*UpdateVirtualSwitch)(nil)).Elem()
 81216  }
 81217  
 81218  // The parameters of `HostNetworkSystem.UpdateVirtualSwitch`.
 81219  type UpdateVirtualSwitchRequestType struct {
 81220  	This        ManagedObjectReference `xml:"_this" json:"-"`
 81221  	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
 81222  	Spec        HostVirtualSwitchSpec  `xml:"spec" json:"spec"`
 81223  }
 81224  
 81225  func init() {
 81226  	t["UpdateVirtualSwitchRequestType"] = reflect.TypeOf((*UpdateVirtualSwitchRequestType)(nil)).Elem()
 81227  }
 81228  
 81229  type UpdateVirtualSwitchResponse struct {
 81230  }
 81231  
 81232  type UpdateVmfsUnmapBandwidth UpdateVmfsUnmapBandwidthRequestType
 81233  
 81234  func init() {
 81235  	t["UpdateVmfsUnmapBandwidth"] = reflect.TypeOf((*UpdateVmfsUnmapBandwidth)(nil)).Elem()
 81236  }
 81237  
 81238  // The parameters of `HostStorageSystem.UpdateVmfsUnmapBandwidth`.
 81239  type UpdateVmfsUnmapBandwidthRequestType struct {
 81240  	This ManagedObjectReference `xml:"_this" json:"-"`
 81241  	// The VMFS UUID.
 81242  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 81243  	// Unmap bandwidth specification. See
 81244  	// `VmfsUnmapBandwidthSpec`
 81245  	UnmapBandwidthSpec VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec" json:"unmapBandwidthSpec"`
 81246  }
 81247  
 81248  func init() {
 81249  	t["UpdateVmfsUnmapBandwidthRequestType"] = reflect.TypeOf((*UpdateVmfsUnmapBandwidthRequestType)(nil)).Elem()
 81250  }
 81251  
 81252  type UpdateVmfsUnmapBandwidthResponse struct {
 81253  }
 81254  
 81255  type UpdateVmfsUnmapPriority UpdateVmfsUnmapPriorityRequestType
 81256  
 81257  func init() {
 81258  	t["UpdateVmfsUnmapPriority"] = reflect.TypeOf((*UpdateVmfsUnmapPriority)(nil)).Elem()
 81259  }
 81260  
 81261  // The parameters of `HostStorageSystem.UpdateVmfsUnmapPriority`.
 81262  type UpdateVmfsUnmapPriorityRequestType struct {
 81263  	This ManagedObjectReference `xml:"_this" json:"-"`
 81264  	// The VMFS UUID.
 81265  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 81266  	// Unmap priority. The supported values are defined in
 81267  	// `HostVmfsVolumeUnmapPriority_enum`.
 81268  	UnmapPriority string `xml:"unmapPriority" json:"unmapPriority"`
 81269  }
 81270  
 81271  func init() {
 81272  	t["UpdateVmfsUnmapPriorityRequestType"] = reflect.TypeOf((*UpdateVmfsUnmapPriorityRequestType)(nil)).Elem()
 81273  }
 81274  
 81275  type UpdateVmfsUnmapPriorityResponse struct {
 81276  }
 81277  
 81278  // The parameters of `HostVsanSystem.UpdateVsan_Task`.
 81279  type UpdateVsanRequestType struct {
 81280  	This ManagedObjectReference `xml:"_this" json:"-"`
 81281  	// host configuration settings to use for the VSAN service.
 81282  	Config VsanHostConfigInfo `xml:"config" json:"config"`
 81283  }
 81284  
 81285  func init() {
 81286  	t["UpdateVsanRequestType"] = reflect.TypeOf((*UpdateVsanRequestType)(nil)).Elem()
 81287  }
 81288  
 81289  type UpdateVsan_Task UpdateVsanRequestType
 81290  
 81291  func init() {
 81292  	t["UpdateVsan_Task"] = reflect.TypeOf((*UpdateVsan_Task)(nil)).Elem()
 81293  }
 81294  
 81295  type UpdateVsan_TaskResponse struct {
 81296  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81297  }
 81298  
 81299  // This event records that the agent has been patched and will be
 81300  // restarted.
 81301  type UpdatedAgentBeingRestartedEvent struct {
 81302  	HostEvent
 81303  }
 81304  
 81305  func init() {
 81306  	t["UpdatedAgentBeingRestartedEvent"] = reflect.TypeOf((*UpdatedAgentBeingRestartedEvent)(nil)).Elem()
 81307  }
 81308  
 81309  // These event types represent events converted from VirtualCenter 1.x.
 81310  //
 81311  // All upgraded events are converted to string values.
 81312  type UpgradeEvent struct {
 81313  	Event
 81314  
 81315  	// The formatted message from the upgrade.
 81316  	Message string `xml:"message" json:"message"`
 81317  }
 81318  
 81319  func init() {
 81320  	t["UpgradeEvent"] = reflect.TypeOf((*UpgradeEvent)(nil)).Elem()
 81321  }
 81322  
 81323  // The parameters of `IoFilterManager.UpgradeIoFilter_Task`.
 81324  type UpgradeIoFilterRequestType struct {
 81325  	This ManagedObjectReference `xml:"_this" json:"-"`
 81326  	// The filter to be upgraded.
 81327  	FilterId string `xml:"filterId" json:"filterId"`
 81328  	// The compute resource that the filter is installed on.
 81329  	// "compRes" must be a cluster.
 81330  	//
 81331  	// Refers instance of `ComputeResource`.
 81332  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 81333  	// The URL that points to the new IO Filter VIB package.
 81334  	VibUrl string `xml:"vibUrl" json:"vibUrl"`
 81335  	// This specifies SSL trust policy `IoFilterManagerSslTrust`
 81336  	// for the given VIB URL. If unset, the server certificate is
 81337  	// validated against the trusted root certificates.
 81338  	VibSslTrust BaseIoFilterManagerSslTrust `xml:"vibSslTrust,omitempty,typeattr" json:"vibSslTrust,omitempty" vim:"8.0.3.0"`
 81339  }
 81340  
 81341  func init() {
 81342  	t["UpgradeIoFilterRequestType"] = reflect.TypeOf((*UpgradeIoFilterRequestType)(nil)).Elem()
 81343  }
 81344  
 81345  type UpgradeIoFilter_Task UpgradeIoFilterRequestType
 81346  
 81347  func init() {
 81348  	t["UpgradeIoFilter_Task"] = reflect.TypeOf((*UpgradeIoFilter_Task)(nil)).Elem()
 81349  }
 81350  
 81351  type UpgradeIoFilter_TaskResponse struct {
 81352  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81353  }
 81354  
 81355  // The parameters of `VirtualMachine.UpgradeTools_Task`.
 81356  type UpgradeToolsRequestType struct {
 81357  	This ManagedObjectReference `xml:"_this" json:"-"`
 81358  	// Command line options passed to the installer to modify
 81359  	// the installation procedure for tools.
 81360  	InstallerOptions string `xml:"installerOptions,omitempty" json:"installerOptions,omitempty"`
 81361  }
 81362  
 81363  func init() {
 81364  	t["UpgradeToolsRequestType"] = reflect.TypeOf((*UpgradeToolsRequestType)(nil)).Elem()
 81365  }
 81366  
 81367  type UpgradeTools_Task UpgradeToolsRequestType
 81368  
 81369  func init() {
 81370  	t["UpgradeTools_Task"] = reflect.TypeOf((*UpgradeTools_Task)(nil)).Elem()
 81371  }
 81372  
 81373  type UpgradeTools_TaskResponse struct {
 81374  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81375  }
 81376  
 81377  // The parameters of `VirtualMachine.UpgradeVM_Task`.
 81378  type UpgradeVMRequestType struct {
 81379  	This ManagedObjectReference `xml:"_this" json:"-"`
 81380  	// If specified, upgrade to that specified version. If not specified,
 81381  	// upgrade to the most current virtual hardware supported on the host.
 81382  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 81383  }
 81384  
 81385  func init() {
 81386  	t["UpgradeVMRequestType"] = reflect.TypeOf((*UpgradeVMRequestType)(nil)).Elem()
 81387  }
 81388  
 81389  type UpgradeVM_Task UpgradeVMRequestType
 81390  
 81391  func init() {
 81392  	t["UpgradeVM_Task"] = reflect.TypeOf((*UpgradeVM_Task)(nil)).Elem()
 81393  }
 81394  
 81395  type UpgradeVM_TaskResponse struct {
 81396  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81397  }
 81398  
 81399  type UpgradeVmLayout UpgradeVmLayoutRequestType
 81400  
 81401  func init() {
 81402  	t["UpgradeVmLayout"] = reflect.TypeOf((*UpgradeVmLayout)(nil)).Elem()
 81403  }
 81404  
 81405  type UpgradeVmLayoutRequestType struct {
 81406  	This ManagedObjectReference `xml:"_this" json:"-"`
 81407  }
 81408  
 81409  func init() {
 81410  	t["UpgradeVmLayoutRequestType"] = reflect.TypeOf((*UpgradeVmLayoutRequestType)(nil)).Elem()
 81411  }
 81412  
 81413  type UpgradeVmLayoutResponse struct {
 81414  }
 81415  
 81416  type UpgradeVmfs UpgradeVmfsRequestType
 81417  
 81418  func init() {
 81419  	t["UpgradeVmfs"] = reflect.TypeOf((*UpgradeVmfs)(nil)).Elem()
 81420  }
 81421  
 81422  // The parameters of `HostStorageSystem.UpgradeVmfs`.
 81423  type UpgradeVmfsRequestType struct {
 81424  	This ManagedObjectReference `xml:"_this" json:"-"`
 81425  	// The path of the VMFS.
 81426  	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
 81427  }
 81428  
 81429  func init() {
 81430  	t["UpgradeVmfsRequestType"] = reflect.TypeOf((*UpgradeVmfsRequestType)(nil)).Elem()
 81431  }
 81432  
 81433  type UpgradeVmfsResponse struct {
 81434  }
 81435  
 81436  type UpgradeVsanObjects UpgradeVsanObjectsRequestType
 81437  
 81438  func init() {
 81439  	t["UpgradeVsanObjects"] = reflect.TypeOf((*UpgradeVsanObjects)(nil)).Elem()
 81440  }
 81441  
 81442  // The parameters of `HostVsanInternalSystem.UpgradeVsanObjects`.
 81443  type UpgradeVsanObjectsRequestType struct {
 81444  	This ManagedObjectReference `xml:"_this" json:"-"`
 81445  	// The array of objects' UUID which will be upgraded.
 81446  	Uuids []string `xml:"uuids" json:"uuids"`
 81447  	// The new version will be applied to objects.
 81448  	NewVersion int32 `xml:"newVersion" json:"newVersion"`
 81449  }
 81450  
 81451  func init() {
 81452  	t["UpgradeVsanObjectsRequestType"] = reflect.TypeOf((*UpgradeVsanObjectsRequestType)(nil)).Elem()
 81453  }
 81454  
 81455  type UpgradeVsanObjectsResponse struct {
 81456  	Returnval []HostVsanInternalSystemVsanObjectOperationResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 81457  }
 81458  
 81459  // Mtu health check status of an uplink port is changed, and in the latest mtu health check,
 81460  // not all the vlans' MTU setting on physical switch allows vSphere Distributed Switch
 81461  // max MTU size packets passing.
 81462  type UplinkPortMtuNotSupportEvent struct {
 81463  	DvsHealthStatusChangeEvent
 81464  }
 81465  
 81466  func init() {
 81467  	t["UplinkPortMtuNotSupportEvent"] = reflect.TypeOf((*UplinkPortMtuNotSupportEvent)(nil)).Elem()
 81468  }
 81469  
 81470  // Mtu health check status of an uplink port is changed, and in the latest mtu health check,
 81471  // all the vlans' MTU setting on physical switch allows vSphere Distributed Switch
 81472  // max MTU size packets passing.
 81473  type UplinkPortMtuSupportEvent struct {
 81474  	DvsHealthStatusChangeEvent
 81475  }
 81476  
 81477  func init() {
 81478  	t["UplinkPortMtuSupportEvent"] = reflect.TypeOf((*UplinkPortMtuSupportEvent)(nil)).Elem()
 81479  }
 81480  
 81481  // Vlans health check status of an uplink port is changed, and in the latest vlan health check,
 81482  // all the vlans are trunked by the physical switch connected to the uplink port.
 81483  type UplinkPortVlanTrunkedEvent struct {
 81484  	DvsHealthStatusChangeEvent
 81485  }
 81486  
 81487  func init() {
 81488  	t["UplinkPortVlanTrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanTrunkedEvent)(nil)).Elem()
 81489  }
 81490  
 81491  // Vlans health check status of an uplink port is changed, and in the latest vlan health check,
 81492  // not all the vlans are trunked by the physical switch connected to the uplink port.
 81493  type UplinkPortVlanUntrunkedEvent struct {
 81494  	DvsHealthStatusChangeEvent
 81495  }
 81496  
 81497  func init() {
 81498  	t["UplinkPortVlanUntrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanUntrunkedEvent)(nil)).Elem()
 81499  }
 81500  
 81501  type UploadClientCert UploadClientCertRequestType
 81502  
 81503  func init() {
 81504  	t["UploadClientCert"] = reflect.TypeOf((*UploadClientCert)(nil)).Elem()
 81505  }
 81506  
 81507  // The parameters of `CryptoManagerKmip.UploadClientCert`.
 81508  type UploadClientCertRequestType struct {
 81509  	This ManagedObjectReference `xml:"_this" json:"-"`
 81510  	// \[in\] KMIP cluster.
 81511  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 81512  	// \[in\] Client certificate.
 81513  	Certificate string `xml:"certificate" json:"certificate"`
 81514  	// \[in\] Private key.
 81515  	PrivateKey string `xml:"privateKey" json:"privateKey"`
 81516  }
 81517  
 81518  func init() {
 81519  	t["UploadClientCertRequestType"] = reflect.TypeOf((*UploadClientCertRequestType)(nil)).Elem()
 81520  }
 81521  
 81522  type UploadClientCertResponse struct {
 81523  }
 81524  
 81525  type UploadKmipServerCert UploadKmipServerCertRequestType
 81526  
 81527  func init() {
 81528  	t["UploadKmipServerCert"] = reflect.TypeOf((*UploadKmipServerCert)(nil)).Elem()
 81529  }
 81530  
 81531  // The parameters of `CryptoManagerKmip.UploadKmipServerCert`.
 81532  type UploadKmipServerCertRequestType struct {
 81533  	This ManagedObjectReference `xml:"_this" json:"-"`
 81534  	// \[in\] KMIP cluster.
 81535  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 81536  	// \[in\] Server certificate in PEM encoding.
 81537  	Certificate string `xml:"certificate" json:"certificate"`
 81538  }
 81539  
 81540  func init() {
 81541  	t["UploadKmipServerCertRequestType"] = reflect.TypeOf((*UploadKmipServerCertRequestType)(nil)).Elem()
 81542  }
 81543  
 81544  type UploadKmipServerCertResponse struct {
 81545  }
 81546  
 81547  // This data object contains information about which USB HID codes
 81548  // to send to the Virtual Machine's keyboard.
 81549  type UsbScanCodeSpec struct {
 81550  	DynamicData
 81551  
 81552  	KeyEvents []UsbScanCodeSpecKeyEvent `xml:"keyEvents" json:"keyEvents"`
 81553  }
 81554  
 81555  func init() {
 81556  	t["UsbScanCodeSpec"] = reflect.TypeOf((*UsbScanCodeSpec)(nil)).Elem()
 81557  }
 81558  
 81559  type UsbScanCodeSpecKeyEvent struct {
 81560  	DynamicData
 81561  
 81562  	// USB HID code of the event
 81563  	UsbHidCode int32 `xml:"usbHidCode" json:"usbHidCode"`
 81564  	// Modifiers to apply to the USB HID code
 81565  	Modifiers *UsbScanCodeSpecModifierType `xml:"modifiers,omitempty" json:"modifiers,omitempty"`
 81566  }
 81567  
 81568  func init() {
 81569  	t["UsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*UsbScanCodeSpecKeyEvent)(nil)).Elem()
 81570  }
 81571  
 81572  // The types of key modifiers to apply to each code.
 81573  type UsbScanCodeSpecModifierType struct {
 81574  	DynamicData
 81575  
 81576  	// Left control key
 81577  	LeftControl *bool `xml:"leftControl" json:"leftControl,omitempty"`
 81578  	// Left shift key
 81579  	LeftShift *bool `xml:"leftShift" json:"leftShift,omitempty"`
 81580  	// Left alt key
 81581  	LeftAlt *bool `xml:"leftAlt" json:"leftAlt,omitempty"`
 81582  	// Left gui key
 81583  	LeftGui *bool `xml:"leftGui" json:"leftGui,omitempty"`
 81584  	// Right control key
 81585  	RightControl *bool `xml:"rightControl" json:"rightControl,omitempty"`
 81586  	// Right shift key
 81587  	RightShift *bool `xml:"rightShift" json:"rightShift,omitempty"`
 81588  	// Right alt key
 81589  	RightAlt *bool `xml:"rightAlt" json:"rightAlt,omitempty"`
 81590  	// Right gui key
 81591  	RightGui *bool `xml:"rightGui" json:"rightGui,omitempty"`
 81592  }
 81593  
 81594  func init() {
 81595  	t["UsbScanCodeSpecModifierType"] = reflect.TypeOf((*UsbScanCodeSpecModifierType)(nil)).Elem()
 81596  }
 81597  
 81598  // This event records that a user account membership was added to a group.
 81599  type UserAssignedToGroup struct {
 81600  	HostEvent
 81601  
 81602  	UserLogin string `xml:"userLogin" json:"userLogin"`
 81603  	Group     string `xml:"group" json:"group"`
 81604  }
 81605  
 81606  func init() {
 81607  	t["UserAssignedToGroup"] = reflect.TypeOf((*UserAssignedToGroup)(nil)).Elem()
 81608  }
 81609  
 81610  // The `UserGroupProfile` data object represents a user group.
 81611  //
 81612  // Use the `ApplyProfile.policy` list for access to configuration data
 81613  // for the user group profile. Use the `ApplyProfile.property` list for access
 81614  // to subprofile configuration data, if any.
 81615  type UserGroupProfile struct {
 81616  	ApplyProfile
 81617  
 81618  	// Linkable identifier.
 81619  	Key string `xml:"key" json:"key"`
 81620  }
 81621  
 81622  func init() {
 81623  	t["UserGroupProfile"] = reflect.TypeOf((*UserGroupProfile)(nil)).Elem()
 81624  }
 81625  
 81626  // The `UserInputRequiredParameterMetadata` data object represents policy option metadata
 81627  // information for configuration data.
 81628  //
 81629  // The Profile Engine saves configuration
 81630  // data from the user input options in the host `AnswerFile`.
 81631  // See the `HostProfile.ExecuteHostProfile` and
 81632  // `HostProfileManager.ApplyHostConfig_Task` methods.
 81633  type UserInputRequiredParameterMetadata struct {
 81634  	ProfilePolicyOptionMetadata
 81635  
 81636  	// Metadata for user input options.
 81637  	UserInputParameter []ProfileParameterMetadata `xml:"userInputParameter,omitempty" json:"userInputParameter,omitempty"`
 81638  }
 81639  
 81640  func init() {
 81641  	t["UserInputRequiredParameterMetadata"] = reflect.TypeOf((*UserInputRequiredParameterMetadata)(nil)).Elem()
 81642  }
 81643  
 81644  // This event records a user logon.
 81645  type UserLoginSessionEvent struct {
 81646  	SessionEvent
 81647  
 81648  	// The IP address of the peer that initiated the connection.
 81649  	//
 81650  	// This may
 81651  	// be the client that originated the session, or it may be an intervening
 81652  	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
 81653  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 81654  	// The user agent or application
 81655  	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty"`
 81656  	// The locale of the session.
 81657  	Locale string `xml:"locale" json:"locale"`
 81658  	// The unique identifier for the session.
 81659  	SessionId string `xml:"sessionId" json:"sessionId"`
 81660  }
 81661  
 81662  func init() {
 81663  	t["UserLoginSessionEvent"] = reflect.TypeOf((*UserLoginSessionEvent)(nil)).Elem()
 81664  }
 81665  
 81666  // This event records a user logoff, disconnection, or session timeout.
 81667  type UserLogoutSessionEvent struct {
 81668  	SessionEvent
 81669  
 81670  	// The IP address of client
 81671  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 81672  	// The user agent or application
 81673  	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty"`
 81674  	// Number of API invocations made by the session
 81675  	CallCount int64 `xml:"callCount,omitempty" json:"callCount,omitempty"`
 81676  	// The unique identifier for the session.
 81677  	SessionId string `xml:"sessionId,omitempty" json:"sessionId,omitempty"`
 81678  	// Timestamp when the user logged on for this session.
 81679  	LoginTime *time.Time `xml:"loginTime" json:"loginTime,omitempty"`
 81680  }
 81681  
 81682  func init() {
 81683  	t["UserLogoutSessionEvent"] = reflect.TypeOf((*UserLogoutSessionEvent)(nil)).Elem()
 81684  }
 81685  
 81686  // Thrown when the request refers to a user or group name that could not
 81687  // be resolved.
 81688  type UserNotFound struct {
 81689  	VimFault
 81690  
 81691  	// Principal value that failed lookup.
 81692  	Principal string `xml:"principal" json:"principal"`
 81693  	// Flag to indicate whether or not the lookup was unsuccessful.
 81694  	//
 81695  	// A false value indicates that the user does not exist in the directory. A true
 81696  	// value indicates that the directory could not be contacted, possibly due to a
 81697  	// network error.
 81698  	Unresolved bool `xml:"unresolved" json:"unresolved"`
 81699  }
 81700  
 81701  func init() {
 81702  	t["UserNotFound"] = reflect.TypeOf((*UserNotFound)(nil)).Elem()
 81703  }
 81704  
 81705  type UserNotFoundFault UserNotFound
 81706  
 81707  func init() {
 81708  	t["UserNotFoundFault"] = reflect.TypeOf((*UserNotFoundFault)(nil)).Elem()
 81709  }
 81710  
 81711  // This event records that a user password changed.
 81712  type UserPasswordChanged struct {
 81713  	HostEvent
 81714  
 81715  	UserLogin string `xml:"userLogin" json:"userLogin"`
 81716  }
 81717  
 81718  func init() {
 81719  	t["UserPasswordChanged"] = reflect.TypeOf((*UserPasswordChanged)(nil)).Elem()
 81720  }
 81721  
 81722  // This class is used to provide the list of effective privileges
 81723  // set on a given managed entity for a user.
 81724  type UserPrivilegeResult struct {
 81725  	DynamicData
 81726  
 81727  	// The entity on which privileges are retrieved.
 81728  	//
 81729  	// Refers instance of `ManagedEntity`.
 81730  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 81731  	// A list of privileges set on the entity.
 81732  	Privileges []string `xml:"privileges,omitempty" json:"privileges,omitempty"`
 81733  }
 81734  
 81735  func init() {
 81736  	t["UserPrivilegeResult"] = reflect.TypeOf((*UserPrivilegeResult)(nil)).Elem()
 81737  }
 81738  
 81739  // The `UserProfile` data object represents a user.
 81740  //
 81741  // Use the `ApplyProfile.policy` list for access to configuration data
 81742  // for the user profile. Use the `ApplyProfile.property` list for access
 81743  // to subprofile configuration data, if any.
 81744  type UserProfile struct {
 81745  	ApplyProfile
 81746  
 81747  	// Linkable identifier.
 81748  	Key string `xml:"key" json:"key"`
 81749  }
 81750  
 81751  func init() {
 81752  	t["UserProfile"] = reflect.TypeOf((*UserProfile)(nil)).Elem()
 81753  }
 81754  
 81755  // When searching for users, the search results in
 81756  // some additional information.
 81757  //
 81758  // This object describes
 81759  // the additional information.
 81760  type UserSearchResult struct {
 81761  	DynamicData
 81762  
 81763  	// Login name of a user or the name of a group.
 81764  	//
 81765  	// This key is
 81766  	// the user within the searched domain.
 81767  	Principal string `xml:"principal" json:"principal"`
 81768  	// Full name of the user found by the search, or the description
 81769  	// of a group, if available.
 81770  	FullName string `xml:"fullName,omitempty" json:"fullName,omitempty"`
 81771  	// If this is true, then the result is a group.
 81772  	//
 81773  	// If this is false, then the
 81774  	// result is a user.
 81775  	Group bool `xml:"group" json:"group"`
 81776  }
 81777  
 81778  func init() {
 81779  	t["UserSearchResult"] = reflect.TypeOf((*UserSearchResult)(nil)).Elem()
 81780  }
 81781  
 81782  // Information about a current user session.
 81783  type UserSession struct {
 81784  	DynamicData
 81785  
 81786  	// A unique identifier for this session,
 81787  	// also known as the session ID.
 81788  	Key string `xml:"key" json:"key"`
 81789  	// The user name represented by this session.
 81790  	UserName string `xml:"userName" json:"userName"`
 81791  	// The full name of the user, if available.
 81792  	FullName string `xml:"fullName" json:"fullName"`
 81793  	// Timestamp when the user last logged on to the server.
 81794  	LoginTime time.Time `xml:"loginTime" json:"loginTime"`
 81795  	// Timestamp when the user last executed a command.
 81796  	LastActiveTime time.Time `xml:"lastActiveTime" json:"lastActiveTime"`
 81797  	// The locale for the session used for data formatting and preferred for messages.
 81798  	Locale string `xml:"locale" json:"locale"`
 81799  	// The locale used for messages for the session.
 81800  	//
 81801  	// If there are no localized messages for the user-specified locale, then
 81802  	// the server determines this locale.
 81803  	MessageLocale string `xml:"messageLocale" json:"messageLocale"`
 81804  	// Whether or not this session belongs to a VC Extension.
 81805  	ExtensionSession *bool `xml:"extensionSession" json:"extensionSession,omitempty"`
 81806  	// The client identity.
 81807  	//
 81808  	// It could be IP address, or pipe name depended
 81809  	// on client binding
 81810  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 81811  	// The name of user agent or application
 81812  	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty"`
 81813  	// Number of API invocations since the session started
 81814  	CallCount int64 `xml:"callCount,omitempty" json:"callCount,omitempty"`
 81815  }
 81816  
 81817  func init() {
 81818  	t["UserSession"] = reflect.TypeOf((*UserSession)(nil)).Elem()
 81819  }
 81820  
 81821  // This event records that a user account membership was removed from a group.
 81822  type UserUnassignedFromGroup struct {
 81823  	HostEvent
 81824  
 81825  	UserLogin string `xml:"userLogin" json:"userLogin"`
 81826  	Group     string `xml:"group" json:"group"`
 81827  }
 81828  
 81829  func init() {
 81830  	t["UserUnassignedFromGroup"] = reflect.TypeOf((*UserUnassignedFromGroup)(nil)).Elem()
 81831  }
 81832  
 81833  // This event is a general user event from upgrade.
 81834  type UserUpgradeEvent struct {
 81835  	UpgradeEvent
 81836  }
 81837  
 81838  func init() {
 81839  	t["UserUpgradeEvent"] = reflect.TypeOf((*UserUpgradeEvent)(nil)).Elem()
 81840  }
 81841  
 81842  // Represent Storage Array
 81843  type VASAStorageArray struct {
 81844  	DynamicData
 81845  
 81846  	// Name
 81847  	Name string `xml:"name" json:"name"`
 81848  	// Unique identifier
 81849  	Uuid string `xml:"uuid" json:"uuid"`
 81850  	// Vendor Id
 81851  	VendorId string `xml:"vendorId" json:"vendorId"`
 81852  	// Model Id
 81853  	ModelId string `xml:"modelId" json:"modelId"`
 81854  	// Transport information to address the array's discovery
 81855  	// service.
 81856  	DiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"discoverySvcInfo,omitempty" json:"discoverySvcInfo,omitempty" vim:"8.0.0.0"`
 81857  }
 81858  
 81859  func init() {
 81860  	t["VASAStorageArray"] = reflect.TypeOf((*VASAStorageArray)(nil)).Elem()
 81861  }
 81862  
 81863  // Discovery service information of the array with FC
 81864  // transport.
 81865  type VASAStorageArrayDiscoveryFcTransport struct {
 81866  	DynamicData
 81867  
 81868  	// Node-WWN (World Wide Name) represented in hexadecimal format.
 81869  	NodeWwn string `xml:"nodeWwn" json:"nodeWwn"`
 81870  	// Port-WWN (World Wide Name) represented in hexadecimal format.
 81871  	PortWwn string `xml:"portWwn" json:"portWwn"`
 81872  }
 81873  
 81874  func init() {
 81875  	t["VASAStorageArrayDiscoveryFcTransport"] = reflect.TypeOf((*VASAStorageArrayDiscoveryFcTransport)(nil)).Elem()
 81876  	minAPIVersionForType["VASAStorageArrayDiscoveryFcTransport"] = "8.0.0.0"
 81877  }
 81878  
 81879  // Discovery service information of the array with IP
 81880  // transport.
 81881  type VASAStorageArrayDiscoveryIpTransport struct {
 81882  	DynamicData
 81883  
 81884  	// IP address (IPv4/v6) of the RDMA/TCP target port.
 81885  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 81886  	// Port number.
 81887  	//
 81888  	// Defaults to port 8009 (TCP) and RoCEv2
 81889  	// port 4420 (UDP).
 81890  	PortNumber string `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
 81891  }
 81892  
 81893  func init() {
 81894  	t["VASAStorageArrayDiscoveryIpTransport"] = reflect.TypeOf((*VASAStorageArrayDiscoveryIpTransport)(nil)).Elem()
 81895  	minAPIVersionForType["VASAStorageArrayDiscoveryIpTransport"] = "8.0.0.0"
 81896  }
 81897  
 81898  // Discovery service information of storage array.
 81899  type VASAStorageArrayDiscoverySvcInfo struct {
 81900  	DynamicData
 81901  
 81902  	// Port type, string as defined in `VASAStorageArrayBlockEnum_enum`.
 81903  	PortType string `xml:"portType" json:"portType"`
 81904  	// Well-known NQN of discovery service.
 81905  	SvcNqn string `xml:"svcNqn" json:"svcNqn"`
 81906  	// IP transport discovery information.
 81907  	//
 81908  	// Must be specified if
 81909  	// the discovery service is IP-based.
 81910  	IpInfo *VASAStorageArrayDiscoveryIpTransport `xml:"ipInfo,omitempty" json:"ipInfo,omitempty"`
 81911  	// FC transport discovery information.
 81912  	//
 81913  	// Must be specified if
 81914  	// the discovery service is FC-based.
 81915  	FcInfo *VASAStorageArrayDiscoveryFcTransport `xml:"fcInfo,omitempty" json:"fcInfo,omitempty"`
 81916  }
 81917  
 81918  func init() {
 81919  	t["VASAStorageArrayDiscoverySvcInfo"] = reflect.TypeOf((*VASAStorageArrayDiscoverySvcInfo)(nil)).Elem()
 81920  	minAPIVersionForType["VASAStorageArrayDiscoverySvcInfo"] = "8.0.0.0"
 81921  }
 81922  
 81923  // Specification for a vApp cloning operation.
 81924  type VAppCloneSpec struct {
 81925  	DynamicData
 81926  
 81927  	// Location where the destination vApp must be stored
 81928  	//
 81929  	// Refers instance of `Datastore`.
 81930  	Location ManagedObjectReference `xml:"location" json:"location"`
 81931  	// The target host for the virtual machines.
 81932  	//
 81933  	// This is often not a required
 81934  	// parameter. If not specified, the behavior is as follows:
 81935  	//   - If the target pool represents a stand-alone host, that host is used.
 81936  	//   - If the target pool represents a DRS-enabled cluster, a host selected
 81937  	//     by DRS is used.
 81938  	//   - If the target pool represents a cluster without DRS enabled or a
 81939  	//     DRS-enabled cluster in manual mode, an InvalidArgument exception is
 81940  	//     thrown.
 81941  	//
 81942  	// Refers instance of `HostSystem`.
 81943  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 81944  	// The resource configuration for the vApp.
 81945  	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
 81946  	// The VM Folder to associate the vApp with
 81947  	//
 81948  	// Refers instance of `Folder`.
 81949  	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
 81950  	// Network mappings.
 81951  	//
 81952  	// See `VAppCloneSpecNetworkMappingPair`.
 81953  	NetworkMapping []VAppCloneSpecNetworkMappingPair `xml:"networkMapping,omitempty" json:"networkMapping,omitempty"`
 81954  	// A set of property values to override.
 81955  	Property []KeyValue `xml:"property,omitempty" json:"property,omitempty"`
 81956  	// The resource configuration for the cloned vApp.
 81957  	ResourceMapping []VAppCloneSpecResourceMap `xml:"resourceMapping,omitempty" json:"resourceMapping,omitempty"`
 81958  	// Specify how the VMs in the vApp should be provisioned.
 81959  	Provisioning string `xml:"provisioning,omitempty" json:"provisioning,omitempty"`
 81960  }
 81961  
 81962  func init() {
 81963  	t["VAppCloneSpec"] = reflect.TypeOf((*VAppCloneSpec)(nil)).Elem()
 81964  }
 81965  
 81966  // Maps one network to another as part of the clone process.
 81967  //
 81968  // Instances of this class are used in the field `VAppCloneSpec.networkMapping`
 81969  type VAppCloneSpecNetworkMappingPair struct {
 81970  	DynamicData
 81971  
 81972  	// The source network
 81973  	//
 81974  	// Refers instance of `Network`.
 81975  	Source ManagedObjectReference `xml:"source" json:"source"`
 81976  	// The destination network
 81977  	//
 81978  	// Refers instance of `Network`.
 81979  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 81980  }
 81981  
 81982  func init() {
 81983  	t["VAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*VAppCloneSpecNetworkMappingPair)(nil)).Elem()
 81984  }
 81985  
 81986  // Maps source child entities to destination resource pools
 81987  // and resource settings.
 81988  //
 81989  // If a mapping is not specified,
 81990  // a child is copied as a direct child of the parent.
 81991  type VAppCloneSpecResourceMap struct {
 81992  	DynamicData
 81993  
 81994  	// Source entity
 81995  	//
 81996  	// Refers instance of `ManagedEntity`.
 81997  	Source ManagedObjectReference `xml:"source" json:"source"`
 81998  	// Resource pool to use for the cloned entity of source.
 81999  	//
 82000  	// This must specify a
 82001  	// resource pool that is not part of the vApp. If this is specified, a linked
 82002  	// child (as opposed to a direct child) is created for the vApp.
 82003  	//
 82004  	// Refers instance of `ResourcePool`.
 82005  	Parent *ManagedObjectReference `xml:"parent,omitempty" json:"parent,omitempty"`
 82006  	// An optional resource configuration for the cloned entity of the source.
 82007  	//
 82008  	// If
 82009  	// not specified, the same resource configuration as the source is used.
 82010  	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
 82011  	// A client can optionally specify a datastore in the resource map to
 82012  	// override the default datastore location set in `VAppCloneSpecResourceMap.location` field.
 82013  	//
 82014  	// This
 82015  	// enables cloning to different compute resources that do not have shared
 82016  	// datastores.
 82017  	//
 82018  	// Refers instance of `Datastore`.
 82019  	Location *ManagedObjectReference `xml:"location,omitempty" json:"location,omitempty"`
 82020  }
 82021  
 82022  func init() {
 82023  	t["VAppCloneSpecResourceMap"] = reflect.TypeOf((*VAppCloneSpecResourceMap)(nil)).Elem()
 82024  }
 82025  
 82026  // Base for configuration / environment issues that can be thrown when powering on or
 82027  // changing the configuration of a vApp.
 82028  type VAppConfigFault struct {
 82029  	VimFault
 82030  }
 82031  
 82032  func init() {
 82033  	t["VAppConfigFault"] = reflect.TypeOf((*VAppConfigFault)(nil)).Elem()
 82034  }
 82035  
 82036  type VAppConfigFaultFault BaseVAppConfigFault
 82037  
 82038  func init() {
 82039  	t["VAppConfigFaultFault"] = reflect.TypeOf((*VAppConfigFaultFault)(nil)).Elem()
 82040  }
 82041  
 82042  // Configuration of a vApp container.
 82043  type VAppConfigInfo struct {
 82044  	VmConfigInfo
 82045  
 82046  	// Configuration of sub-entities (virtual machine or vApp).
 82047  	EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
 82048  	// Description for the vApp.
 82049  	Annotation string `xml:"annotation" json:"annotation"`
 82050  	// vCenter-specific 128-bit UUID of a vApp, represented as a hexademical
 82051  	// string.
 82052  	//
 82053  	// This identifier is used by vCenter to uniquely identify all
 82054  	// vApp instances.
 82055  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 82056  	// Specifies that this vApp is managed by a VC Extension.
 82057  	//
 82058  	// See the
 82059  	// `managedBy` property in the
 82060  	// VAppConfigSpec for more details.
 82061  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 82062  }
 82063  
 82064  func init() {
 82065  	t["VAppConfigInfo"] = reflect.TypeOf((*VAppConfigInfo)(nil)).Elem()
 82066  }
 82067  
 82068  // Configuration of a vApp
 82069  type VAppConfigSpec struct {
 82070  	VmConfigSpec
 82071  
 82072  	// Configuration of sub-entities (virtual machine or vApp container).
 82073  	//
 82074  	// Reconfigure privilege: See EntityConfigInfo
 82075  	EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
 82076  	// Description for the vApp.
 82077  	//
 82078  	// Reconfigure privilege: VApp.Rename.
 82079  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 82080  	// vCenter-specific 128-bit UUID of a vApp, represented as a hexadecimal
 82081  	// string.
 82082  	//
 82083  	// This identifier is used by vCenter to uniquely identify all
 82084  	// vApp instances in the Virtual Infrastructure environment.
 82085  	//
 82086  	// Normally, this property is not set by a client, allowing the
 82087  	// Virtual Infrastructure environment to assign or change it when
 82088  	// VirtualCenter detects an identifier conflict between vApps.
 82089  	//
 82090  	// Reconfigure privilege: VApp.ApplicationConfig
 82091  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 82092  	// Specifies that this vApp is managed by a VC Extension.
 82093  	//
 82094  	// This information is primarily used in the Client to show a custom icon for
 82095  	// managed vApps, and a description of the function of the vApp. If no extension
 82096  	// can be found with the extension key in the `managedBy`
 82097  	// object, or the type is not found in the
 82098  	// `managedEntityInfo` list of the
 82099  	// extension, the default vApp icon is used, and no description is shown.
 82100  	//
 82101  	// Reconfigure privilege: VApp.ApplicationConfig
 82102  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 82103  }
 82104  
 82105  func init() {
 82106  	t["VAppConfigSpec"] = reflect.TypeOf((*VAppConfigSpec)(nil)).Elem()
 82107  }
 82108  
 82109  // This object type describes the behavior of an entity (virtual machine or
 82110  // sub-vApp container) in a vApp container.
 82111  //
 82112  // The auto-start/auto-stop configurations control the behavior of the
 82113  // start/stop vApp operations.
 82114  //
 82115  // An virtual machine entity can be configured to wait for a period of time before
 82116  // starting or to wait to receive a successful heartbeat from a virtual machine
 82117  // before starting the next virtual machine in the sequence.
 82118  //   - For a power-on operation, if waitForHeartbeat is true, then the power-on
 82119  //     sequence continues after the the first heartbeat has been received. If
 82120  //     waitingForGuest is false, the system waits for the specified delay and
 82121  //     then continues the power-on sequence.
 82122  //   - For a power-off operation, if delay is non-zero, the requested power-off
 82123  //     action is invoked (powerOff, suspend, guestShutdown) on the virtual
 82124  //     machine and the system waits until the number of seconds specified in the
 82125  //     delay have passed.
 82126  //
 82127  // If startAction and stopAction for an entity are both set to none, that
 82128  // entity does not participate in the sequence.
 82129  //
 82130  // The start/stop delay and waitingForGuest is not used if the entity is a
 82131  // vApp container. For a vApp the only value values for startAction is none
 82132  // or powerOn, and the valid values for stopAction is none or powerOff.
 82133  type VAppEntityConfigInfo struct {
 82134  	DynamicData
 82135  
 82136  	// Entity to power on or power off.
 82137  	//
 82138  	// This can be a virtual machine or a vApp.
 82139  	//
 82140  	// Refers instance of `ManagedEntity`.
 82141  	Key *ManagedObjectReference `xml:"key,omitempty" json:"key,omitempty"`
 82142  	// Tag for entity.
 82143  	//
 82144  	// Reconfigure privilege: VApp.ApplicationConfig
 82145  	Tag string `xml:"tag,omitempty" json:"tag,omitempty"`
 82146  	// Specifies the start order for this entity.
 82147  	//
 82148  	// Entities are started from lower
 82149  	// numbers to higher-numbers and reverse on shutdown. Multiple entities with the
 82150  	// same start-order can be started in parallel and the order is unspecified. This
 82151  	// value must be 0 or higher.
 82152  	//
 82153  	// Reconfigure privilege: VApp.ApplicationConfig
 82154  	StartOrder int32 `xml:"startOrder,omitempty" json:"startOrder,omitempty"`
 82155  	// Delay in seconds before continuing with the next entity in the order of entities
 82156  	// to be started.
 82157  	//
 82158  	// Reconfigure privilege: VApp.ApplicationConfig
 82159  	StartDelay int32 `xml:"startDelay,omitempty" json:"startDelay,omitempty"`
 82160  	// Determines if the virtual machine should start after receiving a heartbeat,
 82161  	// from the guest.
 82162  	//
 82163  	// When a virtual machine is next in the start
 82164  	// order, the system either waits a specified period of time for a virtual
 82165  	// machine to power on or it waits until it receives a successful heartbeat from a
 82166  	// powered on virtual machine. By default, this is set to false.
 82167  	//
 82168  	// This property has no effect for vApps.
 82169  	//
 82170  	// Reconfigure privilege: VApp.ApplicationConfig
 82171  	WaitingForGuest *bool `xml:"waitingForGuest" json:"waitingForGuest,omitempty"`
 82172  	// How to start the entity.
 82173  	//
 82174  	// Valid settings are none or powerOn. If set to none, then
 82175  	// the entity does not participate in auto-start.
 82176  	//
 82177  	// Reconfigure privilege: VApp.ApplicationConfig
 82178  	StartAction string `xml:"startAction,omitempty" json:"startAction,omitempty"`
 82179  	// Delay in seconds before continuing with the next entity in the order
 82180  	// sequence.
 82181  	//
 82182  	// This is only used if the stopAction is guestShutdown.
 82183  	//
 82184  	// Reconfigure privilege: VApp.ApplicationConfig
 82185  	StopDelay int32 `xml:"stopDelay,omitempty" json:"stopDelay,omitempty"`
 82186  	// Defines the stop action for the entity.
 82187  	//
 82188  	// Can be set to none, powerOff,
 82189  	// guestShutdown, or suspend. If set to none, then the entity does not participate in
 82190  	// auto-stop.
 82191  	//
 82192  	// Reconfigure privilege: VApp.ApplicationConfig
 82193  	StopAction string `xml:"stopAction,omitempty" json:"stopAction,omitempty"`
 82194  	// Deprecated as of vSphere API 5.1.
 82195  	//
 82196  	// Whether the entity should be removed, when this vApp is removed.
 82197  	//
 82198  	// This is only set for linked children.
 82199  	//
 82200  	// Reconfigure privilege: VApp.ApplicationConfig
 82201  	DestroyWithParent *bool `xml:"destroyWithParent" json:"destroyWithParent,omitempty"`
 82202  }
 82203  
 82204  func init() {
 82205  	t["VAppEntityConfigInfo"] = reflect.TypeOf((*VAppEntityConfigInfo)(nil)).Elem()
 82206  }
 82207  
 82208  // The IPAssignmentInfo class specifies how the guest software gets
 82209  // configured with IP addresses, including protocol type (IPv4 or IPv6)
 82210  // and the life-time of those IP addresses.
 82211  //
 82212  // A vApp/virtual machine can either use DHCP to acquire an IP
 82213  // configuration, or it can acquire its IP configuration through the
 82214  // use of the vSphere platform using the OVF environment's properties.
 82215  // The latter is a known as OVF-environment-assigned IP configuration.
 82216  //
 82217  // Guest software can be constructed to support DHCP , OVF assigned
 82218  // IP configuration, or both. The supportedAssignmentScheme property
 82219  // lists the supported schemes. This is typically specified by the author
 82220  // of a vApp.
 82221  //
 82222  // The deployer / operator of a vApp, specifies what IP allocation
 82223  // policy should be used:
 82224  //   - Using DHCP, if the vApp and deployed network supports it
 82225  //   - Transient Assignment, if the vApp supports OVF-assigned IP
 82226  //     configuration and the network has an IP range configured.
 82227  //   - Fixed Assignment, if the vApp supports OVF-assigned IP
 82228  //     configuration.
 82229  //   - Fixed Allocated, if the vApp supports OVF-assigned IP
 82230  //     configuration and the network has an IP range configured.
 82231  //
 82232  // Transient and fixed assignment differs in the life time of the IP
 82233  // allocation. For transient, IP addresses are automatically assigned on
 82234  // power-on and released on power-off. For fixed, the IP
 82235  // addresses are explicitly specified by the deployer and does not change
 82236  // between a power-on/power-off.
 82237  // Fixed allocated is a hybrid of transient and fixed assignment. IP
 82238  // addresses are allocated at first power-on and remain allocated on power-off.
 82239  //
 82240  // The IPAssignment settings are global to a deployment. Thus, if a vApp or
 82241  // virtual machine is part of another vApp, then the settings are ignored,
 82242  // and the ones for the top-most vApp container is used.
 82243  type VAppIPAssignmentInfo struct {
 82244  	DynamicData
 82245  
 82246  	// Specifies the IP allocation schemes supported by the guest software.
 82247  	//
 82248  	// When updating this field, an empty array will be interpreted as no changes.
 82249  	// An array of the form \[""\] will clear all settings. Otherwise, the supplied
 82250  	// value will overwrite the current setting.
 82251  	//
 82252  	// Reconfigure privilege: VApp.ApplicationConfig
 82253  	SupportedAllocationScheme []string `xml:"supportedAllocationScheme,omitempty" json:"supportedAllocationScheme,omitempty"`
 82254  	// Specifies how IP allocation should be managed by the VI platform.
 82255  	//
 82256  	// This is
 82257  	// typically specified by the deployer. The set of valid options for the policy
 82258  	// is based on the capabilities of the vApp software, as specified by the
 82259  	// supportedAllocationSchemes property.
 82260  	//
 82261  	// Reconfigure privilege: VApp.InstanceConfig
 82262  	IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty" json:"ipAllocationPolicy,omitempty"`
 82263  	// Specifies the IP protocols supported by the guest software.
 82264  	//
 82265  	// When updating this field, an empty array will be interpreted as no changes.
 82266  	// An array of the form \[""\] will clear all settings. Otherwise, the supplied
 82267  	// value will overwrite the current setting.
 82268  	//
 82269  	// Reconfigure privilege: VApp.ApplicationConfig
 82270  	SupportedIpProtocol []string `xml:"supportedIpProtocol,omitempty" json:"supportedIpProtocol,omitempty"`
 82271  	// Specifies the chosen IP protocol for this deployment.
 82272  	//
 82273  	// This must be one of the
 82274  	// values in the supportedIpProtocol field.
 82275  	//
 82276  	// Reconfigure privilege: VApp.InstanceConfig
 82277  	IpProtocol string `xml:"ipProtocol,omitempty" json:"ipProtocol,omitempty"`
 82278  }
 82279  
 82280  func init() {
 82281  	t["VAppIPAssignmentInfo"] = reflect.TypeOf((*VAppIPAssignmentInfo)(nil)).Elem()
 82282  }
 82283  
 82284  // A virtual machine in a vApp cannot be powered on unless the
 82285  // parent vApp is running.
 82286  type VAppNotRunning struct {
 82287  	VmConfigFault
 82288  }
 82289  
 82290  func init() {
 82291  	t["VAppNotRunning"] = reflect.TypeOf((*VAppNotRunning)(nil)).Elem()
 82292  }
 82293  
 82294  type VAppNotRunningFault VAppNotRunning
 82295  
 82296  func init() {
 82297  	t["VAppNotRunningFault"] = reflect.TypeOf((*VAppNotRunningFault)(nil)).Elem()
 82298  }
 82299  
 82300  // This fault is thrown when an operation is attempted on a target where
 82301  // a vApp operation is already in progress.
 82302  //
 82303  // E.g. when trying to move a
 82304  // virtual machine from a vApp that is being powered on.
 82305  type VAppOperationInProgress struct {
 82306  	RuntimeFault
 82307  }
 82308  
 82309  func init() {
 82310  	t["VAppOperationInProgress"] = reflect.TypeOf((*VAppOperationInProgress)(nil)).Elem()
 82311  }
 82312  
 82313  type VAppOperationInProgressFault VAppOperationInProgress
 82314  
 82315  func init() {
 82316  	t["VAppOperationInProgressFault"] = reflect.TypeOf((*VAppOperationInProgressFault)(nil)).Elem()
 82317  }
 82318  
 82319  // The OvfSection encapsulates uninterpreted meta-data sections in
 82320  // an OVF descriptor.
 82321  //
 82322  // When an OVF package is imported, non-required /
 82323  // non-interpreted sections will be stored as OvfSection object. During
 82324  // the creation of an OVF package, these sections will be placed in the
 82325  // OVF descriptor.
 82326  type VAppOvfSectionInfo struct {
 82327  	DynamicData
 82328  
 82329  	// A unique key to identify a section.
 82330  	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
 82331  	// The namespace for the value in xsi:type attribute.
 82332  	Namespace string `xml:"namespace,omitempty" json:"namespace,omitempty"`
 82333  	// The value of the xsi:type attribute not including the namespace prefix.
 82334  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 82335  	// Whether this is a global envelope section
 82336  	AtEnvelopeLevel *bool `xml:"atEnvelopeLevel" json:"atEnvelopeLevel,omitempty"`
 82337  	// The XML fragment including the top-level &lt;Section...&gt; element.
 82338  	//
 82339  	// The
 82340  	// fragment is self-contained will all required namespace definitions.
 82341  	Contents string `xml:"contents,omitempty" json:"contents,omitempty"`
 82342  }
 82343  
 82344  func init() {
 82345  	t["VAppOvfSectionInfo"] = reflect.TypeOf((*VAppOvfSectionInfo)(nil)).Elem()
 82346  }
 82347  
 82348  // An incremental update to the OvfSection list.
 82349  type VAppOvfSectionSpec struct {
 82350  	ArrayUpdateSpec
 82351  
 82352  	Info *VAppOvfSectionInfo `xml:"info,omitempty" json:"info,omitempty"`
 82353  }
 82354  
 82355  func init() {
 82356  	t["VAppOvfSectionSpec"] = reflect.TypeOf((*VAppOvfSectionSpec)(nil)).Elem()
 82357  }
 82358  
 82359  // Information that describes what product a vApp contains, for example,
 82360  // the software that is installed in the contained virtual machines.
 82361  type VAppProductInfo struct {
 82362  	DynamicData
 82363  
 82364  	// A unique key for the product section
 82365  	Key int32 `xml:"key" json:"key"`
 82366  	// Class name for this attribute.
 82367  	//
 82368  	// Valid values for classId:
 82369  	// Any string except any white-space characters.
 82370  	ClassId string `xml:"classId,omitempty" json:"classId,omitempty"`
 82371  	// Class name for this attribute.
 82372  	//
 82373  	// Valid values for instanceId:
 82374  	// Any string except any white-space characters.
 82375  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 82376  	// Name of the product.
 82377  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 82378  	// Vendor of the product.
 82379  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 82380  	// Short version of the product, for example, 1.0.
 82381  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 82382  	// Full-version of the product, for example, 1.0-build 12323.
 82383  	FullVersion string `xml:"fullVersion,omitempty" json:"fullVersion,omitempty"`
 82384  	// URL to vendor homepage.
 82385  	VendorUrl string `xml:"vendorUrl,omitempty" json:"vendorUrl,omitempty"`
 82386  	// URL to product homepage.
 82387  	ProductUrl string `xml:"productUrl,omitempty" json:"productUrl,omitempty"`
 82388  	// URL to entry-point for application.
 82389  	//
 82390  	// This is often specified using
 82391  	// a macro, for example, http://${app.ip}/, where app.ip is a defined property
 82392  	// on the virtual machine or vApp container.
 82393  	AppUrl string `xml:"appUrl,omitempty" json:"appUrl,omitempty"`
 82394  }
 82395  
 82396  func init() {
 82397  	t["VAppProductInfo"] = reflect.TypeOf((*VAppProductInfo)(nil)).Elem()
 82398  }
 82399  
 82400  // An incremental update to the Product information list.
 82401  type VAppProductSpec struct {
 82402  	ArrayUpdateSpec
 82403  
 82404  	Info *VAppProductInfo `xml:"info,omitempty" json:"info,omitempty"`
 82405  }
 82406  
 82407  func init() {
 82408  	t["VAppProductSpec"] = reflect.TypeOf((*VAppProductSpec)(nil)).Elem()
 82409  }
 82410  
 82411  // The base fault for all vApp property configuration issues
 82412  type VAppPropertyFault struct {
 82413  	VmConfigFault
 82414  
 82415  	// The fully-qualified id of the property, including instance and class
 82416  	// identifiers.
 82417  	Id string `xml:"id" json:"id"`
 82418  	// The user-readable category
 82419  	Category string `xml:"category" json:"category"`
 82420  	// The user-readable label
 82421  	Label string `xml:"label" json:"label"`
 82422  	// The type specified for the property
 82423  	Type string `xml:"type" json:"type"`
 82424  	// The value of the property
 82425  	Value string `xml:"value" json:"value"`
 82426  }
 82427  
 82428  func init() {
 82429  	t["VAppPropertyFault"] = reflect.TypeOf((*VAppPropertyFault)(nil)).Elem()
 82430  }
 82431  
 82432  type VAppPropertyFaultFault BaseVAppPropertyFault
 82433  
 82434  func init() {
 82435  	t["VAppPropertyFaultFault"] = reflect.TypeOf((*VAppPropertyFaultFault)(nil)).Elem()
 82436  }
 82437  
 82438  // A vApp Property description, including deployment values
 82439  type VAppPropertyInfo struct {
 82440  	DynamicData
 82441  
 82442  	// A unique integer key for the property.
 82443  	Key int32 `xml:"key" json:"key"`
 82444  	// class name for this property
 82445  	//
 82446  	// Valid values for classId:
 82447  	// Any string except any white-space characters
 82448  	//
 82449  	// Reconfigure privilege: VApp.ApplicationConfig
 82450  	ClassId string `xml:"classId,omitempty" json:"classId,omitempty"`
 82451  	// class name for this property
 82452  	//
 82453  	// Valid values for instanceId:
 82454  	// Any string except any white-space characters
 82455  	//
 82456  	// Reconfigure privilege: VApp.ApplicationConfig
 82457  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 82458  	// Name of property.
 82459  	//
 82460  	// In the OVF environment, the property is listed as
 82461  	// \[classId.\]id\[.instanceId\]. The \[classId.\]name\[.instanceId\] must be unique.
 82462  	//
 82463  	// This field cannot be empty for a property. Thus, it must be specified at creation
 82464  	// and cannot be set to the empty string.
 82465  	//
 82466  	// Valid values for id:
 82467  	// Any string except any white-space characters
 82468  	//
 82469  	// Reconfigure privilege: VApp.ApplicationConfig
 82470  	Id string `xml:"id,omitempty" json:"id,omitempty"`
 82471  	// A user-visible description the category the property belongs to.
 82472  	//
 82473  	// Reconfigure privilege: VApp.ApplicationConfig
 82474  	Category string `xml:"category,omitempty" json:"category,omitempty"`
 82475  	// The display name for the property.
 82476  	//
 82477  	// Reconfigure privilege: VApp.ApplicationConfig
 82478  	Label string `xml:"label,omitempty" json:"label,omitempty"`
 82479  	// Describes the valid format of the property.
 82480  	//
 82481  	// A type must be one of:
 82482  	//   - string : A generic string. Max length 65535 (64k).
 82483  	//   - string(x..) : A string with minimum character length x.
 82484  	//   - string(..y) : A string with maximum character length y.
 82485  	//   - string(x..y) : A string with minimum character length x and maximum
 82486  	//     character length y.
 82487  	//   - string\["choice1", "choice2", "choice3"\] : A set of choices. " inside a choice
 82488  	//     must be either \\" or ' e.g "start\\"middle\\"end" or "start'middle'end" and
 82489  	//     a \\ inside a string choice must be encoded as \\\\ e.g. "start\\\\end".
 82490  	//   - int : An integer value. Is semantically equivalent to
 82491  	//     int(-2147483648..2147483647) e.g. signed int32.
 82492  	//   - int(x..y): An integer value with a minimum size x and a maximum size y.
 82493  	//     For example int(0..255) is a number between 0 and 255 both incl. This is
 82494  	//     also a way to specify that the number must be a uint8. There is always a lower
 82495  	//     and lower bound. Max number of digits is 100 including any sign. If exported to OVF the
 82496  	//     value will be truncated to max of uint64 or int64.
 82497  	//   - real : IEEE 8-byte floating-point value.
 82498  	//   - real(x..y) : IEEE 8-byte floating-point value with a minimum size x and a
 82499  	//     maximum size y. For example real(-1.5..1.5) must be a number between -1.5 and 1.5.
 82500  	//     Because of the nature of float some conversions can truncate the value.
 82501  	//     Real must be encoded according to CIM:
 82502  	//     RealValue = \[ "+" | "-" } \*decimalDigit "." 1\*decimalDigit
 82503  	//     \[ ("e" | "E" ) \[ "+" | "-" \] 1\*decimalDigit \] \]
 82504  	//   - boolean : A boolean. The value can be True or False
 82505  	//   - password : A generic string. Max length 65535 (64k).
 82506  	//   - password(x..) : A string with minimum character length x.
 82507  	//   - password(..y) : A string with maximum character length y.
 82508  	//   - password(x..y) : A string with minimum character length x and maximum
 82509  	//     character length y.
 82510  	//   - ip : An IPv4 address in dot-decimal notation or an IPv6 address in
 82511  	//     colon-hexadecimal notation.
 82512  	//   - ip:network : An IP address in dot-notation (IPv4) and colon-hexadecimal (IPv6)
 82513  	//     on a particular network. The behavior of this type depends on the
 82514  	//     ipAllocationPolicy. See below.
 82515  	//   - expression: The default value specifies an expression that is calculated
 82516  	//     by the system.
 82517  	//
 82518  	// For properties of type 'password', the value field and default value field will
 82519  	// always be returned as an empty string when queried. Thus, it is a write-only property.
 82520  	// Typically, a client application will also render these as a text field with hidden
 82521  	// text and double prompting.
 82522  	//
 82523  	// An expression follows the general patterns of either ${arg} or ${cmd:arg}. The
 82524  	// list of supported expressions are listed below:
 82525  	//   - ${&lt;name&gt;} : This expression evaluates to the same value as the named
 82526  	//     property in the parent vApp. A parent vApp is the
 82527  	//     first vApp in the ancestry chain (resource pools are
 82528  	//     skipped). If no parent vApp exists or the property is
 82529  	//     not defined on the parent vApp, the expression
 82530  	//     evaluates to the empty value.
 82531  	//   - ${subnet:&lt;network&gt;} : The subnet value of the given network.
 82532  	//   - ${netmask:&lt;network&gt;} : The netmask value of the given network.
 82533  	//   - ${gateway:&lt;network&gt;} : The gateway value of the given network.
 82534  	//   - ${autoIp:&lt;network&gt;} : An auto-assigned network address on the given
 82535  	//     network
 82536  	//   - ${net:&lt;network&gt;} : The name of the network
 82537  	//   - ${domainName:&lt;network&gt;} : The DNS domain name, e.g., vmware.com, of
 82538  	//     the given network.
 82539  	//   - ${searchPath:&lt;network&gt;} : The DNS search path, e.g.,
 82540  	//     eng.vmware.com;vmware.com, of the given
 82541  	//     network.
 82542  	//   - ${hostPrefix:&lt;network&gt;}: The host prefix on a given network, e.g.,
 82543  	//     "voe-"
 82544  	//   - ${dns:network}: A comma-separated string of configured network addresses
 82545  	//   - ${httpProxy:network}: The hostname:port for a proxy on the network
 82546  	//   - ${vimIp:} : The IP address of the VIM API provider server. This would
 82547  	//     typical be an ESX Server or VirtualCenter Server.
 82548  	//
 82549  	// A vApp will fail to start if any of the properties cannot be computed. For
 82550  	// example, if a property reference a gateway on a network, for which is has not
 82551  	// been specified. The value of the computed computation is assigned to the 'value'
 82552  	// field upon start of the vApp or virtual machine. The value is cleared once
 82553  	// the vApp or virtual machine is not-running.
 82554  	//
 82555  	// The system provides three ways of specifying IP addresses:
 82556  	//   - ip,
 82557  	//   - ip:network type,
 82558  	//   - ${ip:network} expression.
 82559  	//
 82560  	// The _ip_ types are typically used to specify an IP addressed to an
 82561  	// external system. Thus, these are not used by a virtual ethernet adapter
 82562  	// within the guest itself. Both the ip:network expression and the ${ip:network}
 82563  	// expression are intended as a way to obtain an IP address for a virtual machine
 82564  	// in a vApp.
 82565  	//
 82566  	// The behavior of ip:network type is controlled by the ipAssignPolicy, as
 82567  	// described in the following table:
 82568  	// <table>
 82569  	// <tr>
 82570  	// <td>`*Policy*`</td>
 82571  	// <td>ip:&lt;network&gt; type</td>
 82572  	// </tr>
 82573  	// <tr>
 82574  	// <td>DHCP</td>
 82575  	// <td>The user is not prompted to enter a value. The variable is set to the
 82576  	// empty string during power-on, and later updated with the IP value reported
 82577  	// by the guest software.
 82578  	// </td>
 82579  	// </tr>
 82580  	// <tr>
 82581  	// <td>Transient</td>
 82582  	// <td>The user is not prompted to enter a value. An IP address is allocated by
 82583  	// the platform and is assigned to the variable which is available to the
 82584  	// guest. The IP address is released at power-off.</td>
 82585  	// </tr>
 82586  	// <tr>
 82587  	// <td>Fixed</td>
 82588  	// <td>The user is prompted to enter a value. This value is available to the
 82589  	// guest.</td>
 82590  	// </tr>
 82591  	// <tr>
 82592  	// <td>Fixed Allocated</td>
 82593  	// <td>The user is not prompted to enter a value. An IP address is allocated by
 82594  	// the platform and is assigned to the variable which is available to the
 82595  	// guest. The IP address remains allocated at power-off, and are only
 82596  	// released if the property is deleted or the vApp is destroyed.</td>
 82597  	// </tr>
 82598  	// </table>
 82599  	//
 82600  	// Reconfigure privilege: VApp.ApplicationConfig
 82601  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 82602  	// Contains extra configuration data depending on the property type.
 82603  	//
 82604  	// For types that
 82605  	// refer to network names the type reference is the managed object reference
 82606  	// of the network.
 82607  	TypeReference string `xml:"typeReference,omitempty" json:"typeReference,omitempty"`
 82608  	// Whether the property is user-configurable or a system property.
 82609  	//
 82610  	// This is not used
 82611  	// if the type is expression.
 82612  	//
 82613  	// Reconfigure privilege: VApp.ApplicationConfig
 82614  	UserConfigurable *bool `xml:"userConfigurable" json:"userConfigurable,omitempty"`
 82615  	// This either contains the default value of a field (used if value is empty
 82616  	// string), or the expression if the type is "expression".
 82617  	//
 82618  	// See comment for the
 82619  	DefaultValue string `xml:"defaultValue,omitempty" json:"defaultValue,omitempty"`
 82620  	// The value of the field at deployment time.
 82621  	//
 82622  	// For expressions, this will contain
 82623  	// the value that has been computed.
 82624  	//
 82625  	// Reconfigure privilege: VApp.InstanceConfig
 82626  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 82627  	// A description of the field.
 82628  	//
 82629  	// Reconfigure privilege: VApp.ApplicationConfig
 82630  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 82631  }
 82632  
 82633  func init() {
 82634  	t["VAppPropertyInfo"] = reflect.TypeOf((*VAppPropertyInfo)(nil)).Elem()
 82635  }
 82636  
 82637  // An incremental update to the Property list.
 82638  type VAppPropertySpec struct {
 82639  	ArrayUpdateSpec
 82640  
 82641  	Info *VAppPropertyInfo `xml:"info,omitempty" json:"info,omitempty"`
 82642  }
 82643  
 82644  func init() {
 82645  	t["VAppPropertySpec"] = reflect.TypeOf((*VAppPropertySpec)(nil)).Elem()
 82646  }
 82647  
 82648  // A specialized TaskInProgress when an operation is performed
 82649  // on a VM and it is failed due to a vApp-level operation
 82650  // is in progress.
 82651  //
 82652  // For example, while the power-on sequence is
 82653  // executed on a vApp, individual power-on's of child VMs are
 82654  // failed.
 82655  type VAppTaskInProgress struct {
 82656  	TaskInProgress
 82657  }
 82658  
 82659  func init() {
 82660  	t["VAppTaskInProgress"] = reflect.TypeOf((*VAppTaskInProgress)(nil)).Elem()
 82661  }
 82662  
 82663  type VAppTaskInProgressFault VAppTaskInProgress
 82664  
 82665  func init() {
 82666  	t["VAppTaskInProgressFault"] = reflect.TypeOf((*VAppTaskInProgressFault)(nil)).Elem()
 82667  }
 82668  
 82669  // The parameters of `VcenterVStorageObjectManager.VCenterUpdateVStorageObjectMetadataEx_Task`.
 82670  type VCenterUpdateVStorageObjectMetadataExRequestType struct {
 82671  	This ManagedObjectReference `xml:"_this" json:"-"`
 82672  	// The ID of the virtual storage object.
 82673  	Id ID `xml:"id" json:"id"`
 82674  	// The datastore to query for the virtual storage objects.
 82675  	//
 82676  	// Refers instance of `Datastore`.
 82677  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 82678  	// array of key/value strings. (keys must be unique
 82679  	// within the list)
 82680  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 82681  	// array of keys need to be deleted
 82682  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
 82683  }
 82684  
 82685  func init() {
 82686  	t["VCenterUpdateVStorageObjectMetadataExRequestType"] = reflect.TypeOf((*VCenterUpdateVStorageObjectMetadataExRequestType)(nil)).Elem()
 82687  	minAPIVersionForType["VCenterUpdateVStorageObjectMetadataExRequestType"] = "7.0.2.0"
 82688  }
 82689  
 82690  type VCenterUpdateVStorageObjectMetadataEx_Task VCenterUpdateVStorageObjectMetadataExRequestType
 82691  
 82692  func init() {
 82693  	t["VCenterUpdateVStorageObjectMetadataEx_Task"] = reflect.TypeOf((*VCenterUpdateVStorageObjectMetadataEx_Task)(nil)).Elem()
 82694  }
 82695  
 82696  type VCenterUpdateVStorageObjectMetadataEx_TaskResponse struct {
 82697  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 82698  }
 82699  
 82700  // VFlash cache hot-configuration on a VMDK is not supported.
 82701  type VFlashCacheHotConfigNotSupported struct {
 82702  	VmConfigFault
 82703  }
 82704  
 82705  func init() {
 82706  	t["VFlashCacheHotConfigNotSupported"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupported)(nil)).Elem()
 82707  }
 82708  
 82709  type VFlashCacheHotConfigNotSupportedFault VFlashCacheHotConfigNotSupported
 82710  
 82711  func init() {
 82712  	t["VFlashCacheHotConfigNotSupportedFault"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupportedFault)(nil)).Elem()
 82713  }
 82714  
 82715  // vFlash module is not supported due to its configuration is not
 82716  // supported by the host.
 82717  type VFlashModuleNotSupported struct {
 82718  	VmConfigFault
 82719  
 82720  	// VM name
 82721  	VmName string `xml:"vmName" json:"vmName"`
 82722  	// The vFlash module name.
 82723  	ModuleName string `xml:"moduleName" json:"moduleName"`
 82724  	// Message of reason.
 82725  	Reason string `xml:"reason" json:"reason"`
 82726  	// Host name
 82727  	HostName string `xml:"hostName" json:"hostName"`
 82728  }
 82729  
 82730  func init() {
 82731  	t["VFlashModuleNotSupported"] = reflect.TypeOf((*VFlashModuleNotSupported)(nil)).Elem()
 82732  }
 82733  
 82734  type VFlashModuleNotSupportedFault VFlashModuleNotSupported
 82735  
 82736  func init() {
 82737  	t["VFlashModuleNotSupportedFault"] = reflect.TypeOf((*VFlashModuleNotSupportedFault)(nil)).Elem()
 82738  }
 82739  
 82740  // The vFlash module version of the vFlash cache asscociated with the
 82741  // virtual disk of a VM is not compatible with the supported versions of
 82742  // the specified vFlash module on the host.
 82743  type VFlashModuleVersionIncompatible struct {
 82744  	VimFault
 82745  
 82746  	// The vFlash module name.
 82747  	ModuleName string `xml:"moduleName" json:"moduleName"`
 82748  	// The VM request module version.
 82749  	VmRequestModuleVersion string `xml:"vmRequestModuleVersion" json:"vmRequestModuleVersion"`
 82750  	// The minimum supported version of the specified module on the host.
 82751  	HostMinSupportedVerson string `xml:"hostMinSupportedVerson" json:"hostMinSupportedVerson"`
 82752  	// The verson of the specified module on the host.
 82753  	HostModuleVersion string `xml:"hostModuleVersion" json:"hostModuleVersion"`
 82754  }
 82755  
 82756  func init() {
 82757  	t["VFlashModuleVersionIncompatible"] = reflect.TypeOf((*VFlashModuleVersionIncompatible)(nil)).Elem()
 82758  }
 82759  
 82760  type VFlashModuleVersionIncompatibleFault VFlashModuleVersionIncompatible
 82761  
 82762  func init() {
 82763  	t["VFlashModuleVersionIncompatibleFault"] = reflect.TypeOf((*VFlashModuleVersionIncompatibleFault)(nil)).Elem()
 82764  }
 82765  
 82766  // This event records when a VMFS datastore is created.
 82767  type VMFSDatastoreCreatedEvent struct {
 82768  	HostEvent
 82769  
 82770  	// The associated datastore.
 82771  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 82772  	// Url of the associated datastore.
 82773  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
 82774  }
 82775  
 82776  func init() {
 82777  	t["VMFSDatastoreCreatedEvent"] = reflect.TypeOf((*VMFSDatastoreCreatedEvent)(nil)).Elem()
 82778  }
 82779  
 82780  // This event records when a datastore is expanded.
 82781  type VMFSDatastoreExpandedEvent struct {
 82782  	HostEvent
 82783  
 82784  	// The associated datastore.
 82785  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 82786  }
 82787  
 82788  func init() {
 82789  	t["VMFSDatastoreExpandedEvent"] = reflect.TypeOf((*VMFSDatastoreExpandedEvent)(nil)).Elem()
 82790  }
 82791  
 82792  // This event records when a datastore is extended.
 82793  type VMFSDatastoreExtendedEvent struct {
 82794  	HostEvent
 82795  
 82796  	// The associated datastore.
 82797  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 82798  }
 82799  
 82800  func init() {
 82801  	t["VMFSDatastoreExtendedEvent"] = reflect.TypeOf((*VMFSDatastoreExtendedEvent)(nil)).Elem()
 82802  }
 82803  
 82804  // The virtual machine is configured to use a VMI ROM, which is not
 82805  // supported on the host.
 82806  type VMINotSupported struct {
 82807  	DeviceNotSupported
 82808  }
 82809  
 82810  func init() {
 82811  	t["VMINotSupported"] = reflect.TypeOf((*VMINotSupported)(nil)).Elem()
 82812  }
 82813  
 82814  type VMINotSupportedFault VMINotSupported
 82815  
 82816  func init() {
 82817  	t["VMINotSupportedFault"] = reflect.TypeOf((*VMINotSupportedFault)(nil)).Elem()
 82818  }
 82819  
 82820  // The virtual machine is using a conflict DVPort, which is a temporary port created
 82821  // to avoid conflict with another port.
 82822  //
 82823  // Conflict DVPort cannot be moved.
 82824  type VMOnConflictDVPort struct {
 82825  	CannotAccessNetwork
 82826  }
 82827  
 82828  func init() {
 82829  	t["VMOnConflictDVPort"] = reflect.TypeOf((*VMOnConflictDVPort)(nil)).Elem()
 82830  }
 82831  
 82832  type VMOnConflictDVPortFault VMOnConflictDVPort
 82833  
 82834  func init() {
 82835  	t["VMOnConflictDVPortFault"] = reflect.TypeOf((*VMOnConflictDVPortFault)(nil)).Elem()
 82836  }
 82837  
 82838  // The virtual machine is using a "virtual intranet", a virtual network
 82839  // that exists only within a single host.
 82840  //
 82841  // If returned as part of a migration check, this
 82842  // is an error if the virtual machine is currently connected to the network and a
 82843  // warning otherwise.
 82844  type VMOnVirtualIntranet struct {
 82845  	CannotAccessNetwork
 82846  }
 82847  
 82848  func init() {
 82849  	t["VMOnVirtualIntranet"] = reflect.TypeOf((*VMOnVirtualIntranet)(nil)).Elem()
 82850  }
 82851  
 82852  type VMOnVirtualIntranetFault VMOnVirtualIntranet
 82853  
 82854  func init() {
 82855  	t["VMOnVirtualIntranetFault"] = reflect.TypeOf((*VMOnVirtualIntranetFault)(nil)).Elem()
 82856  }
 82857  
 82858  // An operation on a powered-on virtual machine requests a change of
 82859  // networks, but the host does not have that capability.
 82860  type VMotionAcrossNetworkNotSupported struct {
 82861  	MigrationFeatureNotSupported
 82862  }
 82863  
 82864  func init() {
 82865  	t["VMotionAcrossNetworkNotSupported"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupported)(nil)).Elem()
 82866  }
 82867  
 82868  type VMotionAcrossNetworkNotSupportedFault VMotionAcrossNetworkNotSupported
 82869  
 82870  func init() {
 82871  	t["VMotionAcrossNetworkNotSupportedFault"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupportedFault)(nil)).Elem()
 82872  }
 82873  
 82874  // A VMotion interface has a problem.
 82875  //
 82876  // This may be an error or warning depending
 82877  // on the specific fault subclass. This is an error or warning only when
 82878  // migrating a powered-on virtual machine.
 82879  type VMotionInterfaceIssue struct {
 82880  	MigrationFault
 82881  
 82882  	// Whether this error is for the source host.
 82883  	AtSourceHost bool `xml:"atSourceHost" json:"atSourceHost"`
 82884  	// The name of the host with the bad interface.
 82885  	FailedHost string `xml:"failedHost" json:"failedHost"`
 82886  	// The host with the bad interface.
 82887  	//
 82888  	// Refers instance of `HostSystem`.
 82889  	FailedHostEntity *ManagedObjectReference `xml:"failedHostEntity,omitempty" json:"failedHostEntity,omitempty"`
 82890  }
 82891  
 82892  func init() {
 82893  	t["VMotionInterfaceIssue"] = reflect.TypeOf((*VMotionInterfaceIssue)(nil)).Elem()
 82894  }
 82895  
 82896  type VMotionInterfaceIssueFault BaseVMotionInterfaceIssue
 82897  
 82898  func init() {
 82899  	t["VMotionInterfaceIssueFault"] = reflect.TypeOf((*VMotionInterfaceIssueFault)(nil)).Elem()
 82900  }
 82901  
 82902  // This event records an expired VMotion license.
 82903  type VMotionLicenseExpiredEvent struct {
 82904  	LicenseEvent
 82905  }
 82906  
 82907  func init() {
 82908  	t["VMotionLicenseExpiredEvent"] = reflect.TypeOf((*VMotionLicenseExpiredEvent)(nil)).Elem()
 82909  }
 82910  
 82911  // The VMotion interface does not have the recommended capacity to support
 82912  // VMotion.
 82913  //
 82914  // VMotion is supported on links that have a speed of at least 1000
 82915  // Mbps and are full duplex. This is a warning for migrating powered-on virtual
 82916  // machines.
 82917  type VMotionLinkCapacityLow struct {
 82918  	VMotionInterfaceIssue
 82919  
 82920  	// Name of the network being used for the VMotion interface.
 82921  	Network string `xml:"network" json:"network"`
 82922  }
 82923  
 82924  func init() {
 82925  	t["VMotionLinkCapacityLow"] = reflect.TypeOf((*VMotionLinkCapacityLow)(nil)).Elem()
 82926  }
 82927  
 82928  type VMotionLinkCapacityLowFault VMotionLinkCapacityLow
 82929  
 82930  func init() {
 82931  	t["VMotionLinkCapacityLowFault"] = reflect.TypeOf((*VMotionLinkCapacityLowFault)(nil)).Elem()
 82932  }
 82933  
 82934  // The VMotion interface does not have any operational physical links
 82935  // associated with it.
 82936  //
 82937  // This is an error for migrating powered-on virtual
 82938  // machines.
 82939  type VMotionLinkDown struct {
 82940  	VMotionInterfaceIssue
 82941  
 82942  	// Name of the network being used for the VMotion interface.
 82943  	Network string `xml:"network" json:"network"`
 82944  }
 82945  
 82946  func init() {
 82947  	t["VMotionLinkDown"] = reflect.TypeOf((*VMotionLinkDown)(nil)).Elem()
 82948  }
 82949  
 82950  type VMotionLinkDownFault VMotionLinkDown
 82951  
 82952  func init() {
 82953  	t["VMotionLinkDownFault"] = reflect.TypeOf((*VMotionLinkDownFault)(nil)).Elem()
 82954  }
 82955  
 82956  // A VMotion interface is not configured (or is misconfigured) on
 82957  // either the source or destination host.
 82958  //
 82959  // This is an error only
 82960  // when migrating a powered-on virtual machine.
 82961  type VMotionNotConfigured struct {
 82962  	VMotionInterfaceIssue
 82963  }
 82964  
 82965  func init() {
 82966  	t["VMotionNotConfigured"] = reflect.TypeOf((*VMotionNotConfigured)(nil)).Elem()
 82967  }
 82968  
 82969  type VMotionNotConfiguredFault VMotionNotConfigured
 82970  
 82971  func init() {
 82972  	t["VMotionNotConfiguredFault"] = reflect.TypeOf((*VMotionNotConfiguredFault)(nil)).Elem()
 82973  }
 82974  
 82975  // VMotion is not licensed on a source or destination host.
 82976  //
 82977  // It must be licensed on both
 82978  // hosts.
 82979  type VMotionNotLicensed struct {
 82980  	VMotionInterfaceIssue
 82981  }
 82982  
 82983  func init() {
 82984  	t["VMotionNotLicensed"] = reflect.TypeOf((*VMotionNotLicensed)(nil)).Elem()
 82985  }
 82986  
 82987  type VMotionNotLicensedFault VMotionNotLicensed
 82988  
 82989  func init() {
 82990  	t["VMotionNotLicensedFault"] = reflect.TypeOf((*VMotionNotLicensedFault)(nil)).Elem()
 82991  }
 82992  
 82993  // The source or the destination host does not support VMotion.
 82994  //
 82995  // This is an
 82996  // error only when migrating a powered-on virtual machine.
 82997  type VMotionNotSupported struct {
 82998  	VMotionInterfaceIssue
 82999  }
 83000  
 83001  func init() {
 83002  	t["VMotionNotSupported"] = reflect.TypeOf((*VMotionNotSupported)(nil)).Elem()
 83003  }
 83004  
 83005  type VMotionNotSupportedFault VMotionNotSupported
 83006  
 83007  func init() {
 83008  	t["VMotionNotSupportedFault"] = reflect.TypeOf((*VMotionNotSupportedFault)(nil)).Elem()
 83009  }
 83010  
 83011  // VMotion protocol version incompatibility prevents VMotion from the
 83012  // virtual machine's current host to the requested destination host.
 83013  //
 83014  // (VMotion in the other direction may or may not be supported.)
 83015  type VMotionProtocolIncompatible struct {
 83016  	MigrationFault
 83017  }
 83018  
 83019  func init() {
 83020  	t["VMotionProtocolIncompatible"] = reflect.TypeOf((*VMotionProtocolIncompatible)(nil)).Elem()
 83021  }
 83022  
 83023  type VMotionProtocolIncompatibleFault VMotionProtocolIncompatible
 83024  
 83025  func init() {
 83026  	t["VMotionProtocolIncompatibleFault"] = reflect.TypeOf((*VMotionProtocolIncompatibleFault)(nil)).Elem()
 83027  }
 83028  
 83029  // This class defines the VMware specific configuration for
 83030  // DistributedVirtualSwitch.
 83031  type VMwareDVSConfigInfo struct {
 83032  	DVSConfigInfo
 83033  
 83034  	// The Distributed Port Mirroring sessions in the switch.
 83035  	VspanSession []VMwareVspanSession `xml:"vspanSession,omitempty" json:"vspanSession,omitempty"`
 83036  	// The PVLAN configured in the switch.
 83037  	PvlanConfig []VMwareDVSPvlanMapEntry `xml:"pvlanConfig,omitempty" json:"pvlanConfig,omitempty"`
 83038  	// The maximum MTU in the switch.
 83039  	MaxMtu int32 `xml:"maxMtu" json:"maxMtu"`
 83040  	// See `LinkDiscoveryProtocolConfig`.
 83041  	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
 83042  	// Configuration for ipfix monitoring of the switch traffic.
 83043  	//
 83044  	// This must be
 83045  	// set before ipfix monitoring can be enabled for the switch, or for any
 83046  	// portgroup or port of the switch.
 83047  	//
 83048  	// See also `VMwareDVSPortSetting.ipfixEnabled`.
 83049  	IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty" json:"ipfixConfig,omitempty"`
 83050  	// The Link Aggregation Control Protocol groups in the switch.
 83051  	LacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig,omitempty" json:"lacpGroupConfig,omitempty"`
 83052  	// The Link Aggregation Control Protocol group version in the switch.
 83053  	//
 83054  	// See `VMwareDvsLacpApiVersion_enum` for valid values.
 83055  	LacpApiVersion string `xml:"lacpApiVersion,omitempty" json:"lacpApiVersion,omitempty"`
 83056  	// The Multicast Filtering mode in the switch.
 83057  	//
 83058  	// See `VMwareDvsMulticastFilteringMode_enum` for valid values.
 83059  	MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty" json:"multicastFilteringMode,omitempty"`
 83060  	// Indicate the ID of NetworkOffloadSpec used in the switch.
 83061  	//
 83062  	// ID "None" means that network offload is not allowed in the switch.
 83063  	NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty" json:"networkOffloadSpecId,omitempty" vim:"8.0.0.1"`
 83064  	// The network offload specific configuration of the switch.
 83065  	//
 83066  	// It is only set when network offload is allowed
 83067  	// (`VMwareDVSConfigInfo.networkOffloadSpecId`
 83068  	// is not "None").
 83069  	NetworkOffloadConfig *VmwareDistributedVirtualSwitchNetworkOffloadConfig `xml:"networkOffloadConfig,omitempty" json:"networkOffloadConfig,omitempty" vim:"8.0.3.0"`
 83070  	// The real-time specific configuration of the switch.
 83071  	RealTimeConfig *VmwareDistributedVirtualSwitchRealTimeConfig `xml:"realTimeConfig,omitempty" json:"realTimeConfig,omitempty" vim:"8.0.3.1"`
 83072  }
 83073  
 83074  func init() {
 83075  	t["VMwareDVSConfigInfo"] = reflect.TypeOf((*VMwareDVSConfigInfo)(nil)).Elem()
 83076  }
 83077  
 83078  // This class defines the VMware specific configuration for
 83079  // DistributedVirtualSwitch.
 83080  type VMwareDVSConfigSpec struct {
 83081  	DVSConfigSpec
 83082  
 83083  	// The PVLAN configuration specification.
 83084  	//
 83085  	// A `VMwareDVSPvlanMapEntry`
 83086  	// that has the same value for
 83087  	// `VMwareDVSPvlanMapEntry.primaryVlanId` and
 83088  	// `VMwareDVSPvlanMapEntry.secondaryVlanId`
 83089  	// is referred to as a primary PVLAN entry.
 83090  	// Otherwise, the `VMwareDVSPvlanMapEntry`
 83091  	// is referred to as a secondary PVLAN entry.
 83092  	//
 83093  	// The `VMwareDVSPvlanMapEntry.pvlanType`
 83094  	// of a primary PVLAN entry must be
 83095  	// `promiscuous`.
 83096  	// A secondary PVLAN entry can have a
 83097  	// `VMwareDVSPvlanMapEntry.pvlanType`
 83098  	// of either
 83099  	// `community` or
 83100  	// `isolated`.
 83101  	//
 83102  	// Primary PVLAN entries must be explicitly added.
 83103  	// If there is no primary PVLAN entry corresponding to the
 83104  	// `VMwareDVSPvlanMapEntry.primaryVlanId`
 83105  	// of a secondary PVLAN entry, a fault is thrown.
 83106  	//
 83107  	// While deleting a primary PVLAN entry, any associated secondary PVLAN
 83108  	// entries must be explicitly deleted.
 83109  	PvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"pvlanConfigSpec,omitempty" json:"pvlanConfigSpec,omitempty"`
 83110  	// The Distributed Port Mirroring configuration specification.
 83111  	//
 83112  	// The VSPAN
 83113  	// sessions in the array cannot be of the same key.
 83114  	VspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"vspanConfigSpec,omitempty" json:"vspanConfigSpec,omitempty"`
 83115  	// The maximum MTU in the switch.
 83116  	MaxMtu int32 `xml:"maxMtu,omitempty" json:"maxMtu,omitempty"`
 83117  	// See `LinkDiscoveryProtocolConfig`.
 83118  	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
 83119  	// Configuration for ipfix monitoring of the switch traffic.
 83120  	//
 83121  	// This must be
 83122  	// set before ipfix monitoring can be enabled for the switch, or for any
 83123  	// portgroup or port of the switch.
 83124  	//
 83125  	// See also `VMwareDVSPortSetting.ipfixEnabled`.
 83126  	IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty" json:"ipfixConfig,omitempty"`
 83127  	// The Link Aggregation Control Protocol group version in the switch.
 83128  	//
 83129  	// See `VMwareDvsLacpApiVersion_enum` for valid values.
 83130  	LacpApiVersion string `xml:"lacpApiVersion,omitempty" json:"lacpApiVersion,omitempty"`
 83131  	// The Multicast Filtering mode in the switch.
 83132  	//
 83133  	// See `VMwareDvsMulticastFilteringMode_enum` for valid values.
 83134  	MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty" json:"multicastFilteringMode,omitempty"`
 83135  	// Indicate the ID of NetworkOffloadSpec used in the switch.
 83136  	//
 83137  	// Unset it when network offload is not allowed when creating a switch.
 83138  	// Use ID "None" to change network offload from allowed to not allowed.
 83139  	NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty" json:"networkOffloadSpecId,omitempty" vim:"8.0.0.1"`
 83140  	// The network offload specific configuration of the switch.
 83141  	//
 83142  	// This can be set only when network offload is allowed
 83143  	// (`VMwareDVSConfigInfo.networkOffloadSpecId`
 83144  	// is not "None").
 83145  	NetworkOffloadConfig *VmwareDistributedVirtualSwitchNetworkOffloadConfig `xml:"networkOffloadConfig,omitempty" json:"networkOffloadConfig,omitempty" vim:"8.0.3.0"`
 83146  	// The real-time specific configuration of the switch.
 83147  	RealTimeConfig *VmwareDistributedVirtualSwitchRealTimeConfig `xml:"realTimeConfig,omitempty" json:"realTimeConfig,omitempty" vim:"8.0.3.1"`
 83148  }
 83149  
 83150  func init() {
 83151  	t["VMwareDVSConfigSpec"] = reflect.TypeOf((*VMwareDVSConfigSpec)(nil)).Elem()
 83152  }
 83153  
 83154  // Indicators of support for version-specific DVS features that are only
 83155  // available on a VMware-class switch.
 83156  type VMwareDVSFeatureCapability struct {
 83157  	DVSFeatureCapability
 83158  
 83159  	// Flag to indicate whether vspan(DVMirror) is supported on the
 83160  	// vSphere Distributed Switch.
 83161  	//
 83162  	// Distributed Port Mirroring is supported in vSphere Distributed Switch Version 5.0 or later.
 83163  	VspanSupported *bool `xml:"vspanSupported" json:"vspanSupported,omitempty"`
 83164  	// Flag to indicate whether LLDP(Link Layer Discovery Protocol) is supported on the
 83165  	// vSphere Distributed Switch.
 83166  	//
 83167  	// LLDP is supported in vSphere Distributed Switch Version 5.0 or later.
 83168  	LldpSupported *bool `xml:"lldpSupported" json:"lldpSupported,omitempty"`
 83169  	// Deprecated as of vSphere API 6.0, use `VMwareDvsIpfixCapability`.
 83170  	//
 83171  	// Flag to indicate whether IPFIX(NetFlow) is supported on the
 83172  	// vSphere Distributed Switch.
 83173  	//
 83174  	// IPFIX is supported in vSphere Distributed Switch Version 5.0 or later.
 83175  	IpfixSupported *bool `xml:"ipfixSupported" json:"ipfixSupported,omitempty"`
 83176  	// The support for version-specific IPFIX(NetFlow).
 83177  	IpfixCapability *VMwareDvsIpfixCapability `xml:"ipfixCapability,omitempty" json:"ipfixCapability,omitempty"`
 83178  	// Flag to indicate whether multicast snooping(IGMP/MLD Snooping)
 83179  	// is supported on the vSphere Distributed Switch.
 83180  	//
 83181  	// IGMP/MLD Snooping is supported in vSphere Distributed Switch Version 6.0 or later.
 83182  	MulticastSnoopingSupported *bool `xml:"multicastSnoopingSupported" json:"multicastSnoopingSupported,omitempty"`
 83183  	// The support for version-specific Distributed Port Mirroring sessions.
 83184  	VspanCapability *VMwareDVSVspanCapability `xml:"vspanCapability,omitempty" json:"vspanCapability,omitempty"`
 83185  	// The support for version-specific Link Aggregation Control Protocol.
 83186  	LacpCapability *VMwareDvsLacpCapability `xml:"lacpCapability,omitempty" json:"lacpCapability,omitempty"`
 83187  	// The support for version-specific DPU(SmartNic).
 83188  	DpuCapability *VMwareDvsDpuCapability `xml:"dpuCapability,omitempty" json:"dpuCapability,omitempty" vim:"8.0.0.1"`
 83189  	// Flag to indicate whether NSX is supported on the
 83190  	// vSphere Distributed Switch.
 83191  	//
 83192  	// NSX is supported in vSphere Distributed Switch Version 7.0 or later.
 83193  	NsxSupported *bool `xml:"nsxSupported" json:"nsxSupported,omitempty"`
 83194  	// The support for version-specific supported MTU.
 83195  	MtuCapability *VMwareDvsMtuCapability `xml:"mtuCapability,omitempty" json:"mtuCapability,omitempty" vim:"7.0.2.0"`
 83196  	// Flag to indicate whether real-time configuration is supported on
 83197  	// Distributed Switch.
 83198  	//
 83199  	// Real-time configuration is supported in vSphere Distributed Switch
 83200  	// Version 9.0 or later.
 83201  	RealTimeConfigSupported *bool `xml:"realTimeConfigSupported" json:"realTimeConfigSupported,omitempty" vim:"8.0.3.1"`
 83202  }
 83203  
 83204  func init() {
 83205  	t["VMwareDVSFeatureCapability"] = reflect.TypeOf((*VMwareDVSFeatureCapability)(nil)).Elem()
 83206  }
 83207  
 83208  // The feature capabilities of health check supported by the
 83209  // vSphere Distributed Switch
 83210  type VMwareDVSHealthCheckCapability struct {
 83211  	DVSHealthCheckCapability
 83212  
 83213  	// Flag to indicate whether vlan/mtu health check is supported on the
 83214  	// vSphere Distributed Switch.
 83215  	VlanMtuSupported bool `xml:"vlanMtuSupported" json:"vlanMtuSupported"`
 83216  	// Flag to indicate whether teaming health check is supported on the
 83217  	// vSphere Distributed Switch.
 83218  	TeamingSupported bool `xml:"teamingSupported" json:"teamingSupported"`
 83219  }
 83220  
 83221  func init() {
 83222  	t["VMwareDVSHealthCheckCapability"] = reflect.TypeOf((*VMwareDVSHealthCheckCapability)(nil)).Elem()
 83223  }
 83224  
 83225  // This class defines health check configuration for
 83226  // VMware vSphere Distributed Switch.
 83227  type VMwareDVSHealthCheckConfig struct {
 83228  	DVSHealthCheckConfig
 83229  }
 83230  
 83231  func init() {
 83232  	t["VMwareDVSHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSHealthCheckConfig)(nil)).Elem()
 83233  }
 83234  
 83235  // This class defines MTU health check result of an uplink port
 83236  // in the VMware vSphered Distributed Switch.
 83237  type VMwareDVSMtuHealthCheckResult struct {
 83238  	HostMemberUplinkHealthCheckResult
 83239  
 83240  	// True if the MTU configured in the vSphere Distributed Switch is different from
 83241  	// the value configured in the Physical NIC, else false.
 83242  	//
 83243  	// If it is true,
 83244  	// MTU health check is stopped. In this case, `VMwareDVSMtuHealthCheckResult.vlanSupportSwitchMtu` and
 83245  	// `VMwareDVSMtuHealthCheckResult.vlanNotSupportSwitchMtu` will not have values.
 83246  	MtuMismatch bool `xml:"mtuMismatch" json:"mtuMismatch"`
 83247  	// The vlan's MTU setting on physical switch allows vSphere Distributed Switch
 83248  	// max MTU size packets passing.
 83249  	//
 83250  	// If the vlan is not a range, but a single Id,
 83251  	// both start and end have the same value with the single vlan Id.
 83252  	VlanSupportSwitchMtu []NumericRange `xml:"vlanSupportSwitchMtu,omitempty" json:"vlanSupportSwitchMtu,omitempty"`
 83253  	// The vlan's MTU setting on physical switch does not allow
 83254  	// vSphere Distributed Switch max MTU size packets passing.
 83255  	//
 83256  	// If the vlan is not a range, but a single Id,
 83257  	// both start and end have the same value with the single vlan Id.
 83258  	VlanNotSupportSwitchMtu []NumericRange `xml:"vlanNotSupportSwitchMtu,omitempty" json:"vlanNotSupportSwitchMtu,omitempty"`
 83259  }
 83260  
 83261  func init() {
 83262  	t["VMwareDVSMtuHealthCheckResult"] = reflect.TypeOf((*VMwareDVSMtuHealthCheckResult)(nil)).Elem()
 83263  }
 83264  
 83265  // This class defines the VMware specific configuration for
 83266  // DistributedVirtualPort.
 83267  type VMwareDVSPortSetting struct {
 83268  	DVPortSetting
 83269  
 83270  	// The VLAN Specification of the port.
 83271  	Vlan BaseVmwareDistributedVirtualSwitchVlanSpec `xml:"vlan,omitempty,typeattr" json:"vlan,omitempty"`
 83272  	// Deprecated as of vSphere API 5.0.
 83273  	//
 83274  	// The Quality Of Service tagging of the port.
 83275  	QosTag *IntPolicy `xml:"qosTag,omitempty" json:"qosTag,omitempty"`
 83276  	// The uplink teaming policy.
 83277  	//
 83278  	// This property is ignored for uplink
 83279  	// ports.
 83280  	UplinkTeamingPolicy *VmwareUplinkPortTeamingPolicy `xml:"uplinkTeamingPolicy,omitempty" json:"uplinkTeamingPolicy,omitempty"`
 83281  	// Deprecated as of vSphere API 6.7, use
 83282  	// `DVSMacManagementPolicy`
 83283  	// instead to specify the security policy.
 83284  	//
 83285  	// The security policy.
 83286  	SecurityPolicy *DVSSecurityPolicy `xml:"securityPolicy,omitempty" json:"securityPolicy,omitempty"`
 83287  	// True if ipfix monitoring is enabled.
 83288  	//
 83289  	// To successfully enable ipfix
 83290  	// monitoring, the switch must have an assigned
 83291  	// *IP address*
 83292  	// and an appropriately populated
 83293  	// *ipfix configuration*
 83294  	// that specifies a collector IP address and port.
 83295  	IpfixEnabled *BoolPolicy `xml:"ipfixEnabled,omitempty" json:"ipfixEnabled,omitempty"`
 83296  	// If true, a copy of packets sent to the switch will always be forwarded to
 83297  	// an uplink in addition to the regular packet forwarded done by the switch.
 83298  	TxUplink *BoolPolicy `xml:"txUplink,omitempty" json:"txUplink,omitempty"`
 83299  	// Deprecated as of vSphere API 5.5, use
 83300  	// `VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task` and
 83301  	// `VMwareDVSConfigInfo.lacpGroupConfig`
 83302  	// instead.
 83303  	//
 83304  	// Link Aggregation Control Protocol policy.
 83305  	//
 83306  	// This policy is ignored on non-uplink portgroups.
 83307  	// Setting this policy at port level is not supported.
 83308  	LacpPolicy *VMwareUplinkLacpPolicy `xml:"lacpPolicy,omitempty" json:"lacpPolicy,omitempty"`
 83309  	// The MAC learning policy.
 83310  	MacManagementPolicy *DVSMacManagementPolicy `xml:"macManagementPolicy,omitempty" json:"macManagementPolicy,omitempty"`
 83311  	// The VNI number of overlay logical switch, which is used by
 83312  	// NSX portgroup.
 83313  	VNI *IntPolicy `xml:"VNI,omitempty" json:"VNI,omitempty"`
 83314  }
 83315  
 83316  func init() {
 83317  	t["VMwareDVSPortSetting"] = reflect.TypeOf((*VMwareDVSPortSetting)(nil)).Elem()
 83318  }
 83319  
 83320  // This class defines the VMware specific configuration for
 83321  // DistributedVirtualPort.
 83322  type VMwareDVSPortgroupPolicy struct {
 83323  	DVPortgroupPolicy
 83324  
 83325  	// Allow the setting of
 83326  	// `VmwareDistributedVirtualSwitchVlanIdSpec.vlanId`, trunk
 83327  	// `VmwareDistributedVirtualSwitchTrunkVlanSpec.vlanId`, or
 83328  	// `VmwareDistributedVirtualSwitchPvlanSpec.pvlanId`
 83329  	// for an individual port to override the setting in
 83330  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 83331  	// a portgroup.
 83332  	VlanOverrideAllowed bool `xml:"vlanOverrideAllowed" json:"vlanOverrideAllowed"`
 83333  	// Allow the setting of
 83334  	// `VMwareDVSPortSetting.uplinkTeamingPolicy`
 83335  	// for an individual port to override the setting in
 83336  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 83337  	// a portgroup.
 83338  	UplinkTeamingOverrideAllowed bool `xml:"uplinkTeamingOverrideAllowed" json:"uplinkTeamingOverrideAllowed"`
 83339  	// Deprecated as of vSphere API 6.7.1, use
 83340  	// `VMwareDVSPortgroupPolicy.macManagementOverrideAllowed` instead.
 83341  	//
 83342  	// Allow the setting of
 83343  	// `VMwareDVSPortSetting.securityPolicy`
 83344  	// for an individual port to override the setting in
 83345  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 83346  	// a portgroup.
 83347  	SecurityPolicyOverrideAllowed bool `xml:"securityPolicyOverrideAllowed" json:"securityPolicyOverrideAllowed"`
 83348  	// Allow the setting of
 83349  	// `VMwareDVSPortSetting.ipfixEnabled`
 83350  	// for an individual port to override the setting in
 83351  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 83352  	// a portgroup.
 83353  	IpfixOverrideAllowed *bool `xml:"ipfixOverrideAllowed" json:"ipfixOverrideAllowed,omitempty"`
 83354  	// Allow the setting of
 83355  	// `VMwareDVSPortSetting.macManagementPolicy`
 83356  	// for an individual port to override the setting in
 83357  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 83358  	// a portgroup.
 83359  	MacManagementOverrideAllowed *bool `xml:"macManagementOverrideAllowed" json:"macManagementOverrideAllowed,omitempty"`
 83360  }
 83361  
 83362  func init() {
 83363  	t["VMwareDVSPortgroupPolicy"] = reflect.TypeOf((*VMwareDVSPortgroupPolicy)(nil)).Elem()
 83364  }
 83365  
 83366  // This class defines the configuration of a PVLAN map entry
 83367  type VMwareDVSPvlanConfigSpec struct {
 83368  	DynamicData
 83369  
 83370  	// The PVLAN entry to be added or removed.
 83371  	PvlanEntry VMwareDVSPvlanMapEntry `xml:"pvlanEntry" json:"pvlanEntry"`
 83372  	// Operation type.
 83373  	//
 83374  	// See
 83375  	// `ConfigSpecOperation_enum` for valid values,
 83376  	// except for the "edit" value, which is not supported.
 83377  	Operation string `xml:"operation" json:"operation"`
 83378  }
 83379  
 83380  func init() {
 83381  	t["VMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*VMwareDVSPvlanConfigSpec)(nil)).Elem()
 83382  }
 83383  
 83384  // The class represents a PVLAN id.
 83385  type VMwareDVSPvlanMapEntry struct {
 83386  	DynamicData
 83387  
 83388  	// The primary VLAN ID.
 83389  	//
 83390  	// The VLAN IDs of 0 and 4095 are reserved
 83391  	// and cannot be used in this property.
 83392  	PrimaryVlanId int32 `xml:"primaryVlanId" json:"primaryVlanId"`
 83393  	// The secondary VLAN ID.
 83394  	//
 83395  	// The VLAN IDs of 0 and 4095 are reserved
 83396  	// and cannot be used in this property.
 83397  	SecondaryVlanId int32 `xml:"secondaryVlanId" json:"secondaryVlanId"`
 83398  	// The type of PVLAN.
 83399  	//
 83400  	// See `VmwareDistributedVirtualSwitchPvlanPortType_enum`
 83401  	// for valid values.
 83402  	PvlanType string `xml:"pvlanType" json:"pvlanType"`
 83403  }
 83404  
 83405  func init() {
 83406  	t["VMwareDVSPvlanMapEntry"] = reflect.TypeOf((*VMwareDVSPvlanMapEntry)(nil)).Elem()
 83407  }
 83408  
 83409  // This class defines the teaming health check configuration.
 83410  //
 83411  // Teaming health check is used to check whether the teaming policy configuration
 83412  // of the vSphere Distributed Switch matches the physical switch.
 83413  type VMwareDVSTeamingHealthCheckConfig struct {
 83414  	VMwareDVSHealthCheckConfig
 83415  }
 83416  
 83417  func init() {
 83418  	t["VMwareDVSTeamingHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckConfig)(nil)).Elem()
 83419  }
 83420  
 83421  // This class defines teaming health check result of a host that
 83422  // joined the VMware vSphered Distributed Switch.
 83423  type VMwareDVSTeamingHealthCheckResult struct {
 83424  	HostMemberHealthCheckResult
 83425  
 83426  	// Teaming check status.
 83427  	//
 83428  	// See `VMwareDVSTeamingMatchStatus_enum`
 83429  	// for valid values.
 83430  	TeamingStatus string `xml:"teamingStatus" json:"teamingStatus"`
 83431  }
 83432  
 83433  func init() {
 83434  	t["VMwareDVSTeamingHealthCheckResult"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckResult)(nil)).Elem()
 83435  }
 83436  
 83437  // This class defines Vlan health check result of an uplink port
 83438  // in the VMware vSphered Distributed Switch.
 83439  type VMwareDVSVlanHealthCheckResult struct {
 83440  	HostMemberUplinkHealthCheckResult
 83441  
 83442  	// The vlans which are trunked by the physical switch connected to the uplink port.
 83443  	//
 83444  	// If the vlan is not a range, but a single Id,
 83445  	// both start and end have the same value with the single vlan Id.
 83446  	TrunkedVlan []NumericRange `xml:"trunkedVlan,omitempty" json:"trunkedVlan,omitempty"`
 83447  	// The vlans which are not trunked by the physical switch connected to the uplink port.
 83448  	//
 83449  	// If the vlan is not a range, but a single Id,
 83450  	// both start and end have the same value with the single vlan Id.
 83451  	UntrunkedVlan []NumericRange `xml:"untrunkedVlan,omitempty" json:"untrunkedVlan,omitempty"`
 83452  }
 83453  
 83454  func init() {
 83455  	t["VMwareDVSVlanHealthCheckResult"] = reflect.TypeOf((*VMwareDVSVlanHealthCheckResult)(nil)).Elem()
 83456  }
 83457  
 83458  // This class defines the vlan and mtu health check configuration.
 83459  //
 83460  // Vlan health check is used to check whether vlans are trunked by the physical
 83461  // switch connected to the uplink ports.
 83462  // MTU health check is used to verify current MTU setting workable on all uplink ports of
 83463  // the vSphere Distributed Switch.
 83464  type VMwareDVSVlanMtuHealthCheckConfig struct {
 83465  	VMwareDVSHealthCheckConfig
 83466  }
 83467  
 83468  func init() {
 83469  	t["VMwareDVSVlanMtuHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSVlanMtuHealthCheckConfig)(nil)).Elem()
 83470  }
 83471  
 83472  // Indicators of support for version-specific Distributed Port Mirroring sessions.
 83473  type VMwareDVSVspanCapability struct {
 83474  	DynamicData
 83475  
 83476  	// Flag to indicate whether mixed dest mirror session is supported on the
 83477  	// vSphere Distributed Switch.
 83478  	MixedDestSupported bool `xml:"mixedDestSupported" json:"mixedDestSupported"`
 83479  	// Flag to indicate whether dvport mirror session is supported on the
 83480  	// vSphere Distributed Switch.
 83481  	DvportSupported bool `xml:"dvportSupported" json:"dvportSupported"`
 83482  	// Flag to indicate whether remote mirror source session is supported on the
 83483  	// vSphere Distributed Switch.
 83484  	RemoteSourceSupported bool `xml:"remoteSourceSupported" json:"remoteSourceSupported"`
 83485  	// Flag to indicate whether remote mirror destination session is supported on the
 83486  	// vSphere Distributed Switch.
 83487  	RemoteDestSupported bool `xml:"remoteDestSupported" json:"remoteDestSupported"`
 83488  	// Flag to indicate whether encapsulated remote mirror source session is supported on the
 83489  	// vSphere Distributed Switch.
 83490  	EncapRemoteSourceSupported bool `xml:"encapRemoteSourceSupported" json:"encapRemoteSourceSupported"`
 83491  	// Flag to indicate whether ERSPAN protocol encapsulation is supported
 83492  	// on the vSphere Distributed Switch.
 83493  	ErspanProtocolSupported *bool `xml:"erspanProtocolSupported" json:"erspanProtocolSupported,omitempty"`
 83494  	// Flag to indicate whether dvport mirror can be configured to use a
 83495  	// dedicated network stack instance.
 83496  	MirrorNetstackSupported *bool `xml:"mirrorNetstackSupported" json:"mirrorNetstackSupported,omitempty"`
 83497  }
 83498  
 83499  func init() {
 83500  	t["VMwareDVSVspanCapability"] = reflect.TypeOf((*VMwareDVSVspanCapability)(nil)).Elem()
 83501  }
 83502  
 83503  // This class defines the configuration of a Distributed Port Mirroring session.
 83504  //
 83505  // A Distributed Port Mirroring session
 83506  type VMwareDVSVspanConfigSpec struct {
 83507  	DynamicData
 83508  
 83509  	// The Distributed Port Mirroring session to be reconfigured.
 83510  	VspanSession VMwareVspanSession `xml:"vspanSession" json:"vspanSession"`
 83511  	// Operation type, see
 83512  	// `ConfigSpecOperation_enum` for valid values.
 83513  	Operation string `xml:"operation" json:"operation"`
 83514  }
 83515  
 83516  func init() {
 83517  	t["VMwareDVSVspanConfigSpec"] = reflect.TypeOf((*VMwareDVSVspanConfigSpec)(nil)).Elem()
 83518  }
 83519  
 83520  // The feature capabilities of Dpu Features supported by the
 83521  // vSphere Distributed Switch.
 83522  type VMwareDvsDpuCapability struct {
 83523  	DynamicData
 83524  
 83525  	// Flag to indicate whether network offloading is supported on the
 83526  	// vSphere Distributed Switch.
 83527  	NetworkOffloadSupported *bool `xml:"networkOffloadSupported" json:"networkOffloadSupported,omitempty"`
 83528  	// Flag to indicate whether the vSphere Distributed Switch supports
 83529  	// connecting two DPUs to an offloading VDS and operating in an
 83530  	// active-standby mode.
 83531  	//
 83532  	// If not set, the feature is not supported.
 83533  	ActiveStandbyModeSupported *bool `xml:"activeStandbyModeSupported" json:"activeStandbyModeSupported,omitempty" vim:"8.0.3.0"`
 83534  }
 83535  
 83536  func init() {
 83537  	t["VMwareDvsDpuCapability"] = reflect.TypeOf((*VMwareDvsDpuCapability)(nil)).Elem()
 83538  	minAPIVersionForType["VMwareDvsDpuCapability"] = "8.0.0.1"
 83539  }
 83540  
 83541  // The feature capabilities of Ipfix supported by the vSphere Distributed Switch.
 83542  type VMwareDvsIpfixCapability struct {
 83543  	DynamicData
 83544  
 83545  	// Flag to indicate whether IPFIX(NetFlow) is supported on the
 83546  	// vSphere Distributed Switch.
 83547  	//
 83548  	// IPFIX is supported in vSphere Distributed Switch Version 5.0 or later.
 83549  	IpfixSupported *bool `xml:"ipfixSupported" json:"ipfixSupported,omitempty"`
 83550  	// Flag to indicate whether IPv6 for IPFIX(NetFlow) is supported on the
 83551  	// vSphere Distributed Switch.
 83552  	//
 83553  	// IPv6 for IPFIX is supported in vSphere Distributed Switch Version 6.0 or later.
 83554  	Ipv6ForIpfixSupported *bool `xml:"ipv6ForIpfixSupported" json:"ipv6ForIpfixSupported,omitempty"`
 83555  	// Flag to indicate whether Observation Domain Id for IPFIX is supported
 83556  	// on the vSphere Distributed Switch.
 83557  	//
 83558  	// Observation Domain Id is supported in vSphere Distributed Switch Version 6.0 or later.
 83559  	ObservationDomainIdSupported *bool `xml:"observationDomainIdSupported" json:"observationDomainIdSupported,omitempty"`
 83560  }
 83561  
 83562  func init() {
 83563  	t["VMwareDvsIpfixCapability"] = reflect.TypeOf((*VMwareDvsIpfixCapability)(nil)).Elem()
 83564  }
 83565  
 83566  // The feature capabilities of Link Aggregation Control Protocol supported by the
 83567  // vSphere Distributed Switch.
 83568  type VMwareDvsLacpCapability struct {
 83569  	DynamicData
 83570  
 83571  	// Flag to indicate whether Link Aggregation Control Protocol is supported on the
 83572  	// vSphere Distributed Switch.
 83573  	LacpSupported *bool `xml:"lacpSupported" json:"lacpSupported,omitempty"`
 83574  	// Flag to indicate whether the vSphere Distributed Switch supports more
 83575  	// than one Link Aggregation Control Protocol group to be configured.
 83576  	//
 83577  	// It is suppported in vSphere Distributed Switch Version 5.5 or later.
 83578  	MultiLacpGroupSupported *bool `xml:"multiLacpGroupSupported" json:"multiLacpGroupSupported,omitempty"`
 83579  	// Flag to indicate whether LACP Fast Mode is supported on the
 83580  	// vSphere Distributed Switch.
 83581  	//
 83582  	// LACP Fast Mode is supported in vSphere Distributed Switch Version 7.0 or later.
 83583  	LacpFastModeSupported *bool `xml:"lacpFastModeSupported" json:"lacpFastModeSupported,omitempty" vim:"7.0.2.0"`
 83584  }
 83585  
 83586  func init() {
 83587  	t["VMwareDvsLacpCapability"] = reflect.TypeOf((*VMwareDvsLacpCapability)(nil)).Elem()
 83588  }
 83589  
 83590  // This class defines VMware specific multiple IEEE 802.3ad
 83591  // Dynamic Link Aggregation Control Protocol groups.
 83592  type VMwareDvsLacpGroupConfig struct {
 83593  	DynamicData
 83594  
 83595  	// The generated key as the identifier for the Link Aggregation group.
 83596  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 83597  	// The display name.
 83598  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 83599  	// The mode of Link Aggregation Control Protocol.
 83600  	//
 83601  	// See `VMwareUplinkLacpMode_enum` for valid values.
 83602  	Mode string `xml:"mode,omitempty" json:"mode,omitempty"`
 83603  	// The number of uplink ports.
 83604  	UplinkNum int32 `xml:"uplinkNum,omitempty" json:"uplinkNum,omitempty"`
 83605  	// Load balance policy.
 83606  	//
 83607  	// See `VMwareDvsLacpLoadBalanceAlgorithm_enum` for valid values.
 83608  	LoadbalanceAlgorithm string `xml:"loadbalanceAlgorithm,omitempty" json:"loadbalanceAlgorithm,omitempty"`
 83609  	// The VLAN Specification of the Uplink Ports in the Link Aggregation group.
 83610  	Vlan *VMwareDvsLagVlanConfig `xml:"vlan,omitempty" json:"vlan,omitempty"`
 83611  	// Ipfix configuration of the Link Aggregation
 83612  	// Control Protocol group.
 83613  	Ipfix *VMwareDvsLagIpfixConfig `xml:"ipfix,omitempty" json:"ipfix,omitempty"`
 83614  	// Names for the Uplink Ports in the group.
 83615  	//
 83616  	// This property is ignored in an update operation.
 83617  	UplinkName []string `xml:"uplinkName,omitempty" json:"uplinkName,omitempty"`
 83618  	// Keys for the Uplink Ports in the group.
 83619  	//
 83620  	// This property is ignored in an update operation.
 83621  	UplinkPortKey []string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
 83622  	// The timeout mode of LACP group.
 83623  	//
 83624  	// See `VMwareUplinkLacpTimeoutMode_enum` for valid values.
 83625  	TimeoutMode string `xml:"timeoutMode,omitempty" json:"timeoutMode,omitempty" vim:"7.0.2.0"`
 83626  }
 83627  
 83628  func init() {
 83629  	t["VMwareDvsLacpGroupConfig"] = reflect.TypeOf((*VMwareDvsLacpGroupConfig)(nil)).Elem()
 83630  }
 83631  
 83632  // This class defines the configuration of a Link Aggregation
 83633  // Control Protocol group.
 83634  type VMwareDvsLacpGroupSpec struct {
 83635  	DynamicData
 83636  
 83637  	// The Link Aggregation Control Protocol group to be configured.
 83638  	LacpGroupConfig VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig" json:"lacpGroupConfig"`
 83639  	// Operation type, see
 83640  	// `ConfigSpecOperation_enum` for valid values.
 83641  	Operation string `xml:"operation" json:"operation"`
 83642  }
 83643  
 83644  func init() {
 83645  	t["VMwareDvsLacpGroupSpec"] = reflect.TypeOf((*VMwareDvsLacpGroupSpec)(nil)).Elem()
 83646  }
 83647  
 83648  // This class defines the ipfix configuration of the Link Aggregation
 83649  // Control Protocol group.
 83650  type VMwareDvsLagIpfixConfig struct {
 83651  	DynamicData
 83652  
 83653  	// True if ipfix monitoring is enabled in the Link Aggregation Control Protocol group.
 83654  	//
 83655  	// If set, this property will override the ipfix configuration of Uplink Ports
 83656  	// in the Link Aggregation Control Protocol group.
 83657  	// Thus they are no longer inheriting ipfix configuration from their Uplink Port Group.
 83658  	// Setting this property would require
 83659  	// `VMwareDVSPortgroupPolicy.ipfixOverrideAllowed`
 83660  	// of all the Uplink Port Groups to be true,
 83661  	// otherwise ConflictingConfiguration fault will be raised.
 83662  	IpfixEnabled *bool `xml:"ipfixEnabled" json:"ipfixEnabled,omitempty"`
 83663  }
 83664  
 83665  func init() {
 83666  	t["VMwareDvsLagIpfixConfig"] = reflect.TypeOf((*VMwareDvsLagIpfixConfig)(nil)).Elem()
 83667  }
 83668  
 83669  // This class defines the vlan configuration of the Link Aggregation
 83670  // Control Protocol group.
 83671  type VMwareDvsLagVlanConfig struct {
 83672  	DynamicData
 83673  
 83674  	// The VlanId range for the Uplink Ports in the Link Aggregation
 83675  	// Control Protocol group.
 83676  	//
 83677  	// The valid VlanId range is from 0 to 4094. Overlapping ranges are allowed.
 83678  	// If set, this property will override the VLAN configuration of Uplink Ports
 83679  	// in the Link Aggregation Control Protocol group.
 83680  	// Thus they are no longer inheriting VLAN configuration from their Uplink Port Group.
 83681  	// Setting this property would require
 83682  	// `VMwareDVSPortgroupPolicy.vlanOverrideAllowed`
 83683  	// of all the Uplink Port Groups to be true,
 83684  	// otherwise ConflictingConfiguration fault will be raised.
 83685  	VlanId []NumericRange `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 83686  }
 83687  
 83688  func init() {
 83689  	t["VMwareDvsLagVlanConfig"] = reflect.TypeOf((*VMwareDvsLagVlanConfig)(nil)).Elem()
 83690  }
 83691  
 83692  // Indicators of support for version-specific supported MTU.
 83693  type VMwareDvsMtuCapability struct {
 83694  	DynamicData
 83695  
 83696  	// Minimum supported MTU on VDS.
 83697  	MinMtuSupported int32 `xml:"minMtuSupported" json:"minMtuSupported"`
 83698  	// Maximum supported MTU on VDS.
 83699  	MaxMtuSupported int32 `xml:"maxMtuSupported" json:"maxMtuSupported"`
 83700  }
 83701  
 83702  func init() {
 83703  	t["VMwareDvsMtuCapability"] = reflect.TypeOf((*VMwareDvsMtuCapability)(nil)).Elem()
 83704  	minAPIVersionForType["VMwareDvsMtuCapability"] = "7.0.2.0"
 83705  }
 83706  
 83707  // Configuration for IPFIX monitoring of distributed virtual switch traffic.
 83708  //
 83709  // IPFIX monitoring must be enabled to use this capability. See
 83710  // `VMwareDVSPortSetting*.*VMwareDVSPortSetting.ipfixEnabled`.
 83711  type VMwareIpfixConfig struct {
 83712  	DynamicData
 83713  
 83714  	// IP address for the ipfix collector, using IPv4 or IPv6.
 83715  	//
 83716  	// IPv6 is supported in vSphere Distributed Switch Version 6.0 or later.
 83717  	// This must be set before ipfix monitoring can be enabled for the
 83718  	// switch, or for any portgroup or port of the switch.
 83719  	CollectorIpAddress string `xml:"collectorIpAddress,omitempty" json:"collectorIpAddress,omitempty"`
 83720  	// Port for the ipfix collector.
 83721  	//
 83722  	// This must be set before ipfix monitoring
 83723  	// can be enabled for the switch, or for any portgroup or port of the
 83724  	// switch. Legal value range is 0-65535.
 83725  	CollectorPort int32 `xml:"collectorPort,omitempty" json:"collectorPort,omitempty"`
 83726  	// Observation Domain Id for the ipfix collector.
 83727  	//
 83728  	// Observation Domain Id is supported
 83729  	// in vSphere Distributed Switch Version 6.0 or later.
 83730  	// Legal value range is 0-((2^32)-1)
 83731  	ObservationDomainId int64 `xml:"observationDomainId,omitempty" json:"observationDomainId,omitempty"`
 83732  	// The number of seconds after which "active" flows are forced to be
 83733  	// exported to the collector.
 83734  	//
 83735  	// Legal value range is 60-3600. Default: 60.
 83736  	ActiveFlowTimeout int32 `xml:"activeFlowTimeout" json:"activeFlowTimeout"`
 83737  	// Deprecated as of vSphere API 9.0
 83738  	// Since from 9.0, client still can set the value of IpfixConfig.idleFlowTimeout
 83739  	// when creating/reconfiguring DVS, but no matter what value they set,
 83740  	// it will be overrided to 15 by backend.
 83741  	// In 9.0, idleFlow still functions with this overrided timeout '15',
 83742  	// but it would be fully replaced by CT-based IPFIX in newer releases.
 83743  	//
 83744  	// The number of seconds after which "idle" flows are forced to be
 83745  	// exported to the collector.
 83746  	//
 83747  	// Legal value range is 10-600. Default: 15.
 83748  	IdleFlowTimeout int32 `xml:"idleFlowTimeout,omitempty" json:"idleFlowTimeout,omitempty"`
 83749  	// The ratio of total number of packets to the number of packets
 83750  	// analyzed.
 83751  	//
 83752  	// Set to 0 to disable sampling. Legal value range is 0-16384.
 83753  	// Default: 4096.
 83754  	SamplingRate int32 `xml:"samplingRate" json:"samplingRate"`
 83755  	// Whether to limit analysis to traffic that has both source and
 83756  	// destination served by the same host.
 83757  	//
 83758  	// Default: false.
 83759  	InternalFlowsOnly bool `xml:"internalFlowsOnly" json:"internalFlowsOnly"`
 83760  }
 83761  
 83762  func init() {
 83763  	t["VMwareIpfixConfig"] = reflect.TypeOf((*VMwareIpfixConfig)(nil)).Elem()
 83764  }
 83765  
 83766  // Deprecated as of vSphere API 5.5.
 83767  //
 83768  // This class defines VMware specific Link Aggregation Control Protocol
 83769  // policy.
 83770  type VMwareUplinkLacpPolicy struct {
 83771  	InheritablePolicy
 83772  
 83773  	// The flag to indicate whether or not
 83774  	// Link Aggregation Control Protocol is enabled.
 83775  	//
 83776  	// It can be set to true if the value of
 83777  	// `VMwareDVSConfigInfo.lacpApiVersion`
 83778  	// is `singleLag`,
 83779  	// else an exception ConflictingConfiguration will be thrown.
 83780  	Enable *BoolPolicy `xml:"enable,omitempty" json:"enable,omitempty"`
 83781  	// The mode of Link Aggregation Control Protocol.
 83782  	//
 83783  	// See `VMwareUplinkLacpMode_enum` for valid values.
 83784  	Mode *StringPolicy `xml:"mode,omitempty" json:"mode,omitempty"`
 83785  }
 83786  
 83787  func init() {
 83788  	t["VMwareUplinkLacpPolicy"] = reflect.TypeOf((*VMwareUplinkLacpPolicy)(nil)).Elem()
 83789  }
 83790  
 83791  // This data object type describes uplink port ordering policy for a
 83792  // distributed virtual port.
 83793  //
 83794  // A uplink port can be in the active
 83795  // list, the standby list, or neither. It cannot be in both lists.
 83796  type VMwareUplinkPortOrderPolicy struct {
 83797  	InheritablePolicy
 83798  
 83799  	// List of active uplink ports used for load balancing.
 83800  	ActiveUplinkPort []string `xml:"activeUplinkPort,omitempty" json:"activeUplinkPort,omitempty"`
 83801  	// Standby uplink ports used for failover.
 83802  	StandbyUplinkPort []string `xml:"standbyUplinkPort,omitempty" json:"standbyUplinkPort,omitempty"`
 83803  }
 83804  
 83805  func init() {
 83806  	t["VMwareUplinkPortOrderPolicy"] = reflect.TypeOf((*VMwareUplinkPortOrderPolicy)(nil)).Elem()
 83807  }
 83808  
 83809  // This class defines the ports, uplink ports name, vlans and IP addresses participating in a
 83810  // Distributed Port Mirroring session.
 83811  //
 83812  // See `VMwareVspanSession`.
 83813  type VMwareVspanPort struct {
 83814  	DynamicData
 83815  
 83816  	// Individual ports to participate in the Distributed Port Mirroring session.
 83817  	PortKey []string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 83818  	// Uplink ports used as destination ports to participate in the Distributed Port Mirroring session.
 83819  	//
 83820  	// A fault will be raised if uplinkPortName is used as source ports
 83821  	// in any Distributed Port Mirroring session.
 83822  	UplinkPortName []string `xml:"uplinkPortName,omitempty" json:"uplinkPortName,omitempty"`
 83823  	// Wild card specification for source ports participating in the Distributed Port Mirroring session.
 83824  	//
 83825  	// See `DistributedVirtualSwitchPortConnecteeConnecteeType_enum` for valid values.
 83826  	// Any port that has a connectee of the specified type has its receive traffic
 83827  	// mirrored. A fault will be raised if wildcards are specified as destination
 83828  	// ports or source ports mirroring traffic on the transmit side.
 83829  	// It is to be not used.
 83830  	WildcardPortConnecteeType []string `xml:"wildcardPortConnecteeType,omitempty" json:"wildcardPortConnecteeType,omitempty"`
 83831  	// Vlan Ids for ingress source of Remote Mirror destination
 83832  	// session.
 83833  	Vlans []int32 `xml:"vlans,omitempty" json:"vlans,omitempty"`
 83834  	// IP address for the destination of encapsulated remote mirror source session,
 83835  	// IPv4 address is specified using dotted decimal notation.
 83836  	//
 83837  	// For example, "192.0.2.1".
 83838  	// IPv6 addresses are 128-bit addresses represented as eight fields
 83839  	// of up to four hexadecimal digits.
 83840  	// A colon separates each field (:). For example,
 83841  	// 2001:DB8:101::230:6eff:fe04:d9ff.
 83842  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 83843  }
 83844  
 83845  func init() {
 83846  	t["VMwareVspanPort"] = reflect.TypeOf((*VMwareVspanPort)(nil)).Elem()
 83847  }
 83848  
 83849  // The `VMwareVspanSession` data object
 83850  // defines the configuration of a VLAN Services and Protocols for Advanced Networks
 83851  // (VSPAN) session.
 83852  //
 83853  // You use a VSPAN session for the following operations:
 83854  //   - To mirror network traffic (inbound/outbound) from a set of source
 83855  //     entities to a set of destination entities.
 83856  //   - To assist in troubleshooting.
 83857  //   - As input for security and other network analysis appliances.
 83858  //
 83859  // The type of entities that you can specify as source or destination is determined
 83860  // by the session type. You can use uplink distributed virtual ports only for
 83861  // mixed destination mirror VSPAN sessions (mixedDestMirror).
 83862  // For all sessions except mixedDestMirror sessions, you cannot
 83863  // use uplink distributed virtual ports as destination ports.
 83864  // sessionType is required for vSphere Distributed Switch 5.1 and later,
 83865  // ignored for prior version if set.
 83866  // <table>
 83867  // <thead>
 83868  // <tr>
 83869  // <th>Session Type</th>
 83870  // <th>Source</th>
 83871  // <th>Destination </th>
 83872  // </tr>
 83873  // </thead>
 83874  // <tbody>
 83875  // <tr>
 83876  // <td>mixedDestMirror</td>
 83877  // <td>Distributed Ports</td>
 83878  // <td>Distributed Ports + Uplink Ports Name</td>
 83879  // </tr>
 83880  // <tr>
 83881  // <td>dvPortMirror</td>
 83882  // <td>Distributed Ports</td>
 83883  // <td>Distributed Ports</td>
 83884  // </tr>
 83885  // <tr>
 83886  // <td>remoteMirrorSource</td>
 83887  // <td>Distributed Ports</td>
 83888  // <td>Uplink Ports Name</td>
 83889  // </tr>
 83890  // <tr>
 83891  // <td>remoteMirrorDest</td>
 83892  // <td>VLAN</td>
 83893  // <td>Distributed Ports</td>
 83894  // </tr>
 83895  // <tr>
 83896  // <td>encapRemoteMirrorSource</td>
 83897  // <td>Distributed Ports</td>
 83898  // <td>IP address</td>
 83899  // </tr>
 83900  // </tbody>
 83901  // </table>
 83902  type VMwareVspanSession struct {
 83903  	DynamicData
 83904  
 83905  	// The generated key as the identifier for the session.
 83906  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 83907  	// The display name.
 83908  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 83909  	// The description for the session.
 83910  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 83911  	// Whether the session is enabled.
 83912  	Enabled bool `xml:"enabled" json:"enabled"`
 83913  	// Source ports for which transmitted packets are mirrored.
 83914  	SourcePortTransmitted *VMwareVspanPort `xml:"sourcePortTransmitted,omitempty" json:"sourcePortTransmitted,omitempty"`
 83915  	// Source ports for which received packets are mirrored.
 83916  	SourcePortReceived *VMwareVspanPort `xml:"sourcePortReceived,omitempty" json:"sourcePortReceived,omitempty"`
 83917  	// Destination ports that received the mirrored packets.
 83918  	//
 83919  	// You cannot use wild card ports as destination ports. If `VMwareVspanPort.wildcardPortConnecteeType`
 83920  	// is set in the value, the reconfigure
 83921  	// operation will raise a fault. Also any port designated in the value of
 83922  	// this property can not match the wild card source port in any of the
 83923  	// Distributed Port Mirroring session.
 83924  	DestinationPort *VMwareVspanPort `xml:"destinationPort,omitempty" json:"destinationPort,omitempty"`
 83925  	// VLAN ID used to encapsulate the mirrored traffic.
 83926  	EncapsulationVlanId int32 `xml:"encapsulationVlanId,omitempty" json:"encapsulationVlanId,omitempty"`
 83927  	// Whether to strip the original VLAN tag.
 83928  	//
 83929  	// if false, the original VLAN tag
 83930  	// will be preserved on the mirrored traffic. If `VMwareVspanSession.encapsulationVlanId`
 83931  	// has been set and this property is false, the frames will be double tagged
 83932  	// with the original VLAN ID as the inner tag.
 83933  	StripOriginalVlan bool `xml:"stripOriginalVlan" json:"stripOriginalVlan"`
 83934  	// An integer that describes how much of each frame to mirror.
 83935  	//
 83936  	// If unset, all
 83937  	// of the frame would be mirrored. Setting this property to a smaller value
 83938  	// is useful when the consumer will look only at the headers.
 83939  	// The value cannot be less than 60.
 83940  	MirroredPacketLength int32 `xml:"mirroredPacketLength,omitempty" json:"mirroredPacketLength,omitempty"`
 83941  	// Whether or not destination ports can send and receive "normal" traffic.
 83942  	//
 83943  	// Setting this to false will make mirror ports be used solely for mirroring
 83944  	// and not double as normal access ports.
 83945  	NormalTrafficAllowed bool `xml:"normalTrafficAllowed" json:"normalTrafficAllowed"`
 83946  	// Type of the session.
 83947  	//
 83948  	// See
 83949  	// `VMwareDVSVspanSessionType_enum`
 83950  	// for valid values.
 83951  	// Default value is mixedDestMirror if unspecified in a VSPAN create operation.
 83952  	SessionType string `xml:"sessionType,omitempty" json:"sessionType,omitempty"`
 83953  	// Sampling rate of the session.
 83954  	//
 83955  	// If its value is n, one of every n
 83956  	// packets is mirrored.
 83957  	// Valid values are between 1 to 65535, and default value is 1.
 83958  	SamplingRate int32 `xml:"samplingRate,omitempty" json:"samplingRate,omitempty"`
 83959  	// Encapsulation type of the session.
 83960  	//
 83961  	// See
 83962  	// `VMwareDVSVspanSessionEncapType_enum`
 83963  	// for valid values.
 83964  	// Default value is encapProtocolGRE if unspecified in a
 83965  	// VSPAN create operation.
 83966  	EncapType string `xml:"encapType,omitempty" json:"encapType,omitempty"`
 83967  	// ERSPAN ID of the session.
 83968  	//
 83969  	// Valid values are between 0 to 0x3ff, and default value is 0.
 83970  	// This value is applicable only if encaptType is
 83971  	// `erspan2` or
 83972  	// `erspan3`
 83973  	ErspanId int32 `xml:"erspanId,omitempty" json:"erspanId,omitempty"`
 83974  	// Class of Service of the monitored frame.
 83975  	//
 83976  	// Valid values are between 0 to 7, and default value is 0.
 83977  	// This value is applicable only if encaptType is
 83978  	// `erspan2` or
 83979  	// `erspan3`
 83980  	ErspanCOS int32 `xml:"erspanCOS,omitempty" json:"erspanCOS,omitempty"`
 83981  	// Timestamp Granularity.
 83982  	//
 83983  	// If the value is false, timestamp-granularity will be microsecond.
 83984  	// Otherwise the timestamp-granularity will be nanosecond
 83985  	// This value is applicable only if encaptType is
 83986  	// `erspan3`
 83987  	ErspanGraNanosec *bool `xml:"erspanGraNanosec" json:"erspanGraNanosec,omitempty"`
 83988  	// Netstack instance of the session.
 83989  	Netstack string `xml:"netstack,omitempty" json:"netstack,omitempty"`
 83990  }
 83991  
 83992  func init() {
 83993  	t["VMwareVspanSession"] = reflect.TypeOf((*VMwareVspanSession)(nil)).Elem()
 83994  }
 83995  
 83996  // This data object type describes a virtual storage object.
 83997  type VStorageObject struct {
 83998  	DynamicData
 83999  
 84000  	// Virtual storage object configuration
 84001  	Config VStorageObjectConfigInfo `xml:"config" json:"config"`
 84002  }
 84003  
 84004  func init() {
 84005  	t["VStorageObject"] = reflect.TypeOf((*VStorageObject)(nil)).Elem()
 84006  }
 84007  
 84008  // This data object is a key-value pair whose key is the virtual storage
 84009  // object id, and value is the vm association information.
 84010  type VStorageObjectAssociations struct {
 84011  	DynamicData
 84012  
 84013  	// ID of this virtual storage object.
 84014  	Id ID `xml:"id" json:"id"`
 84015  	// Array of vm associations related to the virtual storage object.
 84016  	VmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"vmDiskAssociations,omitempty" json:"vmDiskAssociations,omitempty"`
 84017  	// Received error while generating associations.
 84018  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 84019  }
 84020  
 84021  func init() {
 84022  	t["VStorageObjectAssociations"] = reflect.TypeOf((*VStorageObjectAssociations)(nil)).Elem()
 84023  }
 84024  
 84025  // This data object contains infomation of a VM Disk associations.
 84026  type VStorageObjectAssociationsVmDiskAssociations struct {
 84027  	DynamicData
 84028  
 84029  	// ID of the virtual machine.
 84030  	VmId string `xml:"vmId" json:"vmId"`
 84031  	// Device key of the disk attached to the VM.
 84032  	DiskKey int32 `xml:"diskKey" json:"diskKey"`
 84033  }
 84034  
 84035  func init() {
 84036  	t["VStorageObjectAssociationsVmDiskAssociations"] = reflect.TypeOf((*VStorageObjectAssociationsVmDiskAssociations)(nil)).Elem()
 84037  }
 84038  
 84039  // Data object specifies Virtual storage object configuration
 84040  type VStorageObjectConfigInfo struct {
 84041  	BaseConfigInfo
 84042  
 84043  	// The descriptor version of this object
 84044  	DescriptorVersion int32 `xml:"descriptorVersion,omitempty" json:"descriptorVersion,omitempty" vim:"8.0.1.0"`
 84045  	// The size in MB of this object.
 84046  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
 84047  	// Consumption type of this object.
 84048  	//
 84049  	// See also `VStorageObjectConsumptionType_enum`.
 84050  	ConsumptionType []string `xml:"consumptionType,omitempty" json:"consumptionType,omitempty"`
 84051  	// IDs of the consumer objects which consume this vstorage object.
 84052  	//
 84053  	// For a virtual disk, this can be VM ID(s).
 84054  	ConsumerId []ID `xml:"consumerId,omitempty" json:"consumerId,omitempty"`
 84055  	// The type of VirtualDisk for 4k native disk/array support.
 84056  	//
 84057  	// See `DatastoreSectorFormat_enum` for definitions of
 84058  	// supported types. If not set, the default value is
 84059  	// `native_512`.
 84060  	VirtualDiskFormat string `xml:"virtualDiskFormat,omitempty" json:"virtualDiskFormat,omitempty" vim:"9.0.0.0"`
 84061  }
 84062  
 84063  func init() {
 84064  	t["VStorageObjectConfigInfo"] = reflect.TypeOf((*VStorageObjectConfigInfo)(nil)).Elem()
 84065  }
 84066  
 84067  // The parameters of `VStorageObjectManagerBase.VStorageObjectCreateSnapshotEx_Task`.
 84068  type VStorageObjectCreateSnapshotExRequestType struct {
 84069  	This ManagedObjectReference `xml:"_this" json:"-"`
 84070  	// The ID of the virtual storage object.
 84071  	Id ID `xml:"id" json:"id"`
 84072  	// The datastore where the source virtual storage object
 84073  	// is located.
 84074  	//
 84075  	// Refers instance of `Datastore`.
 84076  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 84077  	// A short description to be associated with the snapshot.
 84078  	Description string `xml:"description" json:"description"`
 84079  }
 84080  
 84081  func init() {
 84082  	t["VStorageObjectCreateSnapshotExRequestType"] = reflect.TypeOf((*VStorageObjectCreateSnapshotExRequestType)(nil)).Elem()
 84083  	minAPIVersionForType["VStorageObjectCreateSnapshotExRequestType"] = "8.0.2.0"
 84084  }
 84085  
 84086  type VStorageObjectCreateSnapshotEx_Task VStorageObjectCreateSnapshotExRequestType
 84087  
 84088  func init() {
 84089  	t["VStorageObjectCreateSnapshotEx_Task"] = reflect.TypeOf((*VStorageObjectCreateSnapshotEx_Task)(nil)).Elem()
 84090  }
 84091  
 84092  type VStorageObjectCreateSnapshotEx_TaskResponse struct {
 84093  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 84094  }
 84095  
 84096  // The parameters of `VcenterVStorageObjectManager.VStorageObjectCreateSnapshot_Task`.
 84097  type VStorageObjectCreateSnapshotRequestType struct {
 84098  	This ManagedObjectReference `xml:"_this" json:"-"`
 84099  	// The ID of the virtual storage object.
 84100  	Id ID `xml:"id" json:"id"`
 84101  	// The datastore where the source virtual storage object
 84102  	// is located.
 84103  	//
 84104  	// Refers instance of `Datastore`.
 84105  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 84106  	// A short description to be associated with the snapshot.
 84107  	Description string `xml:"description" json:"description"`
 84108  }
 84109  
 84110  func init() {
 84111  	t["VStorageObjectCreateSnapshotRequestType"] = reflect.TypeOf((*VStorageObjectCreateSnapshotRequestType)(nil)).Elem()
 84112  }
 84113  
 84114  type VStorageObjectCreateSnapshot_Task VStorageObjectCreateSnapshotRequestType
 84115  
 84116  func init() {
 84117  	t["VStorageObjectCreateSnapshot_Task"] = reflect.TypeOf((*VStorageObjectCreateSnapshot_Task)(nil)).Elem()
 84118  }
 84119  
 84120  type VStorageObjectCreateSnapshot_TaskResponse struct {
 84121  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 84122  }
 84123  
 84124  // The parameters of `VStorageObjectManagerBase.VStorageObjectDeleteSnapshotEx_Task`.
 84125  type VStorageObjectDeleteSnapshotExRequestType struct {
 84126  	This ManagedObjectReference `xml:"_this" json:"-"`
 84127  	// The ID of the virtual storage object.
 84128  	Id ID `xml:"id" json:"id"`
 84129  	// The datastore where the source virtual storage object
 84130  	// is located.
 84131  	//
 84132  	// Refers instance of `Datastore`.
 84133  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 84134  	// The ID of the snapshot of a virtual storage object.
 84135  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 84136  }
 84137  
 84138  func init() {
 84139  	t["VStorageObjectDeleteSnapshotExRequestType"] = reflect.TypeOf((*VStorageObjectDeleteSnapshotExRequestType)(nil)).Elem()
 84140  	minAPIVersionForType["VStorageObjectDeleteSnapshotExRequestType"] = "8.0.2.0"
 84141  }
 84142  
 84143  type VStorageObjectDeleteSnapshotEx_Task VStorageObjectDeleteSnapshotExRequestType
 84144  
 84145  func init() {
 84146  	t["VStorageObjectDeleteSnapshotEx_Task"] = reflect.TypeOf((*VStorageObjectDeleteSnapshotEx_Task)(nil)).Elem()
 84147  }
 84148  
 84149  type VStorageObjectDeleteSnapshotEx_TaskResponse struct {
 84150  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 84151  }
 84152  
 84153  // The parameters of `VStorageObjectManagerBase.VStorageObjectExtendDiskEx_Task`.
 84154  type VStorageObjectExtendDiskExRequestType struct {
 84155  	This ManagedObjectReference `xml:"_this" json:"-"`
 84156  	// The ID of the virtual disk to be extended.
 84157  	Id ID `xml:"id" json:"id"`
 84158  	// The datastore where the virtual disk is located.
 84159  	//
 84160  	// Refers instance of `Datastore`.
 84161  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 84162  	// The new capacity of the virtual disk in MB.
 84163  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
 84164  }
 84165  
 84166  func init() {
 84167  	t["VStorageObjectExtendDiskExRequestType"] = reflect.TypeOf((*VStorageObjectExtendDiskExRequestType)(nil)).Elem()
 84168  	minAPIVersionForType["VStorageObjectExtendDiskExRequestType"] = "8.0.2.0"
 84169  }
 84170  
 84171  type VStorageObjectExtendDiskEx_Task VStorageObjectExtendDiskExRequestType
 84172  
 84173  func init() {
 84174  	t["VStorageObjectExtendDiskEx_Task"] = reflect.TypeOf((*VStorageObjectExtendDiskEx_Task)(nil)).Elem()
 84175  }
 84176  
 84177  type VStorageObjectExtendDiskEx_TaskResponse struct {
 84178  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 84179  }
 84180  
 84181  // Contains result to be returned for
 84182  // `VcenterVStorageObjectManager.ReconcileDatastoreInventoryEx_Task` task.
 84183  type VStorageObjectReconcileResult struct {
 84184  	DynamicData
 84185  
 84186  	ReconcileDetails []VStorageObjectReconcileResultReconcileDetail `xml:"reconcileDetails,omitempty" json:"reconcileDetails,omitempty"`
 84187  }
 84188  
 84189  func init() {
 84190  	t["VStorageObjectReconcileResult"] = reflect.TypeOf((*VStorageObjectReconcileResult)(nil)).Elem()
 84191  	minAPIVersionForType["VStorageObjectReconcileResult"] = "9.0.0.0"
 84192  }
 84193  
 84194  type VStorageObjectReconcileResultInvalidDiskPath struct {
 84195  	DynamicData
 84196  
 84197  	// invalid disk path for reconcile.
 84198  	Path string `xml:"path" json:"path"`
 84199  	// Reason for invalid disk path
 84200  	Reason string `xml:"reason" json:"reason"`
 84201  }
 84202  
 84203  func init() {
 84204  	t["VStorageObjectReconcileResultInvalidDiskPath"] = reflect.TypeOf((*VStorageObjectReconcileResultInvalidDiskPath)(nil)).Elem()
 84205  	minAPIVersionForType["VStorageObjectReconcileResultInvalidDiskPath"] = "9.0.0.0"
 84206  }
 84207  
 84208  // Contains information related to the performed reconcile operation.
 84209  type VStorageObjectReconcileResultReconcileDetail struct {
 84210  	DynamicData
 84211  
 84212  	// Host name where reconcile operation was performed.
 84213  	//
 84214  	// This will have the either VC name or the host name based on
 84215  	// where the details were captured.
 84216  	// In case we do not get the hostName for the system it would be
 84217  	// empty string.
 84218  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 84219  	// Reconcile report path in host.
 84220  	ReconcileReportPath string `xml:"reconcileReportPath,omitempty" json:"reconcileReportPath,omitempty"`
 84221  	// Set to true if reconcile was done from host, false otherwise
 84222  	// for host.
 84223  	//
 84224  	// This will be unset for the vcenter part of result.
 84225  	IsReconciled *bool `xml:"isReconciled" json:"isReconciled,omitempty"`
 84226  	// If deepScan was done from host, false otherwise for host.
 84227  	//
 84228  	// This will be unset for vcenter part of result.
 84229  	IsDeepScanned *bool `xml:"isDeepScanned" json:"isDeepScanned,omitempty"`
 84230  	// Number of reconcile issues found
 84231  	NumberOfReconcileIssues int32 `xml:"numberOfReconcileIssues,omitempty" json:"numberOfReconcileIssues,omitempty"`
 84232  	// Number of fcds before reconcile operation
 84233  	// This will be unset for vcenter part of result.
 84234  	NumberOfFcdsBeforeReconcile int32 `xml:"numberOfFcdsBeforeReconcile,omitempty" json:"numberOfFcdsBeforeReconcile,omitempty"`
 84235  	// Number of fcds after reconcile operation.
 84236  	//
 84237  	// This will be unset for vcenter part of result.
 84238  	NumberOfFcdsAfterReconcile int32 `xml:"numberOfFcdsAfterReconcile,omitempty" json:"numberOfFcdsAfterReconcile,omitempty"`
 84239  	// reconcile invalid disk paths
 84240  	InvalidDiskPaths []VStorageObjectReconcileResultInvalidDiskPath `xml:"invalidDiskPaths,omitempty" json:"invalidDiskPaths,omitempty"`
 84241  }
 84242  
 84243  func init() {
 84244  	t["VStorageObjectReconcileResultReconcileDetail"] = reflect.TypeOf((*VStorageObjectReconcileResultReconcileDetail)(nil)).Elem()
 84245  	minAPIVersionForType["VStorageObjectReconcileResultReconcileDetail"] = "9.0.0.0"
 84246  }
 84247  
 84248  // Contains specification to reconcile a datastore
 84249  type VStorageObjectReconcileSpec struct {
 84250  	DynamicData
 84251  
 84252  	// The datastore managed object that is to be reconciled/scanned.
 84253  	//
 84254  	// Refers instance of `Datastore`.
 84255  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 84256  	// List of paths of the disk descriptor files which are to be reconciled
 84257  	// or scanned.
 84258  	//
 84259  	// This is an optional parameter and if specified, the reconciliation will
 84260  	// scan only these disk paths and reconcile the catalog.
 84261  	// This will save time and avoid scanning all the vmdk files.
 84262  	// The disk paths should belong to the same datastore.
 84263  	// The field should adhere to the following format:
 84264  	// /vmfs/volume/&lt;datastore-uuid&gt;/.../&lt;disk-name&gt;.vmdk .
 84265  	// Please note, either this field or `VStorageObjectReconcileSpec.excludeDiskPaths`
 84266  	// should be specified in `VStorageObjectReconcileSpec` and not both.
 84267  	IncludeDiskPaths []string `xml:"includeDiskPaths,omitempty" json:"includeDiskPaths,omitempty"`
 84268  	// List of paths of the disk descriptor files which are excluded for reconcile
 84269  	// or scan operation.
 84270  	//
 84271  	// This is an optional parameter and if specified, the reconciliation will
 84272  	// skip these disk paths.
 84273  	// This will be useful in a case when user wants to reconcile complete datastore
 84274  	// and skip few set of the FCD's which are present in same datastore.
 84275  	// The disk paths should belong to the same datastore.
 84276  	// The field should adhere to the following format:
 84277  	// /vmfs/volume/&lt;datastore-uuid&gt;/.../&lt;disk-name&gt;.vmdk
 84278  	// Please note, either `VStorageObjectReconcileSpec.includeDiskPaths` or this field
 84279  	// should be specified in `VStorageObjectReconcileSpec` and not both.
 84280  	ExcludeDiskPaths []string `xml:"excludeDiskPaths,omitempty" json:"excludeDiskPaths,omitempty"`
 84281  	// If true - Checks extent files and disk descriptor file contents
 84282  	// Note that this is a time consuming process.
 84283  	DeepScan *bool `xml:"deepScan" json:"deepScan,omitempty"`
 84284  	// If true - Does not reconcile but only scans the datastore.
 84285  	DryRun *bool `xml:"dryRun" json:"dryRun,omitempty"`
 84286  	// If set to 1, generate report for
 84287  	// `HostVStorageObjectManager.HostReconcileDatastoreInventoryEx_Task` task.
 84288  	//
 84289  	// If set to 0 or unset, do not generate report
 84290  	// Partner apps can use 0 and 1 as values.
 84291  	// Other values are reserved for future and internal use.
 84292  	GenerateReport int32 `xml:"generateReport,omitempty" json:"generateReport,omitempty"`
 84293  }
 84294  
 84295  func init() {
 84296  	t["VStorageObjectReconcileSpec"] = reflect.TypeOf((*VStorageObjectReconcileSpec)(nil)).Elem()
 84297  	minAPIVersionForType["VStorageObjectReconcileSpec"] = "9.0.0.0"
 84298  }
 84299  
 84300  // This data object type contains ID and VClock details of a virtual disk snapshot.
 84301  type VStorageObjectSnapshot struct {
 84302  	DynamicData
 84303  
 84304  	// ID of this snapshot object.
 84305  	Id ID `xml:"id" json:"id"`
 84306  	// VClock associated with the FCD when the operation completes.
 84307  	Vclock VslmVClockInfo `xml:"vclock" json:"vclock"`
 84308  }
 84309  
 84310  func init() {
 84311  	t["VStorageObjectSnapshot"] = reflect.TypeOf((*VStorageObjectSnapshot)(nil)).Elem()
 84312  	minAPIVersionForType["VStorageObjectSnapshot"] = "8.0.2.0"
 84313  }
 84314  
 84315  // This data object type provides details of a vstorage object snapshot
 84316  type VStorageObjectSnapshotDetails struct {
 84317  	DynamicData
 84318  
 84319  	// Path of the snaphost object
 84320  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 84321  	// Changed block tracking ID of the snapshot
 84322  	ChangedBlockTrackingId string `xml:"changedBlockTrackingId,omitempty" json:"changedBlockTrackingId,omitempty"`
 84323  }
 84324  
 84325  func init() {
 84326  	t["VStorageObjectSnapshotDetails"] = reflect.TypeOf((*VStorageObjectSnapshotDetails)(nil)).Elem()
 84327  }
 84328  
 84329  // This data object type contains the brief information of a
 84330  // virtual storage snapshot.
 84331  type VStorageObjectSnapshotInfo struct {
 84332  	DynamicData
 84333  
 84334  	// An array of snapshots
 84335  	Snapshots []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"snapshots,omitempty" json:"snapshots,omitempty"`
 84336  }
 84337  
 84338  func init() {
 84339  	t["VStorageObjectSnapshotInfo"] = reflect.TypeOf((*VStorageObjectSnapshotInfo)(nil)).Elem()
 84340  }
 84341  
 84342  type VStorageObjectSnapshotInfoVStorageObjectSnapshot struct {
 84343  	DynamicData
 84344  
 84345  	// ID of the snapshot object.
 84346  	Id *ID `xml:"id,omitempty" json:"id,omitempty"`
 84347  	// Backing object ID
 84348  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
 84349  	// The date and time this object was created.
 84350  	CreateTime time.Time `xml:"createTime" json:"createTime"`
 84351  	// Short description of the snapshot
 84352  	Description string `xml:"description" json:"description"`
 84353  }
 84354  
 84355  func init() {
 84356  	t["VStorageObjectSnapshotInfoVStorageObjectSnapshot"] = reflect.TypeOf((*VStorageObjectSnapshotInfoVStorageObjectSnapshot)(nil)).Elem()
 84357  }
 84358  
 84359  // Contains information of a virtual storage object state.
 84360  //
 84361  // NOTE: The information obtained with this object is dynamic and it could
 84362  // change during the lifetime of the object. For performance purposes some
 84363  // of the data may not reflect the immediate state of the object, also there
 84364  // is not guarantee that it will be provided.
 84365  type VStorageObjectStateInfo struct {
 84366  	DynamicData
 84367  
 84368  	// If set this flag indicates that the object currently is part of
 84369  	// provisioning operation or the last operation has not finished gracefully.
 84370  	//
 84371  	// There are maintenance procedures that are working on resolving that
 84372  	// tentative state. Note that this might result in the object to be removed.
 84373  	Tentative *bool `xml:"tentative" json:"tentative,omitempty"`
 84374  }
 84375  
 84376  func init() {
 84377  	t["VStorageObjectStateInfo"] = reflect.TypeOf((*VStorageObjectStateInfo)(nil)).Elem()
 84378  }
 84379  
 84380  type VVolHostPE struct {
 84381  	DynamicData
 84382  
 84383  	// The host associated with this volume.
 84384  	//
 84385  	// Refers instance of `HostSystem`.
 84386  	Key ManagedObjectReference `xml:"key" json:"key"`
 84387  	// Host-specific information about the ProtocolEndpoint.
 84388  	ProtocolEndpoint []HostProtocolEndpoint `xml:"protocolEndpoint" json:"protocolEndpoint"`
 84389  }
 84390  
 84391  func init() {
 84392  	t["VVolHostPE"] = reflect.TypeOf((*VVolHostPE)(nil)).Elem()
 84393  }
 84394  
 84395  // VVolVmConfigFileUpdateResult is the result returned
 84396  // by the `Datastore.UpdateVVolVirtualMachineFiles_Task` method.
 84397  type VVolVmConfigFileUpdateResult struct {
 84398  	DynamicData
 84399  
 84400  	// Mapping of target config VVol IDs to the target virtual machine
 84401  	// config file paths which are successfully updated.
 84402  	SucceededVmConfigFile []KeyValue `xml:"succeededVmConfigFile,omitempty" json:"succeededVmConfigFile,omitempty"`
 84403  	// The list of virtual machines config files the server has attempted,
 84404  	// but failed to update.
 84405  	FailedVmConfigFile []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"failedVmConfigFile,omitempty" json:"failedVmConfigFile,omitempty"`
 84406  }
 84407  
 84408  func init() {
 84409  	t["VVolVmConfigFileUpdateResult"] = reflect.TypeOf((*VVolVmConfigFileUpdateResult)(nil)).Elem()
 84410  }
 84411  
 84412  // Information of the failed update on the virtual machine config
 84413  // file.
 84414  type VVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
 84415  	DynamicData
 84416  
 84417  	// The target virtual machine config VVol ID
 84418  	TargetConfigVVolId string `xml:"targetConfigVVolId" json:"targetConfigVVolId"`
 84419  	// Datastore path for the virtual machine that failed to recover
 84420  	DsPath string `xml:"dsPath,omitempty" json:"dsPath,omitempty"`
 84421  	// The reason why the update failed.
 84422  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 84423  }
 84424  
 84425  func init() {
 84426  	t["VVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*VVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem()
 84427  }
 84428  
 84429  type ValidateCredentialsInGuest ValidateCredentialsInGuestRequestType
 84430  
 84431  func init() {
 84432  	t["ValidateCredentialsInGuest"] = reflect.TypeOf((*ValidateCredentialsInGuest)(nil)).Elem()
 84433  }
 84434  
 84435  // The parameters of `GuestAuthManager.ValidateCredentialsInGuest`.
 84436  type ValidateCredentialsInGuestRequestType struct {
 84437  	This ManagedObjectReference `xml:"_this" json:"-"`
 84438  	// MoRef of the VM to perform the operation on.
 84439  	//
 84440  	// Required privileges: VirtualMachine.GuestOperations.Query
 84441  	//
 84442  	// Refers instance of `VirtualMachine`.
 84443  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 84444  	// The guest authentication data. See
 84445  	// `GuestAuthentication`.
 84446  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 84447  }
 84448  
 84449  func init() {
 84450  	t["ValidateCredentialsInGuestRequestType"] = reflect.TypeOf((*ValidateCredentialsInGuestRequestType)(nil)).Elem()
 84451  }
 84452  
 84453  type ValidateCredentialsInGuestResponse struct {
 84454  }
 84455  
 84456  type ValidateHCIConfiguration ValidateHCIConfigurationRequestType
 84457  
 84458  func init() {
 84459  	t["ValidateHCIConfiguration"] = reflect.TypeOf((*ValidateHCIConfiguration)(nil)).Elem()
 84460  }
 84461  
 84462  // The parameters of `ClusterComputeResource.ValidateHCIConfiguration`.
 84463  type ValidateHCIConfigurationRequestType struct {
 84464  	This ManagedObjectReference `xml:"_this" json:"-"`
 84465  	// The `ClusterComputeResourceHCIConfigSpec`
 84466  	// to be used for validating the hosts. If not specified, the
 84467  	// existing `ClusterComputeResourceHCIConfigInfo` of the
 84468  	// cluster will be used.
 84469  	// Note:- This param must be omitted for post-configure validation.
 84470  	HciConfigSpec *ClusterComputeResourceHCIConfigSpec `xml:"hciConfigSpec,omitempty" json:"hciConfigSpec,omitempty"`
 84471  	// The set of hosts to be validated. If not specified, the set
 84472  	// of existing hosts in the cluster will be used.
 84473  	// Note:- This param must be omitted for post-configure validation.
 84474  	//
 84475  	// Refers instances of `HostSystem`.
 84476  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 84477  }
 84478  
 84479  func init() {
 84480  	t["ValidateHCIConfigurationRequestType"] = reflect.TypeOf((*ValidateHCIConfigurationRequestType)(nil)).Elem()
 84481  }
 84482  
 84483  type ValidateHCIConfigurationResponse struct {
 84484  	Returnval []BaseClusterComputeResourceValidationResultBase `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 84485  }
 84486  
 84487  type ValidateHost ValidateHostRequestType
 84488  
 84489  func init() {
 84490  	t["ValidateHost"] = reflect.TypeOf((*ValidateHost)(nil)).Elem()
 84491  }
 84492  
 84493  // The parameters of `HostProfileManager.ValidateHostProfileComposition_Task`.
 84494  type ValidateHostProfileCompositionRequestType struct {
 84495  	This ManagedObjectReference `xml:"_this" json:"-"`
 84496  	// The source host profile of the configurations for
 84497  	// composition.
 84498  	//
 84499  	// Refers instance of `Profile`.
 84500  	Source ManagedObjectReference `xml:"source" json:"source"`
 84501  	// The array of target host profiles that the configurations
 84502  	// composite into.
 84503  	//
 84504  	// Refers instances of `Profile`.
 84505  	Targets []ManagedObjectReference `xml:"targets,omitempty" json:"targets,omitempty"`
 84506  	// A `HostApplyProfile` object
 84507  	// contains the sub profiles that will be merged from the source to
 84508  	// the target host profiles, and all the ancestors of these sub
 84509  	// profiles. For singleton sub profile, it will be added into a
 84510  	// target host profile if it doesn't exist in the target; otherwise,
 84511  	// it replaces the one in the target.
 84512  	// The member variable
 84513  	// `ApplyProfile.toBeMerged` of these sub profiles
 84514  	// should have a value of <code>true</code>. The member variables
 84515  	// `ApplyProfile.toBeMerged`
 84516  	// `ApplyProfile.toReplaceWith`,
 84517  	// `ApplyProfile.toBeDeleted`
 84518  	// of the ancestors should have a value of <code>false</code>.
 84519  	ToBeMerged *HostApplyProfile `xml:"toBeMerged,omitempty" json:"toBeMerged,omitempty"`
 84520  	// A `HostApplyProfile` object
 84521  	// contains the sub profiles that will be used to replace the array
 84522  	// in the target host profiles, and all the ancestors of these sub
 84523  	// profiles.
 84524  	// Similar to above except that the member variable
 84525  	// `ApplyProfile.toReplaceWith`
 84526  	// is turned on.
 84527  	ToReplaceWith *HostApplyProfile `xml:"toReplaceWith,omitempty" json:"toReplaceWith,omitempty"`
 84528  	// A `HostApplyProfile` object
 84529  	// contains the sub profiles that will be deleted from the source
 84530  	// `*and*` the target host profiles, and all the ancestors of
 84531  	// these sub profiles.
 84532  	// Similar to above except that the member variable
 84533  	// `ApplyProfile.toBeDeleted`
 84534  	// is turned on.
 84535  	ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
 84536  	// A `HostApplyProfile`
 84537  	// object contains the sub profiles that the member variable
 84538  	// `ApplyProfile.enabled` will be copied from the
 84539  	// source host profile to all the target host profiles, and all the
 84540  	// ancestors of these sub profiles.
 84541  	// The member variable
 84542  	// `ApplyProfile.copyEnableStatus`
 84543  	// of these sub profiles is turned on. The member variable
 84544  	// `ApplyProfile.copyEnableStatus` of the
 84545  	// `ApplyProfile.copyEnableStatus` of the
 84546  	// ancestors should have a value of <code>false</code>.
 84547  	EnableStatusToBeCopied *HostApplyProfile `xml:"enableStatusToBeCopied,omitempty" json:"enableStatusToBeCopied,omitempty"`
 84548  	// Indicates that the validation result for each target
 84549  	// don't contain the source-target difference.
 84550  	ErrorOnly *bool `xml:"errorOnly" json:"errorOnly,omitempty"`
 84551  }
 84552  
 84553  func init() {
 84554  	t["ValidateHostProfileCompositionRequestType"] = reflect.TypeOf((*ValidateHostProfileCompositionRequestType)(nil)).Elem()
 84555  }
 84556  
 84557  type ValidateHostProfileComposition_Task ValidateHostProfileCompositionRequestType
 84558  
 84559  func init() {
 84560  	t["ValidateHostProfileComposition_Task"] = reflect.TypeOf((*ValidateHostProfileComposition_Task)(nil)).Elem()
 84561  }
 84562  
 84563  type ValidateHostProfileComposition_TaskResponse struct {
 84564  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 84565  }
 84566  
 84567  // The parameters of `OvfManager.ValidateHost`.
 84568  type ValidateHostRequestType struct {
 84569  	This ManagedObjectReference `xml:"_this" json:"-"`
 84570  	// The OVF descriptor to examine.
 84571  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 84572  	// The host to validate against.
 84573  	//
 84574  	// Refers instance of `HostSystem`.
 84575  	Host ManagedObjectReference `xml:"host" json:"host"`
 84576  	// Additional parameters for validateHost, wrapped in a ValidateHostParams
 84577  	// instance.
 84578  	Vhp OvfValidateHostParams `xml:"vhp" json:"vhp"`
 84579  }
 84580  
 84581  func init() {
 84582  	t["ValidateHostRequestType"] = reflect.TypeOf((*ValidateHostRequestType)(nil)).Elem()
 84583  }
 84584  
 84585  type ValidateHostResponse struct {
 84586  	Returnval OvfValidateHostResult `xml:"returnval" json:"returnval"`
 84587  }
 84588  
 84589  type ValidateMigration ValidateMigrationRequestType
 84590  
 84591  func init() {
 84592  	t["ValidateMigration"] = reflect.TypeOf((*ValidateMigration)(nil)).Elem()
 84593  }
 84594  
 84595  // The parameters of `ServiceInstance.ValidateMigration`.
 84596  type ValidateMigrationRequestType struct {
 84597  	This ManagedObjectReference `xml:"_this" json:"-"`
 84598  	// The set of virtual machines intended for migration.
 84599  	//
 84600  	// Refers instances of `VirtualMachine`.
 84601  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 84602  	// The power state that the virtual machines must have. If
 84603  	// this argument is not set, each virtual machine is evaluated
 84604  	// according to its current power state.
 84605  	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
 84606  	// The set of tests to run. If this argument is not set, all
 84607  	// tests will be run.
 84608  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 84609  	// The target resource pool for the virtual machines. If the
 84610  	// pool parameter is left unset, the target pool for each particular
 84611  	// virtual machine's migration will be that virtual machine's current
 84612  	// pool. If the virtual machine is a template then either this
 84613  	// parameter or the host parameter must be set; additionally if
 84614  	// resource tests are requested then this parameter is required.
 84615  	//
 84616  	// Refers instance of `ResourcePool`.
 84617  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 84618  	// The target host on which the virtual machines will run. The host
 84619  	// parameter may be left unset if the compute resource associated with
 84620  	// the target pool represents a stand-alone host or a DRS-enabled
 84621  	// cluster. In the former case the stand-alone host is used as the
 84622  	// target host. In the latter case, each connected host in the cluster
 84623  	// that is not in maintenance mode is tested as a target host.
 84624  	// If the virtual machine is a template then either this
 84625  	// parameter or the pool parameter must be set.
 84626  	//
 84627  	// Refers instance of `HostSystem`.
 84628  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 84629  }
 84630  
 84631  func init() {
 84632  	t["ValidateMigrationRequestType"] = reflect.TypeOf((*ValidateMigrationRequestType)(nil)).Elem()
 84633  }
 84634  
 84635  type ValidateMigrationResponse struct {
 84636  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 84637  }
 84638  
 84639  type ValidateStoragePodConfig ValidateStoragePodConfigRequestType
 84640  
 84641  func init() {
 84642  	t["ValidateStoragePodConfig"] = reflect.TypeOf((*ValidateStoragePodConfig)(nil)).Elem()
 84643  }
 84644  
 84645  // The parameters of `StorageResourceManager.ValidateStoragePodConfig`.
 84646  type ValidateStoragePodConfigRequestType struct {
 84647  	This ManagedObjectReference `xml:"_this" json:"-"`
 84648  	// The storage pod.
 84649  	//
 84650  	// Refers instance of `StoragePod`.
 84651  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 84652  	// A set of storage Drs configuration changes to apply to
 84653  	// the storage pod.
 84654  	Spec StorageDrsConfigSpec `xml:"spec" json:"spec"`
 84655  }
 84656  
 84657  func init() {
 84658  	t["ValidateStoragePodConfigRequestType"] = reflect.TypeOf((*ValidateStoragePodConfigRequestType)(nil)).Elem()
 84659  }
 84660  
 84661  type ValidateStoragePodConfigResponse struct {
 84662  	Returnval *LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
 84663  }
 84664  
 84665  // Represents a VASA provider and its related datastores.
 84666  type VasaProviderContainerSpec struct {
 84667  	DynamicData
 84668  
 84669  	// VASA Providers that manage this volume
 84670  	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
 84671  	// Vendor specified Storage Container ID
 84672  	ScId string `xml:"scId" json:"scId"`
 84673  	// Indicates whether the container got deleted
 84674  	Deleted bool `xml:"deleted" json:"deleted"`
 84675  	// Indicates whether container is stretched
 84676  	Stretched *bool `xml:"stretched" json:"stretched,omitempty" vim:"8.0.3.0"`
 84677  }
 84678  
 84679  func init() {
 84680  	t["VasaProviderContainerSpec"] = reflect.TypeOf((*VasaProviderContainerSpec)(nil)).Elem()
 84681  }
 84682  
 84683  // This event records when the VirtualCenter agent on a host failed to uninstall.
 84684  type VcAgentUninstallFailedEvent struct {
 84685  	HostEvent
 84686  
 84687  	// The reason why the uninstall failed, if known.
 84688  	//
 84689  	// See `AgentInstallFailedReason_enum`
 84690  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 84691  }
 84692  
 84693  func init() {
 84694  	t["VcAgentUninstallFailedEvent"] = reflect.TypeOf((*VcAgentUninstallFailedEvent)(nil)).Elem()
 84695  }
 84696  
 84697  // This event records when the VirtualCenter agent on a host is uninstalled.
 84698  type VcAgentUninstalledEvent struct {
 84699  	HostEvent
 84700  }
 84701  
 84702  func init() {
 84703  	t["VcAgentUninstalledEvent"] = reflect.TypeOf((*VcAgentUninstalledEvent)(nil)).Elem()
 84704  }
 84705  
 84706  // This event records when the VirtualCenter agent on a host failed to upgrade.
 84707  type VcAgentUpgradeFailedEvent struct {
 84708  	HostEvent
 84709  
 84710  	// The reason why the upgrade failed, if known.
 84711  	//
 84712  	// See `AgentInstallFailedReason_enum`
 84713  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 84714  }
 84715  
 84716  func init() {
 84717  	t["VcAgentUpgradeFailedEvent"] = reflect.TypeOf((*VcAgentUpgradeFailedEvent)(nil)).Elem()
 84718  }
 84719  
 84720  // This event records when the VirtualCenter agent on a host upgraded.
 84721  type VcAgentUpgradedEvent struct {
 84722  	HostEvent
 84723  }
 84724  
 84725  func init() {
 84726  	t["VcAgentUpgradedEvent"] = reflect.TypeOf((*VcAgentUpgradedEvent)(nil)).Elem()
 84727  }
 84728  
 84729  // The VchaClusterConfigInfo class contains
 84730  // configuration information of the three nodes of a VCHA
 84731  // Cluster.
 84732  type VchaClusterConfigInfo struct {
 84733  	DynamicData
 84734  
 84735  	// Node configuration information for the VCHA Cluster
 84736  	FailoverNodeInfo1 *FailoverNodeInfo `xml:"failoverNodeInfo1,omitempty" json:"failoverNodeInfo1,omitempty"`
 84737  	// Node configuration information for the VCHA Cluster
 84738  	FailoverNodeInfo2 *FailoverNodeInfo `xml:"failoverNodeInfo2,omitempty" json:"failoverNodeInfo2,omitempty"`
 84739  	// Node configuration information for the VCHA Cluster
 84740  	WitnessNodeInfo *WitnessNodeInfo `xml:"witnessNodeInfo,omitempty" json:"witnessNodeInfo,omitempty"`
 84741  	// Current state of VCHA Cluster.
 84742  	//
 84743  	// `VchaState_enum` lists all
 84744  	// possible states.
 84745  	// If the state is invalid or notConfigured, the other fields in this
 84746  	// object will be unset.
 84747  	State string `xml:"state" json:"state"`
 84748  }
 84749  
 84750  func init() {
 84751  	t["VchaClusterConfigInfo"] = reflect.TypeOf((*VchaClusterConfigInfo)(nil)).Elem()
 84752  }
 84753  
 84754  // The VchaClusterConfigSpec class contains IP addresses of
 84755  // Passive and Witness nodes to configure and form the VCHA Cluster.
 84756  //
 84757  // Passive and Witness nodes are assumed to be pre-configured
 84758  // to allow access to them over the specified IP addresses.
 84759  // Active Node IP address is not required as it is retrieved from
 84760  // the already configured interface on VCHA Cluster network.
 84761  type VchaClusterConfigSpec struct {
 84762  	DynamicData
 84763  
 84764  	// IP Address of Passive node in the VCHA Cluster network.
 84765  	PassiveIp string `xml:"passiveIp" json:"passiveIp"`
 84766  	// IP Address of Witness node in the VCHA Cluster network.
 84767  	WitnessIp string `xml:"witnessIp" json:"witnessIp"`
 84768  }
 84769  
 84770  func init() {
 84771  	t["VchaClusterConfigSpec"] = reflect.TypeOf((*VchaClusterConfigSpec)(nil)).Elem()
 84772  }
 84773  
 84774  // The VchaClusterDeploymentSpec class contains
 84775  // deployment information for creating and configuring a VCHA Cluster.
 84776  type VchaClusterDeploymentSpec struct {
 84777  	DynamicData
 84778  
 84779  	// Deployment spec for the Passive node
 84780  	PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec" json:"passiveDeploymentSpec"`
 84781  	// Deployment spec for the Witness node
 84782  	WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr" json:"witnessDeploymentSpec"`
 84783  	// Active vCenter Server specification required to deploy
 84784  	// VCHA Cluster.
 84785  	ActiveVcSpec SourceNodeSpec `xml:"activeVcSpec" json:"activeVcSpec"`
 84786  	// The Cluster network config spec allows creation and configuration of
 84787  	// the second Network adapter of the Active or Source VCenter.
 84788  	//
 84789  	// The second network adapter is used for communication between
 84790  	// the nodes of a VCHA cluster.
 84791  	ActiveVcNetworkConfig *ClusterNetworkConfigSpec `xml:"activeVcNetworkConfig,omitempty" json:"activeVcNetworkConfig,omitempty"`
 84792  }
 84793  
 84794  func init() {
 84795  	t["VchaClusterDeploymentSpec"] = reflect.TypeOf((*VchaClusterDeploymentSpec)(nil)).Elem()
 84796  }
 84797  
 84798  // The VchaClusterHealth class describes the overall
 84799  // VCHA Cluster health.
 84800  //
 84801  // Health information include the last known runtime
 84802  // information about the VCHA Cluster along with health messages and any
 84803  // additional information applicable to the current VCHA Cluster health.
 84804  // If the cluster state is healthy, there will not be any health messages
 84805  // or additional information provided.
 84806  type VchaClusterHealth struct {
 84807  	DynamicData
 84808  
 84809  	// Runtime information of the VCHA Cluster
 84810  	RuntimeInfo VchaClusterRuntimeInfo `xml:"runtimeInfo" json:"runtimeInfo"`
 84811  	// A collection of Messages describing the reason for a non-healthy
 84812  	// Cluster.
 84813  	HealthMessages []LocalizableMessage `xml:"healthMessages,omitempty" json:"healthMessages,omitempty"`
 84814  	// A collection of additional information regarding the health messages.
 84815  	AdditionalInformation []LocalizableMessage `xml:"additionalInformation,omitempty" json:"additionalInformation,omitempty"`
 84816  }
 84817  
 84818  func init() {
 84819  	t["VchaClusterHealth"] = reflect.TypeOf((*VchaClusterHealth)(nil)).Elem()
 84820  }
 84821  
 84822  // The VchaClusterNetworkSpec class contains network
 84823  // configuration information for a VCHA Cluster.
 84824  type VchaClusterNetworkSpec struct {
 84825  	DynamicData
 84826  
 84827  	// Network spec for the Witness node.
 84828  	WitnessNetworkSpec BaseNodeNetworkSpec `xml:"witnessNetworkSpec,typeattr" json:"witnessNetworkSpec"`
 84829  	// Network spec for the Passive node.
 84830  	PassiveNetworkSpec PassiveNodeNetworkSpec `xml:"passiveNetworkSpec" json:"passiveNetworkSpec"`
 84831  }
 84832  
 84833  func init() {
 84834  	t["VchaClusterNetworkSpec"] = reflect.TypeOf((*VchaClusterNetworkSpec)(nil)).Elem()
 84835  }
 84836  
 84837  // The VchaClusterRuntimeInfo class describes the
 84838  // runtime information of a VCHA Cluster.
 84839  //
 84840  // This includes the last known
 84841  // state of the cluster and last known states of each node.
 84842  type VchaClusterRuntimeInfo struct {
 84843  	DynamicData
 84844  
 84845  	// Last known state of the VCHA Cluster.
 84846  	//
 84847  	// `VchaClusterState` lists all possible states.
 84848  	ClusterState string `xml:"clusterState" json:"clusterState"`
 84849  	// Runtime information for each node in the VCHA Cluster.
 84850  	NodeInfo []VchaNodeRuntimeInfo `xml:"nodeInfo,omitempty" json:"nodeInfo,omitempty"`
 84851  	// Operational mode of the VCHA Cluster.
 84852  	//
 84853  	// `VchaClusterMode`
 84854  	// lists all possible modes.
 84855  	ClusterMode string `xml:"clusterMode" json:"clusterMode"`
 84856  }
 84857  
 84858  func init() {
 84859  	t["VchaClusterRuntimeInfo"] = reflect.TypeOf((*VchaClusterRuntimeInfo)(nil)).Elem()
 84860  }
 84861  
 84862  // The VchaNodeRuntimeInfo class describes a node's
 84863  // runtime information in a VCHA Cluster.
 84864  type VchaNodeRuntimeInfo struct {
 84865  	DynamicData
 84866  
 84867  	// Last known state of the node.
 84868  	//
 84869  	// `VchaNodeState`
 84870  	// lists all possible states.
 84871  	NodeState string `xml:"nodeState" json:"nodeState"`
 84872  	// Last known role of the node.
 84873  	//
 84874  	// `VchaNodeRole`
 84875  	// lists all possible roles.
 84876  	NodeRole string `xml:"nodeRole" json:"nodeRole"`
 84877  	// IP address for the node in the replication network.
 84878  	NodeIp string `xml:"nodeIp" json:"nodeIp"`
 84879  }
 84880  
 84881  func init() {
 84882  	t["VchaNodeRuntimeInfo"] = reflect.TypeOf((*VchaNodeRuntimeInfo)(nil)).Elem()
 84883  }
 84884  
 84885  // Password for the Vim account user on the host has been changed.
 84886  //
 84887  // This is an account created by VirtualCenter and used to manage the host.
 84888  type VimAccountPasswordChangedEvent struct {
 84889  	HostEvent
 84890  }
 84891  
 84892  func init() {
 84893  	t["VimAccountPasswordChangedEvent"] = reflect.TypeOf((*VimAccountPasswordChangedEvent)(nil)).Elem()
 84894  }
 84895  
 84896  // The common base type for all virtual infrastructure management
 84897  // exceptions.
 84898  type VimFault struct {
 84899  	MethodFault
 84900  }
 84901  
 84902  func init() {
 84903  	t["VimFault"] = reflect.TypeOf((*VimFault)(nil)).Elem()
 84904  }
 84905  
 84906  type VimFaultFault BaseVimFault
 84907  
 84908  func init() {
 84909  	t["VimFaultFault"] = reflect.TypeOf((*VimFaultFault)(nil)).Elem()
 84910  }
 84911  
 84912  // Data object representing VASA Provider.
 84913  type VimVasaProvider struct {
 84914  	DynamicData
 84915  
 84916  	// Provider UID.
 84917  	//
 84918  	// This is populated with namespace prefixed to providerId,
 84919  	// which uniquely identifies a VASA Provider. Both namespace and providerId
 84920  	// are sourced from Vasa Provider and available within SMS. This field
 84921  	// helps in preventing a regeneration of duplicate VASA Provider within
 84922  	// vvold when a user attempts to register the same VP using different names
 84923  	// or alternative urls.
 84924  	Uid string `xml:"uid,omitempty" json:"uid,omitempty"`
 84925  	// VASA Provider URL.
 84926  	//
 84927  	// In VirtualHost based MultiVC setup,
 84928  	// this is set to default virtual host's URL.
 84929  	Url string `xml:"url" json:"url"`
 84930  	// Name
 84931  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 84932  	// Self-signed certificate of VASA provider.
 84933  	//
 84934  	// In VirtualHost based MultiVC setup,
 84935  	// this is set to default virtual host's self-signed certificate.
 84936  	SelfSignedCertificate string `xml:"selfSignedCertificate,omitempty" json:"selfSignedCertificate,omitempty"`
 84937  	// Virtual host configuration for VASA Provider when it supports MultiVC
 84938  	// through VirtualHosts.
 84939  	VhostConfig *VimVasaProviderVirtualHostConfig `xml:"vhostConfig,omitempty" json:"vhostConfig,omitempty" vim:"8.0.1.0"`
 84940  	// SMS supported VASA provider versionId.
 84941  	//
 84942  	// i-e if versionX corresponds to VASA version supported
 84943  	// by SMS, then X needs to be set here.
 84944  	// versionX corresponds to SMS supported VASA versions are, 1.0-&gt;version1, 1.5-&gt;version2,
 84945  	// 2.0-&gt;version3, 3.0-&gt;version4, 3.5-&gt;version5, 4.0-&gt;version6, 5.0-&gt;version7, etc.
 84946  	// For example: If SMS is connecting to VASA 5.0, the this field should be set to 7.
 84947  	VersionId int32 `xml:"versionId,omitempty" json:"versionId,omitempty" vim:"8.0.1.0"`
 84948  }
 84949  
 84950  func init() {
 84951  	t["VimVasaProvider"] = reflect.TypeOf((*VimVasaProvider)(nil)).Elem()
 84952  }
 84953  
 84954  // Data object representing VASA Provider information.
 84955  type VimVasaProviderInfo struct {
 84956  	DynamicData
 84957  
 84958  	// Vasa provider
 84959  	Provider VimVasaProvider `xml:"provider" json:"provider"`
 84960  	// Per-array State
 84961  	ArrayState []VimVasaProviderStatePerArray `xml:"arrayState,omitempty" json:"arrayState,omitempty"`
 84962  }
 84963  
 84964  func init() {
 84965  	t["VimVasaProviderInfo"] = reflect.TypeOf((*VimVasaProviderInfo)(nil)).Elem()
 84966  }
 84967  
 84968  // Per Storage Array VP status.
 84969  type VimVasaProviderStatePerArray struct {
 84970  	DynamicData
 84971  
 84972  	// Priority of the provider for the given array
 84973  	Priority int32 `xml:"priority" json:"priority"`
 84974  	// Storage Array object Id
 84975  	ArrayId string `xml:"arrayId" json:"arrayId"`
 84976  	// Indicates whether a VASA Provider (`VimVasaProvider.url`) is active
 84977  	// for the specified storage array.
 84978  	Active bool `xml:"active" json:"active"`
 84979  }
 84980  
 84981  func init() {
 84982  	t["VimVasaProviderStatePerArray"] = reflect.TypeOf((*VimVasaProviderStatePerArray)(nil)).Elem()
 84983  }
 84984  
 84985  // Holds VirtualHost configuration information when VASA 5.0 or greater VVOL VASA Provider
 84986  // supports MultiVC through VirtualHosts.
 84987  type VimVasaProviderVirtualHostConfig struct {
 84988  	DynamicData
 84989  
 84990  	// Virtual Host FQDN on VASA Provider.
 84991  	//
 84992  	// If set, it's
 84993  	// used as SNI hostname in outgoing VASA Provider connection.
 84994  	VhostName string `xml:"vhostName,omitempty" json:"vhostName,omitempty"`
 84995  	// IP address where Virtual Host is running
 84996  	ServiceHost string `xml:"serviceHost" json:"serviceHost"`
 84997  	// Dedicated port for the virtual host.
 84998  	//
 84999  	// If not specified, default VirtualHost port is used to
 85000  	// communicate with VASA Provider.
 85001  	ServicePort int32 `xml:"servicePort,omitempty" json:"servicePort,omitempty"`
 85002  }
 85003  
 85004  func init() {
 85005  	t["VimVasaProviderVirtualHostConfig"] = reflect.TypeOf((*VimVasaProviderVirtualHostConfig)(nil)).Elem()
 85006  	minAPIVersionForType["VimVasaProviderVirtualHostConfig"] = "8.0.1.0"
 85007  }
 85008  
 85009  // The VirtualAHCIController data object type represents
 85010  // an AHCI SATA controller in a virtual machine.
 85011  type VirtualAHCIController struct {
 85012  	VirtualSATAController
 85013  }
 85014  
 85015  func init() {
 85016  	t["VirtualAHCIController"] = reflect.TypeOf((*VirtualAHCIController)(nil)).Elem()
 85017  }
 85018  
 85019  // VirtualAHCIControllerOption is the data object that contains
 85020  // the options for an AHCI SATA controller.
 85021  type VirtualAHCIControllerOption struct {
 85022  	VirtualSATAControllerOption
 85023  }
 85024  
 85025  func init() {
 85026  	t["VirtualAHCIControllerOption"] = reflect.TypeOf((*VirtualAHCIControllerOption)(nil)).Elem()
 85027  }
 85028  
 85029  // A VAppImportSpec is used by `ResourcePool.importVApp` when importing vApps (single VM or multi-VM).
 85030  //
 85031  // It provides all information needed to import a `VirtualApp`.
 85032  //
 85033  // See also `ImportSpec`.
 85034  type VirtualAppImportSpec struct {
 85035  	ImportSpec
 85036  
 85037  	// The name of the vApp
 85038  	Name string `xml:"name" json:"name"`
 85039  	// vApp configuration
 85040  	VAppConfigSpec VAppConfigSpec `xml:"vAppConfigSpec" json:"vAppConfigSpec"`
 85041  	// Resource pool specification.
 85042  	//
 85043  	// If resourcePoolSpec.entity is specified, that resource pool is used as the parent
 85044  	// resource pool and the vApp will be made a linked child to the parent vApp. This
 85045  	// field is ignored for the root node in an ImportSpec tree.
 85046  	// Use of resourcePoolSpec.entity for creating linked children is deprecated as of
 85047  	// vSphere API 5.1.
 85048  	ResourcePoolSpec ResourceConfigSpec `xml:"resourcePoolSpec" json:"resourcePoolSpec"`
 85049  	// Contains a list of children (`VirtualMachine`s and
 85050  	// `VirtualApp`s).
 85051  	Child []BaseImportSpec `xml:"child,omitempty,typeattr" json:"child,omitempty"`
 85052  }
 85053  
 85054  func init() {
 85055  	t["VirtualAppImportSpec"] = reflect.TypeOf((*VirtualAppImportSpec)(nil)).Elem()
 85056  }
 85057  
 85058  // Deprecated as of vSphere API 5.1.
 85059  //
 85060  // Linked child information.
 85061  type VirtualAppLinkInfo struct {
 85062  	DynamicData
 85063  
 85064  	// The key contains a reference to the entity that is linked to this vApp
 85065  	//
 85066  	// Refers instance of `ManagedEntity`.
 85067  	Key ManagedObjectReference `xml:"key" json:"key"`
 85068  	// Whether the entity should be removed, when this vApp is removed
 85069  	DestroyWithParent *bool `xml:"destroyWithParent" json:"destroyWithParent,omitempty"`
 85070  }
 85071  
 85072  func init() {
 85073  	t["VirtualAppLinkInfo"] = reflect.TypeOf((*VirtualAppLinkInfo)(nil)).Elem()
 85074  }
 85075  
 85076  // This data object type encapsulates a typical set of resource
 85077  // pool information that is useful for list views and summary pages.
 85078  type VirtualAppSummary struct {
 85079  	ResourcePoolSummary
 85080  
 85081  	// Product information.
 85082  	//
 85083  	// References to properties in the URLs are expanded.
 85084  	Product *VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
 85085  	// Whether the vApp is running
 85086  	VAppState VirtualAppVAppState `xml:"vAppState,omitempty" json:"vAppState,omitempty"`
 85087  	// Whether a vApp is suspended, in the process of being suspended, or in the
 85088  	// process of being resumed.
 85089  	//
 85090  	// A stopped vApp is marked as suspended
 85091  	// under the following conditions:
 85092  	//   - All child virtual machines are either suspended or powered-off.
 85093  	//   - There is at least one suspended virtual machine for which the
 85094  	//     stop action is not "suspend".
 85095  	//
 85096  	// If the vAppState property is "stopped", the value is set to true if the vApp is
 85097  	// suspended (according the the above definition).
 85098  	//
 85099  	// If the vAppState property is "stopping" or "starting" and the suspend flag is set to
 85100  	// true, then the vApp is either in the process of being suspended or resumed
 85101  	// from a suspended state, respectively.
 85102  	//
 85103  	// If the vAppState property is "started", then the suspend flag is set to false.
 85104  	Suspended *bool `xml:"suspended" json:"suspended,omitempty"`
 85105  	// Whether one or more VMs in this vApp require a reboot to finish
 85106  	// installation.
 85107  	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
 85108  	// vCenter-specific UUID of the vApp
 85109  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 85110  }
 85111  
 85112  func init() {
 85113  	t["VirtualAppSummary"] = reflect.TypeOf((*VirtualAppSummary)(nil)).Elem()
 85114  }
 85115  
 85116  // VirtualBusLogicController is the data object that represents
 85117  // a BusLogic SCSI controller.
 85118  type VirtualBusLogicController struct {
 85119  	VirtualSCSIController
 85120  }
 85121  
 85122  func init() {
 85123  	t["VirtualBusLogicController"] = reflect.TypeOf((*VirtualBusLogicController)(nil)).Elem()
 85124  }
 85125  
 85126  // This data object contains
 85127  // the options for a BusLogic SCSI controller.
 85128  type VirtualBusLogicControllerOption struct {
 85129  	VirtualSCSIControllerOption
 85130  }
 85131  
 85132  func init() {
 85133  	t["VirtualBusLogicControllerOption"] = reflect.TypeOf((*VirtualBusLogicControllerOption)(nil)).Elem()
 85134  }
 85135  
 85136  // The VirtualCdrom data object type describes the configuration of a CD-ROM device
 85137  // in a virtual machine.
 85138  type VirtualCdrom struct {
 85139  	VirtualDevice
 85140  }
 85141  
 85142  func init() {
 85143  	t["VirtualCdrom"] = reflect.TypeOf((*VirtualCdrom)(nil)).Elem()
 85144  }
 85145  
 85146  // The VirtualCdrom.AtapiBackingInfo data object type
 85147  // represents an ATAPI device backing for a virtual CD-ROM.
 85148  type VirtualCdromAtapiBackingInfo struct {
 85149  	VirtualDeviceDeviceBackingInfo
 85150  }
 85151  
 85152  func init() {
 85153  	t["VirtualCdromAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromAtapiBackingInfo)(nil)).Elem()
 85154  }
 85155  
 85156  // The VirtualCdromOption.AtapiBackingOption data object type
 85157  // contains the options for the ATAPI CD-ROM device backing.
 85158  type VirtualCdromAtapiBackingOption struct {
 85159  	VirtualDeviceDeviceBackingOption
 85160  }
 85161  
 85162  func init() {
 85163  	t["VirtualCdromAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromAtapiBackingOption)(nil)).Elem()
 85164  }
 85165  
 85166  // The VirtualCdrom.IsoBackingInfo data class represents
 85167  // an ISO backing for a virtual CD-ROM.
 85168  type VirtualCdromIsoBackingInfo struct {
 85169  	VirtualDeviceFileBackingInfo
 85170  }
 85171  
 85172  func init() {
 85173  	t["VirtualCdromIsoBackingInfo"] = reflect.TypeOf((*VirtualCdromIsoBackingInfo)(nil)).Elem()
 85174  }
 85175  
 85176  // The VirtualCdromOption.IsoBackingOption data object type contains
 85177  // the options for an ISO image backing.
 85178  type VirtualCdromIsoBackingOption struct {
 85179  	VirtualDeviceFileBackingOption
 85180  }
 85181  
 85182  func init() {
 85183  	t["VirtualCdromIsoBackingOption"] = reflect.TypeOf((*VirtualCdromIsoBackingOption)(nil)).Elem()
 85184  }
 85185  
 85186  // The VirtualCdromOption data object type contains the options for the
 85187  // virtual CD-ROM class.
 85188  type VirtualCdromOption struct {
 85189  	VirtualDeviceOption
 85190  }
 85191  
 85192  func init() {
 85193  	t["VirtualCdromOption"] = reflect.TypeOf((*VirtualCdromOption)(nil)).Elem()
 85194  }
 85195  
 85196  // The VirtualCdrom.PassthroughBackingInfo data class
 85197  // represents a device pass-through backing for a
 85198  // virtual CD-ROM.
 85199  type VirtualCdromPassthroughBackingInfo struct {
 85200  	VirtualDeviceDeviceBackingInfo
 85201  
 85202  	// Flag to indicate whether or not the virtual machine has
 85203  	// exclusive CD-ROM device access.
 85204  	Exclusive bool `xml:"exclusive" json:"exclusive"`
 85205  }
 85206  
 85207  func init() {
 85208  	t["VirtualCdromPassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromPassthroughBackingInfo)(nil)).Elem()
 85209  }
 85210  
 85211  // The VirtualCdromOption.PassthroughBackingOption data object type
 85212  // contains the options for a pass-through CD-ROM device backing.
 85213  type VirtualCdromPassthroughBackingOption struct {
 85214  	VirtualDeviceDeviceBackingOption
 85215  
 85216  	// Flag to indicate whether or not exclusive CD-ROM device access is supported.
 85217  	Exclusive BoolOption `xml:"exclusive" json:"exclusive"`
 85218  }
 85219  
 85220  func init() {
 85221  	t["VirtualCdromPassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromPassthroughBackingOption)(nil)).Elem()
 85222  }
 85223  
 85224  // The VirtualCdrom.RemoteAtapiBackingInfo data class
 85225  // represents a remote ATAPI device backing for a virtual CD-ROM.
 85226  type VirtualCdromRemoteAtapiBackingInfo struct {
 85227  	VirtualDeviceRemoteDeviceBackingInfo
 85228  }
 85229  
 85230  func init() {
 85231  	t["VirtualCdromRemoteAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingInfo)(nil)).Elem()
 85232  }
 85233  
 85234  // The VirtualCdromOption.RemoteAtapiBackingOption data object type
 85235  // contains the options for the remote ATAPI CD-ROM device backing.
 85236  //
 85237  // Note that the server cannot present a list of valid remote backing devices
 85238  // because it is unable to scan remote hosts.
 85239  type VirtualCdromRemoteAtapiBackingOption struct {
 85240  	VirtualDeviceDeviceBackingOption
 85241  }
 85242  
 85243  func init() {
 85244  	t["VirtualCdromRemoteAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingOption)(nil)).Elem()
 85245  }
 85246  
 85247  // The VirtualCdrom.RemotePassthroughBackingInfo data object type
 85248  // contains the information to specify a remote pass-through device
 85249  // backing of a virtual CD-ROM.
 85250  type VirtualCdromRemotePassthroughBackingInfo struct {
 85251  	VirtualDeviceRemoteDeviceBackingInfo
 85252  
 85253  	// Flag to indicate whether or not the virtual machine
 85254  	// has exclusive access to the CD-ROM device.
 85255  	Exclusive bool `xml:"exclusive" json:"exclusive"`
 85256  }
 85257  
 85258  func init() {
 85259  	t["VirtualCdromRemotePassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingInfo)(nil)).Elem()
 85260  }
 85261  
 85262  // The VirtualCdromOption.RemotePassthroughBackingOption data object type
 85263  // contains the options for a remote pass-through CD-ROM device backing.
 85264  //
 85265  // Note that the server cannot present a list of valid remote backing devices
 85266  // because it is unable to scan remote hosts.
 85267  type VirtualCdromRemotePassthroughBackingOption struct {
 85268  	VirtualDeviceRemoteDeviceBackingOption
 85269  
 85270  	// Flag to indicate whether or not exclusive CD-ROM device access is supported.
 85271  	Exclusive BoolOption `xml:"exclusive" json:"exclusive"`
 85272  }
 85273  
 85274  func init() {
 85275  	t["VirtualCdromRemotePassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingOption)(nil)).Elem()
 85276  }
 85277  
 85278  // VirtualController is the base data object type for a device controller in
 85279  // a virtual machine.
 85280  //
 85281  // VirtualController extends
 85282  // `VirtualDevice` to inherit
 85283  // general information about a controller (such as name and description), and to allow
 85284  // controllers to appear in a generic list of virtual devices.
 85285  type VirtualController struct {
 85286  	VirtualDevice
 85287  
 85288  	// Bus number associated with this controller.
 85289  	BusNumber int32 `xml:"busNumber" json:"busNumber"`
 85290  	// List of devices currently controlled by this controller.
 85291  	//
 85292  	// Each entry contains the `VirtualDevice.key` property of the
 85293  	// corresponding device object.
 85294  	Device []int32 `xml:"device,omitempty" json:"device,omitempty"`
 85295  }
 85296  
 85297  func init() {
 85298  	t["VirtualController"] = reflect.TypeOf((*VirtualController)(nil)).Elem()
 85299  }
 85300  
 85301  // The VirtualControllerOption data object type contains information about
 85302  // a virtual controller type.
 85303  type VirtualControllerOption struct {
 85304  	VirtualDeviceOption
 85305  
 85306  	// The minimum and maximum number of devices this controller can control
 85307  	// at run time.
 85308  	Devices IntOption `xml:"devices" json:"devices"`
 85309  	// Array of supported device options for this controller.
 85310  	SupportedDevice []string `xml:"supportedDevice,omitempty" json:"supportedDevice,omitempty"`
 85311  }
 85312  
 85313  func init() {
 85314  	t["VirtualControllerOption"] = reflect.TypeOf((*VirtualControllerOption)(nil)).Elem()
 85315  }
 85316  
 85317  // VirtualDevice is the base data object type for devices in a virtual machine.
 85318  //
 85319  // This type contains enough information about a virtual device to allow clients
 85320  // to display devices they do not recognize. For example, a client with an
 85321  // older version than the server to which it connects may see a device
 85322  // without knowing what it is.
 85323  type VirtualDevice struct {
 85324  	DynamicData
 85325  
 85326  	// A unique key that distinguishes this device from other
 85327  	// devices in the same virtual machine.
 85328  	//
 85329  	// Keys are immutable but may be
 85330  	// recycled; that is, a key does not change as long as the device is
 85331  	// associated with a particular virtual machine. However, once a device is
 85332  	// removed, its key may be used when another device is added.
 85333  	//
 85334  	// This property is not read-only, but the client cannot control its value.
 85335  	// Persistent device keys are always assigned and managed by the server, which
 85336  	// guarantees that all devices will have non-negative key values.
 85337  	//
 85338  	// When adding new devices, it may be necessary for a client to assign keys
 85339  	// temporarily in order to associate controllers with devices in
 85340  	// configuring a virtual machine. However, the server does not allow a
 85341  	// client to reassign a device key, and the server may assign a different
 85342  	// value from the one passed during configuration. Clients should ensure
 85343  	// that existing device keys are not reused as temporary key values for the
 85344  	// new device to be added (for example, by using unique negative integers as
 85345  	// temporary keys).
 85346  	//
 85347  	// When editing or deleting a device, clients must use the server-provided key
 85348  	// to refer to an existing device.
 85349  	Key int32 `xml:"key" json:"key"`
 85350  	// Provides a label and summary information for the device.
 85351  	DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr" json:"deviceInfo,omitempty"`
 85352  	// Information about the backing of this virtual device presented
 85353  	// in the context of the virtual machine's environment.
 85354  	//
 85355  	// Not all devices are required to have backing information.
 85356  	//
 85357  	// See also `VirtualMachineConfigOption`.
 85358  	Backing BaseVirtualDeviceBackingInfo `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 85359  	// Provides information about restrictions on removing this device while
 85360  	// a virtual machine is running.
 85361  	//
 85362  	// If the device is not removable, then
 85363  	// this property is null.
 85364  	Connectable *VirtualDeviceConnectInfo `xml:"connectable,omitempty" json:"connectable,omitempty"`
 85365  	// Information about the bus slot of a device in a virtual machine.
 85366  	SlotInfo BaseVirtualDeviceBusSlotInfo `xml:"slotInfo,omitempty,typeattr" json:"slotInfo,omitempty"`
 85367  	// Object key for the controller object for this device.
 85368  	//
 85369  	// This property contains the key property value of the controller device
 85370  	// object.
 85371  	ControllerKey int32 `xml:"controllerKey,omitempty" json:"controllerKey,omitempty"`
 85372  	// The unit number of this device on its controller.
 85373  	//
 85374  	// This property is null if
 85375  	// the controller property is null (for example, when the device is not
 85376  	// attached to a specific controller object).
 85377  	//
 85378  	// Normally, two devices on the same controller
 85379  	// may not be assigned the same unit number. If
 85380  	// multiple devices could exist on a controller,
 85381  	// then unit number has to be specified to
 85382  	// configure respective devices.
 85383  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
 85384  	// The virtual NUMA node.
 85385  	//
 85386  	// A negative number means there is no
 85387  	// affinity for the device. A positive number is a vNUMA node.
 85388  	// An unset value of numaNode is status-quo during Reconfigure time.
 85389  	// If numaNode is unset during ConfigInfo, then it means there is no
 85390  	// affinity for the device.
 85391  	NumaNode int32 `xml:"numaNode,omitempty" json:"numaNode,omitempty" vim:"8.0.0.1"`
 85392  	// Information about device group device is part of.
 85393  	//
 85394  	// Devices in the device group cannot be added/removed individually,
 85395  	// whole group has to be added/removed at once. Value can be set
 85396  	// during device add, it cannot be modified later.
 85397  	DeviceGroupInfo *VirtualDeviceDeviceGroupInfo `xml:"deviceGroupInfo,omitempty" json:"deviceGroupInfo,omitempty" vim:"8.0.0.1"`
 85398  }
 85399  
 85400  func init() {
 85401  	t["VirtualDevice"] = reflect.TypeOf((*VirtualDevice)(nil)).Elem()
 85402  }
 85403  
 85404  // <code>`VirtualDeviceBackingInfo`</code> is a base data object type
 85405  // for information about the backing of a device in a virtual machine.
 85406  //
 85407  // This base type does not define any properties. It is used as a namespace
 85408  // for general-purpose subtypes. Specific devices are represented by subtypes
 85409  // which define properties for device-specific backing information.
 85410  type VirtualDeviceBackingInfo struct {
 85411  	DynamicData
 85412  }
 85413  
 85414  func init() {
 85415  	t["VirtualDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceBackingInfo)(nil)).Elem()
 85416  }
 85417  
 85418  // The `VirtualDeviceBackingOption` data class
 85419  // defines options for device-specific virtual backing objects.
 85420  type VirtualDeviceBackingOption struct {
 85421  	DynamicData
 85422  
 85423  	// The name of the class the client should use to instantiate backing
 85424  	// for the virtual device.
 85425  	Type string `xml:"type" json:"type"`
 85426  }
 85427  
 85428  func init() {
 85429  	t["VirtualDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceBackingOption)(nil)).Elem()
 85430  }
 85431  
 85432  // <code>`VirtualDeviceBusSlotInfo`</code> is a base data object type
 85433  // for information about device connection to its bus.
 85434  //
 85435  // This base type does not
 85436  // define any properties. It is used as a namespace for general-purpose subtypes.
 85437  // Specific devices types are represented by subtypes which define properties for
 85438  // device-specific backing information.
 85439  type VirtualDeviceBusSlotInfo struct {
 85440  	DynamicData
 85441  }
 85442  
 85443  func init() {
 85444  	t["VirtualDeviceBusSlotInfo"] = reflect.TypeOf((*VirtualDeviceBusSlotInfo)(nil)).Elem()
 85445  }
 85446  
 85447  // The `VirtualDeviceBusSlotOption` data class
 85448  // defines options for device-specific bus slot objects.
 85449  type VirtualDeviceBusSlotOption struct {
 85450  	DynamicData
 85451  
 85452  	// The name of the class the client should use to instantiate bus slot
 85453  	// object for the virtual device.
 85454  	Type string `xml:"type" json:"type"`
 85455  }
 85456  
 85457  func init() {
 85458  	t["VirtualDeviceBusSlotOption"] = reflect.TypeOf((*VirtualDeviceBusSlotOption)(nil)).Elem()
 85459  }
 85460  
 85461  // The VirtualDeviceSpec data object type encapsulates change
 85462  // specifications for an individual virtual device.
 85463  //
 85464  // The virtual
 85465  // device being added or modified must be fully specified.
 85466  type VirtualDeviceConfigSpec struct {
 85467  	DynamicData
 85468  
 85469  	// Type of operation being performed on the specified virtual device.
 85470  	//
 85471  	// If no operation is specified, the spec. is ignored.
 85472  	Operation VirtualDeviceConfigSpecOperation `xml:"operation,omitempty" json:"operation,omitempty"`
 85473  	// Type of operation being performed on the backing
 85474  	// of the specified virtual device.
 85475  	//
 85476  	// If no file operation is specified in the VirtualDeviceSpec,
 85477  	// then any backing filenames in the
 85478  	// `VirtualDevice`
 85479  	// must refer to files that already exist.
 85480  	// The "replace" and "delete" values for this property are only
 85481  	// applicable to virtual disk backing files.
 85482  	FileOperation VirtualDeviceConfigSpecFileOperation `xml:"fileOperation,omitempty" json:"fileOperation,omitempty"`
 85483  	// Device specification, with all necessary properties set.
 85484  	Device BaseVirtualDevice `xml:"device,typeattr" json:"device"`
 85485  	// Virtual Device Profile requirement.
 85486  	//
 85487  	// Profiles are solution specifics.
 85488  	// Storage Profile Based Management(SPBM) is a vSphere server extension.
 85489  	// The API users who want to provision VMs using Storage Profiles, need to
 85490  	// interact with SPBM service.
 85491  	// This is an optional parameter and if user doesn't specify profile,
 85492  	// the default behavior will apply.
 85493  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 85494  	// BackingInfo configuration options.
 85495  	//
 85496  	// Each BackingSpec corresponds to a BackingInfo object. The member
 85497  	// `VirtualDeviceConfigSpec.backing` refers to the
 85498  	// `VirtualDeviceConfigSpec.device*.*VirtualDevice.backing`.
 85499  	Backing *VirtualDeviceConfigSpecBackingSpec `xml:"backing,omitempty" json:"backing,omitempty"`
 85500  	// List of independent filters `VirtualMachineIndependentFilterSpec`
 85501  	// to configure on the virtual device.
 85502  	FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr" json:"filterSpec,omitempty" vim:"7.0.2.1"`
 85503  	// The change mode of the device.
 85504  	//
 85505  	// The values of the mode will be one of `VirtualDeviceConfigSpecChangeMode_enum` enumerations.
 85506  	// On unset, default to 'fail'.
 85507  	ChangeMode string `xml:"changeMode,omitempty" json:"changeMode,omitempty" vim:"8.0.0.1"`
 85508  }
 85509  
 85510  func init() {
 85511  	t["VirtualDeviceConfigSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpec)(nil)).Elem()
 85512  }
 85513  
 85514  // <code>`VirtualDeviceConfigSpecBackingSpec`</code> is a data object
 85515  // type for information about configuration of the backing of a device
 85516  // in a virtual machine.
 85517  //
 85518  // The member `VirtualDeviceConfigSpecBackingSpec.parent` refers the parent in the chain of
 85519  // `VirtualDeviceBackingInfo` objects.
 85520  type VirtualDeviceConfigSpecBackingSpec struct {
 85521  	DynamicData
 85522  
 85523  	Parent *VirtualDeviceConfigSpecBackingSpec `xml:"parent,omitempty" json:"parent,omitempty"`
 85524  	Crypto BaseCryptoSpec                      `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 85525  }
 85526  
 85527  func init() {
 85528  	t["VirtualDeviceConfigSpecBackingSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpecBackingSpec)(nil)).Elem()
 85529  }
 85530  
 85531  // The <code>`VirtualDeviceConnectInfo`</code> data object type
 85532  // contains information about connectable virtual devices.
 85533  type VirtualDeviceConnectInfo struct {
 85534  	DynamicData
 85535  
 85536  	// Specifies whether the virtual machine should override the
 85537  	// virtual device connection state upon the completion of a
 85538  	// migration.
 85539  	//
 85540  	// At this time, this property is only applicable to instant
 85541  	// clone operations, and will be ignored for other migration
 85542  	// types. The property is also only valid with
 85543  	// VirtualEthernetCards, and any attempt to set this property
 85544  	// on an unsupported device will result in an error.
 85545  	// This property will persist only until the virtual machine
 85546  	// undergoes a supported migration, at which point it will be
 85547  	// consumed and unset on the destination virtual machine,
 85548  	// preventing the property from affecting future migrations.
 85549  	// The migration's success is not dependent on whether the device
 85550  	// reaches the desired connection state.
 85551  	// The set of possible values are described in
 85552  	// `VirtualDeviceConnectInfoMigrateConnectOp_enum`.
 85553  	MigrateConnect string `xml:"migrateConnect,omitempty" json:"migrateConnect,omitempty"`
 85554  	// Specifies whether or not to connect the device
 85555  	// when the virtual machine starts.
 85556  	StartConnected bool `xml:"startConnected" json:"startConnected"`
 85557  	// Enables guest control over whether the connectable device is
 85558  	// connected.
 85559  	AllowGuestControl bool `xml:"allowGuestControl" json:"allowGuestControl"`
 85560  	// Indicates whether the device is currently connected.
 85561  	//
 85562  	// Valid only while the virtual machine is running.
 85563  	Connected bool `xml:"connected" json:"connected"`
 85564  	// Indicates the current status of the connectable device.
 85565  	//
 85566  	// Valid only while the
 85567  	// virtual machine is running. The set of possible values is described in
 85568  	// `VirtualDeviceConnectInfoStatus_enum`
 85569  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 85570  }
 85571  
 85572  func init() {
 85573  	t["VirtualDeviceConnectInfo"] = reflect.TypeOf((*VirtualDeviceConnectInfo)(nil)).Elem()
 85574  }
 85575  
 85576  // The ConnectOption data object type contains information about options for
 85577  // connectable virtual devices.
 85578  type VirtualDeviceConnectOption struct {
 85579  	DynamicData
 85580  
 85581  	// Flag to indicate whether or not the device supports
 85582  	// the startConnected feature.
 85583  	StartConnected BoolOption `xml:"startConnected" json:"startConnected"`
 85584  	// Flag to indicate whether or not the device can be
 85585  	// connected and disconnected from within the guest operating system.
 85586  	AllowGuestControl BoolOption `xml:"allowGuestControl" json:"allowGuestControl"`
 85587  }
 85588  
 85589  func init() {
 85590  	t["VirtualDeviceConnectOption"] = reflect.TypeOf((*VirtualDeviceConnectOption)(nil)).Elem()
 85591  }
 85592  
 85593  // The <code>`VirtualDeviceDeviceBackingInfo`</code> data object type
 85594  // defines information about a host device or resource that backs a device
 85595  // in a virtual machine.
 85596  type VirtualDeviceDeviceBackingInfo struct {
 85597  	VirtualDeviceBackingInfo
 85598  
 85599  	// The name of the device on the host system.
 85600  	DeviceName string `xml:"deviceName" json:"deviceName"`
 85601  	// Indicates whether the device should be auto detected
 85602  	// instead of directly specified.
 85603  	//
 85604  	// If this value is set to TRUE,
 85605  	// deviceName is ignored.
 85606  	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty"`
 85607  }
 85608  
 85609  func init() {
 85610  	t["VirtualDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceDeviceBackingInfo)(nil)).Elem()
 85611  }
 85612  
 85613  // The DeviceBackingOption data class contains device-specific backing options.
 85614  type VirtualDeviceDeviceBackingOption struct {
 85615  	VirtualDeviceBackingOption
 85616  
 85617  	// Flag to indicate whether the specific instance of this device can
 85618  	// be auto-detected on the host instead of having to specify a
 85619  	// particular physical device.
 85620  	AutoDetectAvailable BoolOption `xml:"autoDetectAvailable" json:"autoDetectAvailable"`
 85621  }
 85622  
 85623  func init() {
 85624  	t["VirtualDeviceDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceDeviceBackingOption)(nil)).Elem()
 85625  }
 85626  
 85627  // <code>`VirtualDeviceDeviceGroupInfo`</code> contains information
 85628  // about the device group device is assigned to.
 85629  type VirtualDeviceDeviceGroupInfo struct {
 85630  	DynamicData
 85631  
 85632  	// Device group instance key from
 85633  	// <code>`VirtualMachineVirtualDeviceGroupsDeviceGroup`</code>.
 85634  	GroupInstanceKey int32 `xml:"groupInstanceKey" json:"groupInstanceKey"`
 85635  	// Device sequence in the group.
 85636  	//
 85637  	// Small unique positive integer obtained
 85638  	// from <code>`VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo.device`</code>
 85639  	// template.
 85640  	SequenceId int32 `xml:"sequenceId" json:"sequenceId"`
 85641  }
 85642  
 85643  func init() {
 85644  	t["VirtualDeviceDeviceGroupInfo"] = reflect.TypeOf((*VirtualDeviceDeviceGroupInfo)(nil)).Elem()
 85645  	minAPIVersionForType["VirtualDeviceDeviceGroupInfo"] = "8.0.0.1"
 85646  }
 85647  
 85648  // <code>`VirtualDeviceFileBackingInfo`</code> is a data object type
 85649  // for information about file backing for a device in a virtual machine.
 85650  type VirtualDeviceFileBackingInfo struct {
 85651  	VirtualDeviceBackingInfo
 85652  
 85653  	// Filename for the host file used in this backing.
 85654  	FileName string `xml:"fileName" json:"fileName"`
 85655  	// Reference to the datastore managed object where this file is stored.
 85656  	//
 85657  	// If the file is not located on a datastore, then this reference is null.
 85658  	// This is not used for configuration.
 85659  	//
 85660  	// Refers instance of `Datastore`.
 85661  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 85662  	// Backing object's durable and unmutable identifier.
 85663  	//
 85664  	// Each backing object has a unique identifier which is not settable.
 85665  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
 85666  }
 85667  
 85668  func init() {
 85669  	t["VirtualDeviceFileBackingInfo"] = reflect.TypeOf((*VirtualDeviceFileBackingInfo)(nil)).Elem()
 85670  }
 85671  
 85672  // The FileBackingOption data class contains file-specific backing options.
 85673  type VirtualDeviceFileBackingOption struct {
 85674  	VirtualDeviceBackingOption
 85675  
 85676  	// Valid filename extension for the filename.
 85677  	//
 85678  	// If no extensions are present, any file extension is acceptable.
 85679  	FileNameExtensions *ChoiceOption `xml:"fileNameExtensions,omitempty" json:"fileNameExtensions,omitempty"`
 85680  }
 85681  
 85682  func init() {
 85683  	t["VirtualDeviceFileBackingOption"] = reflect.TypeOf((*VirtualDeviceFileBackingOption)(nil)).Elem()
 85684  }
 85685  
 85686  // The VirtualDeviceOption data object type contains information about
 85687  // a virtual device type, the options for configuring the virtual device,
 85688  // and the relationship between this virtual device and other devices.
 85689  //
 85690  // The vSphere API groups device configurations that are mutually exclusive
 85691  // into different configuration objects; each of these configuration objects
 85692  // may define subtypes for virtual device backing options
 85693  // that are independent of the virtual device.
 85694  // Backing-dependent options should appear in a subtype of
 85695  // `VirtualDeviceBackingOption`.
 85696  type VirtualDeviceOption struct {
 85697  	DynamicData
 85698  
 85699  	// The name of the run-time class the client should instantiate
 85700  	// to create a run-time instance of this device.
 85701  	Type string `xml:"type" json:"type"`
 85702  	// If the device is connectable, then the connectOption
 85703  	// describes the connect options and defaults.
 85704  	ConnectOption *VirtualDeviceConnectOption `xml:"connectOption,omitempty" json:"connectOption,omitempty"`
 85705  	// If the device can use a bus slot configuration, then the busSlotOption
 85706  	// describes the bus slot options.
 85707  	BusSlotOption *VirtualDeviceBusSlotOption `xml:"busSlotOption,omitempty" json:"busSlotOption,omitempty"`
 85708  	// Data object type that denotes the controller option object that is
 85709  	// valid for controlling this device.
 85710  	ControllerType string `xml:"controllerType,omitempty" json:"controllerType,omitempty"`
 85711  	// Flag to indicate whether or not this device will be auto-assigned a controller
 85712  	// if one is required.
 85713  	//
 85714  	// If this is true, then a client need not explicitly create
 85715  	// the controller that this device will plug into.
 85716  	AutoAssignController *BoolOption `xml:"autoAssignController,omitempty" json:"autoAssignController,omitempty"`
 85717  	// A list of backing options that can be used to map the virtual
 85718  	// device to the host.
 85719  	//
 85720  	// The list is optional, since some devices exist only within
 85721  	// the virtual machine; for example, a VirtualController.
 85722  	BackingOption []BaseVirtualDeviceBackingOption `xml:"backingOption,omitempty,typeattr" json:"backingOption,omitempty"`
 85723  	// Index into the backingOption list, indicating the default backing.
 85724  	DefaultBackingOptionIndex int32 `xml:"defaultBackingOptionIndex,omitempty" json:"defaultBackingOptionIndex,omitempty"`
 85725  	// List of property names enforced by a licensing restriction
 85726  	// of the underlying product.
 85727  	//
 85728  	// For example, a limit that is not
 85729  	// derived based on the product or hardware features; the
 85730  	// property name "numCPU".
 85731  	LicensingLimit []string `xml:"licensingLimit,omitempty" json:"licensingLimit,omitempty"`
 85732  	// Indicates whether this device is deprecated.
 85733  	//
 85734  	// Hence, if set the device
 85735  	// cannot be used when creating a new virtual machine or be added to an existing
 85736  	// virtual machine. However, the device is still supported by the platform.
 85737  	Deprecated bool `xml:"deprecated" json:"deprecated"`
 85738  	// Indicates if this type of device can be hot-added to the virtual machine
 85739  	// via a reconfigure operation when the virtual machine is powered on.
 85740  	PlugAndPlay bool `xml:"plugAndPlay" json:"plugAndPlay"`
 85741  	// Indicates if this type of device can be hot-removed from the virtual machine
 85742  	// via a reconfigure operation when the virtual machine is powered on.
 85743  	HotRemoveSupported *bool `xml:"hotRemoveSupported" json:"hotRemoveSupported,omitempty"`
 85744  	NumaSupported      *bool `xml:"numaSupported" json:"numaSupported,omitempty" vim:"8.0.0.1"`
 85745  }
 85746  
 85747  func init() {
 85748  	t["VirtualDeviceOption"] = reflect.TypeOf((*VirtualDeviceOption)(nil)).Elem()
 85749  }
 85750  
 85751  // The <code>`VirtualDevicePciBusSlotInfo`</code> data object type
 85752  // defines information about a pci bus slot of pci device in a virtual machine.
 85753  type VirtualDevicePciBusSlotInfo struct {
 85754  	VirtualDeviceBusSlotInfo
 85755  
 85756  	// The pci slot number of the virtual device.
 85757  	//
 85758  	// The pci slot number assignment should generally be left to the system.
 85759  	// If assigned a value, and the value is invalid or duplicated, it will
 85760  	// automatically be reassigned. This will not cause an error.
 85761  	//
 85762  	// Generally, the PCI slot numbers should never be specified in an
 85763  	// Reconfigure operation, and only in a CreateVM operation if i) they
 85764  	// are specified for all devices, and ii) the numbers have been
 85765  	// determined by looking at an existing VM configuration of similar
 85766  	// hardware version. In other words, when the virtual hardware configuration
 85767  	// is duplicated.
 85768  	PciSlotNumber int32 `xml:"pciSlotNumber" json:"pciSlotNumber"`
 85769  }
 85770  
 85771  func init() {
 85772  	t["VirtualDevicePciBusSlotInfo"] = reflect.TypeOf((*VirtualDevicePciBusSlotInfo)(nil)).Elem()
 85773  }
 85774  
 85775  // The <code>`VirtualDevicePipeBackingInfo`</code> data object type
 85776  // defines information for using a named pipe as backing for a device
 85777  // in a virtual machine.
 85778  type VirtualDevicePipeBackingInfo struct {
 85779  	VirtualDeviceBackingInfo
 85780  
 85781  	// Pipe name for the host pipe associated with this backing.
 85782  	PipeName string `xml:"pipeName" json:"pipeName"`
 85783  }
 85784  
 85785  func init() {
 85786  	t["VirtualDevicePipeBackingInfo"] = reflect.TypeOf((*VirtualDevicePipeBackingInfo)(nil)).Elem()
 85787  }
 85788  
 85789  // The <code>`VirtualDevicePipeBackingOption`</code> data object type contains options
 85790  // specific to pipe backings.
 85791  type VirtualDevicePipeBackingOption struct {
 85792  	VirtualDeviceBackingOption
 85793  }
 85794  
 85795  func init() {
 85796  	t["VirtualDevicePipeBackingOption"] = reflect.TypeOf((*VirtualDevicePipeBackingOption)(nil)).Elem()
 85797  }
 85798  
 85799  // <code>`VirtualDeviceRemoteDeviceBackingInfo`</code> is a data object type
 85800  // for information
 85801  // about a remote device backing used by a device in a virtual machine.
 85802  //
 85803  // The primary difference between a remote device backing and a
 85804  // local device backing is that the VirtualCenter server cannot provide a list
 85805  // of remote host devices available for this virtual device backing.
 85806  type VirtualDeviceRemoteDeviceBackingInfo struct {
 85807  	VirtualDeviceBackingInfo
 85808  
 85809  	// The name of the device on the remote system.
 85810  	DeviceName string `xml:"deviceName" json:"deviceName"`
 85811  	// Indicates whether the device should be auto detected
 85812  	// instead of directly specified.
 85813  	//
 85814  	// If this value is set to TRUE,
 85815  	// <code>deviceName</code> is ignored.
 85816  	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty"`
 85817  }
 85818  
 85819  func init() {
 85820  	t["VirtualDeviceRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingInfo)(nil)).Elem()
 85821  }
 85822  
 85823  // VirtualDeviceOption.RemoteDeviceBackingOption describes the options
 85824  // for a remote device backing.
 85825  //
 85826  // The primary difference
 85827  // between a remote device backing and a local device backing is that
 85828  // the VirtualCenter server cannot provide a list of remote host devices
 85829  // available for this virtual device backing.
 85830  type VirtualDeviceRemoteDeviceBackingOption struct {
 85831  	VirtualDeviceBackingOption
 85832  
 85833  	// Flag to indicate whether the specific instance of this device can
 85834  	// be auto-detected on the host instead of having to specify a
 85835  	// particular physical device.
 85836  	AutoDetectAvailable BoolOption `xml:"autoDetectAvailable" json:"autoDetectAvailable"`
 85837  }
 85838  
 85839  func init() {
 85840  	t["VirtualDeviceRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingOption)(nil)).Elem()
 85841  }
 85842  
 85843  // The <code>`VirtualDeviceURIBackingInfo`</code> data object type
 85844  // defines information for using a network socket as backing for a virtual device.
 85845  type VirtualDeviceURIBackingInfo struct {
 85846  	VirtualDeviceBackingInfo
 85847  
 85848  	// Identifies the local host or a system on the network,
 85849  	// depending on the value of <code>`VirtualDeviceURIBackingInfo.direction`</code>.
 85850  	//   - If you use the virtual machine as a server, the URI identifies
 85851  	//     the host on which the virtual machine runs. In this case,
 85852  	//     the host name part of the URI should be empty, or it should
 85853  	//     specify the address of the local host.
 85854  	//   - If you use the virtual machine as a client, the URI identifies
 85855  	//     the remote system on the network.
 85856  	ServiceURI string `xml:"serviceURI" json:"serviceURI"`
 85857  	// The direction of the connection.
 85858  	//
 85859  	// For possible values see
 85860  	// `VirtualDeviceURIBackingOptionDirection_enum`
 85861  	Direction string `xml:"direction" json:"direction"`
 85862  	// Identifies a proxy service that provides network access to the
 85863  	// <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>.
 85864  	//
 85865  	// If you specify a proxy URI, the virtual machine initiates
 85866  	// a connection with the proxy service and forwards the
 85867  	// `VirtualDeviceURIBackingInfo.serviceURI` and `VirtualDeviceURIBackingInfo.direction` to the proxy.
 85868  	ProxyURI string `xml:"proxyURI,omitempty" json:"proxyURI,omitempty"`
 85869  }
 85870  
 85871  func init() {
 85872  	t["VirtualDeviceURIBackingInfo"] = reflect.TypeOf((*VirtualDeviceURIBackingInfo)(nil)).Elem()
 85873  }
 85874  
 85875  // The `VirtualDeviceURIBackingOption` data object type describes network communication
 85876  // options for virtual devices.
 85877  //
 85878  // When establishing a connection with a remote system on the network,
 85879  // the virtual machine can act as a server or a client.
 85880  // When the virtual machine acts as a server, it accepts a connection.
 85881  // When the virtual machine acts as a client, it initiates the connection.
 85882  type VirtualDeviceURIBackingOption struct {
 85883  	VirtualDeviceBackingOption
 85884  
 85885  	// List of possible directions.
 85886  	//
 85887  	// Valid directions are:
 85888  	//   - `server`
 85889  	//   - `client`
 85890  	Directions ChoiceOption `xml:"directions" json:"directions"`
 85891  }
 85892  
 85893  func init() {
 85894  	t["VirtualDeviceURIBackingOption"] = reflect.TypeOf((*VirtualDeviceURIBackingOption)(nil)).Elem()
 85895  }
 85896  
 85897  // This data object type contains information about a disk in a virtual machine.
 85898  //
 85899  // The virtual disk backing object types describe the different virtual disk backings
 85900  // available.
 85901  // The disk format version in each case describes
 85902  // the version of the format that is used.
 85903  //
 85904  // Supported virtual disk backings:
 85905  // <dl>
 85906  // <dt>Sparse disk format, version 1 and 2</dt>
 85907  // <dd>The virtual disk backing grows when needed.
 85908  // Supported only for VMware Server.</dd>
 85909  // <dt>Flat disk format, version 1 and 2</dt>
 85910  // <dd>The virtual disk backing is preallocated.
 85911  // Version 1 is supported only for VMware Server.</dd>
 85912  // <dt>Space efficient sparse disk format</dt>
 85913  // <dd>The virtual disk backing grows on demand and
 85914  // incorporates additional space optimizations.</dd>
 85915  // <dt>Raw disk format, version 2</dt>
 85916  // <dd>The virtual disk backing uses a full physical disk drive
 85917  // to back the virtual disk. Supported only for VMware Server.</dd>
 85918  // <dt>Partitioned raw disk format, version 2</dt>
 85919  // <dd>The virtual disk backing uses one or more partitions on a
 85920  // physical disk drive to back a virtual disk. Supported only for VMware Server.</dd>
 85921  // <dt>Raw disk mapping, version 1</dt>
 85922  // <dd>The virtual disk backing uses a raw device mapping to back the virtual disk.
 85923  // Supported for ESX Server 2.5 and 3.x.</dd>
 85924  // </dl>
 85925  type VirtualDisk struct {
 85926  	VirtualDevice
 85927  
 85928  	// Deprecated as of vSphere API 5.5, use `VirtualDisk.capacityInBytes`.
 85929  	//
 85930  	// Capacity of this virtual disk in kilobytes.
 85931  	//
 85932  	// Information might be lost when actual disk size is rounded off to kilobytes.
 85933  	// If the disk is on a Virtual Volume datastore the disk size must be a multiple
 85934  	// of a megabyte.
 85935  	CapacityInKB int64 `xml:"capacityInKB" json:"capacityInKB"`
 85936  	// Capacity of this virtual disk in bytes.
 85937  	//
 85938  	// Server will always populate this property. Clients must initialize it when
 85939  	// creating a new non -RDM disk or in case they want to change the current
 85940  	// capacity of an existing virtual disk, but can omit it otherwise.
 85941  	// If the disk is on a Virtual Volume datastore the disk size must be a multiple
 85942  	// of a megabyte.
 85943  	CapacityInBytes int64 `xml:"capacityInBytes,omitempty" json:"capacityInBytes,omitempty"`
 85944  	// Deprecated as of vSphere API 4.1, use
 85945  	// `StorageIOAllocationInfo.shares`.
 85946  	//
 85947  	// Disk shares, used for resource scheduling.
 85948  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 85949  	// Deprecated as of vSphere API 6.5, use.
 85950  	//
 85951  	// Resource allocation for storage I/O.
 85952  	StorageIOAllocation *StorageIOAllocationInfo `xml:"storageIOAllocation,omitempty" json:"storageIOAllocation,omitempty"`
 85953  	// Deprecated as of vSphere API 6.5, use `VirtualDisk.vDiskId`.
 85954  	//
 85955  	// Virtual disk durable and unmutable identifier.
 85956  	//
 85957  	// Virtual disk has a UUID field but that can be set through
 85958  	// VirtualDiskManager APIs.
 85959  	// This identifier is a universally unique identifier which is not settable.
 85960  	// VirtualDisk can remain in existence even if it is not associated with VM.
 85961  	DiskObjectId string `xml:"diskObjectId,omitempty" json:"diskObjectId,omitempty"`
 85962  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 85963  	// end of availability.
 85964  	//
 85965  	// vFlash cache configuration supported on this virtual disk.
 85966  	VFlashCacheConfigInfo *VirtualDiskVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty" json:"vFlashCacheConfigInfo,omitempty"`
 85967  	// IDs of the IO Filters associated with the virtual disk.
 85968  	//
 85969  	// See `IoFilterInfo.id`. This information
 85970  	// is provided when retrieving configuration information for
 85971  	// an existing virtual machine. The client cannot modify this information
 85972  	// on a virtual machine.
 85973  	Iofilter []string `xml:"iofilter,omitempty" json:"iofilter,omitempty"`
 85974  	// ID of the virtual disk object as the first class entity.
 85975  	//
 85976  	// See `ID`
 85977  	// The ID is a universally unique identifier for the disk lifecycle,
 85978  	// even if the virtual disk is not associated with VM.
 85979  	VDiskId *ID `xml:"vDiskId,omitempty" json:"vDiskId,omitempty"`
 85980  	// Disk descriptor version of the virtual disk.
 85981  	VDiskVersion int32 `xml:"vDiskVersion,omitempty" json:"vDiskVersion,omitempty" vim:"8.0.1.0"`
 85982  	// Indicates the disk format of the virtual disk.
 85983  	//
 85984  	// The supported values are `native_4k`
 85985  	// and `native_512`.
 85986  	// If unset during virtual machine creation `Folder.CreateVM_Task`,
 85987  	// the default value will be based on `DatastoreInfo.supportedVDiskFormats`.
 85988  	// If `DatastoreInfo.supportedVDiskFormats` has only one value
 85989  	// then the default value will be the same.
 85990  	// If `DatastoreInfo.supportedVDiskFormats` has both the values
 85991  	// `native_512` and `native_4k`
 85992  	// then default value will be `native_512`.
 85993  	// If unset when returned as part of a `VirtualMachineConfigInfo` then the
 85994  	// default value is `native_512`.
 85995  	VirtualDiskFormat string `xml:"virtualDiskFormat,omitempty" json:"virtualDiskFormat,omitempty" vim:"9.0.0.0"`
 85996  	// Indicates whether a disk with
 85997  	// `VirtualDiskFlatVer2BackingInfo` backing is a linked
 85998  	// clone from an unmanaged delta disk and hence the
 85999  	// `VirtualDiskFlatVer2BackingInfo.parent` chain to
 86000  	// this delta disk will not be available.
 86001  	NativeUnmanagedLinkedClone *bool `xml:"nativeUnmanagedLinkedClone" json:"nativeUnmanagedLinkedClone,omitempty"`
 86002  	// The IDs of the independent filters associated with the virtual disk.
 86003  	//
 86004  	// This information is provided when retrieving configuration information for
 86005  	// an existing virtual machine. The client cannot modify this information on
 86006  	// a virtual machine.
 86007  	IndependentFilters []BaseVirtualMachineBaseIndependentFilterSpec `xml:"independentFilters,omitempty,typeattr" json:"independentFilters,omitempty" vim:"7.0.2.1"`
 86008  	// Flag to indicate whether a disk should be presented to the guest
 86009  	// in read-only mode (limited by choice of adapter).
 86010  	GuestReadOnly *bool `xml:"guestReadOnly" json:"guestReadOnly,omitempty" vim:"8.0.2.0"`
 86011  }
 86012  
 86013  func init() {
 86014  	t["VirtualDisk"] = reflect.TypeOf((*VirtualDisk)(nil)).Elem()
 86015  }
 86016  
 86017  // Pod-wide anit-affinity rule for virtual disks.
 86018  //
 86019  // The set of virtual disks should
 86020  // be placed on different datastores.
 86021  type VirtualDiskAntiAffinityRuleSpec struct {
 86022  	ClusterRuleInfo
 86023  
 86024  	// The list of virtual disks.
 86025  	DiskId []int32 `xml:"diskId" json:"diskId"`
 86026  }
 86027  
 86028  func init() {
 86029  	t["VirtualDiskAntiAffinityRuleSpec"] = reflect.TypeOf((*VirtualDiskAntiAffinityRuleSpec)(nil)).Elem()
 86030  }
 86031  
 86032  // The disk blocks of the specified virtual disk have not been fully
 86033  // provisioned on the file system.
 86034  //
 86035  // Typically, this fault is returned as part of a parent fault like
 86036  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 86037  // disk blocks of the virtual disk must be fully provisioned on the file system
 86038  // before fault tolerance can be enabled on the associated virtual machine.
 86039  type VirtualDiskBlocksNotFullyProvisioned struct {
 86040  	DeviceBackingNotSupported
 86041  }
 86042  
 86043  func init() {
 86044  	t["VirtualDiskBlocksNotFullyProvisioned"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisioned)(nil)).Elem()
 86045  }
 86046  
 86047  type VirtualDiskBlocksNotFullyProvisionedFault VirtualDiskBlocksNotFullyProvisioned
 86048  
 86049  func init() {
 86050  	t["VirtualDiskBlocksNotFullyProvisionedFault"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisionedFault)(nil)).Elem()
 86051  }
 86052  
 86053  // The VirtualDiskSpec data object type encapsulates change
 86054  // specifications for an individual virtual disk device.
 86055  //
 86056  // The virtual
 86057  // disk being added or modified must be fully specified.
 86058  type VirtualDiskConfigSpec struct {
 86059  	VirtualDeviceConfigSpec
 86060  
 86061  	// Manner in which to move the virtual disk to the target datastore.
 86062  	//
 86063  	// The set of possible values is described in
 86064  	// `VirtualMachineRelocateDiskMoveOptions_enum`.
 86065  	//
 86066  	// This property can only be set if `HostCapability.deltaDiskBackingsSupported` is true.
 86067  	//
 86068  	// If left unset then `moveAllDiskBackingsAndDisallowSharing`
 86069  	// is assumed.
 86070  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
 86071  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 86072  	// end of availability.
 86073  	//
 86074  	// Manner in which to transfer the cache associated with the virtual disk to the
 86075  	// target host.
 86076  	//
 86077  	// If left unset then migrate is used when virtual flash resource on the source host
 86078  	// is accessible and when the backing vFlash module version is compatible with the
 86079  	// specific vFalsh module on the target host; otherwise flush is used for write back
 86080  	// cache, or a no-op for write through cache. This setting can avoid VM migration failure
 86081  	// due to incompatibility.
 86082  	// If true then migrate is always used. VM migration may fail if the backing vFlash module
 86083  	// version is incompatible with the module on the target host.
 86084  	// If false then flush is used for write back cache. It is a no-op for write through
 86085  	// cache. This setting can avoid VM migration failure due to incompatibility, but cache
 86086  	// files have to be rebuilt on the target host.
 86087  	// Default is unset.
 86088  	//
 86089  	// See also `HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption`.
 86090  	MigrateCache *bool `xml:"migrateCache" json:"migrateCache,omitempty"`
 86091  }
 86092  
 86093  func init() {
 86094  	t["VirtualDiskConfigSpec"] = reflect.TypeOf((*VirtualDiskConfigSpec)(nil)).Elem()
 86095  }
 86096  
 86097  // Delta disk format supported for each datastore type.
 86098  type VirtualDiskDeltaDiskFormatsSupported struct {
 86099  	DynamicData
 86100  
 86101  	// Datastore type name
 86102  	DatastoreType string `xml:"datastoreType" json:"datastoreType"`
 86103  	// Delta disk formats supported.
 86104  	//
 86105  	// Valid values are:
 86106  	//   - `redoLogFormat`
 86107  	//   - `nativeFormat`
 86108  	DeltaDiskFormat ChoiceOption `xml:"deltaDiskFormat" json:"deltaDiskFormat"`
 86109  }
 86110  
 86111  func init() {
 86112  	t["VirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatsSupported)(nil)).Elem()
 86113  }
 86114  
 86115  // This data object type contains information about backing a virtual disk by
 86116  // using a virtual disk file on the host, in the flat file format used by
 86117  // GSX Server 2.x.
 86118  //
 86119  // Flat disks are allocated when created, unlike sparse disks, which
 86120  // grow as needed.
 86121  type VirtualDiskFlatVer1BackingInfo struct {
 86122  	VirtualDeviceFileBackingInfo
 86123  
 86124  	// The disk persistence mode.
 86125  	//
 86126  	// Valid modes are:
 86127  	//   - `persistent`
 86128  	//   - `nonpersistent`
 86129  	//   - `undoable`
 86130  	//
 86131  	// See also `VirtualDiskMode_enum`.
 86132  	DiskMode string `xml:"diskMode" json:"diskMode"`
 86133  	// Flag to indicate the type of virtual disk file: split or monolithic.
 86134  	//
 86135  	// If true, the virtual disk is stored in multiple files, each 2GB.
 86136  	Split *bool `xml:"split" json:"split,omitempty"`
 86137  	// Flag to indicate whether writes should go directly to the file system
 86138  	// or should be buffered.
 86139  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 86140  	// Content ID of the virtual disk file, if available.
 86141  	//
 86142  	// A content ID indicates the logical contents of the disk backing and its parents.
 86143  	//
 86144  	// This property is only guaranteed to be up to date if this disk backing is not
 86145  	// currently being written to by any virtual machine.
 86146  	//
 86147  	// The only supported operation is comparing if two content IDs are equal or not.
 86148  	// The guarantee provided by the content ID is that if two disk backings have the
 86149  	// same content ID and are not currently being written to, then reads issued from
 86150  	// the guest operating system to those disk backings will return the same data.
 86151  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 86152  	// The parent of this virtual disk file, if this is a delta disk backing.
 86153  	//
 86154  	// This will be unset if this is not a delta disk backing.
 86155  	//
 86156  	// A delta disk backing is a way to preserve a virtual disk backing
 86157  	// at some point in time. A delta disk backing is a file backing which in
 86158  	// turn points to the original virtual disk backing (the parent). After a delta
 86159  	// disk backing is added, all writes go to the delta disk backing. All reads
 86160  	// first try the delta disk backing and then try the parent backing if needed.
 86161  	//
 86162  	// A delta disk backing can be added to a disk either implicitly during
 86163  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 86164  	// machine.
 86165  	//
 86166  	// Note that the type of the backing is consistent throughout the chain; any new
 86167  	// delta disk backing which is added is of the same type as the original disk .
 86168  	// Also note that since the parent backing is not being written to,
 86169  	// it is possible that the parent backing may be shared among multiple
 86170  	// disks belonging to multiple virtual machines.
 86171  	//
 86172  	// During virtual machine `creation` and
 86173  	// `reconfiguration` this property is
 86174  	// only checked if the `VirtualDeviceConfigSpec` specifies
 86175  	// an *add operation* with a
 86176  	// *create file operation*.
 86177  	// In this case, a new delta disk backing is created which points to the parent
 86178  	// disk backing. Only the `fileName`
 86179  	// property is important; all other properties will be ignored. The parent backing
 86180  	// is assumed to exist and will not be recursively created.
 86181  	//
 86182  	// This property may only be set if
 86183  	// `deltaDiskBackingsSupported`
 86184  	// is true.
 86185  	Parent *VirtualDiskFlatVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 86186  }
 86187  
 86188  func init() {
 86189  	t["VirtualDiskFlatVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingInfo)(nil)).Elem()
 86190  }
 86191  
 86192  // This data object type contains the available options when backing a virtual disk
 86193  // using a host file with the flat file format from GSX Server 2.x.
 86194  //
 86195  // Flat disks are pre-allocated, whereas sparse disks are grown as needed.
 86196  type VirtualDiskFlatVer1BackingOption struct {
 86197  	VirtualDeviceFileBackingOption
 86198  
 86199  	// The disk mode.
 86200  	//
 86201  	// Valid disk modes are:
 86202  	//   - `persistent`
 86203  	//   - `nonpersistent`
 86204  	//   - `undoable`
 86205  	//   - `independent_persistent`
 86206  	//   - `independent_nonpersistent`
 86207  	//   - `append`
 86208  	//
 86209  	// See also `VirtualDiskMode_enum`.
 86210  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 86211  	// Flag to indicate whether or not the host supports
 86212  	// allowing the client to select whether or not a disk
 86213  	// should be split.
 86214  	Split BoolOption `xml:"split" json:"split"`
 86215  	// Flag to indicate whether or not the host supports
 86216  	// allowing the client to select "writethrough" as a mode for
 86217  	// virtual disks.
 86218  	//
 86219  	// Typically, this is available only for GSX Server Linux hosts.
 86220  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 86221  	// Flag to indicate whether this backing can have its size changed.
 86222  	Growable bool `xml:"growable" json:"growable"`
 86223  }
 86224  
 86225  func init() {
 86226  	t["VirtualDiskFlatVer1BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingOption)(nil)).Elem()
 86227  }
 86228  
 86229  // This data object type contains information about backing a virtual disk using a
 86230  // virtual disk file on the host, in the flat file format used by VMware Server,
 86231  // ESX Server 2.x, and ESX Server 3.x.
 86232  //
 86233  // Flat disks are allocated when created, unlike sparse disks, which
 86234  // grow as needed.
 86235  type VirtualDiskFlatVer2BackingInfo struct {
 86236  	VirtualDeviceFileBackingInfo
 86237  
 86238  	// The disk persistence mode.
 86239  	//
 86240  	// Valid modes are:
 86241  	//   - `persistent`
 86242  	//   - `independent_persistent`
 86243  	//   - `independent_nonpersistent`
 86244  	//   - `nonpersistent`
 86245  	//   - `undoable`
 86246  	//   - `append`
 86247  	//
 86248  	// See also `VirtualDiskMode_enum`.
 86249  	DiskMode string `xml:"diskMode" json:"diskMode"`
 86250  	// Flag to indicate the type of virtual disk file: split or monolithic.
 86251  	//
 86252  	// If true, the virtual disk is stored in multiple files, each 2GB.
 86253  	// On ESX this property is ignored when creating new disks or
 86254  	// editing existing disks. This property is always false for disks
 86255  	// created on ESX.
 86256  	// When an existing split disk such as those created by VMware
 86257  	// Server is added to a virtual machine on ESX, the property will
 86258  	// be set to true when retrieved from `VirtualMachineConfigInfo`.
 86259  	Split *bool `xml:"split" json:"split,omitempty"`
 86260  	// Flag to indicate whether writes should go directly to the file system
 86261  	// or should be buffered.
 86262  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 86263  	// Flag to indicate to the underlying filesystem, whether the
 86264  	// virtual disk backing file should be allocated lazily (using
 86265  	// thin provisioning). This flag is only used for file systems
 86266  	// that support configuring the provisioning policy on a per file
 86267  	// basis, such as VMFS3.
 86268  	//
 86269  	// When specified as part of a `VirtualMachineConfigSpec`, this
 86270  	// property applies only when creating a new virtual disk; it is
 86271  	// ignored when editing an existing virtual disk.
 86272  	//
 86273  	// see `DatastoreCapability.perFileThinProvisioningSupported`
 86274  	ThinProvisioned *bool `xml:"thinProvisioned" json:"thinProvisioned,omitempty"`
 86275  	// Flag to indicate to the underlying filesystem whether the
 86276  	// virtual disk backing file should be scrubbed completely at
 86277  	// this time.
 86278  	//
 86279  	// Virtual disks on some filesystems like VMFS3 are zeroed-out
 86280  	// lazily so that disk creation time doesn't take too long.
 86281  	// However, clustering applications and features like
 86282  	// Fault Tolerance require that the virtual disk be
 86283  	// completely scrubbed. This setting allows controlling the
 86284  	// scrubbing policy on a per-disk basis.
 86285  	//
 86286  	// If this flag is unset or set to false when creating a new disk,
 86287  	// the disk scrubbing policy will be decided by the filesystem. If
 86288  	// this flag is unset or set to false when editing an existing disk,
 86289  	// it is ignored.
 86290  	// When returned as part of a `VirtualMachineConfigInfo`, this
 86291  	// property may be unset if its value is unknown.
 86292  	EagerlyScrub *bool `xml:"eagerlyScrub" json:"eagerlyScrub,omitempty"`
 86293  	// Disk UUID for the virtual disk, if available.
 86294  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 86295  	// Content ID of the virtual disk file, if available.
 86296  	//
 86297  	// A content ID indicates the logical contents of the disk backing and its parents.
 86298  	//
 86299  	// This property is only guaranteed to be up to date if this disk backing is not
 86300  	// currently being written to by any virtual machine.
 86301  	//
 86302  	// The only supported operation is comparing if two content IDs are equal or not.
 86303  	// The guarantee provided by the content ID is that if two disk backings have the
 86304  	// same content ID and are not currently being written to, then reads issued from
 86305  	// the guest operating system to those disk backings will return the same data.
 86306  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 86307  	// The change ID of the virtual disk for the corresponding
 86308  	// snapshot or virtual machine.
 86309  	//
 86310  	// This can be used to track
 86311  	// incremental changes to a virtual disk. See
 86312  	// `VirtualMachine.QueryChangedDiskAreas`.
 86313  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 86314  	// The parent of this virtual disk file, if this is a delta disk backing.
 86315  	//
 86316  	// This will be unset if this is not a delta disk backing.
 86317  	//
 86318  	// A delta disk backing is a way to preserve a virtual disk backing
 86319  	// at some point in time. A delta disk backing is a file backing which in
 86320  	// turn points to the original virtual disk backing (the parent). After a delta
 86321  	// disk backing is added, all writes go to the delta disk backing. All reads
 86322  	// first try the delta disk backing and then try the parent backing if needed.
 86323  	//
 86324  	// A delta disk backing can be added to a disk either implicitly during
 86325  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 86326  	// machine.
 86327  	//
 86328  	// Note that the type of the backing is consistent throughout the chain; any new
 86329  	// delta disk backing which is added is of the same type as the original disk .
 86330  	// Also note that since the parent backing is not being written to,
 86331  	// it is possible that the parent backing may be shared among multiple
 86332  	// disks belonging to multiple virtual machines.
 86333  	//
 86334  	// During virtual machine `creation` and
 86335  	// `reconfiguration` this property is
 86336  	// only checked if the `VirtualDeviceConfigSpec` specifies
 86337  	// an *add operation* with a
 86338  	// *create file operation*.
 86339  	// In this case, a new delta disk backing is created which points to the parent
 86340  	// disk backing. Only the `fileName`
 86341  	// property is important; all other properties will be ignored. The parent backing
 86342  	// is assumed to exist and will not be recursively created.
 86343  	//
 86344  	// This property may only be set if
 86345  	// `deltaDiskBackingsSupported`
 86346  	// is true.
 86347  	Parent *VirtualDiskFlatVer2BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 86348  	// The format of the delta disk.
 86349  	//
 86350  	// This field is valid only for a delta disk.
 86351  	//
 86352  	// See `DeltaDiskFormat` for the
 86353  	// supported formats. If not specified, the default value used is
 86354  	// `redoLogFormat`.
 86355  	//
 86356  	// If `nativeFormat`
 86357  	// is specified and the datastore does not support this format or the parent is
 86358  	// on a different datastore,
 86359  	// `DeltaDiskFormatNotSupported` is
 86360  	// thrown.
 86361  	//
 86362  	// vSphere server does not support relocation of virtual machines with
 86363  	// `nativeFormat`.
 86364  	// An exception is thrown for such requests.
 86365  	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
 86366  	// Indicates whether the disk backing has digest file enabled.
 86367  	DigestEnabled *bool `xml:"digestEnabled" json:"digestEnabled,omitempty"`
 86368  	// Grain size in kB for a delta disk of format type seSparseFormat.
 86369  	//
 86370  	// The default
 86371  	// size is 4 kB.
 86372  	// This setting is used to specify the grain size of
 86373  	// `Flex-SE` delta disks
 86374  	// when the base disk is of type FlatVer2BackingInfo.
 86375  	// The `DeltaDiskFormat` must also
 86376  	// be set to seSparseFormat.
 86377  	DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty" json:"deltaGrainSize,omitempty"`
 86378  	// The delta disk format variant, if applicable.
 86379  	//
 86380  	// This field is valid only for a delta disk and may specify more detailed
 86381  	// information for the delta disk format specified in
 86382  	// `deltaDiskFormat`.
 86383  	//
 86384  	// If `redoLogFormat` is
 86385  	// specified for the
 86386  	// `deltaDiskFormat`,
 86387  	// see `DeltaDiskFormatVariant` for the
 86388  	// supported formats. If this is not specified for
 86389  	// `redoLogFormat`,
 86390  	// the default value used is
 86391  	// `vmfsSparseVariant`.
 86392  	//
 86393  	// For other delta disk formats, this currently remains unspecified.
 86394  	DeltaDiskFormatVariant string `xml:"deltaDiskFormatVariant,omitempty" json:"deltaDiskFormatVariant,omitempty"`
 86395  	// The sharing mode of the virtual disk.
 86396  	//
 86397  	// See `VirtualDiskSharing_enum`. The default value is
 86398  	// no sharing.
 86399  	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty"`
 86400  	// Virtual Disk Backing encryption options.
 86401  	//
 86402  	// On modification operations the value is ignored, use the specification
 86403  	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
 86404  	// `VirtualDeviceConfigSpec.backing`.
 86405  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 86406  }
 86407  
 86408  func init() {
 86409  	t["VirtualDiskFlatVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingInfo)(nil)).Elem()
 86410  }
 86411  
 86412  // This data object type contains the available options when backing a virtual
 86413  // disk using a host file with the flat file format used in VMware Server and
 86414  // in ESX Server 2.x and greater.
 86415  //
 86416  // Flat disks are pre-allocated, whereas sparse disks are grown as needed.
 86417  type VirtualDiskFlatVer2BackingOption struct {
 86418  	VirtualDeviceFileBackingOption
 86419  
 86420  	// The disk mode.
 86421  	//
 86422  	// Valid disk modes are:
 86423  	//   - `persistent`
 86424  	//   - `independent_persistent`
 86425  	//   - `independent_nonpersistent`
 86426  	//
 86427  	// See also `VirtualDiskMode_enum`.
 86428  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 86429  	// Flag to indicate whether or not the host supports
 86430  	// allowing the client to select whether or not a disk
 86431  	// should be split.
 86432  	Split BoolOption `xml:"split" json:"split"`
 86433  	// Flag to indicate whether or not the host supports
 86434  	// allowing the client to select "writethrough" as a mode for
 86435  	// virtual disks.
 86436  	//
 86437  	// Typically, this is available only for VMware Server Linux hosts.
 86438  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 86439  	// Indicates whether or not this disk backing can be
 86440  	// extended to larger sizes through a reconfigure operation.
 86441  	//
 86442  	// If set to true, reconfiguring this virtual disk
 86443  	// with a `VirtualDisk.capacityInKB` value greater
 86444  	// than its current value will grow the disk to the newly specified size.
 86445  	Growable bool `xml:"growable" json:"growable"`
 86446  	// Indicates whether or not this disk backing can be
 86447  	// extended to larger sizes through a reconfigure operation while
 86448  	// the virtual machine is powered on.
 86449  	//
 86450  	// If set to true, reconfiguring this virtual disk
 86451  	// with a `VirtualDisk.capacityInKB` value greater
 86452  	// than its current value will grow the disk to the newly specified size
 86453  	// while the virtual machine is powered on.
 86454  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 86455  	// Flag to indicate whether this backing supports disk UUID property.
 86456  	Uuid bool `xml:"uuid" json:"uuid"`
 86457  	// Flag to indicate if this backing supports thin-provisioned disks.
 86458  	//
 86459  	// When creating a thin-provisioned disk (or converting an existing disk to
 86460  	// to a thin-provisioned one), both the target datastore and the
 86461  	// host accessing it must support thin-provisioning. This flag indicates only
 86462  	// the host capability. See `DatastoreCapability.perFileThinProvisioningSupported`
 86463  	// for datastore capability.
 86464  	ThinProvisioned *BoolOption `xml:"thinProvisioned,omitempty" json:"thinProvisioned,omitempty"`
 86465  	// Flag to indicate if this backing supports eager scrubbing.
 86466  	EagerlyScrub *BoolOption `xml:"eagerlyScrub,omitempty" json:"eagerlyScrub,omitempty"`
 86467  	// Deprecated as of vSphere API 5.1, please use
 86468  	// `VirtualDiskFlatVer2BackingOption.deltaDiskFormatsSupported`.
 86469  	//
 86470  	// Delta disk formats supported.
 86471  	//
 86472  	// Valid values are:
 86473  	//   - `redoLogFormat`
 86474  	//   - `nativeFormat`
 86475  	DeltaDiskFormat *ChoiceOption `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
 86476  	// Delta disk formats supported for each datastore type.
 86477  	DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported,omitempty" json:"deltaDiskFormatsSupported,omitempty"`
 86478  	// Virtual disk format.
 86479  	//
 86480  	// See `DatastoreSectorFormat_enum` for the list of supported types.
 86481  	VirtualDiskFormat *ChoiceOption `xml:"virtualDiskFormat,omitempty" json:"virtualDiskFormat,omitempty" vim:"9.0.0.0"`
 86482  }
 86483  
 86484  func init() {
 86485  	t["VirtualDiskFlatVer2BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingOption)(nil)).Elem()
 86486  }
 86487  
 86488  // Identifier for a virtual disk.
 86489  type VirtualDiskId struct {
 86490  	DynamicData
 86491  
 86492  	// Virtual machine reference.
 86493  	//
 86494  	// Refers instance of `VirtualMachine`.
 86495  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 86496  	// Device ID `VirtualDevice.key` of the virtual disk.
 86497  	DiskId int32 `xml:"diskId" json:"diskId"`
 86498  }
 86499  
 86500  func init() {
 86501  	t["VirtualDiskId"] = reflect.TypeOf((*VirtualDiskId)(nil)).Elem()
 86502  }
 86503  
 86504  // This data object type contains information about backing a virtual disk
 86505  // using non-volatile memory technologies (persistent memory).
 86506  //
 86507  // Supported for ESX Server 6.5 and later.
 86508  type VirtualDiskLocalPMemBackingInfo struct {
 86509  	VirtualDeviceFileBackingInfo
 86510  
 86511  	// The disk persistence mode.
 86512  	//
 86513  	// See also `VirtualDiskMode_enum`.
 86514  	DiskMode string `xml:"diskMode" json:"diskMode"`
 86515  	// Disk UUID for the virtual disk, if available.
 86516  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 86517  	// Persistent memory volume UUID - UUID which associates this
 86518  	// virtual disk with a specific host.
 86519  	//
 86520  	// This is read only property.
 86521  	//
 86522  	// See also `HostPersistentMemoryInfo.volumeUUID`.
 86523  	VolumeUUID string `xml:"volumeUUID,omitempty" json:"volumeUUID,omitempty"`
 86524  	// Content ID of the virtual disk file, if available.
 86525  	//
 86526  	// A content ID indicates the logical contents of the disk backing and
 86527  	// its parents.
 86528  	//
 86529  	// This property is only guaranteed to be up to date if this disk backing
 86530  	// is not currently being written to by any virtual machine.
 86531  	//
 86532  	// The only supported operation is comparing if two content IDs are equal
 86533  	// or not. The guarantee provided by the content ID is that if two disk
 86534  	// backings have the same content ID and are not currently being written
 86535  	// to, then reads issued from the guest operating system to those disk
 86536  	// backings will return the same data.
 86537  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 86538  }
 86539  
 86540  func init() {
 86541  	t["VirtualDiskLocalPMemBackingInfo"] = reflect.TypeOf((*VirtualDiskLocalPMemBackingInfo)(nil)).Elem()
 86542  }
 86543  
 86544  // This data object type contains the available options when backing
 86545  // a virtualdisk using persistent memory.
 86546  type VirtualDiskLocalPMemBackingOption struct {
 86547  	VirtualDeviceFileBackingOption
 86548  
 86549  	// The disk mode.
 86550  	//
 86551  	// See also `VirtualDiskMode_enum`.
 86552  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 86553  	// Indicates whether or not this disk backing can be
 86554  	// extended to larger sizes through a reconfigure operation.
 86555  	//
 86556  	// If set to true, reconfiguring this virtual disk
 86557  	// with a `VirtualDisk.capacityInKB` value greater
 86558  	// than its current value will grow the disk to the newly specified size.
 86559  	Growable bool `xml:"growable" json:"growable"`
 86560  	// Indicates whether or not this disk backing can be
 86561  	// extended to larger sizes through a reconfigure operation while
 86562  	// the virtual machine is powered on.
 86563  	//
 86564  	// If set to true, reconfiguring this virtual disk
 86565  	// with a `VirtualDisk.capacityInKB` value greater
 86566  	// than its current value will grow the disk to the newly specified size
 86567  	// while the virtual machine is powered on.
 86568  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 86569  	// Flag to indicate whether this backing supports disk UUID property.
 86570  	Uuid bool `xml:"uuid" json:"uuid"`
 86571  }
 86572  
 86573  func init() {
 86574  	t["VirtualDiskLocalPMemBackingOption"] = reflect.TypeOf((*VirtualDiskLocalPMemBackingOption)(nil)).Elem()
 86575  }
 86576  
 86577  // The disk mode of the specified virtual disk is not supported.
 86578  //
 86579  // Typically, this fault is returned as part of a parent fault like
 86580  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 86581  // virtual disk's mode needs to be changed before fault tolerance can be
 86582  // enabled on the associated virtual machine.
 86583  type VirtualDiskModeNotSupported struct {
 86584  	DeviceNotSupported
 86585  
 86586  	// Disk mode that is not supported
 86587  	Mode string `xml:"mode" json:"mode"`
 86588  }
 86589  
 86590  func init() {
 86591  	t["VirtualDiskModeNotSupported"] = reflect.TypeOf((*VirtualDiskModeNotSupported)(nil)).Elem()
 86592  }
 86593  
 86594  type VirtualDiskModeNotSupportedFault VirtualDiskModeNotSupported
 86595  
 86596  func init() {
 86597  	t["VirtualDiskModeNotSupportedFault"] = reflect.TypeOf((*VirtualDiskModeNotSupportedFault)(nil)).Elem()
 86598  }
 86599  
 86600  // The VirtualDiskOption data class contains the options for the
 86601  // virtual disk data object type.
 86602  type VirtualDiskOption struct {
 86603  	VirtualDeviceOption
 86604  
 86605  	// Minimum, maximum, and default capacity of the disk.
 86606  	CapacityInKB LongOption `xml:"capacityInKB" json:"capacityInKB"`
 86607  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 86608  	//
 86609  	// Minimum, maximum, and default values for Storage I/O allocation.
 86610  	//
 86611  	// See also `StorageIOAllocationInfo`.
 86612  	IoAllocationOption *StorageIOAllocationOption `xml:"ioAllocationOption,omitempty" json:"ioAllocationOption,omitempty"`
 86613  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 86614  	// end of availability.
 86615  	//
 86616  	// vFlash cache configuration on the disk.
 86617  	VFlashCacheConfigOption *VirtualDiskOptionVFlashCacheConfigOption `xml:"vFlashCacheConfigOption,omitempty" json:"vFlashCacheConfigOption,omitempty"`
 86618  }
 86619  
 86620  func init() {
 86621  	t["VirtualDiskOption"] = reflect.TypeOf((*VirtualDiskOption)(nil)).Elem()
 86622  }
 86623  
 86624  // Deprecated since vSphere 7.0 because vFlash Read Cache
 86625  // end of availability.
 86626  //
 86627  // Options for vFlash cache configuration.
 86628  type VirtualDiskOptionVFlashCacheConfigOption struct {
 86629  	DynamicData
 86630  
 86631  	// Cache data consistency type.
 86632  	//
 86633  	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
 86634  	CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType" json:"cacheConsistencyType"`
 86635  	// Cache mode
 86636  	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
 86637  	CacheMode ChoiceOption `xml:"cacheMode" json:"cacheMode"`
 86638  	// Cache reservation
 86639  	ReservationInMB LongOption `xml:"reservationInMB" json:"reservationInMB"`
 86640  	// Cache block size
 86641  	BlockSizeInKB LongOption `xml:"blockSizeInKB" json:"blockSizeInKB"`
 86642  }
 86643  
 86644  func init() {
 86645  	t["VirtualDiskOptionVFlashCacheConfigOption"] = reflect.TypeOf((*VirtualDiskOptionVFlashCacheConfigOption)(nil)).Elem()
 86646  }
 86647  
 86648  // This data object type contains information about backing a virtual disk
 86649  // using one or more partitions on a physical disk device.
 86650  //
 86651  // This type of
 86652  // backing is supported for VMware Server.
 86653  type VirtualDiskPartitionedRawDiskVer2BackingInfo struct {
 86654  	VirtualDiskRawDiskVer2BackingInfo
 86655  
 86656  	// Array of partition indexes.
 86657  	//
 86658  	// This array identifies the
 86659  	// partitions that are used on the physical disk drive.
 86660  	Partition []int32 `xml:"partition" json:"partition"`
 86661  }
 86662  
 86663  func init() {
 86664  	t["VirtualDiskPartitionedRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingInfo)(nil)).Elem()
 86665  }
 86666  
 86667  // The VirtualDiskOption.PartitionedRawDiskVer2BackingOption object
 86668  // type contains the available options when backing a virtual disk
 86669  // using one or more partitions on a physical disk device.
 86670  //
 86671  // This
 86672  // backing is supported in VMware Server.
 86673  type VirtualDiskPartitionedRawDiskVer2BackingOption struct {
 86674  	VirtualDiskRawDiskVer2BackingOption
 86675  }
 86676  
 86677  func init() {
 86678  	t["VirtualDiskPartitionedRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingOption)(nil)).Elem()
 86679  }
 86680  
 86681  // This data object type contains information about backing a virtual disk using a
 86682  // raw device mapping.
 86683  //
 86684  // Supported for ESX Server 2.5 and 3.x.
 86685  type VirtualDiskRawDiskMappingVer1BackingInfo struct {
 86686  	VirtualDeviceFileBackingInfo
 86687  
 86688  	// Unique identifier of the LUN accessed by the raw disk mapping.
 86689  	LunUuid string `xml:"lunUuid,omitempty" json:"lunUuid,omitempty"`
 86690  	// The host-specific device the LUN is being accessed through.
 86691  	//
 86692  	// If the
 86693  	// target LUN is not available on the host then it is empty. For example, this
 86694  	// could happen if it has accidentally been masked out.
 86695  	DeviceName string `xml:"deviceName,omitempty" json:"deviceName,omitempty"`
 86696  	// The compatibility mode of the raw disk mapping (RDM).
 86697  	//
 86698  	// This must be specified
 86699  	// when a new virtual disk with an RDM backing is created. On subsequent virtual
 86700  	// machine reconfigurations, this property should be handled as follows,
 86701  	// depending on the version of the host:
 86702  	//
 86703  	// On ESX Server 2.5, the compatibility mode of an RDM backing is a
 86704  	// characteristic of the virtual machine's configuration. When reconfiguring
 86705  	// a virtual machine that currently uses a virtual disk backed by an RDM,
 86706  	// the compatibility mode of that backing may be modified. When reconfiguring a
 86707  	// virtual machine to add an existing virtual disk backed by an RDM, the
 86708  	// compatibility mode of that backing may be specified. If left unspecified it
 86709  	// defaults to "physicalMode".
 86710  	//
 86711  	// On ESX Server 3.x, the compatibility mode of an RDM backing is a
 86712  	// characteristic of the RDM itself. Once the RDM is created, its compatibility
 86713  	// mode cannot be changed by reconfiguring the virtual machine. When
 86714  	// reconfiguring a virtual machine to add an existing virtual disk backed by an
 86715  	// RDM, the compatibility mode of that backing must be left unspecified.
 86716  	//
 86717  	// See also `VirtualDiskCompatibilityMode_enum`.
 86718  	CompatibilityMode string `xml:"compatibilityMode,omitempty" json:"compatibilityMode,omitempty"`
 86719  	// The disk mode.
 86720  	//
 86721  	// Valid values are:
 86722  	//   - `persistent`
 86723  	//   - `independent_persistent`
 86724  	//   - `independent_nonpersistent`
 86725  	//   - `nonpersistent`
 86726  	//   - `undoable`
 86727  	//   - `append`
 86728  	//
 86729  	// Disk modes are only supported when the raw disk mapping is using virtual
 86730  	// compatibility mode.
 86731  	//
 86732  	// See also `VirtualDiskMode_enum`.
 86733  	DiskMode string `xml:"diskMode,omitempty" json:"diskMode,omitempty"`
 86734  	// Disk UUID for the virtual disk, if available.
 86735  	//
 86736  	// Disk UUID is not available if
 86737  	// the raw disk mapping is in physical compatibility mode.
 86738  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 86739  	// Content ID of the virtual disk file, if available.
 86740  	//
 86741  	// A content ID indicates the logical contents of the disk backing and its parents.
 86742  	//
 86743  	// This property is only guaranteed to be up to date if this disk backing is not
 86744  	// currently being written to by any virtual machine.
 86745  	//
 86746  	// The only supported operation is comparing if two content IDs are equal or not.
 86747  	// The guarantee provided by the content ID is that if two disk backings have the
 86748  	// same content ID and are not currently being written to, then reads issued from
 86749  	// the guest operating system to those disk backings will return the same data.
 86750  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 86751  	// The change ID of the virtual disk for the corresponding
 86752  	// snapshot or virtual machine.
 86753  	//
 86754  	// This can be used to track
 86755  	// incremental changes to a virtual disk. See
 86756  	// `VirtualMachine.QueryChangedDiskAreas`.
 86757  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 86758  	// The parent of this virtual disk file, if this is a delta disk backing.
 86759  	//
 86760  	// This will be unset if this is not a delta disk backing.
 86761  	//
 86762  	// A delta disk backing is a way to preserve a virtual disk backing
 86763  	// at some point in time. A delta disk backing is a file backing which in
 86764  	// turn points to the original virtual disk backing (the parent). After a delta
 86765  	// disk backing is added, all writes go to the delta disk backing. All reads
 86766  	// first try the delta disk backing and then try the parent backing if needed.
 86767  	//
 86768  	// A delta disk backing can be added to a disk either implicitly during
 86769  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 86770  	// machine.
 86771  	//
 86772  	// Note that the type of the backing is consistent throughout the chain; any new
 86773  	// delta disk backing which is added is of the same type as the original disk .
 86774  	// Also note that since the parent backing is not being written to,
 86775  	// it is possible that the parent backing may be shared among multiple
 86776  	// disks belonging to multiple virtual machines.
 86777  	//
 86778  	// During virtual machine `creation` and
 86779  	// `reconfiguration` this property is
 86780  	// only checked if the `VirtualDeviceConfigSpec` specifies
 86781  	// an *add operation* with a
 86782  	// *create file operation*.
 86783  	// In this case, a new delta disk backing is created which points to the parent
 86784  	// disk backing. Only the `fileName`
 86785  	// property is important; all other properties will be ignored. The parent backing
 86786  	// is assumed to exist and will not be recursively created.
 86787  	//
 86788  	// Only raw disk mappings in *virtual compatibility mode* can have parents.
 86789  	//
 86790  	// This property may only be set if
 86791  	// `deltaDiskBackingsSupported`
 86792  	// is true.
 86793  	Parent *VirtualDiskRawDiskMappingVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 86794  	// The format of the delta disk.
 86795  	//
 86796  	// This field is valid only for a delta disk.
 86797  	//
 86798  	// See `DeltaDiskFormat` for the
 86799  	// supported formats. The default value used for VM with hardware
 86800  	// version 8 and lower is
 86801  	// `redoLogFormat`.
 86802  	// The default value used for VM with hardware
 86803  	// version 9 and higher is
 86804  	// `seSparseFormat`.
 86805  	//
 86806  	// `nativeFormat` is not
 86807  	// supported for bask disk of type RawDiskMappingVer1BackingInfo.
 86808  	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
 86809  	// Grain size in kB for a delta disk of format type seSparseFormat.
 86810  	//
 86811  	// The default
 86812  	// size is 4 kB.
 86813  	// The grain size of
 86814  	// `Flex-SE` delta disks
 86815  	// when the base disk is of type RawDiskMappingVer1BackingInfo.
 86816  	// The `DeltaDiskFormat` must also
 86817  	// be set to seSparseFormat.
 86818  	DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty" json:"deltaGrainSize,omitempty"`
 86819  	// The sharing mode of the virtual disk.
 86820  	//
 86821  	// See `VirtualDiskSharing_enum`. The default value is
 86822  	// no sharing.
 86823  	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty"`
 86824  }
 86825  
 86826  func init() {
 86827  	t["VirtualDiskRawDiskMappingVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingInfo)(nil)).Elem()
 86828  }
 86829  
 86830  // The VirtualDiskOption.RawDiskMappingVer1BackingOption object type
 86831  // contains the available options when backing a virtual disk using
 86832  // a raw device mapping on ESX Server 2.5 or 3.x.
 86833  type VirtualDiskRawDiskMappingVer1BackingOption struct {
 86834  	VirtualDeviceDeviceBackingOption
 86835  
 86836  	// Valid extensions for the filename of the optional
 86837  	// raw disk mapping descriptor file.
 86838  	//
 86839  	// This is present only for ESX Server 3.x and greater hosts.
 86840  	DescriptorFileNameExtensions *ChoiceOption `xml:"descriptorFileNameExtensions,omitempty" json:"descriptorFileNameExtensions,omitempty"`
 86841  	// The supported raw disk mapping compatibility modes.
 86842  	//
 86843  	// See also `VirtualDiskCompatibilityMode_enum`.
 86844  	CompatibilityMode ChoiceOption `xml:"compatibilityMode" json:"compatibilityMode"`
 86845  	// The disk mode.
 86846  	//
 86847  	// Valid values are:
 86848  	//   - `persistent`
 86849  	//   - `independent_persistent`
 86850  	//   - `independent_nonpersistent`
 86851  	//
 86852  	// See also `VirtualDiskMode_enum`.
 86853  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 86854  	// Flag to indicate whether this backing supports disk UUID property.
 86855  	Uuid bool `xml:"uuid" json:"uuid"`
 86856  	// Virtual disk format.
 86857  	//
 86858  	// See `DatastoreSectorFormat_enum` for the list of supported types.
 86859  	VirtualDiskFormat *ChoiceOption `xml:"virtualDiskFormat,omitempty" json:"virtualDiskFormat,omitempty" vim:"9.0.0.0"`
 86860  }
 86861  
 86862  func init() {
 86863  	t["VirtualDiskRawDiskMappingVer1BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingOption)(nil)).Elem()
 86864  }
 86865  
 86866  // This data object type contains information about backing a virtual disk by
 86867  // using a host device, as used by VMware Server.
 86868  type VirtualDiskRawDiskVer2BackingInfo struct {
 86869  	VirtualDeviceDeviceBackingInfo
 86870  
 86871  	// The name of the raw disk descriptor file.
 86872  	DescriptorFileName string `xml:"descriptorFileName" json:"descriptorFileName"`
 86873  	// Disk UUID for the virtual disk, if available.
 86874  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 86875  	// The change ID of the virtual disk for the corresponding
 86876  	// snapshot or virtual machine.
 86877  	//
 86878  	// This can be used to track
 86879  	// incremental changes to a virtual disk. See
 86880  	// `VirtualMachine.QueryChangedDiskAreas`.
 86881  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 86882  	// The sharing mode of the virtual disk.
 86883  	//
 86884  	// See `VirtualDiskSharing_enum`. The default value is
 86885  	// no sharing.
 86886  	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty"`
 86887  }
 86888  
 86889  func init() {
 86890  	t["VirtualDiskRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingInfo)(nil)).Elem()
 86891  }
 86892  
 86893  // The VirtualDiskOption.RawDiskVer2BackingOption object type
 86894  // contains the available options when backing a virtual disk
 86895  // using a host device on VMware Server.
 86896  type VirtualDiskRawDiskVer2BackingOption struct {
 86897  	VirtualDeviceDeviceBackingOption
 86898  
 86899  	// Valid extensions for the filename of the raw disk descriptor
 86900  	// file.
 86901  	DescriptorFileNameExtensions ChoiceOption `xml:"descriptorFileNameExtensions" json:"descriptorFileNameExtensions"`
 86902  	// Flag to indicate whether this backing supports disk UUID property.
 86903  	Uuid bool `xml:"uuid" json:"uuid"`
 86904  }
 86905  
 86906  func init() {
 86907  	t["VirtualDiskRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingOption)(nil)).Elem()
 86908  }
 86909  
 86910  // The set of virtual disks that are currently disabled
 86911  type VirtualDiskRuleSpec struct {
 86912  	ClusterRuleInfo
 86913  
 86914  	// Type of the virtual disks rule.
 86915  	//
 86916  	// The set of possible values are described
 86917  	// in `VirtualDiskRuleSpecRuleType_enum`
 86918  	DiskRuleType string `xml:"diskRuleType" json:"diskRuleType"`
 86919  	// The list of virtual disks for this rule.
 86920  	DiskId []int32 `xml:"diskId,omitempty" json:"diskId,omitempty"`
 86921  }
 86922  
 86923  func init() {
 86924  	t["VirtualDiskRuleSpec"] = reflect.TypeOf((*VirtualDiskRuleSpec)(nil)).Elem()
 86925  }
 86926  
 86927  // Deprecated as of vSphere API 9.0, space efficient sparse format only
 86928  // applies to delta disks, see
 86929  // `DeltaDiskFormat`.
 86930  // SE sparse base disk is no longer supported, instead set
 86931  // `VirtualDiskFlatVer2BackingInfo.thinProvisioned`
 86932  // to true for potential space saving.
 86933  //
 86934  // Space for space efficient sparse disks is allocated on
 86935  // demand and optimizations are applied to achieve additional
 86936  // space savings. The effective space usage of such a disk can
 86937  // be obtained from `VirtualMachineFileLayoutEx`.
 86938  //
 86939  // Backing type for virtual disks that use the space efficient
 86940  // sparse format.
 86941  type VirtualDiskSeSparseBackingInfo struct {
 86942  	VirtualDeviceFileBackingInfo
 86943  
 86944  	// The disk persistence mode.
 86945  	//
 86946  	// Valid modes are:
 86947  	//   - `persistent`
 86948  	//   - `independent_persistent`
 86949  	//   - `independent_nonpersistent`
 86950  	//   - `nonpersistent`
 86951  	//   - `undoable`
 86952  	//   - `append`
 86953  	//
 86954  	// See also `VirtualDiskMode_enum`.
 86955  	DiskMode string `xml:"diskMode" json:"diskMode"`
 86956  	// Flag to indicate whether writes should go directly to the file system
 86957  	// or should be buffered.
 86958  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 86959  	// Disk UUID for the virtual disk, if available.
 86960  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 86961  	// Content ID of the virtual disk file, if available.
 86962  	//
 86963  	// A content ID indicates the logical contents of the disk backing and its parents.
 86964  	//
 86965  	// This property is only guaranteed to be up to date if this disk backing is not
 86966  	// currently being written to by any virtual machine.
 86967  	//
 86968  	// The only supported operation is comparing if two content IDs are equal or not.
 86969  	// The guarantee provided by the content ID is that if two disk backings have the
 86970  	// same content ID and are not currently being written to, then reads issued from
 86971  	// the guest operating system to those disk backings will return the same data.
 86972  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 86973  	// The change ID of the virtual disk for the corresponding
 86974  	// snapshot or virtual machine.
 86975  	//
 86976  	// This can be used to track
 86977  	// incremental changes to a virtual disk. See `VirtualMachine.QueryChangedDiskAreas`.
 86978  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 86979  	// The parent of this virtual disk file, if this is a delta disk backing.
 86980  	//
 86981  	// This will be unset if this is not a delta disk backing.
 86982  	//
 86983  	// A delta disk backing is a way to preserve a virtual disk backing
 86984  	// at some point in time. A delta disk backing is a file backing which in
 86985  	// turn points to the original virtual disk backing (the parent). After a delta
 86986  	// disk backing is added, all writes go to the delta disk backing. All reads
 86987  	// first try the delta disk backing and then try the parent backing if needed.
 86988  	//
 86989  	// A delta disk backing can be added to a disk either implicitly during
 86990  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 86991  	// machine.
 86992  	//
 86993  	// Note that the type of the backing is consistent throughout the chain; any new
 86994  	// delta disk backing which is added is of the same type as the original disk .
 86995  	// Also note that since the parent backing is not being written to,
 86996  	// it is possible that the parent backing may be shared among multiple
 86997  	// disks belonging to multiple virtual machines.
 86998  	//
 86999  	// During virtual machine `creation` and
 87000  	// `reconfiguration` this property is
 87001  	// only checked if the `VirtualDeviceConfigSpec` specifies
 87002  	// an *add operation* with a
 87003  	// *create file operation*.
 87004  	// In this case, a new delta disk backing is created which points to the parent
 87005  	// disk backing. Only the `fileName`
 87006  	// property is important; all other properties will be ignored. The parent backing
 87007  	// is assumed to exist and will not be recursively created.
 87008  	//
 87009  	// This property may only be set if
 87010  	// `deltaDiskBackingsSupported`
 87011  	// is true.
 87012  	Parent *VirtualDiskSeSparseBackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 87013  	// The format of the delta disk.
 87014  	//
 87015  	// This field is valid only for a delta disk.
 87016  	//
 87017  	// See `DeltaDiskFormat` for the
 87018  	// supported formats. If not specified, the default value used is
 87019  	// `redoLogFormat`.
 87020  	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
 87021  	// Indicates whether the disk backing has digest file enabled.
 87022  	DigestEnabled *bool `xml:"digestEnabled" json:"digestEnabled,omitempty"`
 87023  	// Specify the grain size in kB.
 87024  	//
 87025  	// The default size is 4 kB.
 87026  	GrainSize int32 `xml:"grainSize,omitempty" json:"grainSize,omitempty"`
 87027  	// Virtual Disk Backing encryption options.
 87028  	//
 87029  	// On modification operations the value is ignored, use the specification
 87030  	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
 87031  	// `VirtualDeviceConfigSpec.backing`.
 87032  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 87033  }
 87034  
 87035  func init() {
 87036  	t["VirtualDiskSeSparseBackingInfo"] = reflect.TypeOf((*VirtualDiskSeSparseBackingInfo)(nil)).Elem()
 87037  }
 87038  
 87039  // Backing options for virtual disks that use the space
 87040  // efficient sparse format.
 87041  //
 87042  // Space for Flex-SE disks is allocated on demand and
 87043  // optimizations are applied to achieve additional
 87044  // space savings.
 87045  type VirtualDiskSeSparseBackingOption struct {
 87046  	VirtualDeviceFileBackingOption
 87047  
 87048  	// The disk mode.
 87049  	//
 87050  	// Valid disk modes are:
 87051  	//   - `persistent`
 87052  	//   - `independent_persistent`
 87053  	//   - `independent_nonpersistent`
 87054  	//
 87055  	// See also `VirtualDiskMode_enum`.
 87056  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 87057  	// Flag to indicate whether or not the host supports
 87058  	// allowing the client to select "writethrough" as a mode for
 87059  	// virtual disks.
 87060  	//
 87061  	// Typically, this is available only for VMware Server Linux hosts.
 87062  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 87063  	// Indicates whether or not this disk backing can be
 87064  	// extended to larger sizes through a reconfigure operation.
 87065  	//
 87066  	// If set to true, reconfiguring this virtual disk
 87067  	// with a `VirtualDisk.capacityInKB` value greater
 87068  	// than its current value will grow the disk to the newly specified size.
 87069  	Growable bool `xml:"growable" json:"growable"`
 87070  	// Indicates whether or not this disk backing can be
 87071  	// extended to larger sizes through a reconfigure operation while
 87072  	// the virtual machine is powered on.
 87073  	//
 87074  	// If set to true, reconfiguring this virtual disk
 87075  	// with a `VirtualDisk.capacityInKB` value greater
 87076  	// than its current value will grow the disk to the newly specified size
 87077  	// while the virtual machine is powered on.
 87078  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 87079  	// Flag to indicate whether this backing supports disk UUID property.
 87080  	Uuid bool `xml:"uuid" json:"uuid"`
 87081  	// Delta disk formats supported for each datastore type.
 87082  	DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported" json:"deltaDiskFormatsSupported"`
 87083  	// Virtual disk format.
 87084  	//
 87085  	// See `DatastoreSectorFormat_enum` for the list of supported types.
 87086  	VirtualDiskFormat *ChoiceOption `xml:"virtualDiskFormat,omitempty" json:"virtualDiskFormat,omitempty" vim:"9.0.0.0"`
 87087  }
 87088  
 87089  func init() {
 87090  	t["VirtualDiskSeSparseBackingOption"] = reflect.TypeOf((*VirtualDiskSeSparseBackingOption)(nil)).Elem()
 87091  }
 87092  
 87093  // This data object type contains information about backing a virtual disk by
 87094  // using a virtual disk file on the host, in the sparse disk format used by
 87095  // GSX Server 2.x.
 87096  type VirtualDiskSparseVer1BackingInfo struct {
 87097  	VirtualDeviceFileBackingInfo
 87098  
 87099  	// The disk persistence mode.
 87100  	//
 87101  	// Valid values are:
 87102  	//   - `persistent`
 87103  	//   - `nonpersistent`
 87104  	//   - `undoable`
 87105  	//   - `independent_persistent`
 87106  	//   - `independent_nonpersistent`
 87107  	//   - `append`
 87108  	//
 87109  	// See also `VirtualDiskMode_enum`.
 87110  	DiskMode string `xml:"diskMode" json:"diskMode"`
 87111  	// Flag to indicate the type of virtual disk file: split or monolithic.
 87112  	//
 87113  	// If true, the virtual disk is stored in multiple files, each 2GB.
 87114  	Split *bool `xml:"split" json:"split,omitempty"`
 87115  	// Flag to indicate whether writes should go directly to the file system
 87116  	// or should be buffered.
 87117  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 87118  	// The space in use for this sparse disk.
 87119  	//
 87120  	// This information is provided
 87121  	// when retrieving configuration information for an existing virtual
 87122  	// machine. The client cannot modify this information using reconfigure
 87123  	// on a virtual machine.
 87124  	SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty" json:"spaceUsedInKB,omitempty"`
 87125  	// Content ID of the virtual disk file, if available.
 87126  	//
 87127  	// A content ID indicates the logical contents of the disk backing and its parents.
 87128  	//
 87129  	// This property is only guaranteed to be up to date if this disk backing is not
 87130  	// currently being written to by any virtual machine.
 87131  	//
 87132  	// The only supported operation is comparing if two content IDs are equal or not.
 87133  	// The guarantee provided by the content ID is that if two disk backings have the
 87134  	// same content ID and are not currently being written to, then reads issued from
 87135  	// the guest operating system to those disk backings will return the same data.
 87136  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 87137  	// The parent of this virtual disk file, if this is a delta disk backing.
 87138  	//
 87139  	// This will be unset if this is not a delta disk backing.
 87140  	//
 87141  	// A delta disk backing is a way to preserve a virtual disk backing
 87142  	// at some point in time. A delta disk backing is a file backing which in
 87143  	// turn points to the original virtual disk backing (the parent). After a delta
 87144  	// disk backing is added, all writes go to the delta disk backing. All reads
 87145  	// first try the delta disk backing and then try the parent backing if needed.
 87146  	//
 87147  	// A delta disk backing can be added to a disk either implicitly during
 87148  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 87149  	// machine.
 87150  	//
 87151  	// Note that the type of the backing is consistent throughout the chain; any new
 87152  	// delta disk backing which is added is of the same type as the original disk .
 87153  	// Also note that since the parent backing is not being written to,
 87154  	// it is possible that the parent backing may be shared among multiple
 87155  	// disks belonging to multiple virtual machines.
 87156  	//
 87157  	// During virtual machine `creation` and
 87158  	// `reconfiguration` this property is
 87159  	// only checked if the `VirtualDeviceConfigSpec` specifies
 87160  	// an *add operation* with a
 87161  	// *create file operation*.
 87162  	// In this case, a new delta disk backing is created which points to the parent
 87163  	// disk backing. Only the `fileName`
 87164  	// property is important; all other properties will be ignored. The parent backing
 87165  	// is assumed to exist and will not be recursively created.
 87166  	//
 87167  	// This property may only be set if
 87168  	// `deltaDiskBackingsSupported`
 87169  	// is true.
 87170  	Parent *VirtualDiskSparseVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 87171  }
 87172  
 87173  func init() {
 87174  	t["VirtualDiskSparseVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingInfo)(nil)).Elem()
 87175  }
 87176  
 87177  // This data object type contains the available options when backing a virtual
 87178  // disk using a host file with the sparse file format from GSX Server 2.x.
 87179  type VirtualDiskSparseVer1BackingOption struct {
 87180  	VirtualDeviceFileBackingOption
 87181  
 87182  	// The disk mode.
 87183  	//
 87184  	// Valid disk modes are:
 87185  	//   - `persistent`
 87186  	//   - `nonpersistent`
 87187  	//   - `undoable`
 87188  	//   - `independent_persistent`
 87189  	//   - `independent_nonpersistent`
 87190  	//   - `append`
 87191  	//
 87192  	// See also `VirtualDiskMode_enum`.
 87193  	DiskModes ChoiceOption `xml:"diskModes" json:"diskModes"`
 87194  	// Flag to indicate whether or not the host supports
 87195  	// allowing the client to select whether or not a sparse disk
 87196  	// should be split.
 87197  	Split BoolOption `xml:"split" json:"split"`
 87198  	// Flag to indicate whether or not the host supports
 87199  	// allowing the client to select "writethrough" as a mode for
 87200  	// virtual disks.
 87201  	//
 87202  	// Typically, this is available only for VMware Server Linux hosts.
 87203  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 87204  	// Flag to indicate whether this backing can have its size changed.
 87205  	Growable bool `xml:"growable" json:"growable"`
 87206  }
 87207  
 87208  func init() {
 87209  	t["VirtualDiskSparseVer1BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingOption)(nil)).Elem()
 87210  }
 87211  
 87212  // This data object type contains information about backing a virtual disk by
 87213  // using a virtual disk file on the host, in the sparse disk format used by
 87214  // VMware Server.
 87215  type VirtualDiskSparseVer2BackingInfo struct {
 87216  	VirtualDeviceFileBackingInfo
 87217  
 87218  	// The disk persistence mode.
 87219  	//
 87220  	// Valid modes are:
 87221  	//   - `persistent`
 87222  	//   - `independent_persistent`
 87223  	//   - `independent_nonpersistent`
 87224  	//
 87225  	// See also `VirtualDiskMode_enum`.
 87226  	DiskMode string `xml:"diskMode" json:"diskMode"`
 87227  	// Flag to indicate the type of virtual disk file: split or monolithic.
 87228  	//
 87229  	// If true, the virtual disk is stored in multiple files, each 2GB.
 87230  	Split *bool `xml:"split" json:"split,omitempty"`
 87231  	// Flag to indicate whether writes should go directly to the file system
 87232  	// or should be buffered.
 87233  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 87234  	// The space in use for this sparse disk.
 87235  	//
 87236  	// This information is provided
 87237  	// when retrieving configuration information for an exisiting virtual
 87238  	// machine. The client cannot modify this information using reconfigure
 87239  	// on a virtual machine.
 87240  	SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty" json:"spaceUsedInKB,omitempty"`
 87241  	// Disk UUID for the virtual disk, if available.
 87242  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 87243  	// Content ID of the virtual disk file, if available.
 87244  	//
 87245  	// A content ID indicates the logical contents of the disk backing and its parents.
 87246  	//
 87247  	// This property is only guaranteed to be up to date if this disk backing is not
 87248  	// currently being written to by any virtual machine.
 87249  	//
 87250  	// The only supported operation is comparing if two content IDs are equal or not.
 87251  	// The guarantee provided by the content ID is that if two disk backings have the
 87252  	// same content ID and are not currently being written to, then reads issued from
 87253  	// the guest operating system to those disk backings will return the same data.
 87254  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 87255  	// The change ID of the virtual disk for the corresponding
 87256  	// snapshot or virtual machine.
 87257  	//
 87258  	// This can be used to track
 87259  	// incremental changes to a virtual disk. See
 87260  	// `VirtualMachine.QueryChangedDiskAreas`.
 87261  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 87262  	// The parent of this virtual disk file, if this is a delta disk backing.
 87263  	//
 87264  	// This will be unset if this is not a delta disk backing.
 87265  	//
 87266  	// A delta disk backing is a way to preserve a virtual disk backing
 87267  	// at some point in time. A delta disk backing is a file backing which in
 87268  	// turn points to the original virtual disk backing (the parent). After a delta
 87269  	// disk backing is added, all writes go to the delta disk backing. All reads
 87270  	// first try the delta disk backing and then try the parent backing if needed.
 87271  	//
 87272  	// A delta disk backing can be added to a disk either implicitly during
 87273  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 87274  	// machine.
 87275  	//
 87276  	// Note that the type of the backing is consistent throughout the chain; any new
 87277  	// delta disk backing which is added is of the same type as the original disk .
 87278  	// Also note that since the parent backing is not being written to,
 87279  	// it is possible that the parent backing may be shared among multiple
 87280  	// disks belonging to multiple virtual machines.
 87281  	//
 87282  	// During virtual machine `creation` and
 87283  	// `reconfiguration` this property is
 87284  	// only checked if the `VirtualDeviceConfigSpec` specifies
 87285  	// an *add operation* with a
 87286  	// *create file operation*.
 87287  	// In this case, a new delta disk backing is created which points to the parent
 87288  	// disk backing. Only the `fileName`
 87289  	// property is important; all other properties will be ignored. The parent backing
 87290  	// is assumed to exist and will not be recursively created.
 87291  	//
 87292  	// This property may only be set if
 87293  	// `deltaDiskBackingsSupported`
 87294  	// is true.
 87295  	Parent *VirtualDiskSparseVer2BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 87296  	// Virtual Disk Backing encryption options.
 87297  	//
 87298  	// On modification operations the value is ignored, use the specification
 87299  	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
 87300  	// `VirtualDeviceConfigSpec.backing`.
 87301  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 87302  }
 87303  
 87304  func init() {
 87305  	t["VirtualDiskSparseVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingInfo)(nil)).Elem()
 87306  }
 87307  
 87308  // This data object type contains the options available when backing a virtual
 87309  // disk using a host file with the sparse file format from VMware Server.
 87310  type VirtualDiskSparseVer2BackingOption struct {
 87311  	VirtualDeviceFileBackingOption
 87312  
 87313  	// The disk mode.
 87314  	//
 87315  	// Valid disk modes are:
 87316  	//   - `persistent`
 87317  	//   - `nonpersistent`
 87318  	//   - `undoable`
 87319  	//   - `independent_persistent`
 87320  	//   - `independent_nonpersistent`
 87321  	//   - `append`
 87322  	//
 87323  	// See also `VirtualDiskMode_enum`.
 87324  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 87325  	// Flag to indicate whether or not the host supports
 87326  	// allowing the client to select whether or not a sparse disk
 87327  	// should be split.
 87328  	Split BoolOption `xml:"split" json:"split"`
 87329  	// Flag to indicate whether or not the host supports
 87330  	// allowing the client to select "writethrough" as a mode for
 87331  	// virtual disks.
 87332  	//
 87333  	// Typically, this is available only for VMware Server Linux hosts.
 87334  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 87335  	// Indicates whether or not this disk backing can be
 87336  	// extended to larger sizes through a reconfigure operation.
 87337  	//
 87338  	// If set to true, reconfiguring this virtual disk
 87339  	// with a `VirtualDisk.capacityInKB` value greater
 87340  	// than its current value will grow the disk to the newly specified size.
 87341  	Growable bool `xml:"growable" json:"growable"`
 87342  	// Indicates whether or not this disk backing can be
 87343  	// extended to larger sizes through a reconfigure operation while
 87344  	// the virtual machine is powered on.
 87345  	//
 87346  	// If set to true, reconfiguring this virtual disk
 87347  	// with a `VirtualDisk.capacityInKB` value greater
 87348  	// than its current value will grow the disk to the newly specified size
 87349  	// while the virtual machine is powered on.
 87350  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 87351  	// Flag to indicate whether this backing supports disk UUID property.
 87352  	Uuid bool `xml:"uuid" json:"uuid"`
 87353  	// Virtual disk format.
 87354  	//
 87355  	// See `DatastoreSectorFormat_enum` for the list of supported types.
 87356  	VirtualDiskFormat *ChoiceOption `xml:"virtualDiskFormat,omitempty" json:"virtualDiskFormat,omitempty" vim:"9.0.0.0"`
 87357  }
 87358  
 87359  func init() {
 87360  	t["VirtualDiskSparseVer2BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingOption)(nil)).Elem()
 87361  }
 87362  
 87363  // Specification used to create or clone a virtual disk
 87364  type VirtualDiskSpec struct {
 87365  	DynamicData
 87366  
 87367  	// The type of the new virtual disk.
 87368  	//
 87369  	// See also `VirtualDiskType_enum`.
 87370  	DiskType string `xml:"diskType" json:"diskType"`
 87371  	// The type of the virtual disk adapter for the new virtual disk.
 87372  	//
 87373  	// See also `VirtualDiskAdapterType_enum`.
 87374  	AdapterType string `xml:"adapterType" json:"adapterType"`
 87375  }
 87376  
 87377  func init() {
 87378  	t["VirtualDiskSpec"] = reflect.TypeOf((*VirtualDiskSpec)(nil)).Elem()
 87379  }
 87380  
 87381  // Data object describes the vFlash cache configuration on this virtual disk.
 87382  type VirtualDiskVFlashCacheConfigInfo struct {
 87383  	DynamicData
 87384  
 87385  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 87386  	// end of availability.
 87387  	//
 87388  	// Name of vFlash module which manages the cache.
 87389  	//
 87390  	// If not specified, default setting
 87391  	// `HostVFlashManagerVFlashCacheConfigSpec.defaultVFlashModule`
 87392  	// will be used.
 87393  	VFlashModule string `xml:"vFlashModule,omitempty" json:"vFlashModule,omitempty"`
 87394  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 87395  	// end of availability.
 87396  	//
 87397  	// Amount of vFlash resource that is guaranteed available to the cache.
 87398  	//
 87399  	// If not specified,
 87400  	// default reservation will be used.
 87401  	ReservationInMB int64 `xml:"reservationInMB,omitempty" json:"reservationInMB,omitempty"`
 87402  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 87403  	// end of availability.
 87404  	//
 87405  	// Cache data consistency types after a crash.
 87406  	//
 87407  	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
 87408  	// for supported types. If not specified, the default value used is
 87409  	// `strong`
 87410  	CacheConsistencyType string `xml:"cacheConsistencyType,omitempty" json:"cacheConsistencyType,omitempty"`
 87411  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 87412  	// end of availability.
 87413  	//
 87414  	// Cache modes.
 87415  	//
 87416  	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
 87417  	// for supported modes. If not specified, the default value used is
 87418  	// `write_thru`.
 87419  	CacheMode string `xml:"cacheMode,omitempty" json:"cacheMode,omitempty"`
 87420  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 87421  	// end of availability.
 87422  	//
 87423  	// Cache block size.
 87424  	//
 87425  	// This parameter allows the user to control how much
 87426  	// data gets cached on a single access to the VMDK. Max block size is 1MB.
 87427  	// Default is 4KB.
 87428  	BlockSizeInKB int64 `xml:"blockSizeInKB,omitempty" json:"blockSizeInKB,omitempty"`
 87429  }
 87430  
 87431  func init() {
 87432  	t["VirtualDiskVFlashCacheConfigInfo"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfo)(nil)).Elem()
 87433  }
 87434  
 87435  // The VirtualE1000 data object type represents an instance
 87436  // of the E1000 virtual Ethernet adapter attached to a virtual machine.
 87437  type VirtualE1000 struct {
 87438  	VirtualEthernetCard
 87439  }
 87440  
 87441  func init() {
 87442  	t["VirtualE1000"] = reflect.TypeOf((*VirtualE1000)(nil)).Elem()
 87443  }
 87444  
 87445  // The VirtualE1000 option data object type contains the options for the
 87446  // `VirtualE1000` data object type.
 87447  type VirtualE1000Option struct {
 87448  	VirtualEthernetCardOption
 87449  }
 87450  
 87451  func init() {
 87452  	t["VirtualE1000Option"] = reflect.TypeOf((*VirtualE1000Option)(nil)).Elem()
 87453  }
 87454  
 87455  // The VirtualE1000e data object type represents an instance
 87456  // of the E1000e virtual Ethernet adapter attached to a virtual machine.
 87457  type VirtualE1000e struct {
 87458  	VirtualEthernetCard
 87459  }
 87460  
 87461  func init() {
 87462  	t["VirtualE1000e"] = reflect.TypeOf((*VirtualE1000e)(nil)).Elem()
 87463  }
 87464  
 87465  // The VirtualE1000e option data object type contains the options for the
 87466  // `VirtualE1000e` data object type.
 87467  type VirtualE1000eOption struct {
 87468  	VirtualEthernetCardOption
 87469  }
 87470  
 87471  func init() {
 87472  	t["VirtualE1000eOption"] = reflect.TypeOf((*VirtualE1000eOption)(nil)).Elem()
 87473  }
 87474  
 87475  // The VirtualEnsoniq1371 data object type represents an Ensoniq 1371
 87476  // sound card in a virtual machine.
 87477  type VirtualEnsoniq1371 struct {
 87478  	VirtualSoundCard
 87479  }
 87480  
 87481  func init() {
 87482  	t["VirtualEnsoniq1371"] = reflect.TypeOf((*VirtualEnsoniq1371)(nil)).Elem()
 87483  }
 87484  
 87485  // The VirtualEnsoniq1371Option data object type contains the options for the
 87486  // virtual Ensoniq 1371 sound card.
 87487  type VirtualEnsoniq1371Option struct {
 87488  	VirtualSoundCardOption
 87489  }
 87490  
 87491  func init() {
 87492  	t["VirtualEnsoniq1371Option"] = reflect.TypeOf((*VirtualEnsoniq1371Option)(nil)).Elem()
 87493  }
 87494  
 87495  // The `VirtualEthernetCard` data object contains the properties
 87496  // of an Ethernet adapter attached to a virtual machine.
 87497  type VirtualEthernetCard struct {
 87498  	VirtualDevice
 87499  
 87500  	// MAC address type.
 87501  	//
 87502  	// Valid values for address type are:
 87503  	// <dl>
 87504  	// <dt>Manual</dt>
 87505  	// <dd>Statically assigned MAC address.</dd>
 87506  	// <dt>Generated</dt>
 87507  	// <dd>Automatically generated MAC address.</dd>
 87508  	// <dt>Assigned</dt>
 87509  	// <dd>MAC address assigned by VirtualCenter.</dd>
 87510  	// </dl>
 87511  	AddressType string `xml:"addressType,omitempty" json:"addressType,omitempty"`
 87512  	// MAC address assigned to the virtual network adapter.
 87513  	//
 87514  	// Clients can
 87515  	// set this property to any of the allowed address types. The server might
 87516  	// override the specified value for "Generated" or "Assigned" if it does not
 87517  	// fall in the right ranges or is determined to be a duplicate.
 87518  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 87519  	// Indicates whether wake-on-LAN is enabled on this virtual network adapter.
 87520  	//
 87521  	// Clients
 87522  	// can set this property to selectively enable or disable wake-on-LAN.
 87523  	WakeOnLanEnabled *bool `xml:"wakeOnLanEnabled" json:"wakeOnLanEnabled,omitempty"`
 87524  	// Resource requirements of the virtual network adapter
 87525  	ResourceAllocation *VirtualEthernetCardResourceAllocation `xml:"resourceAllocation,omitempty" json:"resourceAllocation,omitempty"`
 87526  	// An ID assigned to the virtual network adapter by external management plane or
 87527  	// controller.
 87528  	//
 87529  	// The value and format of this property is determined by external
 87530  	// management plane or controller, and vSphere doesn't do any validation. It's
 87531  	// also up to external management plane or controller to set, unset or maintain
 87532  	// this property. Setting this property with an empty string value will unset the
 87533  	// property.
 87534  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty"`
 87535  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 87536  	// there is no replacement.
 87537  	//
 87538  	// Indicates whether UPT(Universal Pass-through) compatibility is enabled
 87539  	// on this network adapter.
 87540  	//
 87541  	// UPT is only compatible for Vmxnet3 adapter.
 87542  	// Clients can set this property enabled or disabled if ethernet
 87543  	// virtual device is Vmxnet3.
 87544  	UptCompatibilityEnabled *bool `xml:"uptCompatibilityEnabled" json:"uptCompatibilityEnabled,omitempty"`
 87545  	// The ID of the subnet the virtual network adapter connects to.
 87546  	//
 87547  	// It
 87548  	// is only set when the virtual network adapter is connected
 87549  	// to a subnet.
 87550  	SubnetId string `xml:"subnetId,omitempty" json:"subnetId,omitempty" vim:"9.0.0.0"`
 87551  }
 87552  
 87553  func init() {
 87554  	t["VirtualEthernetCard"] = reflect.TypeOf((*VirtualEthernetCard)(nil)).Elem()
 87555  }
 87556  
 87557  // This data object type contains the options for using a distributed
 87558  // virtual port virtual network card backing data object type.
 87559  type VirtualEthernetCardDVPortBackingOption struct {
 87560  	VirtualDeviceBackingOption
 87561  }
 87562  
 87563  func init() {
 87564  	t["VirtualEthernetCardDVPortBackingOption"] = reflect.TypeOf((*VirtualEthernetCardDVPortBackingOption)(nil)).Elem()
 87565  }
 87566  
 87567  // The `VirtualEthernetCardDistributedVirtualPortBackingInfo`
 87568  // data object defines backing for a virtual Ethernet card that connects
 87569  // to a distributed virtual switch port or portgroup.
 87570  type VirtualEthernetCardDistributedVirtualPortBackingInfo struct {
 87571  	VirtualDeviceBackingInfo
 87572  
 87573  	// `DistributedVirtualPort` or `DistributedVirtualPortgroup`
 87574  	// connection.
 87575  	//
 87576  	// To specify a port connection, set the
 87577  	// `DistributedVirtualSwitchPortConnection.portKey` property.
 87578  	// To specify a portgroup connection, set the
 87579  	// `DistributedVirtualSwitchPortConnection.portgroupKey` property.
 87580  	//
 87581  	// This property will be unset during Virtual Machine or template cloning
 87582  	// operation unless it's set to a `DistributedVirtualSwitchPortConnection`
 87583  	// object and the portgroup is a late binding portgroup.
 87584  	Port DistributedVirtualSwitchPortConnection `xml:"port" json:"port"`
 87585  }
 87586  
 87587  func init() {
 87588  	t["VirtualEthernetCardDistributedVirtualPortBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardDistributedVirtualPortBackingInfo)(nil)).Elem()
 87589  }
 87590  
 87591  // The `VirtualEthernetCardLegacyNetworkBackingInfo` data object
 87592  // provides legacy backing for a virtual Ethernet card.
 87593  type VirtualEthernetCardLegacyNetworkBackingInfo struct {
 87594  	VirtualDeviceDeviceBackingInfo
 87595  }
 87596  
 87597  func init() {
 87598  	t["VirtualEthernetCardLegacyNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingInfo)(nil)).Elem()
 87599  }
 87600  
 87601  // This data object type contains the options
 87602  // for using a legacy virtual network card backing data object type.
 87603  type VirtualEthernetCardLegacyNetworkBackingOption struct {
 87604  	VirtualDeviceDeviceBackingOption
 87605  }
 87606  
 87607  func init() {
 87608  	t["VirtualEthernetCardLegacyNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingOption)(nil)).Elem()
 87609  }
 87610  
 87611  // The `VirtualEthernetCardNetworkBackingInfo` data object
 87612  // defines network backing for a virtual Ethernet card.
 87613  type VirtualEthernetCardNetworkBackingInfo struct {
 87614  	VirtualDeviceDeviceBackingInfo
 87615  
 87616  	// Reference to the network managed object to which this backing applies.
 87617  	//
 87618  	// This is not used during configuration.
 87619  	//
 87620  	// Refers instance of `Network`.
 87621  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
 87622  	// Deprecated as of vSphere API 4.0, this property is not supported.
 87623  	// &nbsp;.
 87624  	//
 87625  	// &nbsp;
 87626  	InPassthroughMode *bool `xml:"inPassthroughMode" json:"inPassthroughMode,omitempty"`
 87627  }
 87628  
 87629  func init() {
 87630  	t["VirtualEthernetCardNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingInfo)(nil)).Elem()
 87631  }
 87632  
 87633  // This data object type contains the options for
 87634  // the virtual network card backing data object type.
 87635  type VirtualEthernetCardNetworkBackingOption struct {
 87636  	VirtualDeviceDeviceBackingOption
 87637  }
 87638  
 87639  func init() {
 87640  	t["VirtualEthernetCardNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingOption)(nil)).Elem()
 87641  }
 87642  
 87643  // The virtual machine's virtual ethernet card is not supported.
 87644  type VirtualEthernetCardNotSupported struct {
 87645  	DeviceNotSupported
 87646  }
 87647  
 87648  func init() {
 87649  	t["VirtualEthernetCardNotSupported"] = reflect.TypeOf((*VirtualEthernetCardNotSupported)(nil)).Elem()
 87650  }
 87651  
 87652  type VirtualEthernetCardNotSupportedFault VirtualEthernetCardNotSupported
 87653  
 87654  func init() {
 87655  	t["VirtualEthernetCardNotSupportedFault"] = reflect.TypeOf((*VirtualEthernetCardNotSupportedFault)(nil)).Elem()
 87656  }
 87657  
 87658  // This class defines backing for a virtual Ethernet card that connects
 87659  // to an opaque network.
 87660  type VirtualEthernetCardOpaqueNetworkBackingInfo struct {
 87661  	VirtualDeviceBackingInfo
 87662  
 87663  	// The opaque network ID
 87664  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 87665  	// The opaque network type
 87666  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 87667  }
 87668  
 87669  func init() {
 87670  	t["VirtualEthernetCardOpaqueNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingInfo)(nil)).Elem()
 87671  }
 87672  
 87673  // This data object type contains the options for
 87674  // the virtual network card backing data object type.
 87675  type VirtualEthernetCardOpaqueNetworkBackingOption struct {
 87676  	VirtualDeviceBackingOption
 87677  }
 87678  
 87679  func init() {
 87680  	t["VirtualEthernetCardOpaqueNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingOption)(nil)).Elem()
 87681  }
 87682  
 87683  // This data object type contains the options for the
 87684  // virtual ethernet card data object type.
 87685  type VirtualEthernetCardOption struct {
 87686  	VirtualDeviceOption
 87687  
 87688  	// The valid Organizational Unique Identifiers (OUIs)
 87689  	// supported by this virtual Ethernet card.
 87690  	//
 87691  	// <dl>
 87692  	// <dt>Supported OUIs for statically assigned MAC addresses:</dt>
 87693  	// <dd>"00:50:56"</dd>
 87694  	// </dl>
 87695  	SupportedOUI ChoiceOption `xml:"supportedOUI" json:"supportedOUI"`
 87696  	// The supported MAC address types.
 87697  	MacType ChoiceOption `xml:"macType" json:"macType"`
 87698  	// Flag to indicate whether or not wake-on-LAN is settable on this device.
 87699  	WakeOnLanEnabled BoolOption `xml:"wakeOnLanEnabled" json:"wakeOnLanEnabled"`
 87700  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 87701  	// there is no replacement.
 87702  	//
 87703  	// Flag to indicate whether VMDirectPath Gen 2 is available on this device.
 87704  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
 87705  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 87706  	// there is no replacement.
 87707  	//
 87708  	// Flag to indicate whether Universal Pass-through(UPT) is settable on this device.
 87709  	UptCompatibilityEnabled *BoolOption `xml:"uptCompatibilityEnabled,omitempty" json:"uptCompatibilityEnabled,omitempty"`
 87710  }
 87711  
 87712  func init() {
 87713  	t["VirtualEthernetCardOption"] = reflect.TypeOf((*VirtualEthernetCardOption)(nil)).Elem()
 87714  }
 87715  
 87716  // This class specifies the network resource requirement.
 87717  type VirtualEthernetCardResourceAllocation struct {
 87718  	DynamicData
 87719  
 87720  	// Amount of network bandwidth that is guaranteed to the
 87721  	// virtual network adapter.
 87722  	//
 87723  	// If utilization is less than reservation, the resource can be used by
 87724  	// other virtual network adapters. Reservation is not allowed to exceed the
 87725  	// value of `VirtualEthernetCardResourceAllocation.limit` if
 87726  	// `VirtualEthernetCardResourceAllocation.limit` is set.
 87727  	// Units in Mbits/sec.
 87728  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 87729  	// Network share.
 87730  	//
 87731  	// The value is used as a relative weight in
 87732  	// competing for shared bandwidth, in case of resource contention.
 87733  	Share SharesInfo `xml:"share" json:"share"`
 87734  	// The bandwidth limit for the virtual network adapter.
 87735  	//
 87736  	// The utilization of the virtual network adapter will not
 87737  	// exceed this limit, even if there are available resources.
 87738  	// To clear the value of this property and revert it to unset,
 87739  	// set the vaule to "-1" in an update operation.
 87740  	// Units in Mbits/sec.
 87741  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 87742  }
 87743  
 87744  func init() {
 87745  	t["VirtualEthernetCardResourceAllocation"] = reflect.TypeOf((*VirtualEthernetCardResourceAllocation)(nil)).Elem()
 87746  }
 87747  
 87748  // The VirtualFloppy data object type contains information about a floppy drive
 87749  // in a virtual machine.
 87750  type VirtualFloppy struct {
 87751  	VirtualDevice
 87752  }
 87753  
 87754  func init() {
 87755  	t["VirtualFloppy"] = reflect.TypeOf((*VirtualFloppy)(nil)).Elem()
 87756  }
 87757  
 87758  // The data object type for device backing of a virtual floppy drive.
 87759  type VirtualFloppyDeviceBackingInfo struct {
 87760  	VirtualDeviceDeviceBackingInfo
 87761  }
 87762  
 87763  func init() {
 87764  	t["VirtualFloppyDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyDeviceBackingInfo)(nil)).Elem()
 87765  }
 87766  
 87767  // The DeviceBackingOption data object type contains the options
 87768  // for the floppy device backing type.
 87769  type VirtualFloppyDeviceBackingOption struct {
 87770  	VirtualDeviceDeviceBackingOption
 87771  }
 87772  
 87773  func init() {
 87774  	t["VirtualFloppyDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyDeviceBackingOption)(nil)).Elem()
 87775  }
 87776  
 87777  // The data object type for file image backing of a virtual floppy drive.
 87778  type VirtualFloppyImageBackingInfo struct {
 87779  	VirtualDeviceFileBackingInfo
 87780  }
 87781  
 87782  func init() {
 87783  	t["VirtualFloppyImageBackingInfo"] = reflect.TypeOf((*VirtualFloppyImageBackingInfo)(nil)).Elem()
 87784  }
 87785  
 87786  // The ImageBackingOption data object type contains the options
 87787  // for the floppy image backing type.
 87788  type VirtualFloppyImageBackingOption struct {
 87789  	VirtualDeviceFileBackingOption
 87790  }
 87791  
 87792  func init() {
 87793  	t["VirtualFloppyImageBackingOption"] = reflect.TypeOf((*VirtualFloppyImageBackingOption)(nil)).Elem()
 87794  }
 87795  
 87796  // The VirtualFloppyOption data class contains the options for the
 87797  // virtual floppy data object type.
 87798  type VirtualFloppyOption struct {
 87799  	VirtualDeviceOption
 87800  }
 87801  
 87802  func init() {
 87803  	t["VirtualFloppyOption"] = reflect.TypeOf((*VirtualFloppyOption)(nil)).Elem()
 87804  }
 87805  
 87806  // The data object type for remote device backing of a virtual floppy drive.
 87807  type VirtualFloppyRemoteDeviceBackingInfo struct {
 87808  	VirtualDeviceRemoteDeviceBackingInfo
 87809  }
 87810  
 87811  func init() {
 87812  	t["VirtualFloppyRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingInfo)(nil)).Elem()
 87813  }
 87814  
 87815  // The RemoteDeviceBackingOption data object type contains the options
 87816  // for the floppy remote device backing type.
 87817  type VirtualFloppyRemoteDeviceBackingOption struct {
 87818  	VirtualDeviceRemoteDeviceBackingOption
 87819  }
 87820  
 87821  func init() {
 87822  	t["VirtualFloppyRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingOption)(nil)).Elem()
 87823  }
 87824  
 87825  // The VirtualHardware data object type contains the complete configuration
 87826  // of the hardware in a virtual machine.
 87827  type VirtualHardware struct {
 87828  	DynamicData
 87829  
 87830  	// Number of virtual CPUs present in this virtual machine.
 87831  	NumCPU int32 `xml:"numCPU" json:"numCPU"`
 87832  	// Number of cores used to distribute virtual CPUs among sockets
 87833  	// in this virtual machine.
 87834  	//
 87835  	// This field should be ignored for powered off VM with
 87836  	// autoCoresPerSocket equals TRUE, because the virtual socket size
 87837  	// will be assigned during power-on.
 87838  	// This field could be unset for releases prior to 7.0 U3, and it
 87839  	// implies numCoresPerSocket is 1.
 87840  	// In other cases, this field represents the actual virtual socket
 87841  	// size seen by the virtual machine.
 87842  	NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty"`
 87843  	// Cores per socket is automatically determined.
 87844  	AutoCoresPerSocket *bool `xml:"autoCoresPerSocket" json:"autoCoresPerSocket,omitempty" vim:"8.0.0.1"`
 87845  	// Memory size, in MB.
 87846  	MemoryMB int32 `xml:"memoryMB" json:"memoryMB"`
 87847  	// Does this virtual machine have Virtual Intel I/O Controller Hub 7
 87848  	VirtualICH7MPresent *bool `xml:"virtualICH7MPresent" json:"virtualICH7MPresent,omitempty"`
 87849  	// Does this virtual machine have System Management Controller
 87850  	VirtualSMCPresent *bool `xml:"virtualSMCPresent" json:"virtualSMCPresent,omitempty"`
 87851  	// The set of virtual devices belonging to the virtual machine.
 87852  	//
 87853  	// This list is unordered.
 87854  	Device []BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
 87855  	// One of motherboardLayout choices.
 87856  	//
 87857  	// Default is i440bxHostBridge. See
 87858  	// `VirtualHardware.motherboardLayout`
 87859  	MotherboardLayout string `xml:"motherboardLayout,omitempty" json:"motherboardLayout,omitempty" vim:"8.0.0.1"`
 87860  	// Number of SMT (Simultaneous multithreading) threads.
 87861  	//
 87862  	// If unset, then system defaults are in use.
 87863  	SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty" json:"simultaneousThreads,omitempty" vim:"8.0.0.1"`
 87864  }
 87865  
 87866  func init() {
 87867  	t["VirtualHardware"] = reflect.TypeOf((*VirtualHardware)(nil)).Elem()
 87868  }
 87869  
 87870  // There is a problem with the compatibility between the intended execution host
 87871  // and the virtual machine.
 87872  //
 87873  // This may be an error or warning depending on
 87874  // the specific fault subclass.
 87875  type VirtualHardwareCompatibilityIssue struct {
 87876  	VmConfigFault
 87877  }
 87878  
 87879  func init() {
 87880  	t["VirtualHardwareCompatibilityIssue"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssue)(nil)).Elem()
 87881  }
 87882  
 87883  type VirtualHardwareCompatibilityIssueFault BaseVirtualHardwareCompatibilityIssue
 87884  
 87885  func init() {
 87886  	t["VirtualHardwareCompatibilityIssueFault"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssueFault)(nil)).Elem()
 87887  }
 87888  
 87889  // The VirtualHardwareOption data object contains the options available
 87890  // for all virtual devices.
 87891  type VirtualHardwareOption struct {
 87892  	DynamicData
 87893  
 87894  	// The virtual hardware version.
 87895  	HwVersion int32 `xml:"hwVersion" json:"hwVersion"`
 87896  	// Array of virtual device options valid for this virtual
 87897  	// machine configuration.
 87898  	//
 87899  	// The list is unordered.
 87900  	VirtualDeviceOption []BaseVirtualDeviceOption `xml:"virtualDeviceOption,typeattr" json:"virtualDeviceOption"`
 87901  	// Whether the set of virtual devices can be changed, e.g., can devices
 87902  	// be added or removed.
 87903  	//
 87904  	// This does not preclude changing devices.
 87905  	DeviceListReadonly bool `xml:"deviceListReadonly" json:"deviceListReadonly"`
 87906  	// List of acceptable values for the number of CPUs supported by this
 87907  	// `ConfigOption`.
 87908  	//
 87909  	// This is usually superceded by the information available in the
 87910  	// guest operating system descriptors.
 87911  	// The guest operating system descriptor describes a maximum CPU
 87912  	// count, but the acceptable values are still constrained to the
 87913  	// set specified here. The default value is stored at index 0 in the list.
 87914  	NumCPU []int32 `xml:"numCPU" json:"numCPU"`
 87915  	// The minimum, maximum and default number of cores per socket that
 87916  	// can be used when distributing virtual CPUs.
 87917  	NumCoresPerSocket *IntOption `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty"`
 87918  	// Whether auto cores per socket is supported.
 87919  	AutoCoresPerSocket *BoolOption `xml:"autoCoresPerSocket,omitempty" json:"autoCoresPerSocket,omitempty" vim:"8.0.0.1"`
 87920  	// Can the number of virtual CPUs be changed
 87921  	NumCpuReadonly bool `xml:"numCpuReadonly" json:"numCpuReadonly"`
 87922  	// The minimum, maximum, and default memory options, in MB, per virtual machine,
 87923  	// for this VirtualHardwareOption.
 87924  	//
 87925  	// These
 87926  	// values are typically overruled by the supported and recommended
 87927  	// values specified in the `GuestOsDescriptor` class.
 87928  	MemoryMB LongOption `xml:"memoryMB" json:"memoryMB"`
 87929  	// The minimum, maximum, and default number of PCI controllers for
 87930  	// this virtual machine configuration.
 87931  	NumPCIControllers IntOption `xml:"numPCIControllers" json:"numPCIControllers"`
 87932  	// The minimum, maximum, and default number of IDE controllers for
 87933  	// this virtual machine configuration.
 87934  	//
 87935  	// Note: SCSI controllers sit
 87936  	// on the PCI controller so their options (minimum, maximum, and default values)
 87937  	// are contained inside the
 87938  	// `VirtualPCIControllerOption`
 87939  	// class.
 87940  	NumIDEControllers IntOption `xml:"numIDEControllers" json:"numIDEControllers"`
 87941  	// The minimum, maximum, and default number of USB controllers for
 87942  	// this virtual machine configuration.
 87943  	NumUSBControllers IntOption `xml:"numUSBControllers" json:"numUSBControllers"`
 87944  	// The minimum, maximum, and default number of XHCI (USB 3.0) controllers for
 87945  	// this virtual machine configuration.
 87946  	NumUSBXHCIControllers *IntOption `xml:"numUSBXHCIControllers,omitempty" json:"numUSBXHCIControllers,omitempty"`
 87947  	// The minimum, maximum, and default number of SIO controllers for
 87948  	// this virtual machine configuration.
 87949  	NumSIOControllers IntOption `xml:"numSIOControllers" json:"numSIOControllers"`
 87950  	// The minimum, maximum, and default number of PS2 controllers for
 87951  	// this virtual machine configuration.
 87952  	NumPS2Controllers IntOption `xml:"numPS2Controllers" json:"numPS2Controllers"`
 87953  	// List of propery names which limits are given be a licensing
 87954  	// restriction of the underlying product, e.g., a limit that is
 87955  	// not derived based on the product or hardware features.
 87956  	//
 87957  	// For example, the property name "numCPU"
 87958  	LicensingLimit []string `xml:"licensingLimit,omitempty" json:"licensingLimit,omitempty"`
 87959  	// The minimum, maximum and default number of NPIV WorldWideNode names
 87960  	// supported for this virtual machine configuration.
 87961  	NumSupportedWwnPorts *IntOption `xml:"numSupportedWwnPorts,omitempty" json:"numSupportedWwnPorts,omitempty"`
 87962  	// The minimum, maximum and default number of NPIV WorldWidePort names
 87963  	// supported for this virtual machine configuration.
 87964  	NumSupportedWwnNodes *IntOption `xml:"numSupportedWwnNodes,omitempty" json:"numSupportedWwnNodes,omitempty"`
 87965  	// Default value and value range for `ResourceConfigOption`
 87966  	ResourceConfigOption *ResourceConfigOption `xml:"resourceConfigOption,omitempty" json:"resourceConfigOption,omitempty"`
 87967  	// The minimum, maximum and default number of virtual NVDIMM controllers
 87968  	// for this virtual machine configuration.
 87969  	NumNVDIMMControllers *IntOption `xml:"numNVDIMMControllers,omitempty" json:"numNVDIMMControllers,omitempty"`
 87970  	// The minimum, maximum, and default number of virtual TPMs.
 87971  	NumTPMDevices *IntOption `xml:"numTPMDevices,omitempty" json:"numTPMDevices,omitempty"`
 87972  	// The minimum, maximum, and default number of virtual watchdog timers.
 87973  	NumWDTDevices *IntOption `xml:"numWDTDevices,omitempty" json:"numWDTDevices,omitempty"`
 87974  	// The minimum, maximum and default number of PrecisionClock devices.
 87975  	NumPrecisionClockDevices *IntOption `xml:"numPrecisionClockDevices,omitempty" json:"numPrecisionClockDevices,omitempty"`
 87976  	// The minimum, maximum and default value of Intel's Secure Guard Extensions
 87977  	// Enclave Page Cache (EPC) memory.
 87978  	EpcMemoryMB *LongOption `xml:"epcMemoryMB,omitempty" json:"epcMemoryMB,omitempty"`
 87979  	// Empty for HWv17 &amp; older, \["efi"\] for HWv18.
 87980  	AcpiHostBridgesFirmware []string `xml:"acpiHostBridgesFirmware,omitempty" json:"acpiHostBridgesFirmware,omitempty" vim:"8.0.0.1"`
 87981  	// The minimum, maximum and default number of CPU simultaneous threads.
 87982  	NumCpuSimultaneousThreads *IntOption `xml:"numCpuSimultaneousThreads,omitempty" json:"numCpuSimultaneousThreads,omitempty" vim:"8.0.0.1"`
 87983  	// The minimum, maximum and default number of NUMA nodes.
 87984  	NumNumaNodes *IntOption `xml:"numNumaNodes,omitempty" json:"numNumaNodes,omitempty" vim:"8.0.0.1"`
 87985  	// Maximum number of device groups.
 87986  	NumDeviceGroups *IntOption `xml:"numDeviceGroups,omitempty" json:"numDeviceGroups,omitempty" vim:"8.0.0.1"`
 87987  	// Supported device group types.
 87988  	DeviceGroupTypes []string `xml:"deviceGroupTypes,omitempty" json:"deviceGroupTypes,omitempty" vim:"8.0.0.1"`
 87989  }
 87990  
 87991  func init() {
 87992  	t["VirtualHardwareOption"] = reflect.TypeOf((*VirtualHardwareOption)(nil)).Elem()
 87993  }
 87994  
 87995  // The virtual machine's virtual hardware version is not supported on the host.
 87996  type VirtualHardwareVersionNotSupported struct {
 87997  	VirtualHardwareCompatibilityIssue
 87998  
 87999  	HostName string `xml:"hostName" json:"hostName"`
 88000  	// The host.
 88001  	//
 88002  	// Refers instance of `HostSystem`.
 88003  	Host ManagedObjectReference `xml:"host" json:"host"`
 88004  }
 88005  
 88006  func init() {
 88007  	t["VirtualHardwareVersionNotSupported"] = reflect.TypeOf((*VirtualHardwareVersionNotSupported)(nil)).Elem()
 88008  }
 88009  
 88010  type VirtualHardwareVersionNotSupportedFault VirtualHardwareVersionNotSupported
 88011  
 88012  func init() {
 88013  	t["VirtualHardwareVersionNotSupportedFault"] = reflect.TypeOf((*VirtualHardwareVersionNotSupportedFault)(nil)).Elem()
 88014  }
 88015  
 88016  // The VirtualHdAudioCard data object type represents a HD Audio
 88017  // sound card in a virtual machine.
 88018  type VirtualHdAudioCard struct {
 88019  	VirtualSoundCard
 88020  }
 88021  
 88022  func init() {
 88023  	t["VirtualHdAudioCard"] = reflect.TypeOf((*VirtualHdAudioCard)(nil)).Elem()
 88024  }
 88025  
 88026  // The VirtualHdAudioCardOption data object type contains the options for a
 88027  // virtual HD Audio sound card.
 88028  type VirtualHdAudioCardOption struct {
 88029  	VirtualSoundCardOption
 88030  }
 88031  
 88032  func init() {
 88033  	t["VirtualHdAudioCardOption"] = reflect.TypeOf((*VirtualHdAudioCardOption)(nil)).Elem()
 88034  }
 88035  
 88036  // The VirtualIDEController data object type specifies a virtual IDE controller.
 88037  type VirtualIDEController struct {
 88038  	VirtualController
 88039  }
 88040  
 88041  func init() {
 88042  	t["VirtualIDEController"] = reflect.TypeOf((*VirtualIDEController)(nil)).Elem()
 88043  }
 88044  
 88045  // The VirtualIDEControllerOption data object type contains the options
 88046  // for a virtual IDE controller.
 88047  type VirtualIDEControllerOption struct {
 88048  	VirtualControllerOption
 88049  
 88050  	// The minimum, maximum, and default number of IDE VirtualDisk instances you can
 88051  	// have, at any given time, in the IDE controller.
 88052  	//
 88053  	// The number is further constrained
 88054  	// by the number of available slots in the virtual IDE controller.
 88055  	NumIDEDisks IntOption `xml:"numIDEDisks" json:"numIDEDisks"`
 88056  	// The minimum, maximum, and default number of IDE VirtualCdrom instances you can
 88057  	// have, at any given time, in the IDE controller.
 88058  	//
 88059  	// The number is further constrained
 88060  	// by the number of available slots in the virtual IDE controller.
 88061  	NumIDECdroms IntOption `xml:"numIDECdroms" json:"numIDECdroms"`
 88062  }
 88063  
 88064  func init() {
 88065  	t["VirtualIDEControllerOption"] = reflect.TypeOf((*VirtualIDEControllerOption)(nil)).Elem()
 88066  }
 88067  
 88068  // This data object type contains information about
 88069  // the keyboard on a virtual machine.
 88070  type VirtualKeyboard struct {
 88071  	VirtualDevice
 88072  }
 88073  
 88074  func init() {
 88075  	t["VirtualKeyboard"] = reflect.TypeOf((*VirtualKeyboard)(nil)).Elem()
 88076  }
 88077  
 88078  // The VirtualKeyboardOption data object type contains the options for the
 88079  // virtual keyboard class.
 88080  type VirtualKeyboardOption struct {
 88081  	VirtualDeviceOption
 88082  }
 88083  
 88084  func init() {
 88085  	t["VirtualKeyboardOption"] = reflect.TypeOf((*VirtualKeyboardOption)(nil)).Elem()
 88086  }
 88087  
 88088  // VirtualLsiLogicController is the data object that represents
 88089  // a LSI Logic SCSI controller.
 88090  type VirtualLsiLogicController struct {
 88091  	VirtualSCSIController
 88092  }
 88093  
 88094  func init() {
 88095  	t["VirtualLsiLogicController"] = reflect.TypeOf((*VirtualLsiLogicController)(nil)).Elem()
 88096  }
 88097  
 88098  // VirtualLsiLogicControllerOption is the data object that contains
 88099  // the options for a LSI Logic SCSI controller.
 88100  type VirtualLsiLogicControllerOption struct {
 88101  	VirtualSCSIControllerOption
 88102  }
 88103  
 88104  func init() {
 88105  	t["VirtualLsiLogicControllerOption"] = reflect.TypeOf((*VirtualLsiLogicControllerOption)(nil)).Elem()
 88106  }
 88107  
 88108  // VirtualLsiLogicSASController is the data object that represents
 88109  // a LSI Logic SAS SCSI controller.
 88110  type VirtualLsiLogicSASController struct {
 88111  	VirtualSCSIController
 88112  }
 88113  
 88114  func init() {
 88115  	t["VirtualLsiLogicSASController"] = reflect.TypeOf((*VirtualLsiLogicSASController)(nil)).Elem()
 88116  }
 88117  
 88118  // VirtualLsiLogicSASControllerOption is the data object that contains
 88119  // the options for a LSI Logic SAS SCSI controller.
 88120  type VirtualLsiLogicSASControllerOption struct {
 88121  	VirtualSCSIControllerOption
 88122  }
 88123  
 88124  func init() {
 88125  	t["VirtualLsiLogicSASControllerOption"] = reflect.TypeOf((*VirtualLsiLogicSASControllerOption)(nil)).Elem()
 88126  }
 88127  
 88128  // Specification of scheduling affinity.
 88129  //
 88130  // Scheduling affinity is used for explicitly specifying which
 88131  // processors or NUMA nodes may be used by a virtual machine.
 88132  type VirtualMachineAffinityInfo struct {
 88133  	DynamicData
 88134  
 88135  	// List of nodes (processors for CPU, NUMA nodes for memory) that
 88136  	// may be used by the virtual machine.
 88137  	//
 88138  	// If the array is empty when
 88139  	// modifying the affinity setting, then any existing affinity is removed.
 88140  	AffinitySet []int32 `xml:"affinitySet" json:"affinitySet"`
 88141  }
 88142  
 88143  func init() {
 88144  	t["VirtualMachineAffinityInfo"] = reflect.TypeOf((*VirtualMachineAffinityInfo)(nil)).Elem()
 88145  }
 88146  
 88147  // The BaseIndependentFilterSpec is base class for two different types
 88148  // of independent filter specs `VirtualMachineIndependentFilterSpec`
 88149  // and `VirtualMachineEmptyIndependentFilterSpec` which are used to specify
 88150  // independent filters to be attached/removed on VMs virtual disk.
 88151  type VirtualMachineBaseIndependentFilterSpec struct {
 88152  	DynamicData
 88153  }
 88154  
 88155  func init() {
 88156  	t["VirtualMachineBaseIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineBaseIndependentFilterSpec)(nil)).Elem()
 88157  	minAPIVersionForType["VirtualMachineBaseIndependentFilterSpec"] = "7.0.2.1"
 88158  }
 88159  
 88160  // The `VirtualMachineBootOptions` data object defines the boot-time
 88161  // behavior of a virtual machine.
 88162  //
 88163  // You can use the delay options to specify a time interval
 88164  // during which you can enter the virtual machine BIOS setup.
 88165  // These options provide a solution for the situation that occurs
 88166  // when the console attaches to the virtual machine after
 88167  // the boot sequence has passed the BIOS setup entry point.
 88168  type VirtualMachineBootOptions struct {
 88169  	DynamicData
 88170  
 88171  	// Delay in milliseconds before starting the boot sequence.
 88172  	//
 88173  	// The boot delay specifies a time interval between virtual machine
 88174  	// power on or restart and the beginning of the boot sequence.
 88175  	BootDelay int64 `xml:"bootDelay,omitempty" json:"bootDelay,omitempty"`
 88176  	// If set to <code>true</code>, the virtual machine
 88177  	// automatically enters BIOS setup the next time it boots.
 88178  	//
 88179  	// The virtual machine resets this flag to <code>false</code>
 88180  	// so that subsequent boots proceed normally.
 88181  	EnterBIOSSetup *bool `xml:"enterBIOSSetup" json:"enterBIOSSetup,omitempty"`
 88182  	// If set to <code>true</code>, the virtual machine's firmware will
 88183  	// perform signature checks of any EFI images loaded during startup, and
 88184  	// will refuse to start any images which do not pass those signature
 88185  	// checks.
 88186  	//
 88187  	// When creating a new VM:
 88188  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
 88189  	// and this flag is set to <code>false</code> error is returned.
 88190  	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
 88191  	// <code>true</code>, the value of this flag is set to <code>true</code>.
 88192  	EfiSecureBootEnabled *bool `xml:"efiSecureBootEnabled" json:"efiSecureBootEnabled,omitempty"`
 88193  	// If set to <code>true</code>, a virtual machine that fails
 88194  	// to boot will try again after the `VirtualMachineBootOptions.bootRetryDelay`
 88195  	// time period has expired.
 88196  	//
 88197  	// When <code>false</code>,
 88198  	// the virtual machine waits indefinitely for you to initiate
 88199  	// boot retry.
 88200  	BootRetryEnabled *bool `xml:"bootRetryEnabled" json:"bootRetryEnabled,omitempty"`
 88201  	// Delay in milliseconds before a boot retry.
 88202  	//
 88203  	// The boot retry delay
 88204  	// specifies a time interval between virtual machine boot failure
 88205  	// and the subsequent attempt to boot again. The virtual machine
 88206  	// uses this value only if `VirtualMachineBootOptions.bootRetryEnabled` is true.
 88207  	BootRetryDelay int64 `xml:"bootRetryDelay,omitempty" json:"bootRetryDelay,omitempty"`
 88208  	// Boot order.
 88209  	//
 88210  	// Listed devices are used for booting. After list
 88211  	// is exhausted, default BIOS boot device algorithm is used for
 88212  	// booting.
 88213  	// Note that order of the entries in the list is important:
 88214  	// device listed first is used for boot first, if that one
 88215  	// fails second entry is used, and so on.
 88216  	// Platform may have some internal limit on the number of devices
 88217  	// it supports. If bootable device is not reached before platform's
 88218  	// limit is hit, boot will fail. At least single entry is supported
 88219  	// by all products supporting boot order settings.
 88220  	BootOrder []BaseVirtualMachineBootOptionsBootableDevice `xml:"bootOrder,omitempty,typeattr" json:"bootOrder,omitempty"`
 88221  	// Protocol to attempt during PXE network boot or NetBoot.
 88222  	//
 88223  	// See also `VirtualMachineBootOptionsNetworkBootProtocolType_enum`.
 88224  	NetworkBootProtocol string `xml:"networkBootProtocol,omitempty" json:"networkBootProtocol,omitempty"`
 88225  }
 88226  
 88227  func init() {
 88228  	t["VirtualMachineBootOptions"] = reflect.TypeOf((*VirtualMachineBootOptions)(nil)).Elem()
 88229  }
 88230  
 88231  // Bootable CDROM.
 88232  //
 88233  // First CDROM with bootable media found is used.
 88234  type VirtualMachineBootOptionsBootableCdromDevice struct {
 88235  	VirtualMachineBootOptionsBootableDevice
 88236  }
 88237  
 88238  func init() {
 88239  	t["VirtualMachineBootOptionsBootableCdromDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableCdromDevice)(nil)).Elem()
 88240  }
 88241  
 88242  // Bootable device.
 88243  type VirtualMachineBootOptionsBootableDevice struct {
 88244  	DynamicData
 88245  }
 88246  
 88247  func init() {
 88248  	t["VirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDevice)(nil)).Elem()
 88249  }
 88250  
 88251  // Bootable disk.
 88252  type VirtualMachineBootOptionsBootableDiskDevice struct {
 88253  	VirtualMachineBootOptionsBootableDevice
 88254  
 88255  	// `Key`
 88256  	// property of the bootable harddisk.
 88257  	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
 88258  }
 88259  
 88260  func init() {
 88261  	t["VirtualMachineBootOptionsBootableDiskDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDiskDevice)(nil)).Elem()
 88262  }
 88263  
 88264  // Bootable ethernet adapter.
 88265  //
 88266  // PXE boot is attempted from the device.
 88267  type VirtualMachineBootOptionsBootableEthernetDevice struct {
 88268  	VirtualMachineBootOptionsBootableDevice
 88269  
 88270  	// `Key`
 88271  	// property of the bootable ethernet adapter.
 88272  	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
 88273  }
 88274  
 88275  func init() {
 88276  	t["VirtualMachineBootOptionsBootableEthernetDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableEthernetDevice)(nil)).Elem()
 88277  }
 88278  
 88279  // Bootable floppy disk.
 88280  type VirtualMachineBootOptionsBootableFloppyDevice struct {
 88281  	VirtualMachineBootOptionsBootableDevice
 88282  }
 88283  
 88284  func init() {
 88285  	t["VirtualMachineBootOptionsBootableFloppyDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableFloppyDevice)(nil)).Elem()
 88286  }
 88287  
 88288  // This data object type contains information about the
 88289  // operation/capabilities of a virtual machine
 88290  type VirtualMachineCapability struct {
 88291  	DynamicData
 88292  
 88293  	// Indicates whether or not a virtual machine supports snapshot operations.
 88294  	SnapshotOperationsSupported bool `xml:"snapshotOperationsSupported" json:"snapshotOperationsSupported"`
 88295  	// Indicates whether or not a virtual machine supports multiple snapshots.
 88296  	//
 88297  	// This value is not set when the virtual machine is unavailable, for instance,
 88298  	// when it is being created or deleted.
 88299  	MultipleSnapshotsSupported bool `xml:"multipleSnapshotsSupported" json:"multipleSnapshotsSupported"`
 88300  	// Indicates whether or not a virtual machine supports snapshot config.
 88301  	SnapshotConfigSupported bool `xml:"snapshotConfigSupported" json:"snapshotConfigSupported"`
 88302  	// Indicates whether or not a virtual machine supports snapshot operations in
 88303  	// poweredOff state.
 88304  	//
 88305  	// This flag doesn't affect vim.VirtualMachine.GetSnapshot,
 88306  	// which is always supported.
 88307  	PoweredOffSnapshotsSupported bool `xml:"poweredOffSnapshotsSupported" json:"poweredOffSnapshotsSupported"`
 88308  	// Indicates whether or not a virtual machine supports memory snapshots.
 88309  	MemorySnapshotsSupported bool `xml:"memorySnapshotsSupported" json:"memorySnapshotsSupported"`
 88310  	// Indicates whether or not a virtual machine supports reverting to a snapshot.
 88311  	RevertToSnapshotSupported bool `xml:"revertToSnapshotSupported" json:"revertToSnapshotSupported"`
 88312  	// Indicates whether or not a virtual machine supports quiesced snapshots.
 88313  	QuiescedSnapshotsSupported bool `xml:"quiescedSnapshotsSupported" json:"quiescedSnapshotsSupported"`
 88314  	// Deprecated as of vSphere API 4.0. The value returned from the server is
 88315  	// always false.
 88316  	//
 88317  	// Indicates whether or not snapshots can be disabled.
 88318  	DisableSnapshotsSupported bool `xml:"disableSnapshotsSupported" json:"disableSnapshotsSupported"`
 88319  	// Indicates whether or not the snapshot tree can be locked.
 88320  	LockSnapshotsSupported bool `xml:"lockSnapshotsSupported" json:"lockSnapshotsSupported"`
 88321  	// Indicates whether console preferences can be set for this virtual machine.
 88322  	ConsolePreferencesSupported bool `xml:"consolePreferencesSupported" json:"consolePreferencesSupported"`
 88323  	// Indicates whether CPU feature requirements masks can be set for this
 88324  	// virtual machine.
 88325  	//
 88326  	// Masking for hardware version 9 and newer virtual
 88327  	// machines is controlled by `VirtualMachineCapability.featureRequirementSupported`.
 88328  	CpuFeatureMaskSupported bool `xml:"cpuFeatureMaskSupported" json:"cpuFeatureMaskSupported"`
 88329  	// Indicates whether or not a virtual machine supports ACPI S1 settings management.
 88330  	S1AcpiManagementSupported bool `xml:"s1AcpiManagementSupported" json:"s1AcpiManagementSupported"`
 88331  	// Indicates whether of not this virtual machine supports
 88332  	// setting the screen resolution of the console window.
 88333  	//
 88334  	// This capability depends on the guest operating system
 88335  	// configured for this virtual machine.
 88336  	SettingScreenResolutionSupported bool `xml:"settingScreenResolutionSupported" json:"settingScreenResolutionSupported"`
 88337  	// Supports tools auto-update.
 88338  	ToolsAutoUpdateSupported bool `xml:"toolsAutoUpdateSupported" json:"toolsAutoUpdateSupported"`
 88339  	// Supports virtual machine NPIV WWN.
 88340  	VmNpivWwnSupported bool `xml:"vmNpivWwnSupported" json:"vmNpivWwnSupported"`
 88341  	// Supports assigning NPIV WWN to virtual machines that don't have RDM disks.
 88342  	NpivWwnOnNonRdmVmSupported bool `xml:"npivWwnOnNonRdmVmSupported" json:"npivWwnOnNonRdmVmSupported"`
 88343  	// Indicates whether the NPIV disabling operation is supported the virtual machine.
 88344  	VmNpivWwnDisableSupported *bool `xml:"vmNpivWwnDisableSupported" json:"vmNpivWwnDisableSupported,omitempty"`
 88345  	// Indicates whether the update of NPIV WWNs are supported on the virtual machine.
 88346  	VmNpivWwnUpdateSupported *bool `xml:"vmNpivWwnUpdateSupported" json:"vmNpivWwnUpdateSupported,omitempty"`
 88347  	// Flag indicating whether the virtual machine has a configurable
 88348  	// *swapfile placement policy*.
 88349  	SwapPlacementSupported bool `xml:"swapPlacementSupported" json:"swapPlacementSupported"`
 88350  	// Indicates whether asking tools to sync time with the host is supported.
 88351  	ToolsSyncTimeSupported bool `xml:"toolsSyncTimeSupported" json:"toolsSyncTimeSupported"`
 88352  	// Indicates whether or not the use of nested page table hardware support
 88353  	// can be explicitly set.
 88354  	VirtualMmuUsageSupported bool `xml:"virtualMmuUsageSupported" json:"virtualMmuUsageSupported"`
 88355  	// Indicates whether resource settings for disks can be
 88356  	// applied to this virtual machine.
 88357  	DiskSharesSupported bool `xml:"diskSharesSupported" json:"diskSharesSupported"`
 88358  	// Indicates whether boot options can be configured
 88359  	// for this virtual machine.
 88360  	BootOptionsSupported bool `xml:"bootOptionsSupported" json:"bootOptionsSupported"`
 88361  	// Indicates whether automatic boot retry can be
 88362  	// configured for this virtual machine.
 88363  	BootRetryOptionsSupported *bool `xml:"bootRetryOptionsSupported" json:"bootRetryOptionsSupported,omitempty"`
 88364  	// Flag indicating whether the video ram size of this virtual machine
 88365  	// can be configured.
 88366  	SettingVideoRamSizeSupported bool `xml:"settingVideoRamSizeSupported" json:"settingVideoRamSizeSupported"`
 88367  	// Indicates whether of not this virtual machine supports
 88368  	// setting the display topology of the console window.
 88369  	//
 88370  	// This capability depends on the guest operating system
 88371  	// configured for this virtual machine.
 88372  	SettingDisplayTopologySupported *bool `xml:"settingDisplayTopologySupported" json:"settingDisplayTopologySupported,omitempty"`
 88373  	// Deprecated as of vSphere API 6.0.
 88374  	//
 88375  	// Indicates whether record and replay functionality is supported on this
 88376  	// virtual machine.
 88377  	RecordReplaySupported *bool `xml:"recordReplaySupported" json:"recordReplaySupported,omitempty"`
 88378  	// Indicates that change tracking is supported for virtual disks of this
 88379  	// virtual machine.
 88380  	//
 88381  	// However, even if change tracking is supported, it might
 88382  	// not be available for all disks of the virtual machine. For example,
 88383  	// passthru raw disk mappings or disks backed by any Ver1BackingInfo cannot
 88384  	// be tracked.
 88385  	ChangeTrackingSupported *bool `xml:"changeTrackingSupported" json:"changeTrackingSupported,omitempty"`
 88386  	// Indicates whether multiple virtual cores per socket is supported on this VM.
 88387  	MultipleCoresPerSocketSupported *bool `xml:"multipleCoresPerSocketSupported" json:"multipleCoresPerSocketSupported,omitempty"`
 88388  	// Indicates that host based replication is supported on this virtual
 88389  	// machine.
 88390  	//
 88391  	// However, even if host based replication is supported,
 88392  	// it might not be available for all disk types. For example, passthru
 88393  	// raw disk mappings can not be replicated.
 88394  	HostBasedReplicationSupported *bool `xml:"hostBasedReplicationSupported" json:"hostBasedReplicationSupported,omitempty"`
 88395  	// Indicates whether features like guest OS auto-lock and MKS connection
 88396  	// controls are supported for this virtual machine.
 88397  	GuestAutoLockSupported *bool `xml:"guestAutoLockSupported" json:"guestAutoLockSupported,omitempty"`
 88398  	// Indicates whether
 88399  	// `memoryReservationLockedToMax`
 88400  	// may be set to true for this virtual machine.
 88401  	MemoryReservationLockSupported *bool `xml:"memoryReservationLockSupported" json:"memoryReservationLockSupported,omitempty"`
 88402  	// Indicates whether featureRequirement feature is supported.
 88403  	FeatureRequirementSupported *bool `xml:"featureRequirementSupported" json:"featureRequirementSupported,omitempty"`
 88404  	// Indicates whether a monitor type change is supported while this virtual
 88405  	// machine is in the poweredOn state.
 88406  	PoweredOnMonitorTypeChangeSupported *bool `xml:"poweredOnMonitorTypeChangeSupported" json:"poweredOnMonitorTypeChangeSupported,omitempty"`
 88407  	// Indicates whether this virtual machine supports the Flex-SE
 88408  	// (space-efficient, sparse) format for virtual disks.
 88409  	SeSparseDiskSupported *bool `xml:"seSparseDiskSupported" json:"seSparseDiskSupported,omitempty"`
 88410  	// Indicates whether this virtual machine supports nested hardware-assisted
 88411  	// virtualization.
 88412  	NestedHVSupported *bool `xml:"nestedHVSupported" json:"nestedHVSupported,omitempty"`
 88413  	// Indicates whether this virtual machine supports virtualized CPU performance
 88414  	// counters.
 88415  	VPMCSupported *bool `xml:"vPMCSupported" json:"vPMCSupported,omitempty"`
 88416  	// Indicates whether secureBoot is supported for this virtual machine.
 88417  	SecureBootSupported *bool `xml:"secureBootSupported" json:"secureBootSupported,omitempty"`
 88418  	// Indicates whether this virtual machine supports Per-VM EVC mode.
 88419  	PerVmEvcSupported *bool `xml:"perVmEvcSupported" json:"perVmEvcSupported,omitempty"`
 88420  	// Indicates that `VirtualMachineFlagInfo.virtualMmuUsage` is
 88421  	// ignored by this virtual machine, always operating as if "on" was selected.
 88422  	VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored" json:"virtualMmuUsageIgnored,omitempty"`
 88423  	// Indicates that `VirtualMachineFlagInfo.virtualExecUsage` is
 88424  	// ignored by this virtual machine, always operating as if "hvOn" was selected.
 88425  	VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored" json:"virtualExecUsageIgnored,omitempty"`
 88426  	// Indicates whether this virtual machine supports creating disk-only snapshots
 88427  	// in suspended state.
 88428  	//
 88429  	// If this capability is not set, the snapshot of a
 88430  	// virtual machine in suspended state will always include memory.
 88431  	DiskOnlySnapshotOnSuspendedVMSupported *bool `xml:"diskOnlySnapshotOnSuspendedVMSupported" json:"diskOnlySnapshotOnSuspendedVMSupported,omitempty"`
 88432  	// Indicates whether this virtual machine supports suspending to memory.
 88433  	SuspendToMemorySupported *bool `xml:"suspendToMemorySupported" json:"suspendToMemorySupported,omitempty" vim:"7.0.2.0"`
 88434  	// Indicates support for allowing or disallowing all tools time
 88435  	// sync with host.
 88436  	ToolsSyncTimeAllowSupported *bool `xml:"toolsSyncTimeAllowSupported" json:"toolsSyncTimeAllowSupported,omitempty" vim:"7.0.1.0"`
 88437  	// Indicates support for AMD-SEV (Secure Encrypted Virtualization).
 88438  	//
 88439  	// SEV is
 88440  	// supported when set to true, and unsupported otherwise.
 88441  	SevSupported *bool `xml:"sevSupported" json:"sevSupported,omitempty" vim:"7.0.1.0"`
 88442  	// Indicates support for failover to a dfferent host on VM's with pmem.
 88443  	//
 88444  	// Failover is supported when set to true, and unsupported otherwise.
 88445  	PmemFailoverSupported *bool `xml:"pmemFailoverSupported" json:"pmemFailoverSupported,omitempty" vim:"7.0.2.0"`
 88446  	// Whether the VM supports requiring SGX remote attestation.
 88447  	RequireSgxAttestationSupported *bool `xml:"requireSgxAttestationSupported" json:"requireSgxAttestationSupported,omitempty" vim:"8.0.0.1"`
 88448  	// Indicates support for change mode on virtual disks
 88449  	ChangeModeDisksSupported *bool `xml:"changeModeDisksSupported" json:"changeModeDisksSupported,omitempty" vim:"8.0.0.1"`
 88450  	// Indicates support for Vendor Device Groups
 88451  	VendorDeviceGroupSupported *bool `xml:"vendorDeviceGroupSupported" json:"vendorDeviceGroupSupported,omitempty" vim:"8.0.1.0"`
 88452  	// Indicates support for AMD-SEV-SNP (Secure Encrypted Virtualization Secure
 88453  	// Nested Paging).
 88454  	//
 88455  	// SEV-SNP is supported when set to true, and unsupported
 88456  	// otherwise.
 88457  	SevSnpSupported *bool `xml:"sevSnpSupported" json:"sevSnpSupported,omitempty" vim:"9.0.0.0"`
 88458  	// Indicates support for INTEL-TDX (Trusted Domain Extensions).
 88459  	//
 88460  	// TDX is
 88461  	// supported when set to true, and unsupported otherwise.
 88462  	TdxSupported *bool `xml:"tdxSupported" json:"tdxSupported,omitempty" vim:"9.0.0.0"`
 88463  }
 88464  
 88465  func init() {
 88466  	t["VirtualMachineCapability"] = reflect.TypeOf((*VirtualMachineCapability)(nil)).Elem()
 88467  }
 88468  
 88469  // CdromInfo class contains information about a physical CD-ROM drive on the host.
 88470  type VirtualMachineCdromInfo struct {
 88471  	VirtualMachineTargetInfo
 88472  
 88473  	// Description of the physical device.
 88474  	//
 88475  	// This is set only by the server.
 88476  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 88477  }
 88478  
 88479  func init() {
 88480  	t["VirtualMachineCdromInfo"] = reflect.TypeOf((*VirtualMachineCdromInfo)(nil)).Elem()
 88481  }
 88482  
 88483  // Describes a single certificate thumbprint that can be used to verify
 88484  // the identity of the host before connecting to a running virtual machine.
 88485  type VirtualMachineCertThumbprint struct {
 88486  	DynamicData
 88487  
 88488  	// The thumbprint of the certificate of the host to which we are
 88489  	// connecting.
 88490  	Thumbprint string `xml:"thumbprint" json:"thumbprint"`
 88491  	// The hash algorithm used to generate the thumbprint.
 88492  	//
 88493  	// `VirtualMachineCertThumbprintHashAlgorithm_enum` lists the set of supported values.
 88494  	HashAlgorithm string `xml:"hashAlgorithm,omitempty" json:"hashAlgorithm,omitempty"`
 88495  }
 88496  
 88497  func init() {
 88498  	t["VirtualMachineCertThumbprint"] = reflect.TypeOf((*VirtualMachineCertThumbprint)(nil)).Elem()
 88499  	minAPIVersionForType["VirtualMachineCertThumbprint"] = "7.0.3.1"
 88500  }
 88501  
 88502  // Specification for a virtual machine cloning operation.
 88503  type VirtualMachineCloneSpec struct {
 88504  	DynamicData
 88505  
 88506  	// A type of RelocateSpec that specifies the location of resources the
 88507  	// newly cloned virtual machine will use.
 88508  	//
 88509  	// The location specifies:
 88510  	//   - A datastore where the virtual machine will be located on physical
 88511  	//     storage.
 88512  	//     This is always provided because it indicates where the newly
 88513  	//     created clone will be copied.
 88514  	//   - a resource pool and optionally a host. The resource pool
 88515  	//     determines what compute resources will be available to the clone
 88516  	//     and the host indicates which machine will host the clone.
 88517  	Location VirtualMachineRelocateSpec `xml:"location" json:"location"`
 88518  	// Specifies whether or not the new virtual machine should be marked as a
 88519  	// template.
 88520  	Template bool `xml:"template" json:"template"`
 88521  	// An optional specification of changes to the virtual hardware.
 88522  	//
 88523  	// For example, this can be used to, (but not limited to) reconfigure the
 88524  	// networks the virtual switches are hooked up to in the cloned virtual
 88525  	// machine.
 88526  	// Use `VirtualMachineRelocateSpec.deviceChange` in
 88527  	// `VirtualMachineCloneSpec.location`
 88528  	// for specifying any virtual device changes for disks and networks.
 88529  	Config *VirtualMachineConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
 88530  	// An optional guest operating system customization specification.
 88531  	//
 88532  	// This value is ignored if a template is being created.
 88533  	Customization *CustomizationSpec `xml:"customization,omitempty" json:"customization,omitempty"`
 88534  	// Specifies whether or not the new VirtualMachine should be powered on
 88535  	// after creation.
 88536  	//
 88537  	// As part of a customization, this flag is normally set
 88538  	// to true, since the first power-on operation completes the customization
 88539  	// process. This flag is ignored if a template is being created.
 88540  	PowerOn bool `xml:"powerOn" json:"powerOn"`
 88541  	// Snapshot reference from which to base the clone.
 88542  	//
 88543  	// If this parameter is set, the clone is based off of the snapshot
 88544  	// point. This means that the newly created virtual machine will
 88545  	// have the same configuration as the virtual machine at the time
 88546  	// the snapshot was taken.
 88547  	//
 88548  	// If this property is not set then the clone is based off of the
 88549  	// virtual machine's current configuration.
 88550  	//
 88551  	// Setting this is only supported if the host this virtual machine
 88552  	// is currently residing on
 88553  	// *supports cloning from a snapshot point*. Such support does not need to
 88554  	// exist on the destination host for the clone.
 88555  	//
 88556  	// Setting this is only supported if the virtual machine supports
 88557  	// reporting snapshot configuration information. See `VirtualMachineCapability.snapshotConfigSupported`. Such support does not need
 88558  	// to exist on the destination host for the clone.
 88559  	//
 88560  	// Refers instance of `VirtualMachineSnapshot`.
 88561  	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 88562  	// Flag indicating whether to retain a copy of the source virtual machine's
 88563  	// memory state in the clone.
 88564  	//
 88565  	// Retaining the memory state during
 88566  	// clone results in a clone in suspended state with all network adapters
 88567  	// removed to avoid network conflicts, except those with a
 88568  	// VirtualEthernetCard.addressType of "manual".
 88569  	// Users of this flag should take special care so that, when adding a network
 88570  	// adapter back to the clone, the VM is not resumed on the same VM network
 88571  	// as the source VM, or else MAC address conflicts could occur.
 88572  	// When cloning between two hosts with different CPUs outside an EVC cluster,
 88573  	// users of this flag should be aware that vCenter does not verify
 88574  	// CPU compatibility between the clone's memory state and the target host
 88575  	// prior to the clone operation, so the clone may fail to resume
 88576  	// until it is migrated to a host with a compatible CPU.
 88577  	//
 88578  	// This flag is ignored if the snapshot parameter is unset. This flag
 88579  	// only applies for a snapshot taken on a running or suspended
 88580  	// virtual machine with the 'memory' parameter set to true, because otherwise
 88581  	// the snapshot has no memory state. This flag defaults to false.
 88582  	Memory *bool `xml:"memory" json:"memory,omitempty"`
 88583  	// Provisioning policy for virtual TPM devices during VM clone operations.
 88584  	//
 88585  	// The list of supported values is defined in `VirtualMachineCloneSpecTpmProvisionPolicy_enum`.
 88586  	//
 88587  	// If unset - a globally defined policy is used, which by default is set to
 88588  	// 'copy'.
 88589  	TpmProvisionPolicy string `xml:"tpmProvisionPolicy,omitempty" json:"tpmProvisionPolicy,omitempty" vim:"8.0.0.1"`
 88590  }
 88591  
 88592  func init() {
 88593  	t["VirtualMachineCloneSpec"] = reflect.TypeOf((*VirtualMachineCloneSpec)(nil)).Elem()
 88594  }
 88595  
 88596  // The ConfigInfo data object type encapsulates the configuration settings and
 88597  // virtual hardware for a virtual machine.
 88598  //
 88599  // This type holds all the information
 88600  // that is present in the .vmx configuration file for the virtual machine.
 88601  type VirtualMachineConfigInfo struct {
 88602  	DynamicData
 88603  
 88604  	// The changeVersion is a unique identifier for a given version
 88605  	// of the configuration.
 88606  	//
 88607  	// Each change to the configuration
 88608  	// updates this value. This is typically implemented as an ever
 88609  	// increasing count or a time-stamp. However, a client should
 88610  	// always treat this as an opaque string.
 88611  	ChangeVersion string `xml:"changeVersion" json:"changeVersion"`
 88612  	// Last time a virtual machine's configuration was modified.
 88613  	Modified time.Time `xml:"modified" json:"modified"`
 88614  	// Display name of the virtual machine.
 88615  	//
 88616  	// Any / (slash), \\ (backslash), character used in this
 88617  	// name element is escaped. Similarly, any % (percent) character used in
 88618  	// this name element is escaped, unless it is used to start an escape
 88619  	// sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or
 88620  	// %5c, and a percent is escaped as %25.
 88621  	Name string `xml:"name" json:"name"`
 88622  	// This is the full name of the guest operating system for the virtual machine.
 88623  	//
 88624  	// For example: Windows 2000 Professional.
 88625  	//
 88626  	// See also `VirtualMachineConfigInfo.alternateGuestName`.
 88627  	GuestFullName string `xml:"guestFullName" json:"guestFullName"`
 88628  	// The version string for this virtual machine.
 88629  	Version string `xml:"version" json:"version"`
 88630  	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
 88631  	// in "12345678-abcd-1234-cdef-123456789abc" format.
 88632  	Uuid string `xml:"uuid" json:"uuid"`
 88633  	// Time the virtual machine's configuration was created.
 88634  	CreateDate *time.Time `xml:"createDate" json:"createDate,omitempty"`
 88635  	// VirtualCenter-specific 128-bit UUID of a virtual machine, represented
 88636  	// as a hexademical string.
 88637  	//
 88638  	// This identifier is used by VirtualCenter to
 88639  	// uniquely identify all virtual machine instances, including those that
 88640  	// may share the same SMBIOS UUID.
 88641  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 88642  	// A 64-bit node WWN (World Wide Name).
 88643  	//
 88644  	// These WWNs are paired with the
 88645  	// `VirtualMachineConfigInfo.npivPortWorldWideName` to be used by the NPIV VPORTs instantiated for the
 88646  	// virtual machine on the physical HBAs of the host. A pair of node and port WWNs
 88647  	// serves as a unique identifier in accessing a LUN, so that it can be monitored or
 88648  	// controlled by the storage administrator.
 88649  	//
 88650  	// If this property contains a single node WWN, the same node WWN is used to pair
 88651  	// with all port WWNs listed in `VirtualMachineConfigInfo.npivPortWorldWideName`. If this property or
 88652  	// `VirtualMachineConfigInfo.npivPortWorldWideName` is empty or unset, NPIV WWN is disabled for the
 88653  	// virtual machine.
 88654  	NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty" json:"npivNodeWorldWideName,omitempty"`
 88655  	// A 64-bit port WWN (World Wide Name).
 88656  	//
 88657  	// For detail description on WWN, see
 88658  	// `VirtualMachineConfigInfo.npivNodeWorldWideName`.
 88659  	NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty" json:"npivPortWorldWideName,omitempty"`
 88660  	// The source that provides/generates the assigned WWNs.
 88661  	//
 88662  	// See also `VirtualMachineConfigInfoNpivWwnType_enum`.
 88663  	NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty" json:"npivWorldWideNameType,omitempty"`
 88664  	// The NPIV node WWNs to be extended from the original list of WWN nummbers.
 88665  	//
 88666  	// This
 88667  	// property should be set to desired number which is an aggregate of existing
 88668  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 88669  	// number of node WWNs
 88670  	NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty" json:"npivDesiredNodeWwns,omitempty"`
 88671  	// The NPIV port WWNs to be extended from the original list of WWN nummbers.
 88672  	//
 88673  	// This
 88674  	// property should be set to desired number which is an aggregate of existing
 88675  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 88676  	// number of port WWNs
 88677  	NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty" json:"npivDesiredPortWwns,omitempty"`
 88678  	// This property is used to enable or disable the NPIV capability on a desired
 88679  	// virtual machine on a temporary basis.
 88680  	//
 88681  	// When this property is set NPIV Vport
 88682  	// will not be instantiated by the VMX process of the Virtual Machine. When this
 88683  	// property is set port WWNs and node WWNs in the VM configuration are preserved.
 88684  	NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled" json:"npivTemporaryDisabled,omitempty"`
 88685  	// This property is used to check whether the NPIV can be enabled on the Virtual
 88686  	// machine with non-rdm disks in the configuration, so this is potentially not
 88687  	// enabling npiv on vmfs disks.
 88688  	//
 88689  	// Also this property is used to check whether RDM
 88690  	// is required to generate WWNs for a virtual machine.
 88691  	NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks" json:"npivOnNonRdmDisks,omitempty"`
 88692  	// Hash incorporating the virtual machine's config file location
 88693  	// and the UUID of the host assigned to run the virtual machine.
 88694  	LocationId string `xml:"locationId,omitempty" json:"locationId,omitempty"`
 88695  	// Flag indicating whether or not a virtual machine is a template.
 88696  	Template bool `xml:"template" json:"template"`
 88697  	// Guest operating system configured on a virtual machine.
 88698  	//
 88699  	// This is a guest identifier that can be used to access the
 88700  	// `GuestOsDescriptor`
 88701  	// list for information about default configuration.
 88702  	// For more information on possible values, see
 88703  	// `VirtualMachineGuestOsIdentifier`.
 88704  	GuestId string `xml:"guestId" json:"guestId"`
 88705  	// Used as display name for the operating system if guestId is `other`
 88706  	// or `other-64`.
 88707  	//
 88708  	// See also `VirtualMachineConfigInfo.guestFullName`.
 88709  	AlternateGuestName string `xml:"alternateGuestName" json:"alternateGuestName"`
 88710  	// Description for the virtual machine.
 88711  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 88712  	// Information about the files associated with a virtual machine.
 88713  	//
 88714  	// This information does not include files for specific virtual disks or
 88715  	// snapshots.
 88716  	Files VirtualMachineFileInfo `xml:"files" json:"files"`
 88717  	// Configuration of VMware Tools running in the guest operating system.
 88718  	Tools *ToolsConfigInfo `xml:"tools,omitempty" json:"tools,omitempty"`
 88719  	// Additional flags for a virtual machine.
 88720  	Flags VirtualMachineFlagInfo `xml:"flags" json:"flags"`
 88721  	// Legacy console viewer preferences when doing power operations.
 88722  	ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty" json:"consolePreferences,omitempty"`
 88723  	// Configuration of default power operations.
 88724  	DefaultPowerOps VirtualMachineDefaultPowerOpInfo `xml:"defaultPowerOps" json:"defaultPowerOps"`
 88725  	// Whether the next reboot will result in a power off.
 88726  	RebootPowerOff *bool `xml:"rebootPowerOff" json:"rebootPowerOff,omitempty" vim:"8.0.0.1"`
 88727  	// Processor, memory, and virtual devices for a virtual machine.
 88728  	Hardware VirtualHardware `xml:"hardware" json:"hardware"`
 88729  	// Vcpu configuration.
 88730  	//
 88731  	// The <code>vcpuConfig</code> array is indexed
 88732  	// by vcpu number.
 88733  	VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty" json:"vcpuConfig,omitempty"`
 88734  	// Resource limits for CPU.
 88735  	CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty" json:"cpuAllocation,omitempty"`
 88736  	// Resource limits for memory.
 88737  	MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty" json:"memoryAllocation,omitempty"`
 88738  	// The latency-sensitivity of the virtual machine.
 88739  	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty"`
 88740  	// Whether memory can be added while this virtual machine is running.
 88741  	MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled" json:"memoryHotAddEnabled,omitempty"`
 88742  	// Whether virtual processors can be added while this
 88743  	// virtual machine is running.
 88744  	CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled" json:"cpuHotAddEnabled,omitempty"`
 88745  	// Whether virtual processors can be removed while this
 88746  	// virtual machine is running.
 88747  	CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled" json:"cpuHotRemoveEnabled,omitempty"`
 88748  	// The maximum amount of memory, in MB, than can be added to a
 88749  	// running virtual machine.
 88750  	//
 88751  	// This value is determined by the
 88752  	// virtual machine and is specified only if
 88753  	// `VirtualMachineConfigInfo.memoryHotAddEnabled`
 88754  	// is set to true.
 88755  	HotPlugMemoryLimit int64 `xml:"hotPlugMemoryLimit,omitempty" json:"hotPlugMemoryLimit,omitempty"`
 88756  	// Memory, in MB that can be added to a running virtual machine
 88757  	// must be in increments of this value and needs be a
 88758  	// multiple of this value.
 88759  	//
 88760  	// This value is determined by the virtual machine and is specified
 88761  	// only if `VirtualMachineConfigSpec.memoryHotAddEnabled`
 88762  	// has been set to true.
 88763  	HotPlugMemoryIncrementSize int64 `xml:"hotPlugMemoryIncrementSize,omitempty" json:"hotPlugMemoryIncrementSize,omitempty"`
 88764  	// Affinity settings for CPU.
 88765  	CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty" json:"cpuAffinity,omitempty"`
 88766  	// Deprecated since vSphere 6.0.
 88767  	//
 88768  	// Affinity settings for memory.
 88769  	MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty" json:"memoryAffinity,omitempty"`
 88770  	// Deprecated from vSphere 5.5, shaping policy on VM is not supported.
 88771  	//
 88772  	// Resource limits for network.
 88773  	NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty" json:"networkShaper,omitempty"`
 88774  	// Additional configuration information for the virtual machine.
 88775  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 88776  	// Specifies CPU feature compatibility masks that override the
 88777  	// defaults from the `GuestOsDescriptor`
 88778  	// of the virtual machine's guest OS.
 88779  	//
 88780  	// As of vSphere API 6.5 `FeatureMask`
 88781  	// is the recommended method for masking virtual machines with
 88782  	// hardware version 9 and above (newer). They can be viewed via
 88783  	// `featureMask`.
 88784  	CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
 88785  	// Enumerates the set of datastores that this virtual machine is
 88786  	// stored on, as well as the URL identification for each of these.
 88787  	//
 88788  	// Changes to datastores do not generate property updates on this
 88789  	// property. However, when this property is retrieved it returns the
 88790  	// current datastore information.
 88791  	DatastoreUrl []VirtualMachineConfigInfoDatastoreUrlPair `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
 88792  	// Virtual machine swapfile placement policy.
 88793  	//
 88794  	// This will be unset if the
 88795  	// virtual machine's
 88796  	// `swapPlacementSupported`
 88797  	// capability is false. If swapPlacementSupported is true, the default
 88798  	// policy is "inherit".
 88799  	//
 88800  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 88801  	SwapPlacement string `xml:"swapPlacement,omitempty" json:"swapPlacement,omitempty"`
 88802  	// Configuration options for the boot behavior of the virtual machine.
 88803  	BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty" json:"bootOptions,omitempty"`
 88804  	// Fault Tolerance settings for this virtual machine.
 88805  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
 88806  	// vSphere Replication settings for this virtual machine.
 88807  	//
 88808  	// Note this may become deprecated in the future releases. We discourage
 88809  	// any unnecessary dependency on this field.
 88810  	RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty" json:"repConfig,omitempty"`
 88811  	// vApp meta-data for the virtual machine
 88812  	VAppConfig BaseVmConfigInfo `xml:"vAppConfig,omitempty,typeattr" json:"vAppConfig,omitempty"`
 88813  	// Indicates whether user-configured virtual asserts will be
 88814  	// triggered during virtual machine replay.
 88815  	VAssertsEnabled *bool `xml:"vAssertsEnabled" json:"vAssertsEnabled,omitempty"`
 88816  	// Indicates whether changed block tracking for this VM's disks
 88817  	// is active.
 88818  	ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled" json:"changeTrackingEnabled,omitempty"`
 88819  	// Information about firmware type for this Virtual Machine.
 88820  	//
 88821  	// Possible values are described in
 88822  	// `GuestOsDescriptorFirmwareType_enum`
 88823  	// When creating a new VM:
 88824  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code> and
 88825  	// this property is set to <code>bios</code>, error is returned.
 88826  	// \- If this property is unset and vim.vm.FlagInfo.vbsEnabled is set
 88827  	// to <code>true</code>, this property is set to <code>efi</code>.
 88828  	Firmware string `xml:"firmware,omitempty" json:"firmware,omitempty"`
 88829  	// Indicates the maximum number of active remote display connections
 88830  	// that the virtual machine will support.
 88831  	MaxMksConnections int32 `xml:"maxMksConnections,omitempty" json:"maxMksConnections,omitempty"`
 88832  	// Indicates whether the guest operating system will logout any active
 88833  	// sessions whenever there are no remote display connections open to
 88834  	// the virtual machine.
 88835  	GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled" json:"guestAutoLockEnabled,omitempty"`
 88836  	// Specifies that this VM is managed by a VC Extension.
 88837  	//
 88838  	// See the
 88839  	// `managedBy` property in the ConfigSpec
 88840  	// for more details.
 88841  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 88842  	// If set true, memory resource reservation for this virtual machine will always be
 88843  	// equal to the virtual machine's memory size; increases in memory size will be
 88844  	// rejected when a corresponding reservation increase is not possible.
 88845  	MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax" json:"memoryReservationLockedToMax,omitempty"`
 88846  	// Set of values to be used only to perform admission control when
 88847  	// determining if a host has sufficient resources for the virtual
 88848  	// machine to power on.
 88849  	InitialOverhead *VirtualMachineConfigInfoOverheadInfo `xml:"initialOverhead,omitempty" json:"initialOverhead,omitempty"`
 88850  	// Indicates whether this VM is configured to use nested
 88851  	// hardware-assisted virtualization.
 88852  	NestedHVEnabled *bool `xml:"nestedHVEnabled" json:"nestedHVEnabled,omitempty"`
 88853  	// Indicates whether this VM have vurtual CPU performance counters
 88854  	// enabled.
 88855  	VPMCEnabled *bool `xml:"vPMCEnabled" json:"vPMCEnabled,omitempty"`
 88856  	// Configuration of scheduled hardware upgrades and result from last
 88857  	// attempt to run scheduled hardware upgrade.
 88858  	//
 88859  	// See also `ScheduledHardwareUpgradeInfo`.
 88860  	ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty" json:"scheduledHardwareUpgradeInfo,omitempty"`
 88861  	// Fork configuration of this virtual machines.
 88862  	//
 88863  	// If unset, this virtual machine
 88864  	// is not configured for fork.
 88865  	//
 88866  	// See also `VirtualMachineForkConfigInfo`.
 88867  	ForkConfigInfo *VirtualMachineForkConfigInfo `xml:"forkConfigInfo,omitempty" json:"forkConfigInfo,omitempty"`
 88868  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 88869  	// end of availability.
 88870  	//
 88871  	// Specifies the total vFlash resource reservation for the vFlash caches associated
 88872  	// with this VM's virtual disks, in bytes.
 88873  	//
 88874  	// This reservation must be allocated to power on the VM.
 88875  	// See `VirtualMachineRuntimeInfo.vFlashCacheAllocation` for allocated
 88876  	// reservation when VM is powered on.
 88877  	VFlashCacheReservation int64 `xml:"vFlashCacheReservation,omitempty" json:"vFlashCacheReservation,omitempty"`
 88878  	// A checksum of vmx config file.
 88879  	VmxConfigChecksum []byte `xml:"vmxConfigChecksum,omitempty" json:"vmxConfigChecksum,omitempty"`
 88880  	// Whether to allow tunneling of clients from the guest VM into the
 88881  	// common message bus on the host network.
 88882  	MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled" json:"messageBusTunnelEnabled,omitempty"`
 88883  	// Virtual Machine Object Identifier.
 88884  	//
 88885  	// With Object-based Storage systems, Virtual Machine home directory
 88886  	// is backed by an object.
 88887  	// This identifier will be set only if VM directory resided on
 88888  	// object-based storage systems.
 88889  	VmStorageObjectId string `xml:"vmStorageObjectId,omitempty" json:"vmStorageObjectId,omitempty"`
 88890  	// Virtual Machine Swap Object Identifier.
 88891  	//
 88892  	// With Object-based Storage systems, VM's Swap is backed by an object.
 88893  	// This identifier will be set only if VM swap resided on
 88894  	// object-based storage systems.
 88895  	SwapStorageObjectId string `xml:"swapStorageObjectId,omitempty" json:"swapStorageObjectId,omitempty"`
 88896  	// Virtual Machine cryptographic options.
 88897  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 88898  	// Guest integrity platform configuration
 88899  	GuestIntegrityInfo *VirtualMachineGuestIntegrityInfo `xml:"guestIntegrityInfo,omitempty" json:"guestIntegrityInfo,omitempty"`
 88900  	// An enum describing whether encrypted vMotion is required for this VM.
 88901  	//
 88902  	// See `VirtualMachineConfigSpecEncryptedVMotionModes_enum` for allowed values.
 88903  	// This defaults to opportunistic for a regular VM, and will be set to
 88904  	// required for an encrypted VM.
 88905  	MigrateEncryption string `xml:"migrateEncryption,omitempty" json:"migrateEncryption,omitempty"`
 88906  	// Configuration of SGX, Software Guard Extensions for the VM.
 88907  	SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty"`
 88908  	// Content Library Item info.
 88909  	ContentLibItemInfo *VirtualMachineContentLibraryItemInfo `xml:"contentLibItemInfo,omitempty" json:"contentLibItemInfo,omitempty"`
 88910  	// An enum describing whether encrypted Fault Tolerance is required for this
 88911  	// VM.
 88912  	//
 88913  	// See `VirtualMachineConfigSpecEncryptedFtModes_enum` for allowed values.
 88914  	// \- This defaults to opportunistic for a regular VM, and will be set to
 88915  	// required for an encrypted VM.
 88916  	// \- If this property is unset, the mode of encrypted Fault Tolerance
 88917  	// will be set to opportunistic.
 88918  	FtEncryptionMode string `xml:"ftEncryptionMode,omitempty" json:"ftEncryptionMode,omitempty" vim:"7.0.2.0"`
 88919  	// GMM configuration
 88920  	GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty" json:"guestMonitoringModeInfo,omitempty"`
 88921  	// SEV (Secure Encrypted Virtualization) enabled or not.
 88922  	//
 88923  	// SEV is enabled
 88924  	// when set to true, and disabled otherwise.
 88925  	SevEnabled *bool `xml:"sevEnabled" json:"sevEnabled,omitempty" vim:"7.0.1.0"`
 88926  	// vNUMA info.
 88927  	NumaInfo *VirtualMachineVirtualNumaInfo `xml:"numaInfo,omitempty" json:"numaInfo,omitempty" vim:"8.0.0.1"`
 88928  	// Property to indicate PMem HA failover configuration.
 88929  	//
 88930  	// \- When set to TRUE, VMs configured to use PMem
 88931  	// will be failed over to other hosts by HA, but the data
 88932  	// in NVDIMM is not persistent.
 88933  	// \- When set to FALSE, VMs configured to use PMem will not
 88934  	// be failed over to other hosts by HA.
 88935  	// Property is currently only applicable to VMs with NVDimms and
 88936  	// will fail to set True if vPMem disks are present.
 88937  	PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled" json:"pmemFailoverEnabled,omitempty" vim:"7.0.2.0"`
 88938  	// Indicates whether VMXStats Collection is enabled/disabled.
 88939  	//
 88940  	// \- If TRUE, VMXStats is enabled for the VM and a scoreboard
 88941  	// file is created to store stats for various VMX components.
 88942  	// \- If FALSE, VMXStats is disabled for the VM and there is
 88943  	// no scoreboard file created.
 88944  	VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled" json:"vmxStatsCollectionEnabled,omitempty" vim:"7.0.3.1"`
 88945  	// Indicates whether operation notification to applications is
 88946  	// enabled/disabled.
 88947  	//
 88948  	// \- When set to TRUE, application running inside the VM will be
 88949  	// notified of operations for which they have registered.
 88950  	// \- If unset or FALSE, new applications are not allowed to register
 88951  	// for notifications and RPCs will no longer be supported from
 88952  	// already registered applications.
 88953  	VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled" json:"vmOpNotificationToAppEnabled,omitempty" vim:"7.0.3.0"`
 88954  	// Operation notification timeout in seconds.
 88955  	//
 88956  	// \- Specifies the maximum time the application can take to
 88957  	// prepare for the operation after its been notified. This value is used
 88958  	// only if `VirtualMachineConfigInfo.vmOpNotificationToAppEnabled` is set to TRUE.
 88959  	// \- If `VirtualMachineConfigInfo.vmOpNotificationTimeout` is unset, then it defaults to
 88960  	// cluster/host timeout.
 88961  	VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty" json:"vmOpNotificationTimeout,omitempty" vim:"8.0.0.1"`
 88962  	// Status of the device swap operation.
 88963  	DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty" json:"deviceSwap,omitempty" vim:"8.0.0.1"`
 88964  	// Virtual persistent memory info.
 88965  	Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty" json:"pmem,omitempty" vim:"7.0.3.0"`
 88966  	// Assignable hardware device groups.
 88967  	DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty" json:"deviceGroups,omitempty" vim:"8.0.0.1"`
 88968  	// Indicates whether support to add and remove fixed passthrough
 88969  	// devices when the VM is running is enabled.
 88970  	//
 88971  	// When the virtual machine is powered on, this indicates if
 88972  	// support for hot adding and removing fixed passthrough devices
 88973  	// was enabled prior to power on. Otherwise, it indicates whether
 88974  	// it will be enabled when the VM is powered on.
 88975  	// NOTE: When setting this to true, the memory reservation should
 88976  	// be equal to the guest memory size or the option to reserve all
 88977  	// guest memory should be selected. If unset, the current value is
 88978  	// left unchanged.
 88979  	FixedPassthruHotPlugEnabled *bool `xml:"fixedPassthruHotPlugEnabled" json:"fixedPassthruHotPlugEnabled,omitempty" vim:"8.0.1.0"`
 88980  	// Indicates whether FT Metro Cluster is enabled/disabled.
 88981  	//
 88982  	// \- If TRUE, FT Metro Cluster is enabled for the VM. An implicit
 88983  	// Anti-HostGroup will be generated from HostGroup defined for FT
 88984  	// primary, then affine the primary with one HostGroup and affine the
 88985  	// secondary with another HostGroup.
 88986  	// \- If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT
 88987  	// primary and secondary will be put in the same HostGroup.
 88988  	MetroFtEnabled *bool `xml:"metroFtEnabled" json:"metroFtEnabled,omitempty" vim:"8.0.3.0"`
 88989  	// Contains properties that are established when the VM
 88990  	// powers-on and are later examined when the VM is resumed to ensure that
 88991  	// the VM is compatible with the suspended device state.
 88992  	//
 88993  	// It is only populated while the VM is powered-on.
 88994  	VmxRuntimeConfig []BaseOptionValue `xml:"vmxRuntimeConfig,omitempty,typeattr" json:"vmxRuntimeConfig,omitempty" vim:"9.0.0.0"`
 88995  	// Indicate the Host Group (`ClusterHostGroup`) for FT
 88996  	// Metro Cluster enabled Virtual Machine.
 88997  	//
 88998  	// Based on the selected Host Group, FT can divide the hosts in the cluster
 88999  	// into two groups and ensure to place FT primary and FT secondary in
 89000  	// different groups.
 89001  	MetroFtHostGroup string `xml:"metroFtHostGroup,omitempty" json:"metroFtHostGroup,omitempty" vim:"8.0.3.0"`
 89002  	// TDX (Trust Domain Extensions) enabled or not.
 89003  	//
 89004  	// TDX is enabled
 89005  	// when set to true, and disabled otherwise.
 89006  	TdxEnabled *bool `xml:"tdxEnabled" json:"tdxEnabled,omitempty" vim:"9.0.0.0"`
 89007  	// SEV-SNP (Secure Encrypted Virtualization Secure Nested paging) enabled or
 89008  	// not.
 89009  	//
 89010  	// SEV-SNP is enabled when set to true, and disabled otherwise.
 89011  	SevSnpEnabled *bool `xml:"sevSnpEnabled" json:"sevSnpEnabled,omitempty" vim:"9.0.0.0"`
 89012  }
 89013  
 89014  func init() {
 89015  	t["VirtualMachineConfigInfo"] = reflect.TypeOf((*VirtualMachineConfigInfo)(nil)).Elem()
 89016  }
 89017  
 89018  // Contains the name of a datastore, and its local file path on the host
 89019  // currently affiliated with this virtual machine.
 89020  type VirtualMachineConfigInfoDatastoreUrlPair struct {
 89021  	DynamicData
 89022  
 89023  	Name string `xml:"name" json:"name"`
 89024  	Url  string `xml:"url" json:"url"`
 89025  }
 89026  
 89027  func init() {
 89028  	t["VirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*VirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem()
 89029  }
 89030  
 89031  // Information about virtualization overhead required to power on the
 89032  // virtual machine on the registered host.
 89033  type VirtualMachineConfigInfoOverheadInfo struct {
 89034  	DynamicData
 89035  
 89036  	// Memory overhead required for virtual machine to be powered on (in bytes).
 89037  	InitialMemoryReservation int64 `xml:"initialMemoryReservation,omitempty" json:"initialMemoryReservation,omitempty"`
 89038  	// Disk space required for virtual machine to be powered on (in bytes).
 89039  	//
 89040  	// This space is used by virtualization infrastructure to swap out
 89041  	// virtual machine process memory. Location of the file is specified by
 89042  	// sched.swap.vmxSwapDir virtual machinge advanced config option or
 89043  	// in case it is not specified - current virtual machine home directory
 89044  	// is being used.
 89045  	InitialSwapReservation int64 `xml:"initialSwapReservation,omitempty" json:"initialSwapReservation,omitempty"`
 89046  }
 89047  
 89048  func init() {
 89049  	t["VirtualMachineConfigInfoOverheadInfo"] = reflect.TypeOf((*VirtualMachineConfigInfoOverheadInfo)(nil)).Elem()
 89050  }
 89051  
 89052  // This configuration data object type contains information about the execution
 89053  // environment for a virtual machine.
 89054  //
 89055  // This includes information about which features are
 89056  // supported, such as:
 89057  //   - Which guest operating systems are supported.
 89058  //   - How devices are emulated. For example, that a CD-ROM drive can be emulated
 89059  //     with a file or that a serial port can be emulated with a pipe.
 89060  //
 89061  // VirtualCenter can provide a broader environment than any single physical host. This
 89062  // is a departure from traditional virtualization approaches, which rely on the host
 89063  // system to define the environment for virtual machines. This data object describes
 89064  // environment capabilities and is used by VirtualCenter to choose hosts on which to run
 89065  // virtual machines.
 89066  type VirtualMachineConfigOption struct {
 89067  	DynamicData
 89068  
 89069  	// The version corresponding to this configOption.
 89070  	Version string `xml:"version" json:"version"`
 89071  	// A description string for this configOption.
 89072  	Description string `xml:"description" json:"description"`
 89073  	// List of supported guest operating systems.
 89074  	//
 89075  	// The choice of guest operating system may limit the set of valid devices.
 89076  	// For example, you cannot select Vmxnet with all guest operating systems.
 89077  	GuestOSDescriptor []GuestOsDescriptor `xml:"guestOSDescriptor" json:"guestOSDescriptor"`
 89078  	// Index into guestOsDescriptor array denoting the default guest
 89079  	// operating system.
 89080  	GuestOSDefaultIndex int32 `xml:"guestOSDefaultIndex" json:"guestOSDefaultIndex"`
 89081  	// Processor, memory, and virtual device options for a virtual machine.
 89082  	HardwareOptions VirtualHardwareOption `xml:"hardwareOptions" json:"hardwareOptions"`
 89083  	// Capabilities supported by a virtual machine.
 89084  	Capabilities VirtualMachineCapability `xml:"capabilities" json:"capabilities"`
 89085  	// The datastore options for this virtual machine.
 89086  	Datastore DatastoreOption `xml:"datastore" json:"datastore"`
 89087  	// The list of virtual devices that are created on a virtual machine by default.
 89088  	//
 89089  	// Clients should not create these devices.
 89090  	DefaultDevice []BaseVirtualDevice `xml:"defaultDevice,omitempty,typeattr" json:"defaultDevice,omitempty"`
 89091  	// The monitor types supported by a host.
 89092  	//
 89093  	// The acceptable monitor types
 89094  	// are enumerated by `VirtualMachineFlagInfoMonitorType_enum`.
 89095  	SupportedMonitorType []string `xml:"supportedMonitorType" json:"supportedMonitorType"`
 89096  	// Specifies the supported property transports that are
 89097  	// available for the OVF environment
 89098  	SupportedOvfEnvironmentTransport []string `xml:"supportedOvfEnvironmentTransport,omitempty" json:"supportedOvfEnvironmentTransport,omitempty"`
 89099  	// Specifies the supported transports for the OVF
 89100  	// installation phase.
 89101  	SupportedOvfInstallTransport []string `xml:"supportedOvfInstallTransport,omitempty" json:"supportedOvfInstallTransport,omitempty"`
 89102  	// The relations between the properties of the virtual
 89103  	// machine config spec.
 89104  	PropertyRelations []VirtualMachinePropertyRelation `xml:"propertyRelations,omitempty" json:"propertyRelations,omitempty"`
 89105  }
 89106  
 89107  func init() {
 89108  	t["VirtualMachineConfigOption"] = reflect.TypeOf((*VirtualMachineConfigOption)(nil)).Elem()
 89109  }
 89110  
 89111  // Contains the definition of a unique key that can be used to
 89112  // retrieve a configOption object.
 89113  type VirtualMachineConfigOptionDescriptor struct {
 89114  	DynamicData
 89115  
 89116  	// A unique key used to identify a configOption object in this
 89117  	// `EnvironmentBrowser`.
 89118  	Key string `xml:"key" json:"key"`
 89119  	// A description of the configOption object.
 89120  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 89121  	// List of hosts to which this descriptor applies.
 89122  	//
 89123  	// List of hosts is not set when descriptor is returned
 89124  	// from `Datacenter.queryDatacenterConfigOptionDescriptor`.
 89125  	//
 89126  	// Refers instances of `HostSystem`.
 89127  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 89128  	// Indicates whether the associated set of configuration options
 89129  	// can be used for virtual machine creation on a given host or
 89130  	// cluster.
 89131  	CreateSupported *bool `xml:"createSupported" json:"createSupported,omitempty"`
 89132  	// Indicates whether the associated set of virtual machine
 89133  	// configuration options is the default one for a given host or
 89134  	// cluster.
 89135  	//
 89136  	// Latest version is marked as default unless
 89137  	// other version is specified via
 89138  	// `ComputeResourceConfigInfo.defaultHardwareVersionKey`
 89139  	// or `DatacenterConfigInfo.defaultHardwareVersionKey`.
 89140  	// If this setting is TRUE, virtual machine creates will use the
 89141  	// associated set of configuration options, unless a config version is
 89142  	// explicitly specified in the `ConfigSpec`.
 89143  	DefaultConfigOption *bool `xml:"defaultConfigOption" json:"defaultConfigOption,omitempty"`
 89144  	// Indicates whether the associated set of configuration options
 89145  	// can be used to power on a virtual machine on a given host or
 89146  	// cluster.
 89147  	RunSupported *bool `xml:"runSupported" json:"runSupported,omitempty"`
 89148  	// Indicates whether the associated set of configuration options
 89149  	// can be used as a virtual hardware upgrade target.
 89150  	UpgradeSupported *bool `xml:"upgradeSupported" json:"upgradeSupported,omitempty"`
 89151  }
 89152  
 89153  func init() {
 89154  	t["VirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*VirtualMachineConfigOptionDescriptor)(nil)).Elem()
 89155  }
 89156  
 89157  // This data object type encapsulates configuration settings
 89158  // when creating or reconfiguring a virtual machine.
 89159  //
 89160  // To support incremental changes,
 89161  // these properties are all optional. If an optional property is unset,
 89162  // or any nested optional property is unset, the property will not
 89163  // be changed unless 'unset' is a valid value for the property. To determine
 89164  // whether 'unset' is a valid value for a particular property, refer to
 89165  // the documentation for that property.
 89166  type VirtualMachineConfigSpec struct {
 89167  	DynamicData
 89168  
 89169  	// If specified, the changes are only applied if the current changeVersion matches
 89170  	// the specified changeVersion.
 89171  	//
 89172  	// This field can be used to guard against updates that
 89173  	// have happened between when configInfo is read and when it is applied.
 89174  	//
 89175  	// For more information about how configurations are uniquely identified, see
 89176  	// `VirtualMachineConfigInfo.changeVersion`.
 89177  	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
 89178  	// Display name of the virtual machine.
 89179  	//
 89180  	// Any % (percent) character used in this name parameter must be escaped, unless it
 89181  	// is used to start an escape sequence. Clients may also escape any other characters
 89182  	// in this name parameter. Snapshots of virtual machines that have spaces in their
 89183  	// names and are associated with ESX 2.x servers are not supported. Therefore, if you
 89184  	// want the option to take snapshots of this virtual machine and you are associating
 89185  	// it with an ESX 2.x server, do not use spaces in the name.
 89186  	//
 89187  	// Reconfigure privilege: VirtualMachine.Config.Rename
 89188  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 89189  	// The version string for this virtual machine.
 89190  	//
 89191  	// This is used only while
 89192  	// creating a new virtual machine, and can be updated by invoking
 89193  	// `VirtualMachine.UpgradeVM_Task` for this virtual
 89194  	// machine.
 89195  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 89196  	// Creation date of a virtual machine represented in DateTime format.
 89197  	//
 89198  	// This property is populated by the vCenter Server with the date
 89199  	// and time of creation of the virtual machine. Values provided by the
 89200  	// client will be ignored.
 89201  	//
 89202  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89203  	CreateDate *time.Time `xml:"createDate" json:"createDate,omitempty"`
 89204  	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
 89205  	// in "12345678-abcd-1234-cdef-123456789abc" format.
 89206  	//
 89207  	// Normally, this property is not set by a client, allowing the
 89208  	// Virtual Infrastructure environment to assign a UUID when
 89209  	// the virtual machine is created. However, in some rare cases,
 89210  	// such as a manual copy of a virtual machine, it may be necessary
 89211  	// to set this property.
 89212  	//
 89213  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89214  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 89215  	// VirtualCenter-specific 128-bit UUID of a virtual machine, represented
 89216  	// as a hexadecimal string.
 89217  	//
 89218  	// This identifier is used by VirtalCenter
 89219  	// to uniquely identify all virtual machine instances in the Virtual
 89220  	// Infrastructure environment, including those that may share the same
 89221  	// SMBIOS UUID.
 89222  	//
 89223  	// Normally, this property is not set by a client, allowing the
 89224  	// Virtual Infrastructure environment to assign or change it when
 89225  	// VirtualCenter detects an identifier conflict between virtual
 89226  	// machines. This identifier can be modified even when a virtual
 89227  	// machine is powered on. Clients can specify that vCenter Server
 89228  	// reassign a new identifier by a providing an empty string. Reassigning
 89229  	// the identifer is not allowed for Fault Tolerance virtual machines.
 89230  	//
 89231  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89232  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 89233  	// The NPIV node WWN to be assigned to a virtual machine.
 89234  	//
 89235  	// This property should only
 89236  	// be used or set when the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` property is "set".
 89237  	// Otherwise, an `InvalidVmConfig` fault will be thrown. If the
 89238  	// specified node WWN is currently being used by another virtual machine, a
 89239  	// `VmWwnConflict` fault will be thrown.
 89240  	//
 89241  	// For detail description on WWN, see `VirtualMachineConfigInfo.npivNodeWorldWideName`.
 89242  	//
 89243  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 89244  	NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty" json:"npivNodeWorldWideName,omitempty"`
 89245  	// The NPIV port WWN to be assigned to a virtual machine.
 89246  	//
 89247  	// This property should only
 89248  	// be used or set when the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` property is "set".
 89249  	// Otherwise, an `InvalidVmConfig` fault will be thrown. If the
 89250  	// specified port WWN is currently being used by another virtual machine, a
 89251  	// `VmWwnConflict` fault will be thrown.
 89252  	//
 89253  	// For detail description on WWN, see `VirtualMachineConfigInfo.npivPortWorldWideName`.
 89254  	//
 89255  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 89256  	NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty" json:"npivPortWorldWideName,omitempty"`
 89257  	// This property is used internally in the communication between the
 89258  	// VirtualCenter server and ESX Server to indicate the source for
 89259  	// `VirtualMachineConfigSpec.npivNodeWorldWideName` and
 89260  	// `VirtualMachineConfigSpec.npivPortWorldWideName` when `VirtualMachineConfigSpec.npivWorldWideNameOp` is "set".
 89261  	//
 89262  	// This property should only be set by the VirtualCenter server.
 89263  	//
 89264  	// If this property is set in a call to a VirtualCenter server,
 89265  	// an `InvalidVmConfig` fault will always be thrown. In a
 89266  	// call to an ESX Server host, an `InvalidVmConfig`
 89267  	// fault will be thrown if the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` is not set to
 89268  	// "set".
 89269  	//
 89270  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 89271  	NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty" json:"npivWorldWideNameType,omitempty"`
 89272  	// The NPIV node WWNs to be extended from the original list of WWN nummbers.
 89273  	//
 89274  	// This
 89275  	// property should be set to desired number which is an aggregate of existing
 89276  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 89277  	// number of node WWNs
 89278  	NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty" json:"npivDesiredNodeWwns,omitempty"`
 89279  	// The NPIV port WWNs to be extended from the original list of WWN nummbers.
 89280  	//
 89281  	// This
 89282  	// property should be set to desired number which is an aggregate of existing
 89283  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 89284  	// number of port WWNs
 89285  	NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty" json:"npivDesiredPortWwns,omitempty"`
 89286  	// This property is used to enable or disable the NPIV capability on a desired
 89287  	// virtual machine on a temporary basis.
 89288  	//
 89289  	// When this property is set NPIV Vport
 89290  	// will not be instantiated by the VMX process of the Virtual Machine. When this
 89291  	// property is set port WWNs and node WWNs in the VM configuration are preserved.
 89292  	//
 89293  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 89294  	NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled" json:"npivTemporaryDisabled,omitempty"`
 89295  	// This property is used to check whether the NPIV can be enabled on the Virtual
 89296  	// machine with non-rdm disks in the configuration, so this is potentially not
 89297  	// enabling npiv on vmfs disks.
 89298  	//
 89299  	// Also this property is used to check whether RDM
 89300  	// is required to generate WWNs for a virtual machine.
 89301  	NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks" json:"npivOnNonRdmDisks,omitempty"`
 89302  	// The flag to indicate what type of NPIV WWN operation is going to be performed
 89303  	// on the virtual machine.
 89304  	//
 89305  	// If unset, it indicates no change to existing NPIV WWN
 89306  	// assignment (or not assigned) in the virtual machine.
 89307  	//
 89308  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 89309  	//
 89310  	// See also `VirtualMachineConfigSpecNpivWwnOp_enum`.
 89311  	NpivWorldWideNameOp string `xml:"npivWorldWideNameOp,omitempty" json:"npivWorldWideNameOp,omitempty"`
 89312  	// 128-bit hash based on the virtual machine's configuration file location
 89313  	// and the UUID of the host assigned to run the virtual machine.
 89314  	//
 89315  	// Normally, this property is not set by a client, allowing the
 89316  	// Virtual Infrastructure environment to assign a location ID when
 89317  	// the virtual machine is created. However, if the virtual machine's
 89318  	// configuration file has been manually moved, it may be desirable to clear this
 89319  	// property, setting it to an empty string, so the property is regenerated.
 89320  	//
 89321  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89322  	LocationId string `xml:"locationId,omitempty" json:"locationId,omitempty"`
 89323  	// Short guest operating system identifier.
 89324  	//
 89325  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89326  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 89327  	// Full name for guest, if guestId is specified as `other`
 89328  	// or `other-64`.
 89329  	//
 89330  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89331  	AlternateGuestName string `xml:"alternateGuestName,omitempty" json:"alternateGuestName,omitempty"`
 89332  	// User-provided description of the virtual machine.
 89333  	//
 89334  	// Because this property
 89335  	// is optional in the virtual machine configuration, it is necessary
 89336  	// to pass an explicit empty string in a ConfigSpec object to remove an annotation
 89337  	// that is already present in the `VirtualMachineConfigInfo`
 89338  	// for a virtual machine.
 89339  	//
 89340  	// Reconfigure privilege: VirtualMachine.Config.Rename
 89341  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 89342  	// Information about virtual machine files.
 89343  	//
 89344  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89345  	Files *VirtualMachineFileInfo `xml:"files,omitempty" json:"files,omitempty"`
 89346  	// Configuration of VMware Tools running in the guest operating system.
 89347  	//
 89348  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89349  	Tools *ToolsConfigInfo `xml:"tools,omitempty" json:"tools,omitempty"`
 89350  	// Additional flags for a virtual machine.
 89351  	//
 89352  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89353  	Flags *VirtualMachineFlagInfo `xml:"flags,omitempty" json:"flags,omitempty"`
 89354  	// Legacy console viewer preferences that are used with power operations.
 89355  	//
 89356  	// For
 89357  	// example, power on.
 89358  	//
 89359  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89360  	ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty" json:"consolePreferences,omitempty"`
 89361  	// Configuration for default power operations.
 89362  	//
 89363  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89364  	PowerOpInfo *VirtualMachineDefaultPowerOpInfo `xml:"powerOpInfo,omitempty" json:"powerOpInfo,omitempty"`
 89365  	// Whether the next reboot will result in a power off.
 89366  	//
 89367  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89368  	RebootPowerOff *bool `xml:"rebootPowerOff" json:"rebootPowerOff,omitempty" vim:"8.0.0.1"`
 89369  	// Number of virtual processors in a virtual machine.
 89370  	//
 89371  	// Reconfigure privilege: VirtualMachine.Config.CpuCount
 89372  	NumCPUs int32 `xml:"numCPUs,omitempty" json:"numCPUs,omitempty"`
 89373  	// Vcpu configuration.
 89374  	//
 89375  	// The <code>vcpuConfig</code> array is indexed
 89376  	// by vcpu number.
 89377  	VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty" json:"vcpuConfig,omitempty"`
 89378  	// Number of cores among which to distribute
 89379  	// CPUs in this virtual machine.
 89380  	//
 89381  	// Set "numCoresPerSocket" with a non-zero value
 89382  	// to manually configure coresPerSocket size.
 89383  	// Set "numCoresPerSocket" with zero to remove any manual size
 89384  	// if present, and use default coresPerSocket behavior.
 89385  	// Leave "numCoresPerSocket" unset to continue with existing
 89386  	// configuration (either manual or default).
 89387  	NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty"`
 89388  	// Size of a virtual machine's memory, in MB.
 89389  	//
 89390  	// Reconfigure privilege: VirtualMachine.Config.Memory
 89391  	MemoryMB int64 `xml:"memoryMB,omitempty" json:"memoryMB,omitempty"`
 89392  	// Indicates whether or not memory can be added to the virtual
 89393  	// machine while it is running.
 89394  	//
 89395  	// This attribute can only be set when the virtual machine is
 89396  	// powered-off.
 89397  	//
 89398  	// Reconfigure privilege: VirtualMachine.Config.Memory
 89399  	MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled" json:"memoryHotAddEnabled,omitempty"`
 89400  	// Indicates whether or not virtual processors can be added to
 89401  	// the virtual machine while it is running.
 89402  	//
 89403  	// This attribute can only be set when the virtual machine is
 89404  	// powered-off.
 89405  	//
 89406  	// Reconfigure privilege: VirtualMachine.Config.CpuCount
 89407  	CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled" json:"cpuHotAddEnabled,omitempty"`
 89408  	// Indicates whether or not virtual processors can be removed
 89409  	// from the virtual machine while it is running.
 89410  	//
 89411  	// This attribute can only be set when the virtual machine is
 89412  	// powered-off.
 89413  	//
 89414  	// Reconfigure privilege: VirtualMachine.Config.CpuCount
 89415  	CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled" json:"cpuHotRemoveEnabled,omitempty"`
 89416  	// Does this virtual machine have Virtual Intel I/O Controller Hub 7
 89417  	VirtualICH7MPresent *bool `xml:"virtualICH7MPresent" json:"virtualICH7MPresent,omitempty"`
 89418  	// Does this virtual machine have System Management Controller
 89419  	VirtualSMCPresent *bool `xml:"virtualSMCPresent" json:"virtualSMCPresent,omitempty"`
 89420  	// Set of virtual devices being modified by the configuration operation.
 89421  	//
 89422  	// Reconfigure privileges:
 89423  	//   - VirtualMachine.Config.Resource if setting the "shares" property of
 89424  	//     a new or existing VirtualDisk device
 89425  	//   - VirtualMachine.Config.RawDevice if adding, removing, or modifying a
 89426  	//     raw device (also required when creating a virtual machine)
 89427  	//   - VirtualMachine.Config.HostUSBDevice if adding, removing, or
 89428  	//     modifying a VirtualUSB device backed by a host USB device (also
 89429  	//     required when creating a virtual machine).
 89430  	//   - VirtualMachine.Interact.DeviceConnection if setting the "connectable"
 89431  	//     property of a connectable device
 89432  	//   - VirtualMachine.Interact.SetCDMedia if setting the "backing" property
 89433  	//     of a VirtualCdrom device
 89434  	//   - VirtualMachine.Interact.SetFloppyMedia if setting the "backing" property
 89435  	//     of a VirtualFloppy device
 89436  	//   - VirtualMachine.Config.EditDevice if setting any property of a
 89437  	//     non-CDROM non-Floppy device
 89438  	//   - VirtualMachine.Config.AddExistingDisk if adding a VirtualDisk, and
 89439  	//     the fileOperation is unset (also required when creating a virtual machine)
 89440  	//   - VirtualMachine.Config.AddNewDisk if adding a VirtualDisk and the
 89441  	//     fileOperation is set (also required when creating a virtual machine)
 89442  	//   - VirtualMachine.Config.RemoveDisk if removing a VirtualDisk device
 89443  	//   - VirtualMachine.Config.AddRemoveDevice if adding or removing any
 89444  	//     device other than disk, raw, or USB device.
 89445  	//   - Network.Assign if if setting the "backing" property of a
 89446  	//     VirtualEthernetCard device.
 89447  	DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr" json:"deviceChange,omitempty"`
 89448  	// Resource limits for CPU.
 89449  	//
 89450  	// Reconfigure privilege: VirtualMachine.Config.Resource
 89451  	CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty" json:"cpuAllocation,omitempty"`
 89452  	// Resource limits for memory.
 89453  	//
 89454  	// Reconfigure privilege: VirtualMachine.Config.Resource
 89455  	MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty" json:"memoryAllocation,omitempty"`
 89456  	// The latency-sensitivity setting of the virtual machine.
 89457  	//
 89458  	// Reconfigure privilege: VirtualMachine.Config.Resource
 89459  	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty"`
 89460  	// Affinity settings for CPU.
 89461  	//
 89462  	// Reconfigure privilege: VirtualMachine.Config.Resource
 89463  	CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty" json:"cpuAffinity,omitempty"`
 89464  	// Deprecated since vSphere 6.0.
 89465  	//
 89466  	// Affinity settings for memory.
 89467  	//
 89468  	// Reconfigure privilege: VirtualMachine.Config.Resource
 89469  	MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty" json:"memoryAffinity,omitempty"`
 89470  	// Deprecated from vSphere 5.5, shaping policy on VM is not supported.
 89471  	//
 89472  	// Resource limits for network.
 89473  	//
 89474  	// Reconfigure privilege: VirtualMachine.Config.Resource
 89475  	NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty" json:"networkShaper,omitempty"`
 89476  	// Specifies the CPU feature compatibility masks.
 89477  	//
 89478  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89479  	// As of vSphere API 6.5 `FeatureMask`
 89480  	// is the recommended method for masking virtual machines with
 89481  	// hardware version 9 and above (newer).
 89482  	CpuFeatureMask []VirtualMachineCpuIdInfoSpec `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
 89483  	// Additional configuration information for the virtual machine.
 89484  	//
 89485  	// This describes a set of modifications to the additional options. If the key is
 89486  	// already present, it will be reset with the new value provided. Otherwise, a new
 89487  	// option is added. Keys with empty values will be removed.
 89488  	//
 89489  	// Configuration keys that would conflict with parameters that are explicitly
 89490  	// configurable through other fields in the ConfigSpec object are silently ignored.
 89491  	//
 89492  	// Reconfigure privilege: VirtualMachine.Config.AdvancedConfig
 89493  	// (also required when setting this property while creating a virtual machine)
 89494  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 89495  	// Virtual machine swapfile placement policy.
 89496  	//
 89497  	// This may only be set if the
 89498  	// `swapPlacementSupported`
 89499  	// capability is true for this virtual machine. Any change to this policy
 89500  	// will take effect the next time the virtual machine powers on, resumes
 89501  	// from a suspended state, or migrates while powered on.
 89502  	//
 89503  	// Reconfigure privilege: VirtualMachine.Config.SwapPlacement
 89504  	// (also required when setting this property while creating a virtual machine)
 89505  	//
 89506  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 89507  	SwapPlacement string `xml:"swapPlacement,omitempty" json:"swapPlacement,omitempty"`
 89508  	// Settings that control the boot behavior of the virtual
 89509  	// machine.
 89510  	//
 89511  	// These settings take effect during the next power-on
 89512  	// of the virtual machine.
 89513  	//
 89514  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89515  	BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty" json:"bootOptions,omitempty"`
 89516  	// Configuration of vApp meta-data for a virtual machine
 89517  	VAppConfig BaseVmConfigSpec `xml:"vAppConfig,omitempty,typeattr" json:"vAppConfig,omitempty"`
 89518  	// Fault Tolerance settings for this virtual machine.
 89519  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
 89520  	// vSphere Replication settings.
 89521  	//
 89522  	// Note this may become deprecated in the future releases. We
 89523  	// discourage any unnecessary dependency on this field.
 89524  	RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty" json:"repConfig,omitempty"`
 89525  	// Set to true, if the vApp configuration should be removed
 89526  	//
 89527  	// Reconfigure privilege: VApp.ApplicationConfig
 89528  	VAppConfigRemoved *bool `xml:"vAppConfigRemoved" json:"vAppConfigRemoved,omitempty"`
 89529  	// Indicates whether user-configured virtual asserts will be
 89530  	// triggered during virtual machine replay.
 89531  	//
 89532  	// This setting takes
 89533  	// effect during the next replay of the virtual machine.
 89534  	//
 89535  	// Enabling this functionality can potentially cause some
 89536  	// performance overhead during virtual machine execution.
 89537  	VAssertsEnabled *bool `xml:"vAssertsEnabled" json:"vAssertsEnabled,omitempty"`
 89538  	// Setting to control enabling/disabling changed block tracking for
 89539  	// the virtual disks of this VM.
 89540  	//
 89541  	// This may only be set if the
 89542  	// `changeTrackingSupported`
 89543  	// capability is true for this virtual machine. Any change to this property
 89544  	// will take effect the next time the virtual machine powers on, resumes
 89545  	// from a suspended state, performs a snapshot create/delete/revert operation
 89546  	// or migrates while powered on.
 89547  	//
 89548  	// Reconfigure privilege: VirtualMachine.Config.ChangeTracking
 89549  	// (also required when setting this property while creating a virtual machine)
 89550  	ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled" json:"changeTrackingEnabled,omitempty"`
 89551  	// Set the desired firmware type for this Virtual Machine.
 89552  	//
 89553  	// Possible values are described in
 89554  	// `GuestOsDescriptorFirmwareType_enum`
 89555  	Firmware string `xml:"firmware,omitempty" json:"firmware,omitempty"`
 89556  	// If set, this setting limits the maximum number of active remote
 89557  	// display connections that the virtual machine will support to
 89558  	// the specified value.
 89559  	//
 89560  	// Reconfigure privilege: VirtualMachine.Config.MksControl
 89561  	MaxMksConnections int32 `xml:"maxMksConnections,omitempty" json:"maxMksConnections,omitempty"`
 89562  	// If set to True, this causes the guest operating system to automatically
 89563  	// logout any active sessions whenever there are no remote display
 89564  	// connections open to the virtual machine.
 89565  	//
 89566  	// Reconfigure privilege: VirtualMachine.Config.MksControl
 89567  	GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled" json:"guestAutoLockEnabled,omitempty"`
 89568  	// Specifies that this VM is managed by a VC Extension.
 89569  	//
 89570  	// This information is primarily used in the Client to show a custom icon for
 89571  	// managed virtual machines, and a description of the function of the virtual
 89572  	// machine. If no extension can be found with the extension key in the
 89573  	// `managedBy` object, or the type is not found
 89574  	// in the `managedEntityInfo` list of the
 89575  	// extension, the default virtual machine icon is used, and no description is
 89576  	// shown.
 89577  	// To unset this field pass a `ManagedByInfo` object with an
 89578  	// empty `extensionKey`.
 89579  	//
 89580  	// Reconfigure privilege: VirtualMachine.Config.ManagedBy
 89581  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 89582  	// If set true, memory resource reservation for this virtual machine will always be
 89583  	// equal to the virtual machine's memory size; increases in memory size will be
 89584  	// rejected when a corresponding reservation increase is not possible.
 89585  	//
 89586  	// This feature
 89587  	// may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
 89588  	//
 89589  	// Reconfigure privilege: VirtualMachine.Config.Resource
 89590  	MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax" json:"memoryReservationLockedToMax,omitempty"`
 89591  	// Specifies that this VM will use nested hardware-assisted virtualization.
 89592  	//
 89593  	// When creating a new VM:
 89594  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
 89595  	// and this flag is set to <code>false</code> error is returned.
 89596  	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
 89597  	// <code>true</code>, the value of this flag is set to <code>true</code>.
 89598  	//
 89599  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89600  	NestedHVEnabled *bool `xml:"nestedHVEnabled" json:"nestedHVEnabled,omitempty"`
 89601  	// Specifies that this VM will have virtual CPU performance counters
 89602  	// enabled.
 89603  	//
 89604  	// Reconfigure privilege: VirtualMachine.Config.Settings
 89605  	VPMCEnabled *bool `xml:"vPMCEnabled" json:"vPMCEnabled,omitempty"`
 89606  	// Configuration of scheduled hardware upgrades.
 89607  	//
 89608  	// Reconfigure privilege: VirtualMachine.Config.UpgradeVirtualHardware
 89609  	//
 89610  	// See also `ScheduledHardwareUpgradeInfo`.
 89611  	ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty" json:"scheduledHardwareUpgradeInfo,omitempty"`
 89612  	// Virtual Machine Profile requirement.
 89613  	//
 89614  	// Profiles are solution specific.
 89615  	// Profile Based Storage Management is a vSphere server extension.
 89616  	// API users who want to provision VMs using Storage Profiles, need to
 89617  	// interact with it.
 89618  	// This is an optional parameter and if user doesn't specify profile,
 89619  	// the default behavior will apply.
 89620  	VmProfile []BaseVirtualMachineProfileSpec `xml:"vmProfile,omitempty,typeattr" json:"vmProfile,omitempty"`
 89621  	// Whether to allow tunneling of clients from the guest VM into the
 89622  	// common message bus on the host network.
 89623  	MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled" json:"messageBusTunnelEnabled,omitempty"`
 89624  	// Virtual Machine cryptographic options.
 89625  	//
 89626  	// The cryptographic options are inherited to all disks of the VM.
 89627  	// The cryptographic options for a disk can be different by setting
 89628  	// its CryptoSpec.
 89629  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 89630  	// An enum describing whether encrypted vMotion is required for this VM.
 89631  	//
 89632  	// Supported values are listed in `VirtualMachineConfigSpecEncryptedVMotionModes_enum`.
 89633  	// This defaults to opportunistic for a regular VM, and will be set to
 89634  	// required for an encrypted VM.
 89635  	MigrateEncryption string `xml:"migrateEncryption,omitempty" json:"migrateEncryption,omitempty"`
 89636  	// Configuration of SGX, Software Guard Extensions for the VM.
 89637  	SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty"`
 89638  	// An enum describing whether encrypted Fault Tolerance is required
 89639  	// for this VM.
 89640  	//
 89641  	// Supported values are listed in `VirtualMachineConfigSpecEncryptedFtModes_enum`.
 89642  	// \- This defaults to opportunistic for a regular VM, and will be set to
 89643  	// required for an encrypted VM.
 89644  	// \- If this property is unset, the mode of encrypted Fault Tolerance
 89645  	// will be set to opportunistic.
 89646  	FtEncryptionMode string `xml:"ftEncryptionMode,omitempty" json:"ftEncryptionMode,omitempty" vim:"7.0.2.0"`
 89647  	// Configuration of GMM, Guest Monitoring Mode for the VM.
 89648  	GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty" json:"guestMonitoringModeInfo,omitempty"`
 89649  	// SEV (Secure Encrypted Virtualization) enabled or not.
 89650  	//
 89651  	// SEV is enabled when
 89652  	// set to true, and disabled otherwise.
 89653  	SevEnabled *bool `xml:"sevEnabled" json:"sevEnabled,omitempty" vim:"7.0.1.0"`
 89654  	// Virtual NUMA information for this VM.
 89655  	VirtualNuma *VirtualMachineVirtualNuma `xml:"virtualNuma,omitempty" json:"virtualNuma,omitempty" vim:"8.0.0.1"`
 89656  	// One of motherboardLayout choices.
 89657  	//
 89658  	// Default is i440bxHostBridge. See
 89659  	// `VirtualHardware.motherboardLayout`
 89660  	MotherboardLayout string `xml:"motherboardLayout,omitempty" json:"motherboardLayout,omitempty" vim:"8.0.0.1"`
 89661  	// Property to enable/disable PMem HA failover.
 89662  	//
 89663  	// \- When set to TRUE, VMs configured to use PMem
 89664  	// will be failed over to other hosts by HA, but the data
 89665  	// in NVDIMM is not persistent.
 89666  	// \- When set to FALSE, VMs configured to use PMem will not
 89667  	// be failed over to other hosts by HA.
 89668  	// Property is currently only applicable to VMs with NVDimms and
 89669  	// will fail to set True if vPMem disks are present.
 89670  	PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled" json:"pmemFailoverEnabled,omitempty" vim:"7.0.2.0"`
 89671  	// Property to enable/disable VMXStats Collection.
 89672  	//
 89673  	// \- Setting this property is only allowed when the VM is powered off
 89674  	// and will fail otherwise.
 89675  	// \- When set to TRUE, VMs will be configured to create a
 89676  	// scoreboard file to store certain stats for various VMX
 89677  	// components.
 89678  	VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled" json:"vmxStatsCollectionEnabled,omitempty" vim:"7.0.3.1"`
 89679  	// Property to enable/disable operation notification to applications.
 89680  	//
 89681  	// \- When set to TRUE, application running inside the VM will be
 89682  	// notified of operations for which they have registered.
 89683  	// \- If unset defaults to FALSE, no notifications are sent to the
 89684  	// application.
 89685  	VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled" json:"vmOpNotificationToAppEnabled,omitempty" vim:"7.0.3.0"`
 89686  	// Operation notification timeout in seconds.
 89687  	//
 89688  	// \- Specifies the maximum time duration the applications may take to
 89689  	// prepare for the operation after its been notified. This value is used
 89690  	// only if `VirtualMachineConfigSpec.vmOpNotificationToAppEnabled` is set to TRUE.
 89691  	// \- Timeout has to be a non-zero positive value for applications to
 89692  	// be able to register and get notifications.
 89693  	VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty" json:"vmOpNotificationTimeout,omitempty" vim:"8.0.0.1"`
 89694  	// Status of the device swap operation.
 89695  	DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty" json:"deviceSwap,omitempty" vim:"8.0.0.1"`
 89696  	// Number of SMT (Simultaneous multithreading) threads.
 89697  	//
 89698  	// \- Set "simultaneousThreads" with a non-zero value to configure threads.
 89699  	// \- If unset, then use system defaults.
 89700  	SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty" json:"simultaneousThreads,omitempty" vim:"8.0.0.1"`
 89701  	// Configuration for virtual persistent memory.
 89702  	Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty" json:"pmem,omitempty" vim:"7.0.3.0"`
 89703  	// Assignable hardware device groups.
 89704  	DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty" json:"deviceGroups,omitempty" vim:"8.0.0.1"`
 89705  	// Indicates whether support to add and remove fixed passthrough
 89706  	// devices when the VM is running should be enabled.
 89707  	//
 89708  	// This property can only be set when the VM is powered off. If set,
 89709  	// additional setup will be performed when the VM is powered on
 89710  	// so that hot adding and removing fixed passthrough devices will
 89711  	// be possible.
 89712  	// NOTE: When setting this to true, the memory reservation should
 89713  	// be equal to the guest memory size or the option to reserve all
 89714  	// guest memory should be selected. If unset, the current value
 89715  	// is left unchanged.
 89716  	FixedPassthruHotPlugEnabled *bool `xml:"fixedPassthruHotPlugEnabled" json:"fixedPassthruHotPlugEnabled,omitempty" vim:"8.0.1.0"`
 89717  	// Indicates whether FT Metro Cluster is enabled/disabled.
 89718  	//
 89719  	// \- If TRUE, FT Metro Cluster is enabled for the VM. An implicit
 89720  	// Anti-HostGroup will be generated from HostGroup defined for FT
 89721  	// primary, then affine the primary with one HostGroup and affine the
 89722  	// secondary with another HostGroup.
 89723  	// \- If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT
 89724  	// primary and secondary will be put in the same HostGroup.
 89725  	MetroFtEnabled *bool `xml:"metroFtEnabled" json:"metroFtEnabled,omitempty" vim:"8.0.3.0"`
 89726  	// Indicate the Host Group (`ClusterHostGroup`) for FT
 89727  	// Metro Cluster enabled Virtual Machine.
 89728  	//
 89729  	// Based on the selected Host Group, FT can divide the hosts in the cluster
 89730  	// into two groups and ensure to place FT primary and FT secondary in
 89731  	// different groups.
 89732  	MetroFtHostGroup string `xml:"metroFtHostGroup,omitempty" json:"metroFtHostGroup,omitempty" vim:"8.0.3.0"`
 89733  	// TDX (Trust Domain Extensions) enabled or not.
 89734  	//
 89735  	// TDX is enabled when
 89736  	// set to true, and disabled otherwise.
 89737  	TdxEnabled *bool `xml:"tdxEnabled" json:"tdxEnabled,omitempty" vim:"9.0.0.0"`
 89738  	// SEV-SNP (Secure Encrypted Virtualization Secure Nested paging) enabled or
 89739  	// not.
 89740  	//
 89741  	// SEV-SNP is enabled when set to true, and disabled otherwise.
 89742  	SevSnpEnabled *bool `xml:"sevSnpEnabled" json:"sevSnpEnabled,omitempty" vim:"9.0.0.0"`
 89743  }
 89744  
 89745  func init() {
 89746  	t["VirtualMachineConfigSpec"] = reflect.TypeOf((*VirtualMachineConfigSpec)(nil)).Elem()
 89747  }
 89748  
 89749  // A subset of virtual machine configuration.
 89750  type VirtualMachineConfigSummary struct {
 89751  	DynamicData
 89752  
 89753  	// Name of the virtual machine.
 89754  	Name string `xml:"name" json:"name"`
 89755  	// Flag to determine whether or not this virtual machine is a template.
 89756  	Template bool `xml:"template" json:"template"`
 89757  	// Path name to the configuration file for the virtual machine
 89758  	VmPathName string `xml:"vmPathName" json:"vmPathName"`
 89759  	// Memory size of the virtual machine, in megabytes.
 89760  	MemorySizeMB int32 `xml:"memorySizeMB,omitempty" json:"memorySizeMB,omitempty"`
 89761  	// Configured CPU reservation in MHz
 89762  	CpuReservation int32 `xml:"cpuReservation,omitempty" json:"cpuReservation,omitempty"`
 89763  	// Configured Memory reservation in MB
 89764  	MemoryReservation int32 `xml:"memoryReservation,omitempty" json:"memoryReservation,omitempty"`
 89765  	// Number of processors in the virtual machine.
 89766  	NumCpu int32 `xml:"numCpu,omitempty" json:"numCpu,omitempty"`
 89767  	// Number of virtual network adapters.
 89768  	NumEthernetCards int32 `xml:"numEthernetCards,omitempty" json:"numEthernetCards,omitempty"`
 89769  	// Number of virtual disks attached to the virtual machine.
 89770  	NumVirtualDisks int32 `xml:"numVirtualDisks,omitempty" json:"numVirtualDisks,omitempty"`
 89771  	// Virtual machine BIOS identification.
 89772  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 89773  	// VC-specific identifier of the virtual machine
 89774  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 89775  	// Guest operating system identifier (short name).
 89776  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 89777  	// Guest operating system name configured on the virtual machine.
 89778  	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
 89779  	// Description for the virtual machine.
 89780  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 89781  	// Product information.
 89782  	//
 89783  	// References to properties in the URLs are expanded.
 89784  	Product *VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
 89785  	// Whether the VM requires a reboot to finish installation.
 89786  	//
 89787  	// False if no vApp
 89788  	// meta-data is configured.
 89789  	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
 89790  	// Fault Tolerance settings for this virtual machine.
 89791  	//
 89792  	// This property will be populated only for fault tolerance virtual
 89793  	// machines and will be left unset for all other virtual machines.
 89794  	// See `FaultToleranceConfigInfo` for a description.
 89795  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
 89796  	// Specifies that this VM is managed by a VC Extension.
 89797  	//
 89798  	// See the
 89799  	// `managedBy` property in the ConfigSpec
 89800  	// for more details.
 89801  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 89802  	// Is TPM present in a VM?
 89803  	TpmPresent *bool `xml:"tpmPresent" json:"tpmPresent,omitempty"`
 89804  	// Number of VMIOP backed devices attached to the virtual machine.
 89805  	NumVmiopBackings int32 `xml:"numVmiopBackings,omitempty" json:"numVmiopBackings,omitempty"`
 89806  	// The hardware version string for this virtual machine.
 89807  	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty"`
 89808  }
 89809  
 89810  func init() {
 89811  	t["VirtualMachineConfigSummary"] = reflect.TypeOf((*VirtualMachineConfigSummary)(nil)).Elem()
 89812  }
 89813  
 89814  // The `VirtualMachineConnection` object describes a connection to the virtual
 89815  // machine.
 89816  type VirtualMachineConnection struct {
 89817  	DynamicData
 89818  
 89819  	// The unique identifier associated with the connection.
 89820  	//
 89821  	// The label is a UTF-8 string which specifies a unique identifier for
 89822  	// a connection.
 89823  	Label string `xml:"label" json:"label"`
 89824  	// The client identifer.
 89825  	//
 89826  	// This identifier is a UTF-8 string which is semantically meaningful
 89827  	// for the connection. Examples of the client identifier are an IP
 89828  	// address (V4 or V6) with or without a port specification, a machine
 89829  	// name that requires a DNS lookup, or any other network oriented
 89830  	// identification scheme.
 89831  	Client string `xml:"client" json:"client"`
 89832  	// The name of the user authorizing the connection.
 89833  	//
 89834  	// This is used for auditing.
 89835  	UserName string `xml:"userName" json:"userName"`
 89836  }
 89837  
 89838  func init() {
 89839  	t["VirtualMachineConnection"] = reflect.TypeOf((*VirtualMachineConnection)(nil)).Elem()
 89840  	minAPIVersionForType["VirtualMachineConnection"] = "7.0.1.0"
 89841  }
 89842  
 89843  // Preferences for the legacy console application that affect the way it behaves during power
 89844  // operations on the virtual machine.
 89845  type VirtualMachineConsolePreferences struct {
 89846  	DynamicData
 89847  
 89848  	// Power on the virtual machine when it is opened in the console.
 89849  	PowerOnWhenOpened *bool `xml:"powerOnWhenOpened" json:"powerOnWhenOpened,omitempty"`
 89850  	// Enter full screen mode when this virtual machine is powered on.
 89851  	EnterFullScreenOnPowerOn *bool `xml:"enterFullScreenOnPowerOn" json:"enterFullScreenOnPowerOn,omitempty"`
 89852  	// Close the console application when the virtual machine is powered off
 89853  	// or suspended.
 89854  	CloseOnPowerOffOrSuspend *bool `xml:"closeOnPowerOffOrSuspend" json:"closeOnPowerOffOrSuspend,omitempty"`
 89855  }
 89856  
 89857  func init() {
 89858  	t["VirtualMachineConsolePreferences"] = reflect.TypeOf((*VirtualMachineConsolePreferences)(nil)).Elem()
 89859  }
 89860  
 89861  // Describes the content library item information
 89862  // associated with the virtual machine.
 89863  type VirtualMachineContentLibraryItemInfo struct {
 89864  	DynamicData
 89865  
 89866  	// The content library item UUID
 89867  	ContentLibraryItemUuid string `xml:"contentLibraryItemUuid" json:"contentLibraryItemUuid"`
 89868  	// The content library item version is determined and
 89869  	// managed by content library and this field stamps the version
 89870  	// provided by CL to the VM.
 89871  	ContentLibraryItemVersion string `xml:"contentLibraryItemVersion,omitempty" json:"contentLibraryItemVersion,omitempty"`
 89872  }
 89873  
 89874  func init() {
 89875  	t["VirtualMachineContentLibraryItemInfo"] = reflect.TypeOf((*VirtualMachineContentLibraryItemInfo)(nil)).Elem()
 89876  }
 89877  
 89878  // Wrapper class to support incremental updates of the cpuFeatureMask.
 89879  //
 89880  // As of vSphere API 6.5 `VirtualMachineConfigSpec.extraConfig` is the recommended method
 89881  // for setting the mask for a virtual machine with hardware version 9 and
 89882  // above (newer). They can be viewed via
 89883  // `featureMask`.
 89884  type VirtualMachineCpuIdInfoSpec struct {
 89885  	ArrayUpdateSpec
 89886  
 89887  	Info *HostCpuIdInfo `xml:"info,omitempty" json:"info,omitempty"`
 89888  }
 89889  
 89890  func init() {
 89891  	t["VirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*VirtualMachineCpuIdInfoSpec)(nil)).Elem()
 89892  }
 89893  
 89894  // DatastoreInfo describes a datastore that a virtual disk can be
 89895  // stored on.
 89896  type VirtualMachineDatastoreInfo struct {
 89897  	VirtualMachineTargetInfo
 89898  
 89899  	// Information about the datastore
 89900  	Datastore DatastoreSummary `xml:"datastore" json:"datastore"`
 89901  	// Information about the datastore capabilities
 89902  	Capability DatastoreCapability `xml:"capability" json:"capability"`
 89903  	// The maximum size of a file that can reside on this datastore.
 89904  	MaxFileSize int64 `xml:"maxFileSize" json:"maxFileSize"`
 89905  	// The maximum capacity of a virtual disk which can be created on this volume
 89906  	MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty" json:"maxVirtualDiskCapacity,omitempty"`
 89907  	// Maximum raw device mapping size (physical compatibility)
 89908  	MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty" json:"maxPhysicalRDMFileSize,omitempty"`
 89909  	// Maximum raw device mapping size (virtual compatibility)
 89910  	MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty" json:"maxVirtualRDMFileSize,omitempty"`
 89911  	// Access mode for this datastore.
 89912  	//
 89913  	// This is either
 89914  	// readOnly or readWrite. A virtual disk needs to be
 89915  	// stored on readWrite datastore. ISOs can be read
 89916  	// from a readOnly datastore.
 89917  	//
 89918  	// See also `HostMountMode_enum`.
 89919  	Mode string `xml:"mode" json:"mode"`
 89920  	// Indicate the states of vStorage hardware acceleration
 89921  	// support for this datastore.
 89922  	//
 89923  	// In the case of a cluster compute resource, this property
 89924  	// is aggregated from the values reported by individual hosts
 89925  	// as follows:
 89926  	//   - If at least one host reports
 89927  	//     `vStorageSupported`,
 89928  	//     then it is set to
 89929  	//     `vStorageSupported`.
 89930  	//   - Else if at least one host reports
 89931  	//     `vStorageUnknown`,
 89932  	//     it is set to
 89933  	//     `vStorageUnknown`.
 89934  	//   - Else if at least one host reports
 89935  	//     `vStorageUnsupported`,
 89936  	//     it is set to
 89937  	//     `vStorageUnsupported`.
 89938  	//   - Else it is unset.
 89939  	//
 89940  	// See also `FileSystemMountInfoVStorageSupportStatus_enum`.
 89941  	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty"`
 89942  	// A list of virtual disk format types which are supported
 89943  	// on that datastore.
 89944  	//
 89945  	// See `DatastoreSectorFormat_enum` for the list
 89946  	// of supported types.
 89947  	SupportedVDiskFormats []string `xml:"supportedVDiskFormats,omitempty" json:"supportedVDiskFormats,omitempty" vim:"9.0.0.0"`
 89948  }
 89949  
 89950  func init() {
 89951  	t["VirtualMachineDatastoreInfo"] = reflect.TypeOf((*VirtualMachineDatastoreInfo)(nil)).Elem()
 89952  }
 89953  
 89954  // This data object type describes a file system volume option for this
 89955  // virtual machine.
 89956  type VirtualMachineDatastoreVolumeOption struct {
 89957  	DynamicData
 89958  
 89959  	// The type name of the file system volume information object for this
 89960  	// option.
 89961  	//
 89962  	// See also `HostFileSystemVolumeInfo`.
 89963  	FileSystemType string `xml:"fileSystemType" json:"fileSystemType"`
 89964  	// The major version of the file system volume information for this
 89965  	// option.
 89966  	//
 89967  	// If not specified, all versions of this file system are included
 89968  	// in this option. Currently, this value is set only for VMFS volumes.
 89969  	MajorVersion int32 `xml:"majorVersion,omitempty" json:"majorVersion,omitempty"`
 89970  }
 89971  
 89972  func init() {
 89973  	t["VirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*VirtualMachineDatastoreVolumeOption)(nil)).Elem()
 89974  }
 89975  
 89976  // The DefaultPowerOpInfo data object type holds the configured defaults for the power
 89977  // operations on a virtual machine.
 89978  //
 89979  // The properties indicated whether to do a "soft"
 89980  // or guest initiated operation, or a "hard" operation.
 89981  type VirtualMachineDefaultPowerOpInfo struct {
 89982  	DynamicData
 89983  
 89984  	// Describes the default power off type for this virtual machine.
 89985  	//
 89986  	// The possible values are specified by the PowerOpType.
 89987  	//   - hard - Perform power off by using the PowerOff method.
 89988  	//   - soft - Perform power off by using the ShutdownGuest method.
 89989  	//   - preset - The preset value is specified in the defaultPowerOffType
 89990  	//     section.
 89991  	//
 89992  	// This setting is advisory and clients can choose to ignore it.
 89993  	PowerOffType string `xml:"powerOffType,omitempty" json:"powerOffType,omitempty"`
 89994  	// Describes the default suspend type for this virtual machine.
 89995  	//
 89996  	// The possible values are specified by the PowerOpType.
 89997  	//   - hard - Perform suspend by using the Suspend method.
 89998  	//   - soft - Perform suspend by using the StandbyGuest method.
 89999  	//   - preset - The preset value is specified in the defaultSuspendType
 90000  	//     section.
 90001  	//
 90002  	// This setting is advisory and clients can choose to ignore it.
 90003  	SuspendType string `xml:"suspendType,omitempty" json:"suspendType,omitempty"`
 90004  	// Describes the default reset type for this virtual machine.
 90005  	//
 90006  	// The possible values are specified by the PowerOpType.
 90007  	//   - hard - Perform reset by using the Reset method.
 90008  	//   - soft - Perform reset by using the RebootGuest method.
 90009  	//   - preset - The preset value is specified in the defaultResetType
 90010  	//     section.
 90011  	//
 90012  	// This setting is advisory and clients can choose to ignore it.
 90013  	ResetType string `xml:"resetType,omitempty" json:"resetType,omitempty"`
 90014  	// Default operation for power off: soft or hard
 90015  	DefaultPowerOffType string `xml:"defaultPowerOffType,omitempty" json:"defaultPowerOffType,omitempty"`
 90016  	// Default operation for suspend: soft or hard
 90017  	DefaultSuspendType string `xml:"defaultSuspendType,omitempty" json:"defaultSuspendType,omitempty"`
 90018  	// Default operation for reset: soft or hard
 90019  	DefaultResetType string `xml:"defaultResetType,omitempty" json:"defaultResetType,omitempty"`
 90020  	// Behavior of virtual machine when it receives the S1 ACPI call.
 90021  	StandbyAction string `xml:"standbyAction,omitempty" json:"standbyAction,omitempty"`
 90022  }
 90023  
 90024  func init() {
 90025  	t["VirtualMachineDefaultPowerOpInfo"] = reflect.TypeOf((*VirtualMachineDefaultPowerOpInfo)(nil)).Elem()
 90026  }
 90027  
 90028  // Used to indicate that the Default Storage Policy of the target datastore
 90029  // be used for a Virtual Machine Home or a Virtual Disk object.
 90030  //
 90031  // Neither the association nor the policy data is persisted in Virtual Machine
 90032  // configuration. This data is managed by an extension of Virtual Center
 90033  // (Storage Policy Based Management).
 90034  type VirtualMachineDefaultProfileSpec struct {
 90035  	VirtualMachineProfileSpec
 90036  }
 90037  
 90038  func init() {
 90039  	t["VirtualMachineDefaultProfileSpec"] = reflect.TypeOf((*VirtualMachineDefaultProfileSpec)(nil)).Elem()
 90040  }
 90041  
 90042  // Policy specification that carries a pre-defined Storage Policy to be associated
 90043  // with a Virtual Machine Home or a Virtual Disk object.
 90044  //
 90045  // Such a pre-defined
 90046  // policy can be either be vSphere Storage Administrator defined or may come
 90047  // from a set of pre-defined policies from Storage Vendor.
 90048  //
 90049  // Neither the association nor the policy data is persisted in Virtual Machine
 90050  // configuration. This data is managed by the an extension of Virtual Center
 90051  // (Storage Policy Based Management).
 90052  type VirtualMachineDefinedProfileSpec struct {
 90053  	VirtualMachineProfileSpec
 90054  
 90055  	// Storage Policy Profile identification - Should be
 90056  	// pbm.profileId but for implementation reasons, could not be.
 90057  	ProfileId string `xml:"profileId" json:"profileId"`
 90058  	// Specification containing replication related parameters, sent to the Replication Data Service
 90059  	// provider.
 90060  	ReplicationSpec *ReplicationSpec `xml:"replicationSpec,omitempty" json:"replicationSpec,omitempty"`
 90061  	// Profile data sent to the Storage Backend by vSphere.
 90062  	//
 90063  	// This data is provided by the SPBM component of the vSphere platform.
 90064  	// This field should not be set by Virtual Center users.
 90065  	ProfileData *VirtualMachineProfileRawData `xml:"profileData,omitempty" json:"profileData,omitempty"`
 90066  	// Parameterized Storage Profiles
 90067  	// Extra configuration that is not expressed as a capability in the Profile
 90068  	// definition.
 90069  	ProfileParams []KeyValue `xml:"profileParams,omitempty" json:"profileParams,omitempty"`
 90070  }
 90071  
 90072  func init() {
 90073  	t["VirtualMachineDefinedProfileSpec"] = reflect.TypeOf((*VirtualMachineDefinedProfileSpec)(nil)).Elem()
 90074  }
 90075  
 90076  // The DeviceRuntimeInfo data object type provides information about
 90077  // the execution state of a single virtual device.
 90078  type VirtualMachineDeviceRuntimeInfo struct {
 90079  	DynamicData
 90080  
 90081  	// The device runtime state.
 90082  	RuntimeState BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState `xml:"runtimeState,typeattr" json:"runtimeState"`
 90083  	// The device key.
 90084  	Key int32 `xml:"key" json:"key"`
 90085  }
 90086  
 90087  func init() {
 90088  	t["VirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfo)(nil)).Elem()
 90089  }
 90090  
 90091  // Runtime state of a device.
 90092  //
 90093  // Subclassed for information that is specific
 90094  // to certain device types.
 90095  type VirtualMachineDeviceRuntimeInfoDeviceRuntimeState struct {
 90096  	DynamicData
 90097  }
 90098  
 90099  func init() {
 90100  	t["VirtualMachineDeviceRuntimeInfoDeviceRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoDeviceRuntimeState)(nil)).Elem()
 90101  }
 90102  
 90103  // Runtime state of a virtual ethernet card device.
 90104  type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState struct {
 90105  	VirtualMachineDeviceRuntimeInfoDeviceRuntimeState
 90106  
 90107  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 90108  	// supported and there is no replacement.
 90109  	//
 90110  	// Flag to indicate whether VMDirectPath Gen 2 is active on this device.
 90111  	//
 90112  	// If false, the reason(s) for inactivity will be provided in one or
 90113  	// more of `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`,
 90114  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`,
 90115  	// and `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended`.
 90116  	VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active" json:"vmDirectPathGen2Active,omitempty"`
 90117  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 90118  	// supported and there is no replacement.
 90119  	//
 90120  	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this array will be
 90121  	// populated with reasons for the inactivity that are related to virtual
 90122  	// machine state or configuration (chosen from
 90123  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum`).
 90124  	//
 90125  	// Other reasons for
 90126  	// inactivity will be provided in
 90127  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`. If there is a reason
 90128  	// for inactivity that cannot be described by the available constants,
 90129  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended` will be populated
 90130  	// with an additional explanation provided by the platform.
 90131  	//
 90132  	// Note that this list of reasons is not guaranteed to be exhaustive.
 90133  	VmDirectPathGen2InactiveReasonVm []string `xml:"vmDirectPathGen2InactiveReasonVm,omitempty" json:"vmDirectPathGen2InactiveReasonVm,omitempty"`
 90134  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 90135  	// supported and there is no replacement.
 90136  	//
 90137  	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this array will be
 90138  	// populated with reasons for the inactivity that are not related to
 90139  	// virtual machine state or configuration (chosen from
 90140  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum`).
 90141  	//
 90142  	// Virtual machine
 90143  	// related reasons for inactivity will be provided in
 90144  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`. If there is a reason
 90145  	// for inactivity that cannot be described by the available constants,
 90146  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended` will be populated
 90147  	// with an additional explanation provided by the platform.
 90148  	//
 90149  	// Note that this list of reasons is not guaranteed to be exhaustive.
 90150  	//
 90151  	// See also `HostCapability.vmDirectPathGen2Supported`.
 90152  	VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty" json:"vmDirectPathGen2InactiveReasonOther,omitempty"`
 90153  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 90154  	// supported and there is no replacement.
 90155  	//
 90156  	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this property may
 90157  	// contain an explanation provided by the platform, beyond the reasons
 90158  	// (if any) enumerated in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`
 90159  	// and/or `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`.
 90160  	VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty" json:"vmDirectPathGen2InactiveReasonExtended,omitempty"`
 90161  	// Flag to indicate whether UPTv2(Uniform Pass-through version 2) is active
 90162  	// on this device.
 90163  	//
 90164  	// If true, the network adapter works in the pass-through mode.
 90165  	// If false, the network adapter still has the network connectivity but
 90166  	// works in emulated mode and pass-through is not enabled.
 90167  	// The reason for inactivity is provided in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm`
 90168  	// and/or `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther`.
 90169  	// This flag is unset if not applicable. It indicates network adapter is not a
 90170  	// vmxnet3 adapter or `VirtualVmxnet3.uptv2Enabled` of it
 90171  	// is not set to true.
 90172  	Uptv2Active *bool `xml:"uptv2Active" json:"uptv2Active,omitempty" vim:"8.0.0.1"`
 90173  	// When `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is false, this field will be
 90174  	// populated with reasons for the inactivity that are related to virtual
 90175  	// machine state or configuration (chosen from
 90176  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum`).
 90177  	//
 90178  	// Other reasons for
 90179  	// inactivity will be provided in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther`.
 90180  	// This field will be unset if `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is true or unset.
 90181  	//
 90182  	// Note that this field of reasons is not guaranteed to be exhaustive.
 90183  	Uptv2InactiveReasonVm []string `xml:"uptv2InactiveReasonVm,omitempty" json:"uptv2InactiveReasonVm,omitempty" vim:"8.0.0.1"`
 90184  	// When `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is false, this field will be
 90185  	// populated with reasons for the inactivity that are not related to
 90186  	// virtual machine state or configuration (chosen from
 90187  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum`).
 90188  	//
 90189  	// Virtual machine
 90190  	// related reasons for inactivity will be provided in
 90191  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm`.
 90192  	// This field will be unset if `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is true or unset.
 90193  	//
 90194  	// Note that this field of reasons is not guaranteed to be exhaustive.
 90195  	Uptv2InactiveReasonOther []string `xml:"uptv2InactiveReasonOther,omitempty" json:"uptv2InactiveReasonOther,omitempty" vim:"8.0.0.1"`
 90196  	// The status indicating whether network reservation requirement is violated
 90197  	// or not on the virtual network adapter.
 90198  	//
 90199  	// See `ManagedEntityStatus_enum`
 90200  	// for possible values.
 90201  	//
 90202  	// `red` indicates that reservation specified on the virtual
 90203  	// network adapter is not being fulfilled. This can happen if the reservation requested is
 90204  	// greater than the available capacity reserved for virtual machine traffic on the host.
 90205  	//
 90206  	// `green` indicates that the reservation specified on the
 90207  	// virtual network adapter is being fulfilled.
 90208  	ReservationStatus string `xml:"reservationStatus,omitempty" json:"reservationStatus,omitempty"`
 90209  	// The status indicating the state of virtual network adapter's attachment
 90210  	// to an opaque network.
 90211  	//
 90212  	// See `ManagedEntityStatus_enum` for possible values.
 90213  	//
 90214  	// `red` indicates that the network adapter
 90215  	// is not yet successfully attached to opaque network. This can happen if
 90216  	// corresponding attachment port is missing in the kernel.
 90217  	//
 90218  	// `green` indicates that the network
 90219  	// adapater is successfully attached to opaque network.
 90220  	AttachmentStatus string `xml:"attachmentStatus,omitempty" json:"attachmentStatus,omitempty"`
 90221  	// These network adapter requirements must have equivalent capabilities
 90222  	// on the virtual switch in order to power on or migrate to the host.
 90223  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 90224  }
 90225  
 90226  func init() {
 90227  	t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState)(nil)).Elem()
 90228  }
 90229  
 90230  // The DiskDeviceInfo class contains basic information about a specific disk hardware
 90231  // device.
 90232  type VirtualMachineDiskDeviceInfo struct {
 90233  	VirtualMachineTargetInfo
 90234  
 90235  	// Size of disk
 90236  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 90237  	// List of known virtual machines using this physical disk as a backing
 90238  	//
 90239  	// Refers instances of `VirtualMachine`.
 90240  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 90241  }
 90242  
 90243  func init() {
 90244  	t["VirtualMachineDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineDiskDeviceInfo)(nil)).Elem()
 90245  }
 90246  
 90247  // This data object defines a two-dimensional, rectangular
 90248  // display area.
 90249  type VirtualMachineDisplayTopology struct {
 90250  	DynamicData
 90251  
 90252  	// The x co-ordinate defining the start of the display rectangle.
 90253  	X int32 `xml:"x" json:"x"`
 90254  	// The y co-ordinate defining the start of the display rectangle.
 90255  	Y int32 `xml:"y" json:"y"`
 90256  	// The width of the display rectangle.
 90257  	Width int32 `xml:"width" json:"width"`
 90258  	// The height of the display rectangle.
 90259  	Height int32 `xml:"height" json:"height"`
 90260  }
 90261  
 90262  func init() {
 90263  	t["VirtualMachineDisplayTopology"] = reflect.TypeOf((*VirtualMachineDisplayTopology)(nil)).Elem()
 90264  }
 90265  
 90266  // Description of a Device Virtualization Extensions (DVX) device class.
 90267  type VirtualMachineDvxClassInfo struct {
 90268  	DynamicData
 90269  
 90270  	// DVX device class.
 90271  	DeviceClass BaseElementDescription `xml:"deviceClass,typeattr" json:"deviceClass"`
 90272  	// The label for the vendor name of this class.
 90273  	//
 90274  	// The value is defined by vendors of the DVX device class
 90275  	// as part of their localizable messages.
 90276  	VendorName string `xml:"vendorName" json:"vendorName"`
 90277  	// Indicates whether the devices of this class are SR-IOV NICs.
 90278  	SriovNic bool `xml:"sriovNic" json:"sriovNic"`
 90279  	// The configuration parameters for this DVX device class.
 90280  	ConfigParams []OptionDef `xml:"configParams,omitempty" json:"configParams,omitempty"`
 90281  }
 90282  
 90283  func init() {
 90284  	t["VirtualMachineDvxClassInfo"] = reflect.TypeOf((*VirtualMachineDvxClassInfo)(nil)).Elem()
 90285  	minAPIVersionForType["VirtualMachineDvxClassInfo"] = "8.0.0.1"
 90286  }
 90287  
 90288  // Description of a Dynamic DirectPath PCI device.
 90289  type VirtualMachineDynamicPassthroughInfo struct {
 90290  	VirtualMachineTargetInfo
 90291  
 90292  	// The vendor name of this PCI device.
 90293  	VendorName string `xml:"vendorName" json:"vendorName"`
 90294  	// The device name of this PCI device.
 90295  	DeviceName string `xml:"deviceName" json:"deviceName"`
 90296  	// The custom label attached to this PCI device.
 90297  	CustomLabel string `xml:"customLabel,omitempty" json:"customLabel,omitempty"`
 90298  	// PCI vendor ID for this device.
 90299  	VendorId int32 `xml:"vendorId" json:"vendorId"`
 90300  	// PCI device ID for this device.
 90301  	DeviceId int32 `xml:"deviceId" json:"deviceId"`
 90302  }
 90303  
 90304  func init() {
 90305  	t["VirtualMachineDynamicPassthroughInfo"] = reflect.TypeOf((*VirtualMachineDynamicPassthroughInfo)(nil)).Elem()
 90306  }
 90307  
 90308  // The EmptyIndependentFilterSpec data object is used to specify empty independent
 90309  // filter spec.
 90310  //
 90311  // This obejct is passed during provisioning workflows to remove all
 90312  // attached independent filters.
 90313  type VirtualMachineEmptyIndependentFilterSpec struct {
 90314  	VirtualMachineBaseIndependentFilterSpec
 90315  }
 90316  
 90317  func init() {
 90318  	t["VirtualMachineEmptyIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineEmptyIndependentFilterSpec)(nil)).Elem()
 90319  	minAPIVersionForType["VirtualMachineEmptyIndependentFilterSpec"] = "7.0.2.1"
 90320  }
 90321  
 90322  // Specifies an empty Storage Policy for a Virtual Machine Home or a
 90323  // Virtual Disk object.
 90324  //
 90325  // The object is left without any profile association, and hence has no
 90326  // explicit policy driven requirements.
 90327  // This implies that object's policy driven SLAs are always met trivially.
 90328  type VirtualMachineEmptyProfileSpec struct {
 90329  	VirtualMachineProfileSpec
 90330  }
 90331  
 90332  func init() {
 90333  	t["VirtualMachineEmptyProfileSpec"] = reflect.TypeOf((*VirtualMachineEmptyProfileSpec)(nil)).Elem()
 90334  }
 90335  
 90336  // Feature requirement contains a key, featureName and an opaque value
 90337  type VirtualMachineFeatureRequirement struct {
 90338  	DynamicData
 90339  
 90340  	// Accessor name to the feature requirement test
 90341  	Key string `xml:"key" json:"key"`
 90342  	// Name of the feature.
 90343  	//
 90344  	// Identical to the key.
 90345  	FeatureName string `xml:"featureName" json:"featureName"`
 90346  	// Opaque value for the feature operation.
 90347  	//
 90348  	// Operation is contained
 90349  	// in the value.
 90350  	Value string `xml:"value" json:"value"`
 90351  }
 90352  
 90353  func init() {
 90354  	t["VirtualMachineFeatureRequirement"] = reflect.TypeOf((*VirtualMachineFeatureRequirement)(nil)).Elem()
 90355  }
 90356  
 90357  // The FileInfo data object type contains the locations of virtual machine
 90358  // files other than the virtual disk files.
 90359  //
 90360  // The configurable parameters
 90361  // are all in the FileInfo object.
 90362  //
 90363  // The object also contains a FileLayout object that returns a complete
 90364  // list of additional files that makes up the virtual machine
 90365  // configuration. This is a read-only structure and is returned when
 90366  // the configuration is read. This is ignored during configuration and
 90367  // can be left out.
 90368  type VirtualMachineFileInfo struct {
 90369  	DynamicData
 90370  
 90371  	// Path name to the configuration file for the virtual machine, e.g., the
 90372  	// .vmx file.
 90373  	//
 90374  	// This also implicitly defines the configuration directory.
 90375  	VmPathName string `xml:"vmPathName,omitempty" json:"vmPathName,omitempty"`
 90376  	// Path name of the directory that holds suspend and snapshot files
 90377  	// belonging to the virtual machine.
 90378  	//
 90379  	// Prior to vSphere 5.0, this
 90380  	// directory also holds snapshot redo files. Starting with vSphere 5.0,
 90381  	// the redo files will stay in the same directory as the snapshotted
 90382  	// disk, thus this directory will no longer hold the snapshot redo
 90383  	// files.
 90384  	//
 90385  	// This path name defaults to the same directory as the configuration
 90386  	// file.
 90387  	//
 90388  	// ESX Server requires this to indicate a VMFS volume or NAS volume
 90389  	// (for ESX Server 3).
 90390  	// In case the configuration file is not stored on VMFS or NAS, this
 90391  	// property must be set explicitly.
 90392  	SnapshotDirectory string `xml:"snapshotDirectory,omitempty" json:"snapshotDirectory,omitempty"`
 90393  	// Some products allow the suspend directory to be different than the
 90394  	// snapshot directory.
 90395  	//
 90396  	// On products where this is not possible, setting
 90397  	// of this property is ignored.
 90398  	SuspendDirectory string `xml:"suspendDirectory,omitempty" json:"suspendDirectory,omitempty"`
 90399  	// Directory to store the log files for the virtual machine.
 90400  	//
 90401  	// If not specified,
 90402  	// this defaults to the same directory as the configuration file,
 90403  	LogDirectory string `xml:"logDirectory,omitempty" json:"logDirectory,omitempty"`
 90404  	// Directory to store the fault tolerance meta data files for the
 90405  	// virtual machine.
 90406  	FtMetadataDirectory string `xml:"ftMetadataDirectory,omitempty" json:"ftMetadataDirectory,omitempty"`
 90407  }
 90408  
 90409  func init() {
 90410  	t["VirtualMachineFileInfo"] = reflect.TypeOf((*VirtualMachineFileInfo)(nil)).Elem()
 90411  }
 90412  
 90413  // Deprecated as of vSphere API 4.0, use `VirtualMachineFileLayoutEx` instead.
 90414  //
 90415  // Describes the set of files that makes up a virtual machine on disk.
 90416  //
 90417  // The
 90418  // file layout is broken into 4 major sections:
 90419  //   - Configuration: Files stored in the configuration directory
 90420  //   - Log: Files stored in the log directory
 90421  //   - Disk: Files stored relative to a disk configuration file
 90422  //   - Snapshot: Stored in the snapshot directory
 90423  //
 90424  // Often the same directory is used for configuration, log, disk and
 90425  // snapshots.
 90426  type VirtualMachineFileLayout struct {
 90427  	DynamicData
 90428  
 90429  	// A list of files that makes up the configuration of the virtual machine
 90430  	// (excluding the .vmx file, since that file is represented in the
 90431  	// FileInfo).
 90432  	//
 90433  	// These are relative paths from the configuration directory. A
 90434  	// slash is always used as a separator. This list will typically include the
 90435  	// NVRAM file, but could also include other meta-data files.
 90436  	ConfigFile []string `xml:"configFile,omitempty" json:"configFile,omitempty"`
 90437  	// A list of files stored in the virtual machine's log directory.
 90438  	//
 90439  	// These are
 90440  	// relative paths from the logDirectory. A slash is always used as a
 90441  	// separator.
 90442  	LogFile []string `xml:"logFile,omitempty" json:"logFile,omitempty"`
 90443  	// Files making up each virtual disk.
 90444  	Disk []VirtualMachineFileLayoutDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
 90445  	// Files of each snapshot.
 90446  	Snapshot []VirtualMachineFileLayoutSnapshotLayout `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 90447  	// The swapfile specific to this virtual machine, if any.
 90448  	//
 90449  	// This is a
 90450  	// complete datastore path, not a relative path.
 90451  	SwapFile string `xml:"swapFile,omitempty" json:"swapFile,omitempty"`
 90452  }
 90453  
 90454  func init() {
 90455  	t["VirtualMachineFileLayout"] = reflect.TypeOf((*VirtualMachineFileLayout)(nil)).Elem()
 90456  }
 90457  
 90458  // Enumerats the set of files for each virtual disk.
 90459  type VirtualMachineFileLayoutDiskLayout struct {
 90460  	DynamicData
 90461  
 90462  	// Identification of the disk in `config`.
 90463  	Key int32 `xml:"key" json:"key"`
 90464  	// List of files that makes up the virtual disk.
 90465  	//
 90466  	// At least one entry
 90467  	// always exists in this array. The first entry is the main
 90468  	// descriptor of the virtual disk (the one used when adding the
 90469  	// disk to a virtual machine). These are complete datastore paths, not
 90470  	// relative paths.
 90471  	DiskFile []string `xml:"diskFile" json:"diskFile"`
 90472  }
 90473  
 90474  func init() {
 90475  	t["VirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutDiskLayout)(nil)).Elem()
 90476  }
 90477  
 90478  // Detailed description of files that make up a virtual machine on disk.
 90479  //
 90480  // The
 90481  // file layout is broken into 4 major sections:
 90482  //   - Configuration: Files stored in the configuration directory
 90483  //   - Log: Files stored in the log directory
 90484  //   - Disk: Files stored relative to a disk configuration file
 90485  //   - Snapshot: Stored in the snapshot directory
 90486  //
 90487  // Often the same directory is used for configuration, log, disk and
 90488  // snapshots.
 90489  type VirtualMachineFileLayoutEx struct {
 90490  	DynamicData
 90491  
 90492  	// Information about all the files that constitute the virtual machine
 90493  	// including configuration files, disks, swap file, suspend file, log files,
 90494  	// core files, memory file etc.
 90495  	//
 90496  	// `VirtualMachineFileLayoutExFileType_enum` lists the
 90497  	// different file-types that make a virtual machine.
 90498  	File []VirtualMachineFileLayoutExFileInfo `xml:"file,omitempty" json:"file,omitempty"`
 90499  	// Layout of each virtual disk attached to the virtual machine.
 90500  	//
 90501  	// For a virtual machine with snaphots, this property gives only those disks
 90502  	// that are attached to it at the current point of running.
 90503  	Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
 90504  	// Layout of each snapshot of the virtual machine.
 90505  	Snapshot []VirtualMachineFileLayoutExSnapshotLayout `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 90506  	// Time when values in this structure were last updated.
 90507  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 90508  }
 90509  
 90510  func init() {
 90511  	t["VirtualMachineFileLayoutEx"] = reflect.TypeOf((*VirtualMachineFileLayoutEx)(nil)).Elem()
 90512  }
 90513  
 90514  // Layout of a virtual disk, including the base- and delta- disks.
 90515  //
 90516  // A virtual disk typically is made up of a chain of disk-units.
 90517  type VirtualMachineFileLayoutExDiskLayout struct {
 90518  	DynamicData
 90519  
 90520  	// Identifier for the virtual disk in `VirtualHardware.device`.
 90521  	Key int32 `xml:"key" json:"key"`
 90522  	// The sector format of the virtual disk.
 90523  	//
 90524  	// See `DatastoreSectorFormat_enum` for definitions of supported types. If not
 90525  	// set, the default value is `native_512`.
 90526  	VirtualDiskFormat string `xml:"virtualDiskFormat,omitempty" json:"virtualDiskFormat,omitempty" vim:"9.0.0.0"`
 90527  	// The disk-unit chain that makes up this virtual disk.
 90528  	Chain []VirtualMachineFileLayoutExDiskUnit `xml:"chain,omitempty" json:"chain,omitempty"`
 90529  }
 90530  
 90531  func init() {
 90532  	t["VirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskLayout)(nil)).Elem()
 90533  }
 90534  
 90535  // Information about a single unit of a virtual disk, such as
 90536  // the base-disk or a delta-disk.
 90537  //
 90538  // A disk-unit consists of at least one descriptor
 90539  // file, and zero or more extent files.
 90540  //
 90541  // Sometimes, a disk-unit is also referred to as a _backing_.
 90542  type VirtualMachineFileLayoutExDiskUnit struct {
 90543  	DynamicData
 90544  
 90545  	// Array of keys of the files that make up the disk unit.
 90546  	//
 90547  	// Values here
 90548  	// correspond to property `VirtualMachineFileLayoutExFileInfo.key` in
 90549  	// `VirtualMachineFileLayoutEx.file`.
 90550  	//
 90551  	// At least one entry always exists in this array. Property
 90552  	// `VirtualMachineFileLayoutExFileInfo.type` of the referenced file
 90553  	// can be used to distinguish the disk descriptor (type `diskDescriptor`) from the extents.
 90554  	FileKey []int32 `xml:"fileKey" json:"fileKey"`
 90555  }
 90556  
 90557  func init() {
 90558  	t["VirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskUnit)(nil)).Elem()
 90559  }
 90560  
 90561  // Basic information about a file.
 90562  type VirtualMachineFileLayoutExFileInfo struct {
 90563  	DynamicData
 90564  
 90565  	// Key to reference this file.
 90566  	Key int32 `xml:"key" json:"key"`
 90567  	// Name of the file, including the complete datastore path.
 90568  	Name string `xml:"name" json:"name"`
 90569  	// Type of the file.
 90570  	//
 90571  	// `VirtualMachineFileLayoutExFileType_enum` lists
 90572  	// all valid values.
 90573  	Type string `xml:"type" json:"type"`
 90574  	// Size of the file in bytes.
 90575  	Size int64 `xml:"size" json:"size"`
 90576  	// Size of the file in bytes corresponding to the file blocks
 90577  	// that were allocated uniquely.
 90578  	//
 90579  	// In other words, if the underlying
 90580  	// storage supports sharing of file blocks across disk files, the
 90581  	// property corresponds to the size of the file blocks that were
 90582  	// allocated only in context of this file, i.e. it does not include
 90583  	// shared blocks that were allocated in other files.
 90584  	// This property will be unset if the underlying implementation
 90585  	// is unable to compute this information. One example of this
 90586  	// is when the file resides on a NAS datastore whose underlying
 90587  	// storage doesn't support this metric. In some cases the field
 90588  	// might be set but the value could be over-estimated due to
 90589  	// the inability of the NAS based storage to provide an
 90590  	// accurate value.
 90591  	UniqueSize int64 `xml:"uniqueSize,omitempty" json:"uniqueSize,omitempty"`
 90592  	// Backing object's durable and unmutable identifier.
 90593  	//
 90594  	// Each backing object has a unique identifier which is not settable.
 90595  	// This property is applied to the file backed by a storage object,
 90596  	// such as vvol.
 90597  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
 90598  	// Flag which indicates the accessibility of the file
 90599  	// when the file info object was created.
 90600  	Accessible *bool `xml:"accessible" json:"accessible,omitempty"`
 90601  }
 90602  
 90603  func init() {
 90604  	t["VirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileInfo)(nil)).Elem()
 90605  }
 90606  
 90607  // Layout of a snapshot.
 90608  type VirtualMachineFileLayoutExSnapshotLayout struct {
 90609  	DynamicData
 90610  
 90611  	// Reference to the snapshot.
 90612  	//
 90613  	// Refers instance of `VirtualMachineSnapshot`.
 90614  	Key ManagedObjectReference `xml:"key" json:"key"`
 90615  	// Key to the snapshot data file in `VirtualMachineFileLayoutEx.file`.
 90616  	DataKey int32 `xml:"dataKey" json:"dataKey"`
 90617  	// Key to the snapshot memory file in `VirtualMachineFileLayoutEx.file`.
 90618  	//
 90619  	// Powered off snapshots do not have a memory component and in some cases
 90620  	// the memory component is combined with the data component. When a memory
 90621  	// component does not exist, the value is initialized to -1.
 90622  	MemoryKey int32 `xml:"memoryKey,omitempty" json:"memoryKey,omitempty"`
 90623  	// Layout of each virtual disk of the virtual machine when the
 90624  	// snapshot was taken.
 90625  	Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
 90626  }
 90627  
 90628  func init() {
 90629  	t["VirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem()
 90630  }
 90631  
 90632  // Enumerates the set of files that make up a snapshot or redo-point
 90633  type VirtualMachineFileLayoutSnapshotLayout struct {
 90634  	DynamicData
 90635  
 90636  	// Identification of the snapshot
 90637  	//
 90638  	// Refers instance of `VirtualMachineSnapshot`.
 90639  	Key ManagedObjectReference `xml:"key" json:"key"`
 90640  	// A list of files that make up the snapshot state.
 90641  	//
 90642  	// These are relative
 90643  	// paths from the snapshotDirectory. A slash is always used as a
 90644  	// separator.
 90645  	SnapshotFile []string `xml:"snapshotFile" json:"snapshotFile"`
 90646  }
 90647  
 90648  func init() {
 90649  	t["VirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutSnapshotLayout)(nil)).Elem()
 90650  }
 90651  
 90652  // The FlagInfo data object type encapsulates the flag settings
 90653  // for a virtual machine.
 90654  //
 90655  // These properties are optional since the same structure
 90656  // is used to change the values during an edit or create operation.
 90657  type VirtualMachineFlagInfo struct {
 90658  	DynamicData
 90659  
 90660  	// Flag to turn off video acceleration for a virtual machine console window.
 90661  	DisableAcceleration *bool `xml:"disableAcceleration" json:"disableAcceleration,omitempty"`
 90662  	// Flag to enable logging for a virtual machine.
 90663  	EnableLogging *bool `xml:"enableLogging" json:"enableLogging,omitempty"`
 90664  	// Flag to specify whether or not to use TOE (TCP/IP Offloading).
 90665  	UseToe *bool `xml:"useToe" json:"useToe,omitempty"`
 90666  	// Deprecated as of VI API 2.5, use `VirtualMachineFlagInfo.monitorType`.
 90667  	//
 90668  	// Flag to specify whether or not to run in debug mode.
 90669  	RunWithDebugInfo *bool `xml:"runWithDebugInfo" json:"runWithDebugInfo,omitempty"`
 90670  	// vmx process type.
 90671  	//
 90672  	// See `VirtualMachineFlagInfoMonitorType_enum`
 90673  	// for possible values for this property.
 90674  	MonitorType string `xml:"monitorType,omitempty" json:"monitorType,omitempty"`
 90675  	// Deprecated as of vSphere API 6.7.
 90676  	//
 90677  	// Specifies how the VCPUs of a virtual machine are allowed to
 90678  	// share physical cores on a hyperthreaded system.
 90679  	//
 90680  	// Two VCPUs are
 90681  	// "sharing" a core if they are both running on logical CPUs of
 90682  	// the core at the same time.
 90683  	//
 90684  	// See also `VirtualMachineHtSharing_enum`.
 90685  	HtSharing string `xml:"htSharing,omitempty" json:"htSharing,omitempty"`
 90686  	// Deprecated as of vSphere API 4.0. The flag is ignored by the server.
 90687  	//
 90688  	// Flag to specify whether snapshots are disabled for this virtual
 90689  	// machine.
 90690  	SnapshotDisabled *bool `xml:"snapshotDisabled" json:"snapshotDisabled,omitempty"`
 90691  	// Flag to specify whether the snapshot tree is locked for this virtual machine.
 90692  	SnapshotLocked *bool `xml:"snapshotLocked" json:"snapshotLocked,omitempty"`
 90693  	// Indicates whether disk UUIDs are being used by this virtual machine.
 90694  	//
 90695  	// If this flag is set to false, disk UUIDs are not exposed to the guest.
 90696  	//
 90697  	// Since products before ESX 3.1 do not support disk UUIDs, moving virtual
 90698  	// machines from a platform that supports UUID to a platform that does
 90699  	// not support UUIDs could result in unspecified guest behavior. For
 90700  	// virtual machines where the ability to move to older platforms is
 90701  	// important, this flag should be set to false. If the value is unset,
 90702  	// the behavior 'false' will be used.
 90703  	DiskUuidEnabled *bool `xml:"diskUuidEnabled" json:"diskUuidEnabled,omitempty"`
 90704  	// Indicates whether or not the system will try to use nested page
 90705  	// table hardware support, if available.
 90706  	//
 90707  	// By default, VMware software will determine whether or not
 90708  	// to use nested page table hardware support based on various factors such
 90709  	// as the guest operating system type and the physical hardware.
 90710  	// Certain workloads can benefit from explicitly turning
 90711  	// nested page table hardware support on or off; this can be set using
 90712  	// nptUsage flag.
 90713  	// If the value is unset, the value will default to automatic.
 90714  	//
 90715  	// `VirtualMachineFlagInfoVirtualMmuUsage_enum` represents the set of
 90716  	// possible values.
 90717  	VirtualMmuUsage string `xml:"virtualMmuUsage,omitempty" json:"virtualMmuUsage,omitempty"`
 90718  	// Indicates whether or not the system will try to use Hardware
 90719  	// Virtualization (HV) support for instruction virtualization,
 90720  	// if available.
 90721  	//
 90722  	// By default, VMware software will determine whether or not
 90723  	// to use hardware virtualization support based on various factors such
 90724  	// as the guest operating system type and the physical hardware.
 90725  	// Certain workloads can benefit from explicitly turning
 90726  	// hardware virtualization support on or off.
 90727  	// If the value is unset, the value will default to hvAuto.
 90728  	//
 90729  	// `VirtualMachineFlagInfoVirtualExecUsage_enum` represents the set of
 90730  	// possible values.
 90731  	//
 90732  	// New processors can enable two hardware acceleration technologies
 90733  	// for virtualization, one for instruction virtualization and the
 90734  	// other for MMU virtualization. Intel names its hardware-assisted
 90735  	// instruction virtualization as VT, and its hardware-assisted
 90736  	// MMU virtualization as EPT. AMD calls them as AMD-V and RVI,
 90737  	// respectively. For details on these technologies, please refer
 90738  	// to documents from the processor vendors.
 90739  	//
 90740  	// `VirtualMachineFlagInfo.virtualExecUsage` controls instruction
 90741  	// virtualization; while `VirtualMachineFlagInfo.virtualMmuUsage`
 90742  	// controls MMU virtualization. "On" allows hardware acceleration,
 90743  	// while "off" only allows software solution.
 90744  	//
 90745  	// There are four meaningful combinations.
 90746  	//
 90747  	// (hvAuto, automatic) - The host chooses which feature to use.
 90748  	// (hvOn, on) - Use both VT/AMD-V and EPT/RVI.
 90749  	// (hvOn, off) - Use VT/AMD-V but do not use EPT/RVI.
 90750  	// (hvOff, off) - Do not use any of these hardware acceleration technologies.
 90751  	VirtualExecUsage string `xml:"virtualExecUsage,omitempty" json:"virtualExecUsage,omitempty"`
 90752  	// Specifies the power-off behavior for a virtual machine that has
 90753  	// a snapshot.
 90754  	//
 90755  	// If the value is unset, the behavior 'powerOff' will
 90756  	// be used.
 90757  	//
 90758  	// See also `VirtualMachinePowerOffBehavior_enum`.
 90759  	SnapshotPowerOffBehavior string `xml:"snapshotPowerOffBehavior,omitempty" json:"snapshotPowerOffBehavior,omitempty"`
 90760  	// Deprecated as of vSphere API 6.0.
 90761  	//
 90762  	// Flag to specify whether record and replay operations are
 90763  	// allowed for this virtual machine.
 90764  	//
 90765  	// If this flag is set to 'true', instruction virtualization
 90766  	// will use hardware virtualization (HV) support. I.e.,
 90767  	// virtualExecUsage will be set to 'hvOn'.
 90768  	// If this flag is set to 'false' for a virtual machine that
 90769  	// already has a recording, replay will be disallowed, though
 90770  	// the recording will be preserved.
 90771  	// If the value is unset, the behavior 'false' will be used.
 90772  	RecordReplayEnabled *bool `xml:"recordReplayEnabled" json:"recordReplayEnabled,omitempty"`
 90773  	// Indicates the type of fault tolerance type the virtual machine is
 90774  	// configured to use.
 90775  	//
 90776  	// `VirtualMachineFaultToleranceType_enum` represents the set of
 90777  	// possible values.
 90778  	FaultToleranceType string `xml:"faultToleranceType,omitempty" json:"faultToleranceType,omitempty"`
 90779  	// Flag to specify whether common CBRC digest cache is enabled for this
 90780  	// virtual machine.
 90781  	//
 90782  	// The common CBRC cache is shared between the hot added disks in the VM.
 90783  	// If this flag is set to 'true' the VM will allocate a commont digest
 90784  	// cache on power on.
 90785  	CbrcCacheEnabled *bool `xml:"cbrcCacheEnabled" json:"cbrcCacheEnabled,omitempty"`
 90786  	// Flag to specify if Intel Virtualization Technology for Directed I/O
 90787  	// is enabled for this virtual machine.
 90788  	//
 90789  	// When creating a new VM:
 90790  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
 90791  	// and this flag is set to <code>false</code> error is returned.
 90792  	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
 90793  	// <code>true</code>, the value of this flag is set to <code>true</code>.
 90794  	VvtdEnabled *bool `xml:"vvtdEnabled" json:"vvtdEnabled,omitempty"`
 90795  	// Flag to specify if Virtualization-based security
 90796  	// is enabled for this virtual machine.
 90797  	//
 90798  	// If set to <code>true</code> when creating a new VM, the following VM
 90799  	// properties might be modified automatically:
 90800  	// \- If vim.vm.FlagInfo.vvtdEnabled is not set to <code>false</code>,
 90801  	// it is set to <code>true</code>. Else error is returned.
 90802  	// \- If vim.vm.ConfigSpec.nestedHVEnabled is not set to <code>false</code>,
 90803  	// it is set to <code>true</code>. Else error is returned.
 90804  	// \- If vim.vm.BootOptions.efiSecureBootEnabled is not set to
 90805  	// <code>false</code>, it is set to <code>true</code>. Else error is
 90806  	// returned.
 90807  	// \- If vim.vm.firmware is not set to <code>bios</code>, it is set
 90808  	// to <code>efi</code>. Else error is returned.
 90809  	VbsEnabled *bool `xml:"vbsEnabled" json:"vbsEnabled,omitempty"`
 90810  }
 90811  
 90812  func init() {
 90813  	t["VirtualMachineFlagInfo"] = reflect.TypeOf((*VirtualMachineFlagInfo)(nil)).Elem()
 90814  }
 90815  
 90816  // FloppyInfo class contains information about a physical floppy
 90817  // drive on the host.
 90818  type VirtualMachineFloppyInfo struct {
 90819  	VirtualMachineTargetInfo
 90820  }
 90821  
 90822  func init() {
 90823  	t["VirtualMachineFloppyInfo"] = reflect.TypeOf((*VirtualMachineFloppyInfo)(nil)).Elem()
 90824  }
 90825  
 90826  // This data object describes the fork configuration of this
 90827  // virtual machine.
 90828  type VirtualMachineForkConfigInfo struct {
 90829  	DynamicData
 90830  
 90831  	// Flag to indicate whether this virtual machine is a parent enabled
 90832  	// virtual machine.
 90833  	//
 90834  	// If this vm is not a parent enabled vm this
 90835  	// property will be unset.
 90836  	// When set into the vim.vm.ConfigSpec this flag will be ignored.
 90837  	ParentEnabled *bool `xml:"parentEnabled" json:"parentEnabled,omitempty"`
 90838  	// The fork group ID identifies the parent group of which this child
 90839  	// VirtualMachine is a child.
 90840  	//
 90841  	// Applicable for child VirtualMachines only.
 90842  	ChildForkGroupId string `xml:"childForkGroupId,omitempty" json:"childForkGroupId,omitempty"`
 90843  	// The fork group ID identifies the parent group which this VirtualMachine
 90844  	// belongs to.
 90845  	//
 90846  	// Applicable for parent VirtualMachines only.
 90847  	ParentForkGroupId string `xml:"parentForkGroupId,omitempty" json:"parentForkGroupId,omitempty"`
 90848  	// The flag to indicate the fork child type.
 90849  	//
 90850  	// For a persistent child
 90851  	// virtual machine, once it is powered on, it will become a linked
 90852  	// clone of its parent and this flag will be set to 'none'.
 90853  	//
 90854  	// See also `VirtualMachineForkConfigInfoChildType_enum`.
 90855  	ChildType string `xml:"childType,omitempty" json:"childType,omitempty"`
 90856  }
 90857  
 90858  func init() {
 90859  	t["VirtualMachineForkConfigInfo"] = reflect.TypeOf((*VirtualMachineForkConfigInfo)(nil)).Elem()
 90860  }
 90861  
 90862  // This data object describes the guest integrity platform configuration of
 90863  // this virtual machine.
 90864  type VirtualMachineGuestIntegrityInfo struct {
 90865  	DynamicData
 90866  
 90867  	// Flag to indicate whether guest integrity platform feature is enabled for
 90868  	// this virtual machine.
 90869  	//
 90870  	// Guest integrity adds capabilities in the virtual
 90871  	// platform to detect attacks on the guest OS kernel
 90872  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 90873  }
 90874  
 90875  func init() {
 90876  	t["VirtualMachineGuestIntegrityInfo"] = reflect.TypeOf((*VirtualMachineGuestIntegrityInfo)(nil)).Elem()
 90877  }
 90878  
 90879  // This data object describes the GMM (Guest Mode Monitoring) configuration
 90880  // of this virtual machine.
 90881  type VirtualMachineGuestMonitoringModeInfo struct {
 90882  	DynamicData
 90883  
 90884  	GmmFile      string `xml:"gmmFile,omitempty" json:"gmmFile,omitempty"`
 90885  	GmmAppliance string `xml:"gmmAppliance,omitempty" json:"gmmAppliance,omitempty"`
 90886  }
 90887  
 90888  func init() {
 90889  	t["VirtualMachineGuestMonitoringModeInfo"] = reflect.TypeOf((*VirtualMachineGuestMonitoringModeInfo)(nil)).Elem()
 90890  }
 90891  
 90892  // This data object type encapsulates configuration settings
 90893  // when creating a virtual machine quiesced snapshot.
 90894  type VirtualMachineGuestQuiesceSpec struct {
 90895  	DynamicData
 90896  
 90897  	// The property to indicate maximum time in minutes for snapshot operation
 90898  	// to be performed on the virtual machine.
 90899  	//
 90900  	// The timeout can not be less than 5 minutes or more than 240 minutes.
 90901  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 90902  }
 90903  
 90904  func init() {
 90905  	t["VirtualMachineGuestQuiesceSpec"] = reflect.TypeOf((*VirtualMachineGuestQuiesceSpec)(nil)).Elem()
 90906  }
 90907  
 90908  // A subset of virtual machine guest information.
 90909  type VirtualMachineGuestSummary struct {
 90910  	DynamicData
 90911  
 90912  	// Guest operating system identifier (short name), if known.
 90913  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 90914  	// Guest operating system name configured on the virtual machine.
 90915  	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
 90916  	// Deprecated as of vSphere API 5.0 use `VirtualMachineGuestSummary.toolsVersionStatus2` and
 90917  	// `VirtualMachineGuestSummary.toolsRunningStatus`.
 90918  	//
 90919  	// Current status of VMware Tools in the guest operating system, if known.
 90920  	ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty" json:"toolsStatus,omitempty"`
 90921  	// Deprecated as of vSphere API 5.0 use `VirtualMachineGuestSummary.toolsVersionStatus2`.
 90922  	//
 90923  	// Current version status of VMware Tools in the guest operating system,
 90924  	// if known.
 90925  	ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty" json:"toolsVersionStatus,omitempty"`
 90926  	// Current version status of VMware Tools in the guest operating system,
 90927  	// if known.
 90928  	ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty" json:"toolsVersionStatus2,omitempty"`
 90929  	// Current running status of VMware Tools in the guest operating system,
 90930  	// if known.
 90931  	ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty" json:"toolsRunningStatus,omitempty"`
 90932  	// Hostname of the guest operating system, if known.
 90933  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 90934  	// Primary IP address assigned to the guest operating system, if known.
 90935  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 90936  	// The hardware version string for this virtual machine.
 90937  	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty"`
 90938  }
 90939  
 90940  func init() {
 90941  	t["VirtualMachineGuestSummary"] = reflect.TypeOf((*VirtualMachineGuestSummary)(nil)).Elem()
 90942  }
 90943  
 90944  // The IdeDiskDeviceInfo class contains detailed information about a specific
 90945  // IDE disk hardware device.
 90946  //
 90947  // These devices are for the
 90948  // vim.vm.device.VirtualDisk.RawDiskVer2BackingInfo and
 90949  // vim.vm.device.VirtualDisk.PartitionedRawDiskVer2BackingInfo backings.
 90950  type VirtualMachineIdeDiskDeviceInfo struct {
 90951  	VirtualMachineDiskDeviceInfo
 90952  
 90953  	PartitionTable []VirtualMachineIdeDiskDevicePartitionInfo `xml:"partitionTable,omitempty" json:"partitionTable,omitempty"`
 90954  }
 90955  
 90956  func init() {
 90957  	t["VirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDeviceInfo)(nil)).Elem()
 90958  }
 90959  
 90960  // Describes the partition sizes
 90961  type VirtualMachineIdeDiskDevicePartitionInfo struct {
 90962  	DynamicData
 90963  
 90964  	// Identification of the partition
 90965  	Id int32 `xml:"id" json:"id"`
 90966  	// Size of partition
 90967  	Capacity int32 `xml:"capacity" json:"capacity"`
 90968  }
 90969  
 90970  func init() {
 90971  	t["VirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem()
 90972  }
 90973  
 90974  // A VmImportSpec is used by `ResourcePool.importVApp` when importing entities.
 90975  //
 90976  // It provides all information needed to import a `VirtualMachine`. So far,
 90977  // this coincides with `VirtualMachineConfigSpec`.
 90978  //
 90979  // A VmImportSpec can be contained in a `VirtualAppImportSpec` as part of
 90980  // the ImportSpec for an entity.
 90981  //
 90982  // See also `ImportSpec`.
 90983  type VirtualMachineImportSpec struct {
 90984  	ImportSpec
 90985  
 90986  	// Configuration for the virtual machine.
 90987  	ConfigSpec VirtualMachineConfigSpec `xml:"configSpec" json:"configSpec"`
 90988  	// Deprecated as of vSphere API 5.1.
 90989  	//
 90990  	// If specified, this resource pool will be used as the parent resource pool and the
 90991  	// virtual machine will be made a linked child to the parent vApp.
 90992  	//
 90993  	// This field is ignored
 90994  	// for the root node in an ImportSpec tree.
 90995  	//
 90996  	// Refers instance of `ResourcePool`.
 90997  	ResPoolEntity *ManagedObjectReference `xml:"resPoolEntity,omitempty" json:"resPoolEntity,omitempty"`
 90998  }
 90999  
 91000  func init() {
 91001  	t["VirtualMachineImportSpec"] = reflect.TypeOf((*VirtualMachineImportSpec)(nil)).Elem()
 91002  }
 91003  
 91004  // The IndependentFilterSpec data object is used to specify the independent
 91005  // filters to be associated with virtual machine disks.
 91006  type VirtualMachineIndependentFilterSpec struct {
 91007  	VirtualMachineBaseIndependentFilterSpec
 91008  
 91009  	// Name/id of the IO filter.
 91010  	FilterName string `xml:"filterName" json:"filterName"`
 91011  	// IO filter class.
 91012  	FilterClass string `xml:"filterClass,omitempty" json:"filterClass,omitempty"`
 91013  	// Capabilities defined by the above filter.
 91014  	//
 91015  	// Basically this key value pair define the configurable properties
 91016  	// of the independent filters. Users can specify desired values.
 91017  	FilterCapabilities []KeyValue `xml:"filterCapabilities,omitempty" json:"filterCapabilities,omitempty"`
 91018  }
 91019  
 91020  func init() {
 91021  	t["VirtualMachineIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineIndependentFilterSpec)(nil)).Elem()
 91022  	minAPIVersionForType["VirtualMachineIndependentFilterSpec"] = "7.0.2.1"
 91023  }
 91024  
 91025  // Specification for creating an Instant Clone of a powered-on virtual machine.
 91026  type VirtualMachineInstantCloneSpec struct {
 91027  	DynamicData
 91028  
 91029  	// The name of the cloned virtual machine.
 91030  	Name string `xml:"name" json:"name"`
 91031  	// A type of `VirtualMachineRelocateSpec` that specifies the location of
 91032  	// resources the newly created virtual machine will use.
 91033  	//
 91034  	// The location might be empty or specify:
 91035  	//   - The folder where the virtual machine should be located. If not
 91036  	//     specified, the root VM folder of the source VM will be used.
 91037  	//   - A datastore where the InstantCloned virtual machine will be located
 91038  	//     on the physical storage.
 91039  	//   - A resource pool determines where compute resources will be
 91040  	//     available to the clone.
 91041  	//   - A device change specification. The only allowed device changes
 91042  	//     are edits of VirtualEthernetCard and filebacked Serial/Parallel
 91043  	//     ports.
 91044  	//
 91045  	// All other settings are NOT supported.
 91046  	Location VirtualMachineRelocateSpec `xml:"location" json:"location"`
 91047  	// A list of key value pairs that will be passed to the destination VM.
 91048  	//
 91049  	// These pairs should be used to provide user-defined customization to
 91050  	// differentiate the destination VM from the source VM. Values will be
 91051  	// queryable via destination VM's `VirtualMachineConfigInfo.extraConfig`.
 91052  	Config []BaseOptionValue `xml:"config,omitempty,typeattr" json:"config,omitempty"`
 91053  	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
 91054  	// in "12345678-abcd-1234-cdef-123456789abc" format.
 91055  	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
 91056  }
 91057  
 91058  func init() {
 91059  	t["VirtualMachineInstantCloneSpec"] = reflect.TypeOf((*VirtualMachineInstantCloneSpec)(nil)).Elem()
 91060  }
 91061  
 91062  // The LegacyNetworkSwitchInfo data object type contains information about
 91063  // the legacy network switches available on the host.
 91064  //   - VMware Server - Options available for the "custom" NetworkBackingType.
 91065  //   - ESX Server - The "esxnet" NetworkBackingType.
 91066  type VirtualMachineLegacyNetworkSwitchInfo struct {
 91067  	DynamicData
 91068  
 91069  	// The name of the network switch.
 91070  	Name string `xml:"name" json:"name"`
 91071  }
 91072  
 91073  func init() {
 91074  	t["VirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*VirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem()
 91075  }
 91076  
 91077  // The VirtualMachineReservationInfo data object type describes the
 91078  // amount of memory that is being reserved for virtual machines on
 91079  // the host, and how additional memory may be acquired.
 91080  type VirtualMachineMemoryReservationInfo struct {
 91081  	DynamicData
 91082  
 91083  	// The minimum amount of memory reserved for all running virtual machines,
 91084  	// in bytes.
 91085  	VirtualMachineMin int64 `xml:"virtualMachineMin" json:"virtualMachineMin"`
 91086  	// The maximum amount of memory reserved for all running virtual machines,
 91087  	// in bytes.
 91088  	VirtualMachineMax int64 `xml:"virtualMachineMax" json:"virtualMachineMax"`
 91089  	// The amount of memory reserved for all running virtual machines,
 91090  	// in bytes.
 91091  	VirtualMachineReserved int64 `xml:"virtualMachineReserved" json:"virtualMachineReserved"`
 91092  	// Policy for allocating additional memory for virtual machines.
 91093  	//
 91094  	// See also `VirtualMachineMemoryAllocationPolicy_enum`.
 91095  	AllocationPolicy string `xml:"allocationPolicy" json:"allocationPolicy"`
 91096  }
 91097  
 91098  func init() {
 91099  	t["VirtualMachineMemoryReservationInfo"] = reflect.TypeOf((*VirtualMachineMemoryReservationInfo)(nil)).Elem()
 91100  }
 91101  
 91102  // The VirtualMachineReservationSpec data object specifies
 91103  // configurable parameters for virtual machine memory reservation.
 91104  type VirtualMachineMemoryReservationSpec struct {
 91105  	DynamicData
 91106  
 91107  	// The amount of memory reserved for all running virtual machines, in
 91108  	// bytes.
 91109  	VirtualMachineReserved int64 `xml:"virtualMachineReserved,omitempty" json:"virtualMachineReserved,omitempty"`
 91110  	// Policy for allocating additional memory for virtual machines.
 91111  	//
 91112  	// See also `VirtualMachineMemoryAllocationPolicy_enum`.
 91113  	AllocationPolicy string `xml:"allocationPolicy,omitempty" json:"allocationPolicy,omitempty"`
 91114  }
 91115  
 91116  func init() {
 91117  	t["VirtualMachineMemoryReservationSpec"] = reflect.TypeOf((*VirtualMachineMemoryReservationSpec)(nil)).Elem()
 91118  }
 91119  
 91120  // Message data which is intended to be displayed according
 91121  // to the locale of a client.
 91122  //
 91123  // A `VirtualMachineMessage` contains both a formatted, localized version of the
 91124  // text and the data needed to perform localization in conjunction
 91125  // with localization catalogs.
 91126  //
 91127  // Clients of the VIM API may use
 91128  // `SessionManager*.*SessionManager.SetLocale`
 91129  // to cause the server to emit localized `VirtualMachineMessage.text`, or may perform
 91130  // client-side localization based on message catalogs provided by the
 91131  // `LocalizationManager`.
 91132  //
 91133  // Message variables are always integers, e.g. {1} and {2}, which are
 91134  // 1-based indexes into `VirtualMachineMessage.argument`.
 91135  //   - The corresponding argument may be a recursive lookup:
 91136  //   - `VirtualMachineMessage.argument` = \["button.cancel", "msg.revert"\]
 91137  //   - CATALOG(locmsg, `VirtualMachineMessage.id`) = "Select '{1}' to {2}"
 91138  //   - CATALOG(locmsg, button.cancel) = "Cancel"
 91139  //   - CATALOG(locmsg, msg.revert) = "revert"
 91140  //   - \==&gt; `VirtualMachineMessage.text` = "Select 'Cancel' to revert"
 91141  //   - If the recursive lookup fails, the argument is a plain string.
 91142  //   - `VirtualMachineMessage.argument` = \["127.0.0.1"\]
 91143  //   - CATALOG(locmsg, `VirtualMachineMessage.id`) = "IP address is {1}"
 91144  //   - \==&gt; `VirtualMachineMessage.text` "IP address is 127.0.0.1"
 91145  //
 91146  // See also `LocalizationManager`.
 91147  type VirtualMachineMessage struct {
 91148  	DynamicData
 91149  
 91150  	// A unique identifier for this particular message.
 91151  	//
 91152  	// This field is a key for looking up format strings in the locmsg
 91153  	// catalog.
 91154  	Id string `xml:"id" json:"id"`
 91155  	// Substitution arguments for variables in the localized message.
 91156  	//
 91157  	// Substitution variables in the format string identified by `VirtualMachineMessage.id`
 91158  	// are 1-based indexes into this array. Substitution variable {1}
 91159  	// corresponds to argument\[0\], etc.
 91160  	Argument []AnyType `xml:"argument,omitempty,typeattr" json:"argument,omitempty"`
 91161  	// Text in session locale.
 91162  	//
 91163  	// Use `SessionManager*.*SessionManager.SetLocale` to
 91164  	// change the session locale.
 91165  	Text string `xml:"text,omitempty" json:"text,omitempty"`
 91166  }
 91167  
 91168  func init() {
 91169  	t["VirtualMachineMessage"] = reflect.TypeOf((*VirtualMachineMessage)(nil)).Elem()
 91170  }
 91171  
 91172  // VmMetadata is a pair of VM ID and opaque metadata.
 91173  type VirtualMachineMetadataManagerVmMetadata struct {
 91174  	DynamicData
 91175  
 91176  	// Datastore URL-based ID for VM, for example,
 91177  	// "\[datastore1\] SomeVM/SomeVM.vmx".
 91178  	VmId string `xml:"vmId" json:"vmId"`
 91179  	// Opaque metadata for the VM identified by vmId.
 91180  	//
 91181  	// If no
 91182  	// value is supplied, the entry for this VM is removed.
 91183  	Metadata string `xml:"metadata,omitempty" json:"metadata,omitempty"`
 91184  }
 91185  
 91186  func init() {
 91187  	t["VirtualMachineMetadataManagerVmMetadata"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadata)(nil)).Elem()
 91188  }
 91189  
 91190  // VmMetadataInput specifies the operation and metadata for a
 91191  // specific VM.
 91192  type VirtualMachineMetadataManagerVmMetadataInput struct {
 91193  	DynamicData
 91194  
 91195  	// The input operation type.
 91196  	//
 91197  	// The values come from `VirtualMachineMetadataManagerVmMetadataOp_enum`
 91198  	Operation string `xml:"operation" json:"operation"`
 91199  	// the VM and optional metadata
 91200  	VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata" json:"vmMetadata"`
 91201  }
 91202  
 91203  func init() {
 91204  	t["VirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem()
 91205  }
 91206  
 91207  // VmMetadataOwner defines the namespace for an owner
 91208  type VirtualMachineMetadataManagerVmMetadataOwner struct {
 91209  	DynamicData
 91210  
 91211  	// A string representing the owner.
 91212  	//
 91213  	// Valid values come
 91214  	// from `VirtualMachineMetadataManagerVmMetadataOwnerOwner_enum` for vSAN datastores. Otherwise, the
 91215  	// owner field is interpreted by the implementation based on
 91216  	// the datastore type.
 91217  	Name string `xml:"name" json:"name"`
 91218  }
 91219  
 91220  func init() {
 91221  	t["VirtualMachineMetadataManagerVmMetadataOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwner)(nil)).Elem()
 91222  }
 91223  
 91224  // A list of VmMetadataResults are returned for successful and
 91225  // non-successful results of an update or retrieve operation.
 91226  //
 91227  // See also `VirtualMachineMetadataManager.UpdateMetadata`, `VirtualMachineMetadataManager.RetrieveMetadata`, `VirtualMachineMetadataManager.RetrieveAllMetadata`, `VirtualMachineMetadataManager.ClearMetadata`.
 91228  type VirtualMachineMetadataManagerVmMetadataResult struct {
 91229  	DynamicData
 91230  
 91231  	// The VM-specific metadata
 91232  	VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata" json:"vmMetadata"`
 91233  	// MethodFault set for errors in getting or setting
 91234  	// the VmMetadata.
 91235  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 91236  }
 91237  
 91238  func init() {
 91239  	t["VirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem()
 91240  }
 91241  
 91242  // The `VirtualMachineMksConnection` object describes an MKS style connection
 91243  // to the virtual machine.
 91244  type VirtualMachineMksConnection struct {
 91245  	VirtualMachineConnection
 91246  }
 91247  
 91248  func init() {
 91249  	t["VirtualMachineMksConnection"] = reflect.TypeOf((*VirtualMachineMksConnection)(nil)).Elem()
 91250  	minAPIVersionForType["VirtualMachineMksConnection"] = "7.0.1.0"
 91251  }
 91252  
 91253  // Deprecated as of vSphere API 4.1, use `VirtualMachineTicket`
 91254  // instead.
 91255  //
 91256  // This data object contains the information needed to establish an MKS
 91257  // (mouse-keyboard-screen) connection to a running virtual machine.
 91258  type VirtualMachineMksTicket struct {
 91259  	DynamicData
 91260  
 91261  	// The ticket name.
 91262  	//
 91263  	// This is used as the username and password for the MKS
 91264  	// connection.
 91265  	Ticket string `xml:"ticket" json:"ticket"`
 91266  	// The name of the configuration file for the virtual machine.
 91267  	CfgFile string `xml:"cfgFile" json:"cfgFile"`
 91268  	// The host with which to establish a connection.
 91269  	//
 91270  	// If the host is not specified,
 91271  	// it is assumed that the requesting entity knows the appropriate host with which
 91272  	// to connect.
 91273  	Host string `xml:"host,omitempty" json:"host,omitempty"`
 91274  	// The port number to use.
 91275  	//
 91276  	// If the port is not specified,
 91277  	// it is assumed that the requesting entity knows the appropriate port to
 91278  	// use when making a new connection.
 91279  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 91280  	// The expected thumbprint of the SSL cert of the host to which
 91281  	// we are connecting.
 91282  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 91283  }
 91284  
 91285  func init() {
 91286  	t["VirtualMachineMksTicket"] = reflect.TypeOf((*VirtualMachineMksTicket)(nil)).Elem()
 91287  }
 91288  
 91289  // NetworkInfo describes a network that a device backing
 91290  // can attached to.
 91291  type VirtualMachineNetworkInfo struct {
 91292  	VirtualMachineTargetInfo
 91293  
 91294  	// Information about the network
 91295  	Network BaseNetworkSummary `xml:"network,typeattr" json:"network"`
 91296  	// Key of parent vSwitch of the network
 91297  	Vswitch string `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 91298  }
 91299  
 91300  func init() {
 91301  	t["VirtualMachineNetworkInfo"] = reflect.TypeOf((*VirtualMachineNetworkInfo)(nil)).Elem()
 91302  }
 91303  
 91304  // Network traffic shaping specification.
 91305  //
 91306  // Traffic shaping is used to configure the network utilization
 91307  // characteristics of a virtual machine.
 91308  type VirtualMachineNetworkShaperInfo struct {
 91309  	DynamicData
 91310  
 91311  	// Is the shaper enabled?
 91312  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 91313  	// Peak bandwidth, in bits per second.
 91314  	PeakBps int64 `xml:"peakBps,omitempty" json:"peakBps,omitempty"`
 91315  	// Average bandwidth, in bits per second.
 91316  	AverageBps int64 `xml:"averageBps,omitempty" json:"averageBps,omitempty"`
 91317  	// Burst size, in bytes.
 91318  	BurstSize int64 `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
 91319  }
 91320  
 91321  func init() {
 91322  	t["VirtualMachineNetworkShaperInfo"] = reflect.TypeOf((*VirtualMachineNetworkShaperInfo)(nil)).Elem()
 91323  }
 91324  
 91325  // ParallelInfo class contains information about a physical parallel
 91326  // drive on the host.
 91327  type VirtualMachineParallelInfo struct {
 91328  	VirtualMachineTargetInfo
 91329  }
 91330  
 91331  func init() {
 91332  	t["VirtualMachineParallelInfo"] = reflect.TypeOf((*VirtualMachineParallelInfo)(nil)).Elem()
 91333  }
 91334  
 91335  // Description of a generic PCI device that can be attached to a virtual machine.
 91336  type VirtualMachinePciPassthroughInfo struct {
 91337  	VirtualMachineTargetInfo
 91338  
 91339  	// Details of the PCI device, including vendor, class and
 91340  	// device identification information.
 91341  	PciDevice HostPciDevice `xml:"pciDevice" json:"pciDevice"`
 91342  	// The ID of the system the PCI device is attached to.
 91343  	SystemId string `xml:"systemId" json:"systemId"`
 91344  }
 91345  
 91346  func init() {
 91347  	t["VirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciPassthroughInfo)(nil)).Elem()
 91348  }
 91349  
 91350  // Description of a gpu PCI device that can be shared with a virtual machine.
 91351  type VirtualMachinePciSharedGpuPassthroughInfo struct {
 91352  	VirtualMachineTargetInfo
 91353  
 91354  	// The VGPU corresponding to this GPU passthrough device.
 91355  	Vgpu string `xml:"vgpu" json:"vgpu"`
 91356  }
 91357  
 91358  func init() {
 91359  	t["VirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem()
 91360  }
 91361  
 91362  // The PrecisionClockInfo data object type describes available host
 91363  // clock resources, which can be used as backing reference for
 91364  // virtual precision clock devices.
 91365  type VirtualMachinePrecisionClockInfo struct {
 91366  	VirtualMachineTargetInfo
 91367  
 91368  	// The currrent host system clock synchronization protocol.
 91369  	//
 91370  	// Used for specifying protocol in
 91371  	// `VirtualPrecisionClockSystemClockBackingInfo`.
 91372  	SystemClockProtocol string `xml:"systemClockProtocol,omitempty" json:"systemClockProtocol,omitempty"`
 91373  }
 91374  
 91375  func init() {
 91376  	t["VirtualMachinePrecisionClockInfo"] = reflect.TypeOf((*VirtualMachinePrecisionClockInfo)(nil)).Elem()
 91377  }
 91378  
 91379  // The `VirtualMachineProfileDetails` data object type provides details of the policy
 91380  // associated with a virtual machine and it's virtual disks.
 91381  type VirtualMachineProfileDetails struct {
 91382  	DynamicData
 91383  
 91384  	// Storage profile associated with Virtual Machine's home directory.
 91385  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 91386  	// An optional list that allows specifying details of the policy associated
 91387  	// with virutual disks.
 91388  	DiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"diskProfileDetails,omitempty" json:"diskProfileDetails,omitempty"`
 91389  }
 91390  
 91391  func init() {
 91392  	t["VirtualMachineProfileDetails"] = reflect.TypeOf((*VirtualMachineProfileDetails)(nil)).Elem()
 91393  }
 91394  
 91395  // Details of the policies associated with Virtual Disks.
 91396  type VirtualMachineProfileDetailsDiskProfileDetails struct {
 91397  	DynamicData
 91398  
 91399  	// Virtual disk ID.
 91400  	DiskId int32 `xml:"diskId" json:"diskId"`
 91401  	// Storage profile associated with the Virtual Disk.
 91402  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 91403  }
 91404  
 91405  func init() {
 91406  	t["VirtualMachineProfileDetailsDiskProfileDetails"] = reflect.TypeOf((*VirtualMachineProfileDetailsDiskProfileDetails)(nil)).Elem()
 91407  }
 91408  
 91409  // The extensible data object type encapsulates additional data specific
 91410  // to Virtual Machine and its devices.
 91411  //
 91412  // This data is provided by vSphere Extensions which are integral part
 91413  // of vSphere.
 91414  //
 91415  // The data is not persisted in Virtual Machine configuration file but is
 91416  // stored and managed by extensions.
 91417  //
 91418  // Storage Profile Based Management (SPBM) will be one of the consumers of
 91419  // this data structure. SPBM will provide detailed information about
 91420  // Virtual Machine storage requirements.
 91421  type VirtualMachineProfileRawData struct {
 91422  	DynamicData
 91423  
 91424  	// vSphere Extension Identifier
 91425  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 91426  	// Extension-specific additional data to be associated
 91427  	// with Virtual machine and its devices.
 91428  	ObjectData string `xml:"objectData,omitempty" json:"objectData,omitempty"`
 91429  }
 91430  
 91431  func init() {
 91432  	t["VirtualMachineProfileRawData"] = reflect.TypeOf((*VirtualMachineProfileRawData)(nil)).Elem()
 91433  }
 91434  
 91435  // The ProfileSpec data object is used to specify the Storage Policy to be
 91436  // associated with a Virtual Machine Home or a Virtual Disk.
 91437  type VirtualMachineProfileSpec struct {
 91438  	DynamicData
 91439  }
 91440  
 91441  func init() {
 91442  	t["VirtualMachineProfileSpec"] = reflect.TypeOf((*VirtualMachineProfileSpec)(nil)).Elem()
 91443  }
 91444  
 91445  // Data object which represents relations between a
 91446  // property and its target value and the required values
 91447  // of any other properties in the vm configuration so
 91448  // that the target value can be set.
 91449  type VirtualMachinePropertyRelation struct {
 91450  	DynamicData
 91451  
 91452  	// The target property and its value
 91453  	Key DynamicProperty `xml:"key" json:"key"`
 91454  	// The related properties and their values
 91455  	Relations []DynamicProperty `xml:"relations,omitempty" json:"relations,omitempty"`
 91456  }
 91457  
 91458  func init() {
 91459  	t["VirtualMachinePropertyRelation"] = reflect.TypeOf((*VirtualMachinePropertyRelation)(nil)).Elem()
 91460  }
 91461  
 91462  // This data object type describes the question that is currently
 91463  // blocking a virtual machine.
 91464  type VirtualMachineQuestionInfo struct {
 91465  	DynamicData
 91466  
 91467  	// Identifier with an opaque value that specifies the pending question.
 91468  	Id string `xml:"id" json:"id"`
 91469  	// Text that describes the pending question.
 91470  	Text string `xml:"text" json:"text"`
 91471  	// List of key-value pairs that specify possible answers.
 91472  	Choice ChoiceOption `xml:"choice" json:"choice"`
 91473  	// The message data for the individual messages that comprise the question.
 91474  	//
 91475  	// Only available on servers that support localization.
 91476  	Message []VirtualMachineMessage `xml:"message,omitempty" json:"message,omitempty"`
 91477  }
 91478  
 91479  func init() {
 91480  	t["VirtualMachineQuestionInfo"] = reflect.TypeOf((*VirtualMachineQuestionInfo)(nil)).Elem()
 91481  }
 91482  
 91483  // A set of statistics that are typically updated with near real-time regularity.
 91484  //
 91485  // This data object type does not support notification, for scalability reasons.
 91486  // Therefore, changes in QuickStats do not generate property collector updates. To
 91487  // monitor statistics values, use the statistics and alarms modules instead.
 91488  type VirtualMachineQuickStats struct {
 91489  	DynamicData
 91490  
 91491  	// Basic CPU performance statistics, in MHz.
 91492  	//
 91493  	// Valid while the virtual machine is running.
 91494  	OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
 91495  	// Basic CPU performance statistics, in MHz.
 91496  	//
 91497  	// Valid while the virtual machine is running.
 91498  	OverallCpuDemand int32 `xml:"overallCpuDemand,omitempty" json:"overallCpuDemand,omitempty"`
 91499  	// Percentage of time that the virtual machine was ready, but could not
 91500  	// get scheduled to run on the physical CPU.
 91501  	//
 91502  	// Valid while the virtual machine is running.
 91503  	OverallCpuReadiness int32 `xml:"overallCpuReadiness,omitempty" json:"overallCpuReadiness,omitempty"`
 91504  	// Guest memory utilization statistics, in MB.
 91505  	//
 91506  	// This
 91507  	// is also known as active guest memory. The number
 91508  	// can be between 0 and the configured memory size of
 91509  	// the virtual machine. Valid while the virtual machine is
 91510  	// running.
 91511  	GuestMemoryUsage int32 `xml:"guestMemoryUsage,omitempty" json:"guestMemoryUsage,omitempty"`
 91512  	// Host memory utilization statistics, in MB.
 91513  	//
 91514  	// This
 91515  	// is also known as consumed host memory. This is between 0 and
 91516  	// the configured resource limit. Valid while the virtual machine is
 91517  	// running. This includes the overhead memory of the VM.
 91518  	HostMemoryUsage int32 `xml:"hostMemoryUsage,omitempty" json:"hostMemoryUsage,omitempty"`
 91519  	// Guest operating system heartbeat metric.
 91520  	//
 91521  	// See `VirtualMachine.guestHeartbeatStatus` for a description.
 91522  	GuestHeartbeatStatus ManagedEntityStatus `xml:"guestHeartbeatStatus" json:"guestHeartbeatStatus"`
 91523  	// This is the amount of CPU resource, in MHz, that this VM is entitled to, as
 91524  	// calculated by DRS.
 91525  	//
 91526  	// Valid only for a VM managed by DRS.
 91527  	DistributedCpuEntitlement int32 `xml:"distributedCpuEntitlement,omitempty" json:"distributedCpuEntitlement,omitempty"`
 91528  	// This is the amount of memory, in MB, that this VM is entitled to, as
 91529  	// calculated by DRS.
 91530  	//
 91531  	// Valid only for a VM managed by DRS.
 91532  	DistributedMemoryEntitlement int32 `xml:"distributedMemoryEntitlement,omitempty" json:"distributedMemoryEntitlement,omitempty"`
 91533  	// The static CPU resource entitlement for a virtual machine.
 91534  	//
 91535  	// This value is
 91536  	// calculated based on this virtual machine's resource reservations, shares
 91537  	// and limit, and doesn't take into account current usage. This is the worst
 91538  	// case CPU allocation for this virtual machine, that is, the amount of CPU
 91539  	// resource this virtual machine would receive if all virtual machines running
 91540  	// in the cluster went to maximum consumption. Units are MHz.
 91541  	StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty" json:"staticCpuEntitlement,omitempty"`
 91542  	// The static memory resource entitlement for a virtual machine.
 91543  	//
 91544  	// This value is
 91545  	// calculated based on this virtual machine's resource reservations, shares
 91546  	// and limit, and doesn't take into account current usage. This is the worst
 91547  	// case memory allocation for this virtual machine, that is, the amount of
 91548  	// memory this virtual machine would receive if all virtual machines running
 91549  	// in the cluster went to maximum consumption. Units are MB.
 91550  	StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty" json:"staticMemoryEntitlement,omitempty"`
 91551  	// Amount of host physical memory that is mapped for a virtual machine,
 91552  	// in MB.
 91553  	//
 91554  	// The number can be between 0 and the configured memory size of
 91555  	// the virtual machine. Valid while the virtual machine is running.
 91556  	GrantedMemory int32 `xml:"grantedMemory,omitempty" json:"grantedMemory,omitempty"`
 91557  	// The portion of memory, in MB, that is granted to this VM from non-shared
 91558  	// host memory.
 91559  	PrivateMemory int32 `xml:"privateMemory,omitempty" json:"privateMemory,omitempty"`
 91560  	// The portion of memory, in MB, that is granted to this VM from host memory
 91561  	// that is shared between VMs.
 91562  	SharedMemory int32 `xml:"sharedMemory,omitempty" json:"sharedMemory,omitempty"`
 91563  	// The portion of memory, in MB, that is granted to this VM from the host's swap
 91564  	// space.
 91565  	//
 91566  	// This is a sign that there is memory pressure on the host.
 91567  	SwappedMemory int32 `xml:"swappedMemory,omitempty" json:"swappedMemory,omitempty"`
 91568  	// The size of the balloon driver in the VM, in MB.
 91569  	//
 91570  	// The host will inflate the
 91571  	// balloon driver to reclaim physical memory from the VM. This is a sign that
 91572  	// there is memory pressure on the host.
 91573  	BalloonedMemory int32 `xml:"balloonedMemory,omitempty" json:"balloonedMemory,omitempty"`
 91574  	// The amount of consumed overhead memory, in MB, for this VM.
 91575  	ConsumedOverheadMemory int32 `xml:"consumedOverheadMemory,omitempty" json:"consumedOverheadMemory,omitempty"`
 91576  	// The network bandwidth used for logging between the
 91577  	// primary and secondary fault tolerance VMs.
 91578  	//
 91579  	// The unit is kilobytes per second.
 91580  	FtLogBandwidth int32 `xml:"ftLogBandwidth,omitempty" json:"ftLogBandwidth,omitempty"`
 91581  	// The amount of time in wallclock that the VCPU of the secondary fault
 91582  	// tolerance VM is behind the VCPU of the primary VM.
 91583  	//
 91584  	// The unit is millisecond.
 91585  	FtSecondaryLatency int32 `xml:"ftSecondaryLatency,omitempty" json:"ftSecondaryLatency,omitempty"`
 91586  	// The latency status of the fault tolerance VM.
 91587  	//
 91588  	// ftLatencyStatus is determined by the value of ftSecondaryLatency.
 91589  	// ftLatencyStatus is:
 91590  	// green, if ftSecondaryLatency is less than or equal to 2 seconds;
 91591  	// yellow, if ftSecondaryLatency is greater than 2 seconds,
 91592  	// and less than or equal to 6 seconds;
 91593  	// red, if ftSecondaryLatency is greater than 6 seconds;
 91594  	// gray, if ftSecondaryLatency is unknown.
 91595  	FtLatencyStatus ManagedEntityStatus `xml:"ftLatencyStatus,omitempty" json:"ftLatencyStatus,omitempty"`
 91596  	// The amount of compressed memory currently consumed by VM, in Kb.
 91597  	CompressedMemory int64 `xml:"compressedMemory,omitempty" json:"compressedMemory,omitempty"`
 91598  	// The system uptime of the VM in seconds.
 91599  	UptimeSeconds int32 `xml:"uptimeSeconds,omitempty" json:"uptimeSeconds,omitempty"`
 91600  	// The amount of memory swapped to fast disk device such as
 91601  	// SSD, in KB.
 91602  	SsdSwappedMemory int64 `xml:"ssdSwappedMemory,omitempty" json:"ssdSwappedMemory,omitempty"`
 91603  	// The amount of memory that was recently touched by the VM, in MB.
 91604  	ActiveMemory int32 `xml:"activeMemory,omitempty" json:"activeMemory,omitempty" vim:"7.0.3.0"`
 91605  	// Stats for each physical memory tier.
 91606  	//
 91607  	// A physical memory tier consists of one or
 91608  	// more logical memory tiers of the same `HostMemoryTierType_enum`. For
 91609  	// example, the logical tiers can be tier0 (DRAM), tier1 (DRAM), and tier2 (PMEM),
 91610  	// while the physical tiers are just DRAM and PMEM.
 91611  	MemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"memoryTierStats,omitempty" json:"memoryTierStats,omitempty" vim:"7.0.3.0"`
 91612  }
 91613  
 91614  func init() {
 91615  	t["VirtualMachineQuickStats"] = reflect.TypeOf((*VirtualMachineQuickStats)(nil)).Elem()
 91616  }
 91617  
 91618  type VirtualMachineQuickStatsMemoryTierStats struct {
 91619  	DynamicData
 91620  
 91621  	// The memory tier type.
 91622  	//
 91623  	// See `HostMemoryTierType_enum` for supported
 91624  	// values.
 91625  	MemoryTierType string `xml:"memoryTierType" json:"memoryTierType"`
 91626  	// Memory access bandwidth usage for the reads of the VM on this tier in
 91627  	// MBps.
 91628  	ReadBandwidth int64 `xml:"readBandwidth" json:"readBandwidth"`
 91629  }
 91630  
 91631  func init() {
 91632  	t["VirtualMachineQuickStatsMemoryTierStats"] = reflect.TypeOf((*VirtualMachineQuickStatsMemoryTierStats)(nil)).Elem()
 91633  	minAPIVersionForType["VirtualMachineQuickStatsMemoryTierStats"] = "7.0.3.0"
 91634  }
 91635  
 91636  // Specification for moving or copying a virtual machine to a different datastore
 91637  // or host.
 91638  type VirtualMachineRelocateSpec struct {
 91639  	DynamicData
 91640  
 91641  	// The service endpoint of vCenter where the virtual machine should be
 91642  	// located.
 91643  	//
 91644  	// If not specified, the current vCenter service is used. If the
 91645  	// virtual machine is relocated to a different vCenter service, the
 91646  	// destination host, pool, and datastore parameters have to be explicitly
 91647  	// specified by default when the task is submitted.
 91648  	Service *ServiceLocator `xml:"service,omitempty" json:"service,omitempty"`
 91649  	// The folder where the virtual machine should be located.
 91650  	//
 91651  	// If not specified,
 91652  	// the root VM folder of the destination datacenter will be used.
 91653  	//
 91654  	// Refers instance of `Folder`.
 91655  	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
 91656  	// The datastore where the virtual machine should be located.
 91657  	//
 91658  	// If
 91659  	// not specified, the current datastore is used.
 91660  	//
 91661  	// Refers instance of `Datastore`.
 91662  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 91663  	// Manner in which to move the virtual disk to the *target datastore*.
 91664  	//
 91665  	// The set of possible values is described in
 91666  	// `VirtualMachineRelocateDiskMoveOptions_enum`.
 91667  	//
 91668  	// This property applies to all the disks which the virtual machine has,
 91669  	// but can be overridden on a per-disk basis using
 91670  	// `VirtualMachineRelocateSpecDiskLocator.diskMoveType` prior to vSphere
 91671  	// API 6.0 or using
 91672  	// `VirtualDiskConfigSpec.diskMoveType` in vSphere API
 91673  	// 6.0 and later.
 91674  	//
 91675  	// This property can only be set if
 91676  	// `HostCapability.deltaDiskBackingsSupported` is true.
 91677  	//
 91678  	// If left unset then
 91679  	// `moveAllDiskBackingsAndDisallowSharing`
 91680  	// is assumed.
 91681  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
 91682  	// The resource pool to which this virtual machine should be attached.
 91683  	//   - For a relocate or clone operation to a virtual machine, if the
 91684  	//     argument is not supplied, the current resource pool of virtual
 91685  	//     machine is used.
 91686  	//   - For a clone operation from a template to a virtual machine,
 91687  	//     this argument is required.
 91688  	//   - If the virtual machine is relocated to a different vCenter service,
 91689  	//     and a resource pool is not specified, the destination host must be
 91690  	//     specified.
 91691  	//   - If a resource pool is specified, the virtual machine is powered
 91692  	//     on, and the target pool represents a cluster without DRS enabled,
 91693  	//     an InvalidArgument exception is thrown.
 91694  	//   - If the virtual machine is relocated to a different datacenter
 91695  	//     within the vCenter service, the resource pool has to be specified
 91696  	//     and cannot be unset.
 91697  	//
 91698  	// Refers instance of `ResourcePool`.
 91699  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 91700  	// The target host for the virtual machine.
 91701  	//
 91702  	// If not specified,
 91703  	//   - if resource pool is not specified, current host is used.
 91704  	//   - if resource pool is specified, and the target pool represents
 91705  	//     a stand-alone host, the host is used.
 91706  	//   - if resource pool is specified, the virtual machine is powered on,
 91707  	//     and the target pool represents a DRS-enabled cluster, a host
 91708  	//     selected by DRS is used.
 91709  	//   - if resource pool is specified, the virtual machine is powered on,
 91710  	//     and the target pool represents a cluster without DRS enabled,
 91711  	//     an InvalidArgument exception is thrown.
 91712  	//   - if a resource pool is specified, the target pool represents a
 91713  	//     cluster, and this is a clone or the virtual machine is powered
 91714  	//     off, a random compatible host is chosen.
 91715  	//   - A destination host must be specified if the virtual machine is
 91716  	//     relocated to a different vCenter service, and a resource pool is
 91717  	//     not specified.
 91718  	//
 91719  	// Refers instance of `HostSystem`.
 91720  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 91721  	// An optional list that allows specifying the datastore location
 91722  	// for each virtual disk.
 91723  	Disk []VirtualMachineRelocateSpecDiskLocator `xml:"disk,omitempty" json:"disk,omitempty"`
 91724  	// Deprecated as of vSphere API 5.0. Use
 91725  	// `VirtualMachineRelocateSpecDiskLocator.diskBackingInfo` instead for
 91726  	// disk format conversions. This setting will be ignored for
 91727  	// disks with the above property set.
 91728  	//
 91729  	// Transformation to perform on the disks.
 91730  	//
 91731  	// The backend is free to ignore
 91732  	// this hint if it is not valid for the current operation. This can be
 91733  	// used by clients, for example, to create sparse disks for templates.
 91734  	//
 91735  	// See also `VirtualMachineRelocateTransformation_enum`.
 91736  	Transform VirtualMachineRelocateTransformation `xml:"transform,omitempty" json:"transform,omitempty"`
 91737  	// An optional list of virtual device specs that allow specifying the new
 91738  	// device locations for the relocate operation.
 91739  	//
 91740  	// The supported device changes are:
 91741  	//   - For `VirtualEthernetCard`, it has to be used
 91742  	//     in `VirtualDeviceConfigSpec.device` to specify the
 91743  	//     target network backing.
 91744  	//   - For `VirtualDisk`, it can be used to specify
 91745  	//     vFlash cache configuration, or the storage profile for destination
 91746  	//     disks. The storage profiles are used to either upgrade the virtual
 91747  	//     disk's storage to a persistent memory, or keep the virtual disk
 91748  	//     in persistent memory when moving the virtual machine's overall
 91749  	//     storage.
 91750  	//   - All other specification are ignored.
 91751  	DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr" json:"deviceChange,omitempty"`
 91752  	// Storage profile requirement for Virtual Machine's home directory.
 91753  	//
 91754  	// Profiles are solution specific.
 91755  	// Storage Profile Based Management(SPBM) is a vSphere server extension.
 91756  	// The API users who want to provision VMs using Storage Profiles, need to
 91757  	// interact with SPBM.
 91758  	// This is an optional parameter and if user doesn't specify profile,
 91759  	// the default behavior will apply.
 91760  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 91761  	// Virtual Machine cryptographic options.
 91762  	//
 91763  	// Encryption requirement for the virtual machine's metadata
 91764  	// files (non-disk files).
 91765  	CryptoSpec BaseCryptoSpec `xml:"cryptoSpec,omitempty,typeattr" json:"cryptoSpec,omitempty"`
 91766  }
 91767  
 91768  func init() {
 91769  	t["VirtualMachineRelocateSpec"] = reflect.TypeOf((*VirtualMachineRelocateSpec)(nil)).Elem()
 91770  }
 91771  
 91772  // The DiskLocator data object type specifies a virtual disk device (by ID) and
 91773  // a datastore locator for the disk's storage.
 91774  type VirtualMachineRelocateSpecDiskLocator struct {
 91775  	DynamicData
 91776  
 91777  	// Device ID of the virtual disk.
 91778  	DiskId int32 `xml:"diskId" json:"diskId"`
 91779  	// Target datastore.
 91780  	//
 91781  	// Refers instance of `Datastore`.
 91782  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 91783  	// Manner in which to move the virtual disk to the *target datastore*.
 91784  	//
 91785  	// The set of possible values is described
 91786  	// in `VirtualMachineRelocateDiskMoveOptions_enum`.
 91787  	//
 91788  	// This property can only be set if `HostCapability.deltaDiskBackingsSupported` is true.
 91789  	//
 91790  	// If left unset then `moveAllDiskBackingsAndDisallowSharing`
 91791  	// is assumed.
 91792  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
 91793  	// Backing information for the virtual disk at the destination.
 91794  	//
 91795  	// This can be used, for instance, to change the format of the
 91796  	// virtual disk. If the specified backing is invalid or not
 91797  	// supported at the destination, `InvalidDeviceBacking` is thrown. Specific property
 91798  	// changes may be ignored if they are not supported.
 91799  	//
 91800  	// Supported BackingInfo types and properties:
 91801  	//   - `VirtualDiskFlatVer2BackingInfo`
 91802  	//   - thinProvisioned
 91803  	//   - eagerlyScrub
 91804  	//   - `VirtualDiskSeSparseBackingInfo`
 91805  	//     (ESX 5.1 or later)
 91806  	DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr" json:"diskBackingInfo,omitempty"`
 91807  	// Virtual Disk Profile requirement.
 91808  	//
 91809  	// Profiles are solution specific.
 91810  	// Profile Based Storage Management is a vSphere server extension.
 91811  	// The API users who want to provision VMs using Storage Profiles, need to
 91812  	// interact with it.
 91813  	// This is an optional parameter and if user doesn't specify profile,
 91814  	// the default behavior will apply.
 91815  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 91816  	// Cryptographic option of the current disk.
 91817  	Backing *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"backing,omitempty" json:"backing,omitempty"`
 91818  	// List of independent filters `VirtualMachineIndependentFilterSpec`
 91819  	// to be configured on the virtual disk after the relocate.
 91820  	FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr" json:"filterSpec,omitempty" vim:"7.0.2.1"`
 91821  }
 91822  
 91823  func init() {
 91824  	t["VirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*VirtualMachineRelocateSpecDiskLocator)(nil)).Elem()
 91825  }
 91826  
 91827  // <code>`VirtualMachineRelocateSpecDiskLocatorBackingSpec`</code> is a data
 91828  // object type for crytographic information about the backing of a
 91829  // device.
 91830  //
 91831  // The member `VirtualMachineRelocateSpecDiskLocatorBackingSpec.parent` refers the parent in the chain of
 91832  // `VirtualDeviceBackingInfo` objects.
 91833  type VirtualMachineRelocateSpecDiskLocatorBackingSpec struct {
 91834  	DynamicData
 91835  
 91836  	Parent *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"parent,omitempty" json:"parent,omitempty"`
 91837  	Crypto BaseCryptoSpec                                    `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 91838  }
 91839  
 91840  func init() {
 91841  	t["VirtualMachineRelocateSpecDiskLocatorBackingSpec"] = reflect.TypeOf((*VirtualMachineRelocateSpecDiskLocatorBackingSpec)(nil)).Elem()
 91842  }
 91843  
 91844  // The RuntimeInfo data object type provides information about
 91845  // the execution state and history of a virtual machine.
 91846  type VirtualMachineRuntimeInfo struct {
 91847  	DynamicData
 91848  
 91849  	// Per-device runtime info.
 91850  	//
 91851  	// This array will be empty if the host
 91852  	// software does not provide runtime info for any of the device
 91853  	// types currently in use by the virtual machine.
 91854  	// In releases after vSphere API 5.0, vSphere Servers might not
 91855  	// generate property collector update notifications for this property.
 91856  	// To obtain the latest value of the property, you can use
 91857  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 91858  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 91859  	// an empty string for the version parameter.
 91860  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 91861  	// contain values for this property when some other property on the DataObject changes.
 91862  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 91863  	// version parameter, the value for this property may not be current.
 91864  	Device []VirtualMachineDeviceRuntimeInfo `xml:"device,omitempty" json:"device,omitempty"`
 91865  	// The host that is responsible for running a virtual machine.
 91866  	//
 91867  	// This property is null if the virtual machine is not running and is
 91868  	// not assigned to run on a particular host.
 91869  	//
 91870  	// Refers instance of `HostSystem`.
 91871  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 91872  	// Indicates whether or not the virtual machine is available for management.
 91873  	ConnectionState VirtualMachineConnectionState `xml:"connectionState" json:"connectionState"`
 91874  	// The current power state of the virtual machine.
 91875  	PowerState VirtualMachinePowerState `xml:"powerState" json:"powerState"`
 91876  	// Represents if the vm is currently being failed over by FDM
 91877  	VmFailoverInProgress *bool `xml:"vmFailoverInProgress" json:"vmFailoverInProgress,omitempty" vim:"7.0.2.0"`
 91878  	// The fault tolerance state of the virtual machine.
 91879  	FaultToleranceState VirtualMachineFaultToleranceState `xml:"faultToleranceState,omitempty" json:"faultToleranceState,omitempty"`
 91880  	// The vSphere HA protection state for a virtual machine.
 91881  	//
 91882  	// Property
 91883  	// is unset if vSphere HA is not enabled.
 91884  	DasVmProtection *VirtualMachineRuntimeInfoDasProtectionState `xml:"dasVmProtection,omitempty" json:"dasVmProtection,omitempty"`
 91885  	// Flag to indicate whether or not the VMware Tools installer
 91886  	// is mounted as a CD-ROM.
 91887  	ToolsInstallerMounted bool `xml:"toolsInstallerMounted" json:"toolsInstallerMounted"`
 91888  	// The timestamp when the virtual machine was most recently suspended.
 91889  	//
 91890  	// This property is updated every time the virtual machine is suspended.
 91891  	SuspendTime *time.Time `xml:"suspendTime" json:"suspendTime,omitempty"`
 91892  	// The timestamp when the virtual machine was most recently powered on.
 91893  	//
 91894  	// This property is updated when the virtual machine is powered on
 91895  	// from the poweredOff state, and is cleared when the virtual machine is
 91896  	// powered off. This property is not updated when a virtual machine is resumed
 91897  	// from a suspended state.
 91898  	BootTime *time.Time `xml:"bootTime" json:"bootTime,omitempty"`
 91899  	// The total time the virtual machine has been suspended
 91900  	// since it was initially powered on.
 91901  	//
 91902  	// This time excludes the current period,
 91903  	// if the virtual machine is currently suspended. This property is updated
 91904  	// when the virtual machine resumes, and is reset to zero when the virtual machine
 91905  	// is powered off.
 91906  	SuspendInterval int64 `xml:"suspendInterval,omitempty" json:"suspendInterval,omitempty"`
 91907  	// The current question, if any, that is blocking the virtual machine's execution.
 91908  	Question *VirtualMachineQuestionInfo `xml:"question,omitempty" json:"question,omitempty"`
 91909  	// Deprecated as of vSphere API 4.1, use the `PerformanceManager`
 91910  	// memory overhead counter to get this value.
 91911  	//
 91912  	// The amount of memory resource (in bytes) that will be used by
 91913  	// the virtual machine above its guest memory requirements.
 91914  	//
 91915  	// This value is set if and only if the virtual machine is registered
 91916  	// on a host that supports memory resource allocation features.
 91917  	//
 91918  	// For powered off VMs, this is the minimum overhead required to
 91919  	// power on the VM on the registered host.
 91920  	//
 91921  	// For powered on VMs, this is the current overhead reservation, a
 91922  	// value which is almost always larger than the minimum overhead, and
 91923  	// which grows with time.
 91924  	//
 91925  	// See also `HostSystem.QueryMemoryOverheadEx`.
 91926  	MemoryOverhead int64 `xml:"memoryOverhead,omitempty" json:"memoryOverhead,omitempty"`
 91927  	// Current upper-bound on CPU usage.
 91928  	//
 91929  	// The upper-bound is based on the host
 91930  	// the virtual machine is current running on, as well as limits configured
 91931  	// on the virtual machine itself or any parent resource pool.
 91932  	// Valid while the virtual machine is running.
 91933  	// In releases after vSphere API 5.0, vSphere Servers might not
 91934  	// generate property collector update notifications for this property.
 91935  	// To obtain the latest value of the property, you can use
 91936  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 91937  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 91938  	// an empty string for the version parameter.
 91939  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 91940  	// contain values for this property when some other property on the DataObject changes.
 91941  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 91942  	// version parameter, the value for this property may not be current.
 91943  	MaxCpuUsage int32 `xml:"maxCpuUsage,omitempty" json:"maxCpuUsage,omitempty"`
 91944  	// Current upper-bound on memory usage.
 91945  	//
 91946  	// The upper-bound is based on memory
 91947  	// configuration of the virtual machine, as well as limits configured
 91948  	// on the virtual machine itself or any parent resource pool.
 91949  	// Valid while the virtual machine is running.
 91950  	// In releases after vSphere API 5.0, vSphere Servers might not
 91951  	// generate property collector update notifications for this property.
 91952  	// To obtain the latest value of the property, you can use
 91953  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 91954  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 91955  	// an empty string for the version parameter.
 91956  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 91957  	// contain values for this property when some other property on the DataObject changes.
 91958  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 91959  	// version parameter, the value for this property may not be current.
 91960  	MaxMemoryUsage int32 `xml:"maxMemoryUsage,omitempty" json:"maxMemoryUsage,omitempty"`
 91961  	// Number of active MKS connections to this virtual machine.
 91962  	NumMksConnections int32 `xml:"numMksConnections" json:"numMksConnections"`
 91963  	// Deprecated as of vSphere API 6.0.
 91964  	//
 91965  	// Record / replay state of this virtual machine.
 91966  	RecordReplayState VirtualMachineRecordReplayState `xml:"recordReplayState,omitempty" json:"recordReplayState,omitempty"`
 91967  	// For a powered off virtual machine, indicates whether the virtual
 91968  	// machine's last shutdown was an orderly power off or not.
 91969  	//
 91970  	// Unset if
 91971  	// the virtual machine is running or suspended.
 91972  	CleanPowerOff *bool `xml:"cleanPowerOff" json:"cleanPowerOff,omitempty"`
 91973  	// If set, indicates the reason the virtual machine needs a secondary.
 91974  	NeedSecondaryReason string `xml:"needSecondaryReason,omitempty" json:"needSecondaryReason,omitempty"`
 91975  	// This property indicates whether the guest has gone into one of the
 91976  	// s1, s2 or s3 standby modes, false indicates the guest is awake.
 91977  	OnlineStandby *bool `xml:"onlineStandby" json:"onlineStandby,omitempty"`
 91978  	// For a powered-on or suspended virtual machine in a cluster with Enhanced
 91979  	// VMotion Compatibility (EVC) enabled, this identifies the least-featured
 91980  	// EVC mode (among those for the appropriate CPU vendor) that could admit
 91981  	// the virtual machine.
 91982  	//
 91983  	// See `EVCMode`. Until vSphere 6.5, this
 91984  	// property will be unset if the virtual machine is powered off or is not in
 91985  	// an EVC cluster.
 91986  	//
 91987  	// This property may be used as a general indicator of the CPU feature
 91988  	// baseline currently in use by the virtual machine. However, the virtual
 91989  	// machine may be suppressing some of the features present in the CPU
 91990  	// feature baseline of the indicated mode, either explicitly (in the
 91991  	// virtual machine's configured
 91992  	// `cpuFeatureMask`) or implicitly
 91993  	// (in the default masks for the
 91994  	// `GuestOsDescriptor` appropriate for the
 91995  	// virtual machine's configured guest OS).
 91996  	MinRequiredEVCModeKey string `xml:"minRequiredEVCModeKey,omitempty" json:"minRequiredEVCModeKey,omitempty"`
 91997  	// Whether any disk of the virtual machine requires consolidation.
 91998  	//
 91999  	// This can happen for example when a snapshot is deleted but its
 92000  	// associated disk is not committed back to the base disk.
 92001  	// Use `VirtualMachine.ConsolidateVMDisks_Task` to consolidate if
 92002  	// needed.
 92003  	ConsolidationNeeded *bool `xml:"consolidationNeeded" json:"consolidationNeeded,omitempty"`
 92004  	// These requirements must have equivalent host capabilities
 92005  	// `HostConfigInfo.featureCapability` in order to power on.
 92006  	OfflineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"offlineFeatureRequirement,omitempty" json:"offlineFeatureRequirement,omitempty"`
 92007  	// These requirements must have equivalent host capabilities
 92008  	// `HostConfigInfo.featureCapability` in order to power on,
 92009  	// resume, or migrate to the host.
 92010  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 92011  	// The masks applied to an individual virtual machine as a result of its
 92012  	// configuration.
 92013  	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty"`
 92014  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 92015  	// end of availability.
 92016  	//
 92017  	// Specifies the total allocated vFlash resource for the vFlash caches associated with VM's
 92018  	// VMDKs when VM is powered on, in bytes.
 92019  	VFlashCacheAllocation int64 `xml:"vFlashCacheAllocation,omitempty" json:"vFlashCacheAllocation,omitempty"`
 92020  	// Whether the virtual machine is paused, or not.
 92021  	Paused *bool `xml:"paused" json:"paused,omitempty"`
 92022  	// Whether a snapshot operation is in progress in the background, or not.
 92023  	SnapshotInBackground *bool `xml:"snapshotInBackground" json:"snapshotInBackground,omitempty"`
 92024  	// This flag indicates whether a parent virtual machine is in a fork ready
 92025  	// state.
 92026  	//
 92027  	// A persistent instant clone child can be created only when this flag
 92028  	// is true. While a non-persistent instant clone child can be created
 92029  	// independent of this flag, it can only be powered on if this flag is true.
 92030  	QuiescedForkParent *bool `xml:"quiescedForkParent" json:"quiescedForkParent,omitempty"`
 92031  	// Whether the virtual machine is frozen for instant clone, or not.
 92032  	InstantCloneFrozen *bool `xml:"instantCloneFrozen" json:"instantCloneFrozen,omitempty"`
 92033  	// Encryption state of the virtual machine.
 92034  	//
 92035  	// Valid values are enumerated by the
 92036  	// `CryptoState` type.
 92037  	CryptoState string `xml:"cryptoState,omitempty" json:"cryptoState,omitempty"`
 92038  	// Whether the virtual machine is suspended to memory, or not.
 92039  	SuspendedToMemory *bool `xml:"suspendedToMemory" json:"suspendedToMemory,omitempty" vim:"7.0.2.0"`
 92040  	// Operation notification timeout in seconds.
 92041  	//
 92042  	// Specifies the maximum time duration the application may take to
 92043  	// prepare for the operation after it has been notified.
 92044  	// This property is set only for powered on VMs.
 92045  	OpNotificationTimeout int64 `xml:"opNotificationTimeout,omitempty" json:"opNotificationTimeout,omitempty" vim:"8.0.0.1"`
 92046  	// Indicates whether there is active IOMMU domain in the current VM.
 92047  	IommuActive *bool `xml:"iommuActive" json:"iommuActive,omitempty" vim:"8.0.1.0"`
 92048  }
 92049  
 92050  func init() {
 92051  	t["VirtualMachineRuntimeInfo"] = reflect.TypeOf((*VirtualMachineRuntimeInfo)(nil)).Elem()
 92052  }
 92053  
 92054  // The `VirtualMachineRuntimeInfoDasProtectionState` object describes the
 92055  // vSphere HA protection state of a virtual machine (VM).
 92056  type VirtualMachineRuntimeInfoDasProtectionState struct {
 92057  	DynamicData
 92058  
 92059  	// Whether vSphere HA is protecting a virtual machine (VM).
 92060  	//
 92061  	// If a
 92062  	// VM is protected, vSphere HA will enforce any availability
 92063  	// features that have been enabled for this VM. For
 92064  	// example, if the VM is running on a host
 92065  	// that fails and the VM is configured to be restarted on a failure,
 92066  	// then vSphere HA will attempt to restart the VM on another host.
 92067  	// Similarly, if you enable VM/Application Health Monitoring
 92068  	// for this VM, vSphere HA will monitor the heartbeats of the
 92069  	// VM and reset the VM when needed, as dictated by the configured
 92070  	// policy settings.
 92071  	DasProtected bool `xml:"dasProtected" json:"dasProtected"`
 92072  }
 92073  
 92074  func init() {
 92075  	t["VirtualMachineRuntimeInfoDasProtectionState"] = reflect.TypeOf((*VirtualMachineRuntimeInfoDasProtectionState)(nil)).Elem()
 92076  }
 92077  
 92078  // The ScsiDiskDeviceInfo class contains detailed information about a specific
 92079  // scsi disk hardware device.
 92080  //
 92081  // These devices are for the
 92082  // vim.vm.device.VirtualDisk.RawDiskMappingVer1BackingInfo.
 92083  type VirtualMachineScsiDiskDeviceInfo struct {
 92084  	VirtualMachineDiskDeviceInfo
 92085  
 92086  	// Detailed information about the disk.
 92087  	Disk *HostScsiDisk `xml:"disk,omitempty" json:"disk,omitempty"`
 92088  	// Transport identifier hint used to identify the device.
 92089  	//
 92090  	// To definitively
 92091  	// correlate this device with a host physical disk, use the disk property.
 92092  	// This identifier is intended as a hint to end users to identify the
 92093  	// disk device.
 92094  	TransportHint string `xml:"transportHint,omitempty" json:"transportHint,omitempty"`
 92095  	// LUN number hint used to identify the SCSI device.
 92096  	//
 92097  	// To definitively
 92098  	// correlate this device with a host physical disk, use the disk property.
 92099  	// This identifier is intended as a hint to end users to identify the
 92100  	// disk device.
 92101  	LunNumber int32 `xml:"lunNumber,omitempty" json:"lunNumber,omitempty"`
 92102  }
 92103  
 92104  func init() {
 92105  	t["VirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineScsiDiskDeviceInfo)(nil)).Elem()
 92106  }
 92107  
 92108  // Description of a generic SCSI device, including information about
 92109  // the device ID.
 92110  type VirtualMachineScsiPassthroughInfo struct {
 92111  	VirtualMachineTargetInfo
 92112  
 92113  	// The class of the generic SCSI device.
 92114  	ScsiClass string `xml:"scsiClass" json:"scsiClass"`
 92115  	// The vendor name.
 92116  	Vendor string `xml:"vendor" json:"vendor"`
 92117  	// Unit number of the generic device on the physical host.
 92118  	PhysicalUnitNumber int32 `xml:"physicalUnitNumber" json:"physicalUnitNumber"`
 92119  }
 92120  
 92121  func init() {
 92122  	t["VirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*VirtualMachineScsiPassthroughInfo)(nil)).Elem()
 92123  }
 92124  
 92125  // SerialInfo class contains information about a physical serial
 92126  // drive on the host.
 92127  type VirtualMachineSerialInfo struct {
 92128  	VirtualMachineTargetInfo
 92129  }
 92130  
 92131  func init() {
 92132  	t["VirtualMachineSerialInfo"] = reflect.TypeOf((*VirtualMachineSerialInfo)(nil)).Elem()
 92133  }
 92134  
 92135  // This data object describes the virtual software guard extension (vSGX)
 92136  // configuration of this virtual machine.
 92137  type VirtualMachineSgxInfo struct {
 92138  	DynamicData
 92139  
 92140  	// Size of vEPC, in megabytes.
 92141  	EpcSize int64 `xml:"epcSize" json:"epcSize"`
 92142  	// FLC mode for the virtual machine.
 92143  	//
 92144  	// The set of possible values are
 92145  	// described in `VirtualMachineSgxInfoFlcModes_enum`. If no value is specified,
 92146  	// then "unlocked" will be used.
 92147  	FlcMode string `xml:"flcMode,omitempty" json:"flcMode,omitempty"`
 92148  	// Public key hash of the provider launch enclave.
 92149  	//
 92150  	// This is the SHA256
 92151  	// digest of the SIGSTRUCT.MODULUS(MR\_SIGNER) of the provider launch
 92152  	// enclave. This hash must only be provided when the launch enclave mode is
 92153  	// "locked", for the other cases the hash is ignored.
 92154  	LePubKeyHash string `xml:"lePubKeyHash,omitempty" json:"lePubKeyHash,omitempty"`
 92155  	// Indicates whether or not a virtual machine requires remote
 92156  	// attestation.
 92157  	RequireAttestation *bool `xml:"requireAttestation" json:"requireAttestation,omitempty" vim:"8.0.0.1"`
 92158  }
 92159  
 92160  func init() {
 92161  	t["VirtualMachineSgxInfo"] = reflect.TypeOf((*VirtualMachineSgxInfo)(nil)).Elem()
 92162  }
 92163  
 92164  // Description of Intel Software Guard Extensions information.
 92165  type VirtualMachineSgxTargetInfo struct {
 92166  	VirtualMachineTargetInfo
 92167  
 92168  	// Maximum size, in bytes, of EPC available on the compute resource.
 92169  	MaxEpcSize int64 `xml:"maxEpcSize" json:"maxEpcSize"`
 92170  	// FLC modes available in the compute resource.
 92171  	//
 92172  	// The set of possible values
 92173  	// are described in `VirtualMachineSgxInfoFlcModes_enum`.
 92174  	FlcModes []string `xml:"flcModes,omitempty" json:"flcModes,omitempty"`
 92175  	// Public key hashes of the provider launch enclaves available in the
 92176  	// compute resource.
 92177  	LePubKeyHashes []string `xml:"lePubKeyHashes,omitempty" json:"lePubKeyHashes,omitempty"`
 92178  	// Whether the host/cluster supports requiring SGX remote attestation.
 92179  	RequireAttestationSupported *bool `xml:"requireAttestationSupported" json:"requireAttestationSupported,omitempty" vim:"8.0.0.1"`
 92180  }
 92181  
 92182  func init() {
 92183  	t["VirtualMachineSgxTargetInfo"] = reflect.TypeOf((*VirtualMachineSgxTargetInfo)(nil)).Elem()
 92184  }
 92185  
 92186  // The SnapshotInfo data object type provides all the information about the
 92187  // hierarchy of snapshots in a virtual machine.
 92188  type VirtualMachineSnapshotInfo struct {
 92189  	DynamicData
 92190  
 92191  	// Current snapshot of the virtual machine
 92192  	//
 92193  	// This property is set by calling
 92194  	// `Snapshot.revert` or
 92195  	// `VirtualMachine.createSnapshot`.
 92196  	// This property will be empty when the working snapshot is at the root
 92197  	// of the snapshot tree.
 92198  	//
 92199  	// Refers instance of `VirtualMachineSnapshot`.
 92200  	CurrentSnapshot *ManagedObjectReference `xml:"currentSnapshot,omitempty" json:"currentSnapshot,omitempty"`
 92201  	// Data for the entire set of snapshots for one virtual machine.
 92202  	RootSnapshotList []VirtualMachineSnapshotTree `xml:"rootSnapshotList" json:"rootSnapshotList"`
 92203  }
 92204  
 92205  func init() {
 92206  	t["VirtualMachineSnapshotInfo"] = reflect.TypeOf((*VirtualMachineSnapshotInfo)(nil)).Elem()
 92207  }
 92208  
 92209  // SnapshotTree encapsulates all the read-only data produced by the snapshot.
 92210  type VirtualMachineSnapshotTree struct {
 92211  	DynamicData
 92212  
 92213  	// The managed object for this snapshot.
 92214  	//
 92215  	// Refers instance of `VirtualMachineSnapshot`.
 92216  	Snapshot ManagedObjectReference `xml:"snapshot" json:"snapshot"`
 92217  	// The virtual machine for which the snapshot was taken.
 92218  	//
 92219  	// Refers instance of `VirtualMachine`.
 92220  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 92221  	// Name of the snapshot.
 92222  	Name string `xml:"name" json:"name"`
 92223  	// Description of the snapshot.
 92224  	Description string `xml:"description" json:"description"`
 92225  	// The unique identifier that distinguishes this snapshot from
 92226  	// other snapshots of the virtual machine.
 92227  	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
 92228  	// The date and time the snapshot was taken.
 92229  	CreateTime time.Time `xml:"createTime" json:"createTime"`
 92230  	// The power state of the virtual machine when this snapshot was taken.
 92231  	State VirtualMachinePowerState `xml:"state" json:"state"`
 92232  	// Flag to indicate whether or not the snapshot was created with
 92233  	// the "quiesce" option, ensuring a consistent state of the file system.
 92234  	Quiesced bool `xml:"quiesced" json:"quiesced"`
 92235  	// The relative path from the snapshotDirectory pointing to the backup
 92236  	// manifest.
 92237  	//
 92238  	// Available for certain quiesced snapshots only.
 92239  	BackupManifest string `xml:"backupManifest,omitempty" json:"backupManifest,omitempty"`
 92240  	// The snapshot data for all snapshots for which this snapshot is the parent.
 92241  	ChildSnapshotList []VirtualMachineSnapshotTree `xml:"childSnapshotList,omitempty" json:"childSnapshotList,omitempty"`
 92242  	// Deprecated as of vSphere API 6.0.
 92243  	//
 92244  	// Flag to indicate whether this snapshot is associated with a recording
 92245  	// session on the virtual machine that can be replayed.
 92246  	ReplaySupported *bool `xml:"replaySupported" json:"replaySupported,omitempty"`
 92247  }
 92248  
 92249  func init() {
 92250  	t["VirtualMachineSnapshotTree"] = reflect.TypeOf((*VirtualMachineSnapshotTree)(nil)).Elem()
 92251  }
 92252  
 92253  // SoundInfo class contains information about a physical sound
 92254  // card on the host.
 92255  type VirtualMachineSoundInfo struct {
 92256  	VirtualMachineTargetInfo
 92257  }
 92258  
 92259  func init() {
 92260  	t["VirtualMachineSoundInfo"] = reflect.TypeOf((*VirtualMachineSoundInfo)(nil)).Elem()
 92261  }
 92262  
 92263  type VirtualMachineSriovDevicePoolInfo struct {
 92264  	DynamicData
 92265  
 92266  	// To be used for extending to other device types
 92267  	Key string `xml:"key" json:"key"`
 92268  }
 92269  
 92270  func init() {
 92271  	t["VirtualMachineSriovDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovDevicePoolInfo)(nil)).Elem()
 92272  }
 92273  
 92274  // Description of a SRIOV device that can be attached to a virtual machine.
 92275  type VirtualMachineSriovInfo struct {
 92276  	VirtualMachinePciPassthroughInfo
 92277  
 92278  	// Indicates whether corresponding PCI device is a virtual function
 92279  	// instantiated by a SR-IOV capable device.
 92280  	VirtualFunction bool `xml:"virtualFunction" json:"virtualFunction"`
 92281  	// The name of the physical nic that is represented by a SR-IOV
 92282  	// capable physical function.
 92283  	Pnic string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 92284  	// SRIOV DevicePool information
 92285  	DevicePool BaseVirtualMachineSriovDevicePoolInfo `xml:"devicePool,omitempty,typeattr" json:"devicePool,omitempty"`
 92286  }
 92287  
 92288  func init() {
 92289  	t["VirtualMachineSriovInfo"] = reflect.TypeOf((*VirtualMachineSriovInfo)(nil)).Elem()
 92290  }
 92291  
 92292  // This class is networking specific SR-IOV device pool info
 92293  type VirtualMachineSriovNetworkDevicePoolInfo struct {
 92294  	VirtualMachineSriovDevicePoolInfo
 92295  
 92296  	// vSwitch key
 92297  	SwitchKey string `xml:"switchKey,omitempty" json:"switchKey,omitempty"`
 92298  	// DVSwitch Uuid
 92299  	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
 92300  }
 92301  
 92302  func init() {
 92303  	t["VirtualMachineSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovNetworkDevicePoolInfo)(nil)).Elem()
 92304  }
 92305  
 92306  // Information about the amount of storage used by a virtual machine across
 92307  // datastores that it is located on.
 92308  type VirtualMachineStorageInfo struct {
 92309  	DynamicData
 92310  
 92311  	// Storage space used by this virtual machine on all datastores that it
 92312  	// is located on.
 92313  	//
 92314  	// Total storage space committed to this virtual machine across all datastores is
 92315  	// simply an aggregate of the property
 92316  	// `VirtualMachineUsageOnDatastore.committed`.
 92317  	//
 92318  	// See also `VirtualMachineStorageSummary.committed`.
 92319  	PerDatastoreUsage []VirtualMachineUsageOnDatastore `xml:"perDatastoreUsage,omitempty" json:"perDatastoreUsage,omitempty"`
 92320  	// Time when values in this structure were last updated.
 92321  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 92322  }
 92323  
 92324  func init() {
 92325  	t["VirtualMachineStorageInfo"] = reflect.TypeOf((*VirtualMachineStorageInfo)(nil)).Elem()
 92326  }
 92327  
 92328  // A subset of the storage information of this virtual machine.
 92329  //
 92330  // See `VirtualMachineStorageInfo` for a detailed storage break-up.
 92331  type VirtualMachineStorageSummary struct {
 92332  	DynamicData
 92333  
 92334  	// Total storage space, in bytes, committed to this virtual machine across
 92335  	// all datastores.
 92336  	//
 92337  	// Essentially an aggregate of the property
 92338  	// `VirtualMachineUsageOnDatastore.committed` across all
 92339  	// datastores that this virtual machine is located on.
 92340  	Committed int64 `xml:"committed" json:"committed"`
 92341  	// Additional storage space, in bytes, potentially used by this virtual machine
 92342  	// on all datastores.
 92343  	//
 92344  	// Essentially an aggregate of the property
 92345  	// `VirtualMachineUsageOnDatastore.uncommitted` across all
 92346  	// datastores that this virtual machine is located on.
 92347  	Uncommitted int64 `xml:"uncommitted" json:"uncommitted"`
 92348  	// Total storage space, in bytes, occupied by the virtual machine across
 92349  	// all datastores, that is not shared with any other virtual machine.
 92350  	Unshared int64 `xml:"unshared" json:"unshared"`
 92351  	// Time when values in this structure were last updated.
 92352  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 92353  }
 92354  
 92355  func init() {
 92356  	t["VirtualMachineStorageSummary"] = reflect.TypeOf((*VirtualMachineStorageSummary)(nil)).Elem()
 92357  }
 92358  
 92359  // The summary data object type encapsulates a typical set of virtual machine
 92360  // information that is useful for list views and summary pages.
 92361  //
 92362  // VirtualCenter can retrieve this information very efficiently,
 92363  // even for large sets of virtual machines.
 92364  type VirtualMachineSummary struct {
 92365  	DynamicData
 92366  
 92367  	// Reference to the virtual machine managed object.
 92368  	//
 92369  	// Refers instance of `VirtualMachine`.
 92370  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 92371  	// Runtime and state information of a running virtual machine.
 92372  	//
 92373  	// Most of this information is also available when a virtual machine is powered off.
 92374  	// In that case, it contains information from the last run, if available.
 92375  	Runtime VirtualMachineRuntimeInfo `xml:"runtime" json:"runtime"`
 92376  	// Guest operating system and VMware Tools information.
 92377  	//
 92378  	// See `VirtualMachine.guest` for more information.
 92379  	Guest *VirtualMachineGuestSummary `xml:"guest,omitempty" json:"guest,omitempty"`
 92380  	// Basic configuration information about the virtual machine.
 92381  	//
 92382  	// This information
 92383  	// is not available when the virtual machine is unavailable, for instance, when
 92384  	// it is being created or deleted.
 92385  	Config VirtualMachineConfigSummary `xml:"config" json:"config"`
 92386  	// Storage information of the virtual machine.
 92387  	//
 92388  	// It can be explicitly refreshed
 92389  	// with the `VirtualMachine.RefreshStorageInfo` operation.
 92390  	// In releases after vSphere API 5.0, vSphere Servers might not
 92391  	// generate property collector update notifications for this property.
 92392  	// To obtain the latest value of the property, you can use
 92393  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 92394  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 92395  	// an empty string for the version parameter.
 92396  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 92397  	// contain values for this property when some other property on the DataObject changes.
 92398  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 92399  	// version parameter, the value for this property may not be current.
 92400  	Storage *VirtualMachineStorageSummary `xml:"storage,omitempty" json:"storage,omitempty"`
 92401  	// A set of statistics that are typically updated with near real-time regularity.
 92402  	//
 92403  	// This data object type does not support notification, for scalability reasons.
 92404  	// Therefore, changes in QuickStats do not generate property collector updates. To
 92405  	// monitor statistics values, use the statistics and alarms modules instead.
 92406  	QuickStats VirtualMachineQuickStats `xml:"quickStats" json:"quickStats"`
 92407  	// Overall alarm status on this node.
 92408  	//
 92409  	// In releases after vSphere API 5.0, vSphere Servers might not
 92410  	// generate property collector update notifications for this property.
 92411  	// To obtain the latest value of the property, you can use
 92412  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 92413  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 92414  	// an empty string for the version parameter.
 92415  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 92416  	// contain values for this property when some other property on the DataObject changes.
 92417  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 92418  	// version parameter, the value for this property may not be current.
 92419  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 92420  	// Custom field values.
 92421  	CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr" json:"customValue,omitempty"`
 92422  }
 92423  
 92424  func init() {
 92425  	t["VirtualMachineSummary"] = reflect.TypeOf((*VirtualMachineSummary)(nil)).Elem()
 92426  }
 92427  
 92428  // The TargetInfo specified a value that can be used in the device backings to
 92429  // connect the virtual machine to a physical (or logical) host device.
 92430  type VirtualMachineTargetInfo struct {
 92431  	DynamicData
 92432  
 92433  	// The identification of the endpoint on the host.
 92434  	//
 92435  	// The format of this depends
 92436  	// on the kind of virtual device this endpoints is used for. For example,
 92437  	// for a VirtualEthernetCard this would be a networkname, and for a VirtualCDROM
 92438  	// it would be a device name.
 92439  	Name string `xml:"name" json:"name"`
 92440  	// List of configurations that this device is available for.
 92441  	//
 92442  	// This is only filled
 92443  	// out if more than one configuration is requested.
 92444  	ConfigurationTag []string `xml:"configurationTag,omitempty" json:"configurationTag,omitempty"`
 92445  }
 92446  
 92447  func init() {
 92448  	t["VirtualMachineTargetInfo"] = reflect.TypeOf((*VirtualMachineTargetInfo)(nil)).Elem()
 92449  }
 92450  
 92451  // This data object contains the information needed to establish a
 92452  // connection to a running virtual machine.
 92453  type VirtualMachineTicket struct {
 92454  	DynamicData
 92455  
 92456  	// The ticket name.
 92457  	//
 92458  	// This is used as the username and password for the MKS
 92459  	// connection.
 92460  	Ticket string `xml:"ticket" json:"ticket"`
 92461  	// The name of the configuration file for the virtual machine.
 92462  	CfgFile string `xml:"cfgFile" json:"cfgFile"`
 92463  	// The host with which to establish a connection.
 92464  	//
 92465  	// If the host is not specified,
 92466  	// it is assumed that the requesting entity knows the appropriate host with which
 92467  	// to connect.
 92468  	Host string `xml:"host,omitempty" json:"host,omitempty"`
 92469  	// The port number to use.
 92470  	//
 92471  	// If the port is not specified,
 92472  	// it is assumed that the requesting entity knows the appropriate port to
 92473  	// use when making a new connection.
 92474  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 92475  	// The expected SHA1 thumbprint of the SSL cert of the host to which we
 92476  	// are connecting.
 92477  	//
 92478  	// This field can be enabled or disabled on the host.
 92479  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 92480  	// List of expected thumbprints of the certificate of the host to
 92481  	// which we are connecting.
 92482  	//
 92483  	// The list can be configured on the host
 92484  	// to include only certain hash types. The default configuration
 92485  	// includes all hash types that are considered secure. See vmware.com
 92486  	// for the current security standards.
 92487  	CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty" json:"certThumbprintList,omitempty" vim:"7.0.3.1"`
 92488  	// PEM-encoded SSL certificate of the host to which we are connecting.
 92489  	//
 92490  	// Note: `VirtualMachineTicket.sslThumbprint` and `VirtualMachineTicket.sslCertificate` parameters are
 92491  	// mutually exclusive, and should never be used simultaneously.
 92492  	SslCertificate string `xml:"sslCertificate,omitempty" json:"sslCertificate,omitempty" vim:"9.0.0.0"`
 92493  	// Websocket URL.
 92494  	//
 92495  	// Some tickets are "websocket" tickets and are best expressed
 92496  	// as a URL.
 92497  	Url string `xml:"url,omitempty" json:"url,omitempty"`
 92498  }
 92499  
 92500  func init() {
 92501  	t["VirtualMachineTicket"] = reflect.TypeOf((*VirtualMachineTicket)(nil)).Elem()
 92502  }
 92503  
 92504  // Storage space used by this virtual machine on a particular datastore.
 92505  type VirtualMachineUsageOnDatastore struct {
 92506  	DynamicData
 92507  
 92508  	// Reference to datastore for which information is being provided.
 92509  	//
 92510  	// Refers instance of `Datastore`.
 92511  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 92512  	// Storage space, in bytes, on this datastore that is actually being used by
 92513  	// the virtual machine.
 92514  	//
 92515  	// It includes space actually occupied by disks, logs, snapshots,
 92516  	// configuration files etc. Files of the virtual machine which are present
 92517  	// on a different datastore (e.g. a virtual disk on another datastore) are not
 92518  	// included here. `VirtualMachineFileLayoutEx` provides a detailed
 92519  	// break-up of the committed space.
 92520  	Committed int64 `xml:"committed" json:"committed"`
 92521  	// Additional storage space, in bytes, potentially used by the virtual machine
 92522  	// on this datastore.
 92523  	//
 92524  	// Additional space may be needed for example when lazily allocated disks grow,
 92525  	// or storage for swap is allocated when powering on the virtual machine.
 92526  	//
 92527  	// If the virtual machine is running off delta disks (for example because
 92528  	// a snapshot was taken), then only the potential growth of the currently
 92529  	// used delta-disks is considered.
 92530  	Uncommitted int64 `xml:"uncommitted" json:"uncommitted"`
 92531  	// Storage space, in bytes, occupied by the virtual machine on this datastore
 92532  	// that is not shared with any other virtual machine.
 92533  	Unshared int64 `xml:"unshared" json:"unshared"`
 92534  }
 92535  
 92536  func init() {
 92537  	t["VirtualMachineUsageOnDatastore"] = reflect.TypeOf((*VirtualMachineUsageOnDatastore)(nil)).Elem()
 92538  }
 92539  
 92540  // This data object contains information about a physical USB device
 92541  // on the host.
 92542  type VirtualMachineUsbInfo struct {
 92543  	VirtualMachineTargetInfo
 92544  
 92545  	// A user visible name of the USB device.
 92546  	Description string `xml:"description" json:"description"`
 92547  	// The vendor ID of the USB device.
 92548  	Vendor int32 `xml:"vendor" json:"vendor"`
 92549  	// The product ID of the USB device.
 92550  	Product int32 `xml:"product" json:"product"`
 92551  	// An autoconnect pattern which describes the device's physical
 92552  	// path.
 92553  	//
 92554  	// This is the path to the specific port on the host where the
 92555  	// USB device is attached.
 92556  	PhysicalPath string `xml:"physicalPath" json:"physicalPath"`
 92557  	// The device class families.
 92558  	//
 92559  	// For possible values see
 92560  	// `VirtualMachineUsbInfoFamily_enum`
 92561  	Family []string `xml:"family,omitempty" json:"family,omitempty"`
 92562  	// The possible device speeds detected by server.
 92563  	//
 92564  	// For possible values see
 92565  	// `VirtualMachineUsbInfoSpeed_enum`
 92566  	Speed []string `xml:"speed,omitempty" json:"speed,omitempty"`
 92567  	// Summary information about the virtual machine that is currently
 92568  	// using this device, if any.
 92569  	Summary *VirtualMachineSummary `xml:"summary,omitempty" json:"summary,omitempty"`
 92570  }
 92571  
 92572  func init() {
 92573  	t["VirtualMachineUsbInfo"] = reflect.TypeOf((*VirtualMachineUsbInfo)(nil)).Elem()
 92574  }
 92575  
 92576  // VFlashModuleInfo class contains information about a vFlash module
 92577  // on the host.
 92578  type VirtualMachineVFlashModuleInfo struct {
 92579  	VirtualMachineTargetInfo
 92580  
 92581  	// Information about the vFlash module
 92582  	VFlashModule HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModule" json:"vFlashModule"`
 92583  }
 92584  
 92585  func init() {
 92586  	t["VirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*VirtualMachineVFlashModuleInfo)(nil)).Elem()
 92587  }
 92588  
 92589  // The `VirtualMachineVMCIDevice` data object represents
 92590  // a virtual communication device that supports the VMCI
 92591  // (Virtual Machine Communication Interface).
 92592  //
 92593  // Each virtual machine has a VMCI device that handles
 92594  // interprocess socket-based communication.
 92595  // VMCI device information is available in the virtual machine
 92596  // hardware device list
 92597  // (`VirtualMachine*.*VirtualMachine.config*.*VirtualMachineConfigInfo.hardware*.*VirtualHardware.device`\[\]).
 92598  //
 92599  // An application running on a virtual machine uses the VMCI Sockets API
 92600  // for communication with other virtual machines on the same host
 92601  // (communication between virtual machines is not supported on vSphere
 92602  // 5.1 and later platforms as described for
 92603  // VirtualVMCIDevice.`VirtualMachineVMCIDevice.allowUnrestrictedCommunication`),
 92604  // or for communication with the host.
 92605  // For information about using the vSphere VMCI Sockets API,
 92606  // see the _VMCI Sockets Programming Guide_.
 92607  type VirtualMachineVMCIDevice struct {
 92608  	VirtualDevice
 92609  
 92610  	// Unique identifier for VMCI socket access to this virtual machine.
 92611  	//
 92612  	// Use this value to identify this virtual machine in calls to the
 92613  	// VMCI Sockets API. Applications running on other virtual machines on this
 92614  	// host will use this value to connect to this virtual machine.
 92615  	// You can cast this value to a 32-bit unsigned integer.
 92616  	//
 92617  	// The vSphere Server sets this value when a virtual machine
 92618  	// powers on. The Server may change this value after power
 92619  	// operations such as vMotion or restoring a virtual machine
 92620  	// from a snapshot. If you have saved a VMCI device identifier,
 92621  	// check to see if the value is still valid after power
 92622  	// operations.
 92623  	Id int64 `xml:"id,omitempty" json:"id,omitempty"`
 92624  	// Deprecated as of vSphere API 5.1. On vSphere 5.1 and later
 92625  	// platforms, the VMCI device does not support communication with
 92626  	// other virtual machines. Therefore, this property has no effect
 92627  	// on these platforms.
 92628  	//
 92629  	// Determines the extent of VMCI communication with this virtual
 92630  	// machine.
 92631  	//
 92632  	// Set this property to true to allow VMCI communication
 92633  	// with all virtual machines on the host and with trusted services.
 92634  	// Set this property to false to allow VMCI communication only
 92635  	// with trusted services such as the hypervisor on the host.
 92636  	//
 92637  	// If unset, communication is restricted to trusted services only.
 92638  	AllowUnrestrictedCommunication *bool `xml:"allowUnrestrictedCommunication" json:"allowUnrestrictedCommunication,omitempty"`
 92639  	// Determines if filtering of VMCI communication is enabled for this virtual
 92640  	// machine.
 92641  	//
 92642  	// Set this property to enable or disable filter rules as specified
 92643  	// in `VirtualMachineVMCIDevice.filterInfo`.
 92644  	FilterEnable *bool `xml:"filterEnable" json:"filterEnable,omitempty"`
 92645  	// Specify a `VirtualMachineVMCIDeviceFilterInfo` data object that controls the extent of
 92646  	// VMCI communication with this virtual machine.
 92647  	FilterInfo *VirtualMachineVMCIDeviceFilterInfo `xml:"filterInfo,omitempty" json:"filterInfo,omitempty"`
 92648  }
 92649  
 92650  func init() {
 92651  	t["VirtualMachineVMCIDevice"] = reflect.TypeOf((*VirtualMachineVMCIDevice)(nil)).Elem()
 92652  }
 92653  
 92654  // The `VirtualMachineVMCIDeviceFilterInfo` data object contains an array of filters.
 92655  //
 92656  // To
 92657  // clear all existing filters, leave filters unset or specify an empty
 92658  // array.
 92659  type VirtualMachineVMCIDeviceFilterInfo struct {
 92660  	DynamicData
 92661  
 92662  	Filters []VirtualMachineVMCIDeviceFilterSpec `xml:"filters,omitempty" json:"filters,omitempty"`
 92663  }
 92664  
 92665  func init() {
 92666  	t["VirtualMachineVMCIDeviceFilterInfo"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterInfo)(nil)).Elem()
 92667  }
 92668  
 92669  // The `VirtualMachineVMCIDeviceFilterSpec` data object describes a filter based on protocol,
 92670  // direction and port or port-range.
 92671  type VirtualMachineVMCIDeviceFilterSpec struct {
 92672  	DynamicData
 92673  
 92674  	// Long value representing filter rank.
 92675  	//
 92676  	// This is the rank of this filter. Filters are guaranteed to be
 92677  	// processed in ascending rank order, that is, if rank1 &lt; rank2, then
 92678  	// rank1 is processed before rank2. The ranks within an array of
 92679  	// filters should be unique.
 92680  	Rank int64 `xml:"rank" json:"rank"`
 92681  	// String value from `VirtualMachineVMCIDeviceAction_enum` enum object.
 92682  	Action string `xml:"action" json:"action"`
 92683  	// String value from `VirtualMachineVMCIDeviceProtocol_enum` enum object
 92684  	Protocol string `xml:"protocol" json:"protocol"`
 92685  	// String value from `VirtualMachineVMCIDeviceDirection_enum` enum object.
 92686  	Direction string `xml:"direction" json:"direction"`
 92687  	// Long value representing the lower destination port boundary.
 92688  	//
 92689  	// If unset, the lower destination port boundary is default to the
 92690  	// lowest port number supported by the given protocol.
 92691  	//
 92692  	// To specify a single port, both lowerDstPortBoundary and
 92693  	// upperDstPortBoundary shall be set to the same value.
 92694  	LowerDstPortBoundary int64 `xml:"lowerDstPortBoundary,omitempty" json:"lowerDstPortBoundary,omitempty"`
 92695  	// Long value representing the upper destination port range.
 92696  	//
 92697  	// If unset, the upper destination port boundary is default to the
 92698  	// highest port number supported by the given protocol.
 92699  	//
 92700  	// To specify a single port, both lowerDstPortBoundary and
 92701  	// upperDstPortBoundary shall be set to the same value.
 92702  	UpperDstPortBoundary int64 `xml:"upperDstPortBoundary,omitempty" json:"upperDstPortBoundary,omitempty"`
 92703  }
 92704  
 92705  func init() {
 92706  	t["VirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterSpec)(nil)).Elem()
 92707  }
 92708  
 92709  // The `VirtualMachineVMCIDeviceOption` data object contains the options
 92710  // for the virtual VMCI device (`VirtualMachineVMCIDevice`).
 92711  type VirtualMachineVMCIDeviceOption struct {
 92712  	VirtualDeviceOption
 92713  
 92714  	// Indicates support for VMCI communication and specifies the default
 92715  	// operation.
 92716  	//
 92717  	// If `BoolOption.defaultValue` is set to true,
 92718  	// the virtual machine can participate in VMCI communication with all other
 92719  	// virtual machines on the host. Otherwise, VMCI communication will be
 92720  	// restricted to trusted services such as the hypervisor on the host.
 92721  	// On vSphere 5.1 and later platforms, the VMCI device does not support
 92722  	// communication with other virtual machines. Therefore, this property has
 92723  	// no effect on these platforms.
 92724  	AllowUnrestrictedCommunication BoolOption `xml:"allowUnrestrictedCommunication" json:"allowUnrestrictedCommunication"`
 92725  	// Filter specification options.
 92726  	FilterSpecOption *VirtualMachineVMCIDeviceOptionFilterSpecOption `xml:"filterSpecOption,omitempty" json:"filterSpecOption,omitempty"`
 92727  	// Indicates support for VMCI firewall filters and specifies the default
 92728  	// operation.
 92729  	//
 92730  	// If `BoolOption.supported` is set to true,
 92731  	// then firewall filtering can be used for this virtual machine to allow
 92732  	// or deny traffic over VMCI.
 92733  	FilterSupported *BoolOption `xml:"filterSupported,omitempty" json:"filterSupported,omitempty"`
 92734  }
 92735  
 92736  func init() {
 92737  	t["VirtualMachineVMCIDeviceOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOption)(nil)).Elem()
 92738  }
 92739  
 92740  // Filter specification options.
 92741  //
 92742  // Indicates options for each filter
 92743  // specification, as defined by
 92744  // `VirtualMachineVMCIDeviceFilterSpec`.
 92745  type VirtualMachineVMCIDeviceOptionFilterSpecOption struct {
 92746  	DynamicData
 92747  
 92748  	// Available actions.
 92749  	Action ChoiceOption `xml:"action" json:"action"`
 92750  	// Available protocols.
 92751  	Protocol ChoiceOption `xml:"protocol" json:"protocol"`
 92752  	// Available directions.
 92753  	Direction ChoiceOption `xml:"direction" json:"direction"`
 92754  	// Minimum, maximum and default values for lower destination port
 92755  	// boundary.
 92756  	LowerDstPortBoundary LongOption `xml:"lowerDstPortBoundary" json:"lowerDstPortBoundary"`
 92757  	// Minimum, maximum and default values for upper destination port
 92758  	// boundary.
 92759  	UpperDstPortBoundary LongOption `xml:"upperDstPortBoundary" json:"upperDstPortBoundary"`
 92760  }
 92761  
 92762  func init() {
 92763  	t["VirtualMachineVMCIDeviceOptionFilterSpecOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOptionFilterSpecOption)(nil)).Elem()
 92764  }
 92765  
 92766  // Deprecated as of vSphere API 6.0. On vSphere 6.0 and later
 92767  // platforms, the VMIROM device does not provide any functionality.
 92768  //
 92769  // The VirtualVMIROM data object type represents the ROM on the
 92770  // virtual machine's PCI bus that provides support for VMI.
 92771  type VirtualMachineVMIROM struct {
 92772  	VirtualDevice
 92773  }
 92774  
 92775  func init() {
 92776  	t["VirtualMachineVMIROM"] = reflect.TypeOf((*VirtualMachineVMIROM)(nil)).Elem()
 92777  }
 92778  
 92779  // Description of VMotion Stun Time.
 92780  type VirtualMachineVMotionStunTimeInfo struct {
 92781  	VirtualMachineTargetInfo
 92782  
 92783  	// Migration bandwidth in Mbps
 92784  	MigrationBW int64 `xml:"migrationBW" json:"migrationBW"`
 92785  	// Stun Time in seconds
 92786  	StunTime int64 `xml:"stunTime" json:"stunTime"`
 92787  }
 92788  
 92789  func init() {
 92790  	t["VirtualMachineVMotionStunTimeInfo"] = reflect.TypeOf((*VirtualMachineVMotionStunTimeInfo)(nil)).Elem()
 92791  	minAPIVersionForType["VirtualMachineVMotionStunTimeInfo"] = "8.0.2.0"
 92792  }
 92793  
 92794  // Vcpu configuration.
 92795  type VirtualMachineVcpuConfig struct {
 92796  	DynamicData
 92797  
 92798  	// Latency sensitivity specification for this vcpu.
 92799  	//
 92800  	// The latency sensitivity can be configured per-vcpu only when the VM
 92801  	// `latencySensitivity` is
 92802  	// configured to `high`
 92803  	// in the same ConfigSpec.
 92804  	// Setting `latencySensitivity`,
 92805  	// but not setting the vcpu's LatencySensitivity would apply the VM's
 92806  	// latency sensitivity level to all the vcpus of the VM.
 92807  	// The latency sensitivity of the vcpu should not exceed the
 92808  	// latency sensivity level of the VM.
 92809  	// The only allowed levels for vcpu Latency sensitivity
 92810  	// are `high` or
 92811  	// `normal`
 92812  	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty"`
 92813  }
 92814  
 92815  func init() {
 92816  	t["VirtualMachineVcpuConfig"] = reflect.TypeOf((*VirtualMachineVcpuConfig)(nil)).Elem()
 92817  }
 92818  
 92819  // Description of a PCI vendor device group device.
 92820  type VirtualMachineVendorDeviceGroupInfo struct {
 92821  	VirtualMachineTargetInfo
 92822  
 92823  	// Name of Vendor Device Group.
 92824  	DeviceGroupName string `xml:"deviceGroupName" json:"deviceGroupName"`
 92825  	// Description of Vendor Device Group.
 92826  	DeviceGroupDescription string `xml:"deviceGroupDescription,omitempty" json:"deviceGroupDescription,omitempty"`
 92827  	// Array describing component devices of this Vendor Device Group.
 92828  	//
 92829  	// There is one entry per componentDevice in the deviceGroupSpec.
 92830  	ComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"componentDeviceInfo,omitempty" json:"componentDeviceInfo,omitempty"`
 92831  }
 92832  
 92833  func init() {
 92834  	t["VirtualMachineVendorDeviceGroupInfo"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfo)(nil)).Elem()
 92835  	minAPIVersionForType["VirtualMachineVendorDeviceGroupInfo"] = "8.0.0.1"
 92836  }
 92837  
 92838  // Class describing a component device within this vendor device group.
 92839  type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct {
 92840  	DynamicData
 92841  
 92842  	// Type of this component.
 92843  	//
 92844  	// See `VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType_enum` for supported types.
 92845  	Type string `xml:"type" json:"type"`
 92846  	// Name of component device vendor.
 92847  	VendorName string `xml:"vendorName" json:"vendorName"`
 92848  	// Name of component device.
 92849  	DeviceName string `xml:"deviceName" json:"deviceName"`
 92850  	// True if this device may be configured by user or UI.
 92851  	IsConfigurable bool `xml:"isConfigurable" json:"isConfigurable"`
 92852  	// VirtualDevice template for this device.
 92853  	Device BaseVirtualDevice `xml:"device,typeattr" json:"device"`
 92854  }
 92855  
 92856  func init() {
 92857  	t["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo)(nil)).Elem()
 92858  	minAPIVersionForType["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = "8.0.0.1"
 92859  }
 92860  
 92861  // Description of PCI vGPU device and its capabilities.
 92862  type VirtualMachineVgpuDeviceInfo struct {
 92863  	VirtualMachineTargetInfo
 92864  
 92865  	// The vGPU device name.
 92866  	DeviceName string `xml:"deviceName" json:"deviceName"`
 92867  	// A well-known unique identifier for the device.
 92868  	//
 92869  	// It concatenates the
 92870  	// 16-bit PCI vendor id in lower bits followed by 16-bit PCI device id.
 92871  	DeviceVendorId int64 `xml:"deviceVendorId" json:"deviceVendorId"`
 92872  	// The maximum framebuffer size in gibibytes.
 92873  	MaxFbSizeInGib int64 `xml:"maxFbSizeInGib" json:"maxFbSizeInGib"`
 92874  	// Indicate whether device is time-sliced capable.
 92875  	TimeSlicedCapable bool `xml:"timeSlicedCapable" json:"timeSlicedCapable"`
 92876  	// Indicate whether device is Multiple Instance GPU capable.
 92877  	MigCapable bool `xml:"migCapable" json:"migCapable"`
 92878  	// Indicate whether device is compute profile capable.
 92879  	ComputeProfileCapable bool `xml:"computeProfileCapable" json:"computeProfileCapable"`
 92880  	// Indicate whether device is quadro profile capable.
 92881  	QuadroProfileCapable bool `xml:"quadroProfileCapable" json:"quadroProfileCapable"`
 92882  }
 92883  
 92884  func init() {
 92885  	t["VirtualMachineVgpuDeviceInfo"] = reflect.TypeOf((*VirtualMachineVgpuDeviceInfo)(nil)).Elem()
 92886  	minAPIVersionForType["VirtualMachineVgpuDeviceInfo"] = "7.0.3.0"
 92887  }
 92888  
 92889  // Description of PCI vGPU profile and its attributes.
 92890  type VirtualMachineVgpuProfileInfo struct {
 92891  	VirtualMachineTargetInfo
 92892  
 92893  	// The vGPU profile name.
 92894  	ProfileName string `xml:"profileName" json:"profileName"`
 92895  	// A well-known unique identifier for the device that supports this
 92896  	// profile.
 92897  	//
 92898  	// It concatenates the 16-bit PCI vendor id in lower bits
 92899  	// followed by 16-bit PCI device id.
 92900  	DeviceVendorId int64 `xml:"deviceVendorId" json:"deviceVendorId"`
 92901  	// The profile framebuffer size in gibibytes.
 92902  	FbSizeInGib int64 `xml:"fbSizeInGib" json:"fbSizeInGib"`
 92903  	// Indicate how this profile is shared within device.
 92904  	ProfileSharing string `xml:"profileSharing" json:"profileSharing"`
 92905  	// Indicate class for this profile.
 92906  	ProfileClass string `xml:"profileClass" json:"profileClass"`
 92907  	// VMotion stun time information for this profile.
 92908  	StunTimeEstimates []VirtualMachineVMotionStunTimeInfo `xml:"stunTimeEstimates,omitempty" json:"stunTimeEstimates,omitempty" vim:"8.0.2.0"`
 92909  }
 92910  
 92911  func init() {
 92912  	t["VirtualMachineVgpuProfileInfo"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfo)(nil)).Elem()
 92913  	minAPIVersionForType["VirtualMachineVgpuProfileInfo"] = "7.0.3.0"
 92914  }
 92915  
 92916  // The VirtualVideoCard data object type represents a video card in
 92917  // a virtual machine.
 92918  type VirtualMachineVideoCard struct {
 92919  	VirtualDevice
 92920  
 92921  	// The size of the framebuffer for a virtual machine.
 92922  	VideoRamSizeInKB int64 `xml:"videoRamSizeInKB,omitempty" json:"videoRamSizeInKB,omitempty"`
 92923  	// Indicates the number of supported monitors.
 92924  	//
 92925  	// The number of displays X the maximum resolution of each display is
 92926  	// bounded by the video RAM size of the virtual video card.
 92927  	// This property can only be updated when the virtual machine is
 92928  	// powered off.
 92929  	NumDisplays int32 `xml:"numDisplays,omitempty" json:"numDisplays,omitempty"`
 92930  	// Flag to indicate whether the display settings of the host on which the
 92931  	// virtual machine is running should be used to automatically determine
 92932  	// the display settings of the virtual machine's video card.
 92933  	//
 92934  	// This setting takes effect at virtual machine power-on time. If this
 92935  	// value is set to TRUE, numDisplays will be ignored.
 92936  	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty"`
 92937  	// Flag to indicate whether the virtual video card supports 3D functions.
 92938  	//
 92939  	// This property can only be updated when the virtual machine is powered
 92940  	// off.
 92941  	Enable3DSupport *bool `xml:"enable3DSupport" json:"enable3DSupport,omitempty"`
 92942  	// Indicate how the virtual video device renders 3D graphics.
 92943  	//
 92944  	// The virtual video device can use hardware acceleration and software
 92945  	// rendering. By default, VMware products determine whether or not to
 92946  	// use hardware acceleration based on the availability of physical graphics
 92947  	// devices. Certain workloads can benefit from explicitly specifying if
 92948  	// hardware acceleration is required. For example, 3D intensive workloads
 92949  	// may indicate to run on systems with graphics hardware.
 92950  	//
 92951  	// There are three settings.
 92952  	//
 92953  	// (automatic) - The virtual device chooses how to render 3D graphics (default).
 92954  	// (software) - The virtual device will use software rendering and
 92955  	// will not attempt to use hardware acceleration.
 92956  	// (hardware) - The virtual device will use hardware acceleration and
 92957  	// will not activate without it.
 92958  	Use3dRenderer string `xml:"use3dRenderer,omitempty" json:"use3dRenderer,omitempty"`
 92959  	// The size of graphics memory.
 92960  	//
 92961  	// If 3d support is enabled this setting gives the amount of guest memory
 92962  	// used for graphics resources.
 92963  	// This property can only be updated when the virtual machine is
 92964  	// powered off.
 92965  	GraphicsMemorySizeInKB int64 `xml:"graphicsMemorySizeInKB,omitempty" json:"graphicsMemorySizeInKB,omitempty"`
 92966  }
 92967  
 92968  func init() {
 92969  	t["VirtualMachineVideoCard"] = reflect.TypeOf((*VirtualMachineVideoCard)(nil)).Elem()
 92970  }
 92971  
 92972  // The VirtualDeviceGroups data object
 92973  // type contains information about the backing that maps the
 92974  // virtual device onto a physical device for a Vendor Device Group device.
 92975  //
 92976  // Vendor Device Groups allow third-parties to define collections of
 92977  // devices that must be allocated to a virtual machine as a unit.
 92978  // Typically, this is because the set of devices are related in
 92979  // a some way, e.g. a physical link connects the devices.
 92980  type VirtualMachineVirtualDeviceGroups struct {
 92981  	DynamicData
 92982  
 92983  	// Information about device groups used by this VM.
 92984  	//
 92985  	// When adding a group, all devices that form the group
 92986  	// must be added in the same request.
 92987  	// When removing group, also all devices participating
 92988  	// in the group must be removed.
 92989  	// Modifying existing device group membership is not allowed.
 92990  	DeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"deviceGroup,omitempty,typeattr" json:"deviceGroup,omitempty"`
 92991  }
 92992  
 92993  func init() {
 92994  	t["VirtualMachineVirtualDeviceGroups"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroups)(nil)).Elem()
 92995  	minAPIVersionForType["VirtualMachineVirtualDeviceGroups"] = "8.0.0.1"
 92996  }
 92997  
 92998  // Base device group type.
 92999  type VirtualMachineVirtualDeviceGroupsDeviceGroup struct {
 93000  	DynamicData
 93001  
 93002  	// Group instance key.
 93003  	//
 93004  	// Unique integer referencing
 93005  	// device group. During group creation client should
 93006  	// use a temporary negative number. Once group is
 93007  	// added to the virtual machine, server generates non-negative
 93008  	// integer that stays constant during group lifetime.
 93009  	// See `VirtualDevice.key` for details.
 93010  	GroupInstanceKey int32 `xml:"groupInstanceKey" json:"groupInstanceKey"`
 93011  	// Provides a label and summary information for the device.
 93012  	DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr" json:"deviceInfo,omitempty"`
 93013  }
 93014  
 93015  func init() {
 93016  	t["VirtualMachineVirtualDeviceGroupsDeviceGroup"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroupsDeviceGroup)(nil)).Elem()
 93017  }
 93018  
 93019  // Vendor device group.
 93020  //
 93021  // These groups are defined in the
 93022  // <code>`VirtualMachineVendorDeviceGroupInfo`</code>.
 93023  // When this group is added, all devices that form the group
 93024  // must be added in the same request.
 93025  // Modification of membership in the group is not allowed,
 93026  // devices cannot be added or removed.
 93027  // When group is removed, all devices that form the group
 93028  // must be removed in the same request.
 93029  type VirtualMachineVirtualDeviceGroupsVendorDeviceGroup struct {
 93030  	VirtualMachineVirtualDeviceGroupsDeviceGroup
 93031  
 93032  	// The name of the vendor device group from
 93033  	// <code>`VirtualMachineVendorDeviceGroupInfo`</code>.
 93034  	DeviceGroupName string `xml:"deviceGroupName" json:"deviceGroupName"`
 93035  }
 93036  
 93037  func init() {
 93038  	t["VirtualMachineVirtualDeviceGroupsVendorDeviceGroup"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroupsVendorDeviceGroup)(nil)).Elem()
 93039  }
 93040  
 93041  // Device Swap: Report current status of device swap feature.
 93042  type VirtualMachineVirtualDeviceSwap struct {
 93043  	DynamicData
 93044  
 93045  	LsiToPvscsi *VirtualMachineVirtualDeviceSwapDeviceSwapInfo `xml:"lsiToPvscsi,omitempty" json:"lsiToPvscsi,omitempty"`
 93046  }
 93047  
 93048  func init() {
 93049  	t["VirtualMachineVirtualDeviceSwap"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwap)(nil)).Elem()
 93050  	minAPIVersionForType["VirtualMachineVirtualDeviceSwap"] = "8.0.0.1"
 93051  }
 93052  
 93053  // Information for the device swap operation.
 93054  type VirtualMachineVirtualDeviceSwapDeviceSwapInfo struct {
 93055  	DynamicData
 93056  
 93057  	// Is the swap operation enabled for this virtual machine.
 93058  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 93059  	// Is the swap operation applicable to this virtual machine?
 93060  	// Operation is applicable if it is enabled for the virtual
 93061  	// machine, for the host or cluster in which virtual machine
 93062  	// resides, operating system supports device swap, and
 93063  	// virtual machine has controllers that need to be replaced.
 93064  	//
 93065  	// This field is read-only and cannot be modified.
 93066  	Applicable *bool `xml:"applicable" json:"applicable,omitempty"`
 93067  	// Status of the operation.
 93068  	//
 93069  	// One of
 93070  	// `VirtualMachineVirtualDeviceSwapDeviceSwapStatus_enum`
 93071  	// This field is read-only and cannot be modified.
 93072  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 93073  }
 93074  
 93075  func init() {
 93076  	t["VirtualMachineVirtualDeviceSwapDeviceSwapInfo"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwapDeviceSwapInfo)(nil)).Elem()
 93077  	minAPIVersionForType["VirtualMachineVirtualDeviceSwapDeviceSwapInfo"] = "8.0.0.1"
 93078  }
 93079  
 93080  // This data object describes the virtual NUMA configuration for
 93081  // this virtual machine and configured through ConfigSpec.
 93082  type VirtualMachineVirtualNuma struct {
 93083  	DynamicData
 93084  
 93085  	// Cores per vNUMA node for this VM.
 93086  	//
 93087  	// The number of vNUMA nodes is
 93088  	// calculated by total number of cores divided by corePerNumaNode.
 93089  	// If set to be zero, it clears any manual override and autosize
 93090  	// vNUMA node.
 93091  	// If set to be non zero, VM uses the value as vNUMA node size.
 93092  	// If unset, the VM continue to follow the behavior in last poweron.
 93093  	CoresPerNumaNode *int32 `xml:"coresPerNumaNode" json:"coresPerNumaNode,omitempty"`
 93094  	// Capability to expose virtual NUMA when CPU hotadd is enabled.
 93095  	//
 93096  	// If set to true, ESXi will consider exposing virtual NUMA to
 93097  	// the VM when CPU hotadd is enabled.
 93098  	// If set to false, ESXi will enforce the VM to have single
 93099  	// virtual NUMA node when CPU hotadd is enabled.
 93100  	// If unset, the VM continue to follow the behavior in last poweron.
 93101  	ExposeVnumaOnCpuHotadd *bool `xml:"exposeVnumaOnCpuHotadd" json:"exposeVnumaOnCpuHotadd,omitempty"`
 93102  }
 93103  
 93104  func init() {
 93105  	t["VirtualMachineVirtualNuma"] = reflect.TypeOf((*VirtualMachineVirtualNuma)(nil)).Elem()
 93106  	minAPIVersionForType["VirtualMachineVirtualNuma"] = "8.0.0.1"
 93107  }
 93108  
 93109  // vNUMA: This is read-only data for ConfigInfo since this portion is
 93110  // not configurable.
 93111  type VirtualMachineVirtualNumaInfo struct {
 93112  	DynamicData
 93113  
 93114  	// Cores per NUMA node.
 93115  	//
 93116  	// When this virtual machine is powered off and "autoCoresPerNumaNode"
 93117  	// is True, coresPerNumaNode will be assigned during power-on and this
 93118  	// field should be ignored.
 93119  	// In other cases, this field represents the virtual NUMA node size
 93120  	// seen by the guest.
 93121  	CoresPerNumaNode *int32 `xml:"coresPerNumaNode" json:"coresPerNumaNode,omitempty"`
 93122  	// Whether coresPerNode is determined automatically.
 93123  	AutoCoresPerNumaNode *bool `xml:"autoCoresPerNumaNode" json:"autoCoresPerNumaNode,omitempty"`
 93124  	// Whether virtual NUMA topology is exposed when CPU hotadd is
 93125  	// enabled.
 93126  	VnumaOnCpuHotaddExposed *bool `xml:"vnumaOnCpuHotaddExposed" json:"vnumaOnCpuHotaddExposed,omitempty"`
 93127  }
 93128  
 93129  func init() {
 93130  	t["VirtualMachineVirtualNumaInfo"] = reflect.TypeOf((*VirtualMachineVirtualNumaInfo)(nil)).Elem()
 93131  	minAPIVersionForType["VirtualMachineVirtualNumaInfo"] = "8.0.0.1"
 93132  }
 93133  
 93134  // Virtual Persistent Memory configuration for the VM.
 93135  type VirtualMachineVirtualPMem struct {
 93136  	DynamicData
 93137  
 93138  	// An enum describing behavior of NVDIMM devices when a VM snapshot is taken
 93139  	// and restored.
 93140  	//
 93141  	// If unset, taking a VM snapshot will fail when the VM is
 93142  	// configured with NVDIMMs. See `VirtualMachineVirtualPMemSnapshotMode_enum` for supported values.
 93143  	// The snapshot mode applies to all NVDIMMs configured for the VM.
 93144  	// Property is currently only applicable to VMs with virtual NVDIMMs and not
 93145  	// applicable to vPMem disks.
 93146  	// Setting this property will fail if the VM has existing snapshots.
 93147  	SnapshotMode string `xml:"snapshotMode,omitempty" json:"snapshotMode,omitempty"`
 93148  }
 93149  
 93150  func init() {
 93151  	t["VirtualMachineVirtualPMem"] = reflect.TypeOf((*VirtualMachineVirtualPMem)(nil)).Elem()
 93152  	minAPIVersionForType["VirtualMachineVirtualPMem"] = "7.0.3.0"
 93153  }
 93154  
 93155  // This data object type encapsulates configuration settings
 93156  // when creating a virtual machine quiesced snapshot.
 93157  type VirtualMachineWindowsQuiesceSpec struct {
 93158  	VirtualMachineGuestQuiesceSpec
 93159  
 93160  	// The property to indicate what type of VSS backup operation is going
 93161  	// to be performed on the virtual machine.
 93162  	//
 93163  	// See VSS\_BACKUP\_TYPE on MSDN:
 93164  	// https://msdn.microsoft.com/en-us/library/aa384679(v=vs.85).aspx
 93165  	VssBackupType int32 `xml:"vssBackupType,omitempty" json:"vssBackupType,omitempty"`
 93166  	// The property to indicate if a bootable system state during VSS backup
 93167  	// to be performed on the virtual machine.
 93168  	VssBootableSystemState *bool `xml:"vssBootableSystemState" json:"vssBootableSystemState,omitempty"`
 93169  	// The property to indicate if partial file support is enabled during VSS
 93170  	// backup to be performed on the virtual machine.
 93171  	VssPartialFileSupport *bool `xml:"vssPartialFileSupport" json:"vssPartialFileSupport,omitempty"`
 93172  	// The property to indicate what context of VSS backup operation to be
 93173  	// performed on the virtual machine.
 93174  	//
 93175  	// For the list of supported values,
 93176  	// see `VirtualMachineWindowsQuiesceSpecVssBackupContext_enum`
 93177  	VssBackupContext string `xml:"vssBackupContext,omitempty" json:"vssBackupContext,omitempty"`
 93178  }
 93179  
 93180  func init() {
 93181  	t["VirtualMachineWindowsQuiesceSpec"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpec)(nil)).Elem()
 93182  }
 93183  
 93184  // Data structure used by wipeDisk to return the amount of disk space that
 93185  // can be saved on an Flex-SE disk if a subsequent shrinkDisk API is invoked
 93186  // on that disk.
 93187  type VirtualMachineWipeResult struct {
 93188  	DynamicData
 93189  
 93190  	// The disk id for the disk that was wiped.
 93191  	DiskId int32 `xml:"diskId" json:"diskId"`
 93192  	// The amount of shrinkable disk space in kB.
 93193  	ShrinkableDiskSpace int64 `xml:"shrinkableDiskSpace" json:"shrinkableDiskSpace"`
 93194  }
 93195  
 93196  func init() {
 93197  	t["VirtualMachineWipeResult"] = reflect.TypeOf((*VirtualMachineWipeResult)(nil)).Elem()
 93198  }
 93199  
 93200  // The Virtual NVDIMM device.
 93201  type VirtualNVDIMM struct {
 93202  	VirtualDevice
 93203  
 93204  	// NVDIMM backing size in MiB.
 93205  	//
 93206  	// If backing is inaccessible, then
 93207  	// capacity is reported as 0.
 93208  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
 93209  	// NVDIMM device's configured size in MiB.
 93210  	ConfiguredCapacityInMB int64 `xml:"configuredCapacityInMB,omitempty" json:"configuredCapacityInMB,omitempty" vim:"7.0.2.0"`
 93211  }
 93212  
 93213  func init() {
 93214  	t["VirtualNVDIMM"] = reflect.TypeOf((*VirtualNVDIMM)(nil)).Elem()
 93215  }
 93216  
 93217  // The <code>`VirtualNVDIMMBackingInfo`</code> data object type
 93218  // defines information about a resource that backs a device
 93219  // in a virtual machine.
 93220  type VirtualNVDIMMBackingInfo struct {
 93221  	VirtualDeviceFileBackingInfo
 93222  
 93223  	// Parent object in snapshot chain.
 93224  	Parent *VirtualNVDIMMBackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 93225  	// The change ID of the virtual NVDIMM for the corresponding
 93226  	// snapshot of virtual machine.
 93227  	//
 93228  	// This can be used to track
 93229  	// incremental changes.
 93230  	// See `VirtualMachine.QueryChangedDiskAreas`.
 93231  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 93232  }
 93233  
 93234  func init() {
 93235  	t["VirtualNVDIMMBackingInfo"] = reflect.TypeOf((*VirtualNVDIMMBackingInfo)(nil)).Elem()
 93236  }
 93237  
 93238  // The Virtual NVDIMM controller.
 93239  type VirtualNVDIMMController struct {
 93240  	VirtualController
 93241  }
 93242  
 93243  func init() {
 93244  	t["VirtualNVDIMMController"] = reflect.TypeOf((*VirtualNVDIMMController)(nil)).Elem()
 93245  }
 93246  
 93247  // VirtualNVDIMMControllerOption is the data object that contains
 93248  // the options for a virtual NVDIMM controller.
 93249  type VirtualNVDIMMControllerOption struct {
 93250  	VirtualControllerOption
 93251  
 93252  	// Minimum, maximum and default number of virtual NVDIMM controllers.
 93253  	NumNVDIMMControllers IntOption `xml:"numNVDIMMControllers" json:"numNVDIMMControllers"`
 93254  }
 93255  
 93256  func init() {
 93257  	t["VirtualNVDIMMControllerOption"] = reflect.TypeOf((*VirtualNVDIMMControllerOption)(nil)).Elem()
 93258  }
 93259  
 93260  // The VirtualNVDIMMOption contains information about
 93261  // a virtual NVDIMM capacity limits and rules for
 93262  // capacity growth operations.
 93263  type VirtualNVDIMMOption struct {
 93264  	VirtualDeviceOption
 93265  
 93266  	// Minimum and maximum capacity in MB.
 93267  	CapacityInMB LongOption `xml:"capacityInMB" json:"capacityInMB"`
 93268  	// Option to show if device capacity growth is supported for
 93269  	// powered off VMs.
 93270  	Growable bool `xml:"growable" json:"growable"`
 93271  	// Option to show if device capacity growth is supported for
 93272  	// powered on VMs.
 93273  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 93274  	// Option to show capacity growth granularity if growth operation
 93275  	// is supported in MB.
 93276  	GranularityInMB int64 `xml:"granularityInMB" json:"granularityInMB"`
 93277  }
 93278  
 93279  func init() {
 93280  	t["VirtualNVDIMMOption"] = reflect.TypeOf((*VirtualNVDIMMOption)(nil)).Elem()
 93281  }
 93282  
 93283  // The Virtual NVME controller.
 93284  type VirtualNVMEController struct {
 93285  	VirtualController
 93286  
 93287  	// Mode for sharing the SCSI bus.
 93288  	//
 93289  	// The modes are physicalSharing,
 93290  	// and noSharing. See the
 93291  	// `Sharing`
 93292  	// data object type for an explanation of these modes.
 93293  	SharedBus string `xml:"sharedBus,omitempty" json:"sharedBus,omitempty" vim:"8.0.2.0"`
 93294  }
 93295  
 93296  func init() {
 93297  	t["VirtualNVMEController"] = reflect.TypeOf((*VirtualNVMEController)(nil)).Elem()
 93298  }
 93299  
 93300  // VirtualNVMEControllerOption is the data object that contains
 93301  // the options for a virtual NVME controller.
 93302  type VirtualNVMEControllerOption struct {
 93303  	VirtualControllerOption
 93304  
 93305  	// Three properties (numNVMEDisks.min, numNVMEDisks.max, and
 93306  	// numNVMEDisks.defaultValue) define the minimum, maximum, and default
 93307  	// number of NVME VirtualDisk instances available at any given time in the
 93308  	// NVME controller.
 93309  	//
 93310  	// The number of NVME VirtualDisk instances is
 93311  	// also limited by the number of available namespaces in the NVME controller.
 93312  	NumNVMEDisks IntOption `xml:"numNVMEDisks" json:"numNVMEDisks"`
 93313  	// Supported shared bus modes.
 93314  	//
 93315  	// See `VirtualNVMEControllerSharing_enum` for the list of available modes.
 93316  	Sharing []string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"8.0.2.0"`
 93317  }
 93318  
 93319  func init() {
 93320  	t["VirtualNVMEControllerOption"] = reflect.TypeOf((*VirtualNVMEControllerOption)(nil)).Elem()
 93321  }
 93322  
 93323  // The NetConfig data object type contains the networking
 93324  // configuration.
 93325  type VirtualNicManagerNetConfig struct {
 93326  	DynamicData
 93327  
 93328  	// The NicType of this NetConfig.
 93329  	NicType string `xml:"nicType" json:"nicType"`
 93330  	// Whether multiple nics can be selected for this nicType.
 93331  	MultiSelectAllowed bool `xml:"multiSelectAllowed" json:"multiSelectAllowed"`
 93332  	// List of VirtualNic objects that may be used.
 93333  	//
 93334  	// This will be a subset of the list of VirtualNics in
 93335  	// `HostNetworkInfo.vnic`.
 93336  	CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty" json:"candidateVnic,omitempty"`
 93337  	// List of VirtualNic objects that are selected for use.
 93338  	SelectedVnic []string `xml:"selectedVnic,omitempty" json:"selectedVnic,omitempty"`
 93339  }
 93340  
 93341  func init() {
 93342  	t["VirtualNicManagerNetConfig"] = reflect.TypeOf((*VirtualNicManagerNetConfig)(nil)).Elem()
 93343  }
 93344  
 93345  // The VirtualPCIController data object type defines a virtual PCI
 93346  // controller.
 93347  type VirtualPCIController struct {
 93348  	VirtualController
 93349  }
 93350  
 93351  func init() {
 93352  	t["VirtualPCIController"] = reflect.TypeOf((*VirtualPCIController)(nil)).Elem()
 93353  }
 93354  
 93355  // This data object type contains the options
 93356  // for a virtual PCI Controller.
 93357  type VirtualPCIControllerOption struct {
 93358  	VirtualControllerOption
 93359  
 93360  	// Defines the minimum, maximum, and
 93361  	// default number of VirtualSCSIController instances available
 93362  	// at any given time in the PCI controller.
 93363  	//
 93364  	// The number of
 93365  	// VirtualSCSIController instances is also limited by the number of
 93366  	// available slots in the PCI controller.
 93367  	NumSCSIControllers IntOption `xml:"numSCSIControllers" json:"numSCSIControllers"`
 93368  	// Defines the minimum, maximum, and
 93369  	// default number of VirtualEthernetCard instances available,
 93370  	// at any given time, in the PCI controller.
 93371  	//
 93372  	// The number of
 93373  	// VirtualEthernetCard instances is also limited by the number of
 93374  	// available slots in the PCI controller.
 93375  	NumEthernetCards IntOption `xml:"numEthernetCards" json:"numEthernetCards"`
 93376  	// Defines the minimum, maximum, and default
 93377  	// number of VirtualVideoCard instances available,
 93378  	// at any given time, in the PCI controller.
 93379  	//
 93380  	// The number of
 93381  	// VirtualVideoCard instances is also limited by the number of
 93382  	// available slots in the PCI controller.
 93383  	NumVideoCards IntOption `xml:"numVideoCards" json:"numVideoCards"`
 93384  	// Defines the minimum, maximum, and default
 93385  	// number of VirtualSoundCard instances available,
 93386  	// at any given time, in the PCI controller.
 93387  	//
 93388  	// The number of
 93389  	// VirtualSoundCard instances is also limited by the number of
 93390  	// available slots in the PCI controller.
 93391  	NumSoundCards IntOption `xml:"numSoundCards" json:"numSoundCards"`
 93392  	// Defines the minimum, maximum, and default
 93393  	// number of VirtualVMIROM instances available,
 93394  	// at any given time, in the PCI controller.
 93395  	//
 93396  	// This is also limited
 93397  	// by the number of available slots in the PCI controller.
 93398  	NumVmiRoms IntOption `xml:"numVmiRoms" json:"numVmiRoms"`
 93399  	// Defines the minimum, maximum, and default
 93400  	// number of VirtualVMCIDevice instances available,
 93401  	// at any given time, in the PCI controller.
 93402  	//
 93403  	// This is also limited
 93404  	// by the number of available slots in the PCI controller.
 93405  	NumVmciDevices *IntOption `xml:"numVmciDevices,omitempty" json:"numVmciDevices,omitempty"`
 93406  	// Defines the minimum, maximum, and default
 93407  	// number of VirtualPCIPassthrough instances available,
 93408  	// at any given time, in the PCI controller.
 93409  	//
 93410  	// This is also limited
 93411  	// by the number of available PCI Express slots in the PCI controller.
 93412  	NumPCIPassthroughDevices *IntOption `xml:"numPCIPassthroughDevices,omitempty" json:"numPCIPassthroughDevices,omitempty"`
 93413  	// Defines the minimum, maximum, and default
 93414  	// number of VirtualLsiLogicSASController instances available,
 93415  	// at any given time, in the PCI controller.
 93416  	//
 93417  	// This is also limited
 93418  	// by the number of available PCI Express slots in the PCI controller
 93419  	// as well as the total number of supported SCSI controllers.
 93420  	NumSasSCSIControllers *IntOption `xml:"numSasSCSIControllers,omitempty" json:"numSasSCSIControllers,omitempty"`
 93421  	// Defines the minimum, maximum, and default
 93422  	// number of VirtualVmxnet3 ethernet card instances available,
 93423  	// at any given time, in the PCI controller.
 93424  	//
 93425  	// This is also limited
 93426  	// by the number of available PCI Express slots in the PCI controller
 93427  	// as well as the total number of supported ethernet cards.
 93428  	NumVmxnet3EthernetCards *IntOption `xml:"numVmxnet3EthernetCards,omitempty" json:"numVmxnet3EthernetCards,omitempty"`
 93429  	// Defines the minimum, maximum, and default
 93430  	// number of ParaVirtualScsiController instances available,
 93431  	// at any given time, in the PCI controller.
 93432  	//
 93433  	// This is also limited
 93434  	// by the number of available PCI Express slots in the PCI controller
 93435  	// as well as the total number of supported SCSI controllers.
 93436  	NumParaVirtualSCSIControllers *IntOption `xml:"numParaVirtualSCSIControllers,omitempty" json:"numParaVirtualSCSIControllers,omitempty"`
 93437  	// Defines the minimum, maximum, and default
 93438  	// number of VirtualSATAController instances available,
 93439  	// at any given time, in the PCI controller.
 93440  	//
 93441  	// This is also limited
 93442  	// by the number of available PCI Express slots in the PCI controller
 93443  	// as well as the total number of supported SATA controllers.
 93444  	NumSATAControllers *IntOption `xml:"numSATAControllers,omitempty" json:"numSATAControllers,omitempty"`
 93445  	// Defines the minimum, maximum, and default
 93446  	// number of VirtualNVMEController instances available,
 93447  	// at any given time, in the PCI controller.
 93448  	//
 93449  	// This is also limited
 93450  	// by the number of available PCI Express slots in the PCI controller
 93451  	// as well as the total number of supported NVME controllers.
 93452  	NumNVMEControllers *IntOption `xml:"numNVMEControllers,omitempty" json:"numNVMEControllers,omitempty"`
 93453  	// Defines the minimum, maximum, and default
 93454  	// number of VirtualVmxnet3Vrdma ethernet card instances available,
 93455  	// at any given time, in the PCI controller.
 93456  	//
 93457  	// This is also limited
 93458  	// by the number of available PCI Express slots in the PCI controller
 93459  	// as well as the total number of supported ethernet cards.
 93460  	NumVmxnet3VrdmaEthernetCards *IntOption `xml:"numVmxnet3VrdmaEthernetCards,omitempty" json:"numVmxnet3VrdmaEthernetCards,omitempty"`
 93461  }
 93462  
 93463  func init() {
 93464  	t["VirtualPCIControllerOption"] = reflect.TypeOf((*VirtualPCIControllerOption)(nil)).Elem()
 93465  }
 93466  
 93467  // The VirtualPCIPassthrough data object type contains information about a
 93468  // PCI device on the virtual machine that is being backed by
 93469  // a generic PCI device on the host via passthrough.
 93470  type VirtualPCIPassthrough struct {
 93471  	VirtualDevice
 93472  }
 93473  
 93474  func init() {
 93475  	t["VirtualPCIPassthrough"] = reflect.TypeOf((*VirtualPCIPassthrough)(nil)).Elem()
 93476  }
 93477  
 93478  // A tuple of vendorId and deviceId indicating an allowed device
 93479  // for a Dynamic DirectPath device.
 93480  type VirtualPCIPassthroughAllowedDevice struct {
 93481  	DynamicData
 93482  
 93483  	// The vendor ID for this PCI device.
 93484  	//
 93485  	// You must use the vendor ID
 93486  	// retrieved from the vSphere host or cluster.
 93487  	VendorId int32 `xml:"vendorId" json:"vendorId"`
 93488  	// The device ID of this PCI device.
 93489  	//
 93490  	// You must use the device ID
 93491  	// retrieved from the vSphere host or cluster.
 93492  	DeviceId int32 `xml:"deviceId" json:"deviceId"`
 93493  	// The subVendor ID for this PCI device.
 93494  	//
 93495  	// If specified, you must use
 93496  	// the subVendor ID retrieved from the vSphere host or cluster.
 93497  	// Range of legal values is 0x0 to 0xFFFF.
 93498  	SubVendorId int32 `xml:"subVendorId,omitempty" json:"subVendorId,omitempty"`
 93499  	// The subDevice ID of this PCI device.
 93500  	//
 93501  	// If specified, you must use
 93502  	// the subDevice ID retrieved from the vSphere host or cluster.
 93503  	// Range of legal values is 0x0 to 0xFFFF.
 93504  	SubDeviceId int32 `xml:"subDeviceId,omitempty" json:"subDeviceId,omitempty"`
 93505  	// The revision ID of this PCI device.
 93506  	//
 93507  	// If specified, you must use
 93508  	// the revision ID retrieved from the vSphere host or cluster.
 93509  	// Range of legal values is 0x0 to 0xFF.
 93510  	RevisionId int16 `xml:"revisionId,omitempty" json:"revisionId,omitempty"`
 93511  }
 93512  
 93513  func init() {
 93514  	t["VirtualPCIPassthroughAllowedDevice"] = reflect.TypeOf((*VirtualPCIPassthroughAllowedDevice)(nil)).Elem()
 93515  }
 93516  
 93517  // The VirtualPCIPassthrough.DeviceBackingInfo data object type
 93518  // contains information about the backing that maps the
 93519  // virtual device onto a physical device.
 93520  type VirtualPCIPassthroughDeviceBackingInfo struct {
 93521  	VirtualDeviceDeviceBackingInfo
 93522  
 93523  	// The name ID of this PCI, composed of "bus:slot.function".
 93524  	Id string `xml:"id" json:"id"`
 93525  	// The device ID of this PCI.
 93526  	//
 93527  	// You must use the device ID retrieved
 93528  	// from the vSphere host (`HostPciDevice`.deviceId), converted
 93529  	// as is to a string.
 93530  	DeviceId string `xml:"deviceId" json:"deviceId"`
 93531  	// The ID of the system the PCI device is attached to.
 93532  	SystemId string `xml:"systemId" json:"systemId"`
 93533  	// The vendor ID for this PCI device.
 93534  	//
 93535  	// You must use the vendor ID retrieved
 93536  	// from the vSphere host (`HostPciDevice`.vendorId).
 93537  	VendorId int16 `xml:"vendorId" json:"vendorId"`
 93538  }
 93539  
 93540  func init() {
 93541  	t["VirtualPCIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingInfo)(nil)).Elem()
 93542  }
 93543  
 93544  // This data object type describes the options for the
 93545  // `VirtualPCIPassthroughDeviceBackingInfo` data object type.
 93546  type VirtualPCIPassthroughDeviceBackingOption struct {
 93547  	VirtualDeviceDeviceBackingOption
 93548  }
 93549  
 93550  func init() {
 93551  	t["VirtualPCIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingOption)(nil)).Elem()
 93552  }
 93553  
 93554  // DVX Device specific information.
 93555  type VirtualPCIPassthroughDvxBackingInfo struct {
 93556  	VirtualDeviceBackingInfo
 93557  
 93558  	// The device class that backs this DVX device.
 93559  	//
 93560  	// During add operations, this value must be a non-empty string.
 93561  	// During edit operations, if this value is not set or is an empty
 93562  	// string, the current device class remains unchanged.
 93563  	DeviceClass string `xml:"deviceClass,omitempty" json:"deviceClass,omitempty"`
 93564  	// The configuration parameters for this device class.
 93565  	//
 93566  	// All required configuration parameters must be provided for both add
 93567  	// and edit operations. The provided configuration parameters replace
 93568  	// the previous ones. In particular, passing an empty array will unset
 93569  	// all existing configuration parameters.
 93570  	ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr" json:"configParams,omitempty"`
 93571  }
 93572  
 93573  func init() {
 93574  	t["VirtualPCIPassthroughDvxBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDvxBackingInfo)(nil)).Elem()
 93575  	minAPIVersionForType["VirtualPCIPassthroughDvxBackingInfo"] = "8.0.0.1"
 93576  }
 93577  
 93578  // Describes the options for
 93579  // `VirtualPCIPassthroughDvxBackingInfo`.
 93580  type VirtualPCIPassthroughDvxBackingOption struct {
 93581  	VirtualDeviceBackingOption
 93582  }
 93583  
 93584  func init() {
 93585  	t["VirtualPCIPassthroughDvxBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDvxBackingOption)(nil)).Elem()
 93586  	minAPIVersionForType["VirtualPCIPassthroughDvxBackingOption"] = "8.0.0.1"
 93587  }
 93588  
 93589  // The VirtualPCIPassthrough.DynamicBackingInfo data object type
 93590  // contains information about the backing that maps the
 93591  // virtual device onto a physical device for a Dynamic DirectPath
 93592  // device.
 93593  type VirtualPCIPassthroughDynamicBackingInfo struct {
 93594  	VirtualDeviceDeviceBackingInfo
 93595  
 93596  	// The list of allowed devices for use with a Dynamic DirectPath
 93597  	// device.
 93598  	AllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"allowedDevice,omitempty" json:"allowedDevice,omitempty"`
 93599  	// An optional label.
 93600  	//
 93601  	// If set, the device must also have the same
 93602  	// customLabel attribute set.
 93603  	CustomLabel string `xml:"customLabel,omitempty" json:"customLabel,omitempty"`
 93604  	// The id of the device assigned when the VM is powered on.
 93605  	//
 93606  	// This value
 93607  	// is unset when the VM is powered off.
 93608  	AssignedId string `xml:"assignedId,omitempty" json:"assignedId,omitempty"`
 93609  }
 93610  
 93611  func init() {
 93612  	t["VirtualPCIPassthroughDynamicBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDynamicBackingInfo)(nil)).Elem()
 93613  }
 93614  
 93615  // This data object type describes the options for the
 93616  // `VirtualPCIPassthroughDynamicBackingInfo` data object type.
 93617  type VirtualPCIPassthroughDynamicBackingOption struct {
 93618  	VirtualDeviceDeviceBackingOption
 93619  }
 93620  
 93621  func init() {
 93622  	t["VirtualPCIPassthroughDynamicBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDynamicBackingOption)(nil)).Elem()
 93623  }
 93624  
 93625  // The VirtualPCIPassthroughOption data object type describes the options
 93626  // for the
 93627  // `VirtualPCIPassthrough`
 93628  // data object type.
 93629  type VirtualPCIPassthroughOption struct {
 93630  	VirtualDeviceOption
 93631  }
 93632  
 93633  func init() {
 93634  	t["VirtualPCIPassthroughOption"] = reflect.TypeOf((*VirtualPCIPassthroughOption)(nil)).Elem()
 93635  }
 93636  
 93637  // The VirtualPCIPassthrough.PluginBackingInfo is a base data object type
 93638  // for encoding plugin-specific information.
 93639  //
 93640  // This base type does not define
 93641  // any properties. Specific plugin types are represented by subtypes which
 93642  // define properties for subtype-specific backing information.
 93643  type VirtualPCIPassthroughPluginBackingInfo struct {
 93644  	VirtualDeviceBackingInfo
 93645  }
 93646  
 93647  func init() {
 93648  	t["VirtualPCIPassthroughPluginBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingInfo)(nil)).Elem()
 93649  }
 93650  
 93651  // This data object type describes the options for the
 93652  // `VirtualPCIPassthroughPluginBackingInfo` data object type.
 93653  type VirtualPCIPassthroughPluginBackingOption struct {
 93654  	VirtualDeviceBackingOption
 93655  }
 93656  
 93657  func init() {
 93658  	t["VirtualPCIPassthroughPluginBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingOption)(nil)).Elem()
 93659  }
 93660  
 93661  // The VirtualPCIPassthrough.VmiopBackingInfo data object type
 93662  // contains information about the plugin that emulates the
 93663  // virtual device via the VMIOP plugin interface.
 93664  //
 93665  // At present, this interface is only used to implement vGPU.
 93666  type VirtualPCIPassthroughVmiopBackingInfo struct {
 93667  	VirtualPCIPassthroughPluginBackingInfo
 93668  
 93669  	// The vGPU configuration type exposed by a VMIOP plugin.
 93670  	Vgpu string `xml:"vgpu,omitempty" json:"vgpu,omitempty"`
 93671  	// The expected size of the vGPU device state during migration.
 93672  	VgpuMigrateDataSizeMB int32 `xml:"vgpuMigrateDataSizeMB,omitempty" json:"vgpuMigrateDataSizeMB,omitempty" vim:"8.0.0.1"`
 93673  	// Indicates whether the vGPU device is migration capable or not.
 93674  	MigrateSupported *bool `xml:"migrateSupported" json:"migrateSupported,omitempty" vim:"7.0.2.0"`
 93675  	// Indicates whether the vGPU has enhanced migration features for
 93676  	// sub-second downtime.
 93677  	EnhancedMigrateCapability *bool `xml:"enhancedMigrateCapability" json:"enhancedMigrateCapability,omitempty" vim:"8.0.0.1"`
 93678  }
 93679  
 93680  func init() {
 93681  	t["VirtualPCIPassthroughVmiopBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingInfo)(nil)).Elem()
 93682  }
 93683  
 93684  // This data object type describes the options for the
 93685  // `VirtualPCIPassthroughVmiopBackingInfo` data object type.
 93686  type VirtualPCIPassthroughVmiopBackingOption struct {
 93687  	VirtualPCIPassthroughPluginBackingOption
 93688  
 93689  	// Parameter indicating which GPU profile the plugin should emulate.
 93690  	//
 93691  	// See also `ConfigTarget.sharedGpuPassthroughTypes`.
 93692  	Vgpu StringOption `xml:"vgpu" json:"vgpu"`
 93693  	// Maximum number of instances of this backing type allowed
 93694  	// per virtual machine.
 93695  	//
 93696  	// This is a parameter of the plugin
 93697  	// itself, which may support only a limited number of
 93698  	// instances per virtual machine.
 93699  	MaxInstances int32 `xml:"maxInstances" json:"maxInstances"`
 93700  }
 93701  
 93702  func init() {
 93703  	t["VirtualPCIPassthroughVmiopBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingOption)(nil)).Elem()
 93704  }
 93705  
 93706  // This data object type defines the properties
 93707  // of an AMD Lance PCNet32 Ethernet card attached to a virtual machine.
 93708  type VirtualPCNet32 struct {
 93709  	VirtualEthernetCard
 93710  }
 93711  
 93712  func init() {
 93713  	t["VirtualPCNet32"] = reflect.TypeOf((*VirtualPCNet32)(nil)).Elem()
 93714  }
 93715  
 93716  // The VirtualPCNet32Option data object type defines the options for the
 93717  // VirtualPCNet32 data object type.
 93718  //
 93719  // Except for the boolean
 93720  // supportsMorphing option, the options are inherited from the
 93721  // `VirtualEthernetCardOption` data
 93722  // object type.
 93723  type VirtualPCNet32Option struct {
 93724  	VirtualEthernetCardOption
 93725  
 93726  	// Indicates that this Ethernet card supports morphing into vmxnet when
 93727  	// appropriate.
 93728  	//
 93729  	// This means that, if supportsMorphing="true", the virtual
 93730  	// AMD Lance PCNet32 Ethernet card becomes a vmxnet Ethernet card
 93731  	// with its added performance capabilities when appropriate.
 93732  	SupportsMorphing bool `xml:"supportsMorphing" json:"supportsMorphing"`
 93733  }
 93734  
 93735  func init() {
 93736  	t["VirtualPCNet32Option"] = reflect.TypeOf((*VirtualPCNet32Option)(nil)).Elem()
 93737  }
 93738  
 93739  // The VirtualPS2Controller data object type represents a controller
 93740  // for keyboards and mice.
 93741  type VirtualPS2Controller struct {
 93742  	VirtualController
 93743  }
 93744  
 93745  func init() {
 93746  	t["VirtualPS2Controller"] = reflect.TypeOf((*VirtualPS2Controller)(nil)).Elem()
 93747  }
 93748  
 93749  // The VirtualPS2ControllerOption data object type contains the options
 93750  // for a virtual PS/2 controller for keyboards and mice.
 93751  //
 93752  // In addition to
 93753  // the options defined in the `VirtualControllerOption` data object type, these options include the
 93754  // number of keyboards and mice.
 93755  type VirtualPS2ControllerOption struct {
 93756  	VirtualControllerOption
 93757  
 93758  	// The minimum, maximum, and default number of keyboards you can
 93759  	// have at any given time.
 93760  	//
 93761  	// This is further constrained by the number
 93762  	// of available slots in the PS/2 controller. The minimum, maximum,
 93763  	// and default are integers defined by three properties:
 93764  	//   - `*numKeyBoards.min*`: the minimum.
 93765  	//   - `*numKeyBoards.max*`: the maximum.
 93766  	//   - `*numKeyBoards.defaultValue*`: the default number.
 93767  	NumKeyboards IntOption `xml:"numKeyboards" json:"numKeyboards"`
 93768  	// The minimum, maximum, and default number of mice you can
 93769  	// have at any given time.
 93770  	//
 93771  	// The number of mice is also limited by the number
 93772  	// of available slots in the PS/2 controller. The minimum, maximum, and
 93773  	// default are integers defined by three properties:
 93774  	//   - `*numPointingDevices.min*`: the minimum.
 93775  	//   - `*numPointingDevices.max*`: the maximum.
 93776  	//   - `*numPointingDevices.defaultValue*`: the default number.
 93777  	NumPointingDevices IntOption `xml:"numPointingDevices" json:"numPointingDevices"`
 93778  }
 93779  
 93780  func init() {
 93781  	t["VirtualPS2ControllerOption"] = reflect.TypeOf((*VirtualPS2ControllerOption)(nil)).Elem()
 93782  }
 93783  
 93784  // This data object type represents a parallel port
 93785  // in a virtual machine.
 93786  type VirtualParallelPort struct {
 93787  	VirtualDevice
 93788  }
 93789  
 93790  func init() {
 93791  	t["VirtualParallelPort"] = reflect.TypeOf((*VirtualParallelPort)(nil)).Elem()
 93792  }
 93793  
 93794  // The data object type for a device backing of a virtual parallel port.
 93795  type VirtualParallelPortDeviceBackingInfo struct {
 93796  	VirtualDeviceDeviceBackingInfo
 93797  }
 93798  
 93799  func init() {
 93800  	t["VirtualParallelPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingInfo)(nil)).Elem()
 93801  }
 93802  
 93803  // Data object type that represents the options for a device backing
 93804  // of a virtual parallel port.
 93805  type VirtualParallelPortDeviceBackingOption struct {
 93806  	VirtualDeviceDeviceBackingOption
 93807  }
 93808  
 93809  func init() {
 93810  	t["VirtualParallelPortDeviceBackingOption"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingOption)(nil)).Elem()
 93811  }
 93812  
 93813  // The data object type for a file backing of a virtual parallel port.
 93814  type VirtualParallelPortFileBackingInfo struct {
 93815  	VirtualDeviceFileBackingInfo
 93816  }
 93817  
 93818  func init() {
 93819  	t["VirtualParallelPortFileBackingInfo"] = reflect.TypeOf((*VirtualParallelPortFileBackingInfo)(nil)).Elem()
 93820  }
 93821  
 93822  // Data object type that represents the options for a file backing
 93823  // of a virtual parallel port.
 93824  type VirtualParallelPortFileBackingOption struct {
 93825  	VirtualDeviceFileBackingOption
 93826  }
 93827  
 93828  func init() {
 93829  	t["VirtualParallelPortFileBackingOption"] = reflect.TypeOf((*VirtualParallelPortFileBackingOption)(nil)).Elem()
 93830  }
 93831  
 93832  // This data object type contains the options for the
 93833  // virtual parallel port class.
 93834  type VirtualParallelPortOption struct {
 93835  	VirtualDeviceOption
 93836  }
 93837  
 93838  func init() {
 93839  	t["VirtualParallelPortOption"] = reflect.TypeOf((*VirtualParallelPortOption)(nil)).Elem()
 93840  }
 93841  
 93842  // The VirtualPointingDevice data object type contains information about
 93843  // the mouse type on a virtual machine.
 93844  type VirtualPointingDevice struct {
 93845  	VirtualDevice
 93846  }
 93847  
 93848  func init() {
 93849  	t["VirtualPointingDevice"] = reflect.TypeOf((*VirtualPointingDevice)(nil)).Elem()
 93850  }
 93851  
 93852  // The DeviceBackingOption data object type represents
 93853  // the options for a pointing device backing a
 93854  // VirtualPointingDevice data object type.
 93855  type VirtualPointingDeviceBackingOption struct {
 93856  	VirtualDeviceDeviceBackingOption
 93857  
 93858  	// This object defines the supported mouse types, including the default
 93859  	// supported mouse type, with the following properties:
 93860  	//   - `*hostPointingDevices.value*`: This array defines the
 93861  	//     supported mouse types.
 93862  	//   - `*hostPointingDevices.choiceDescription*`: This array
 93863  	//     provides the descriptions for the supported mouse types defined by
 93864  	//     hostPointingDevices.value.
 93865  	//   - `*hostPointingDevices.defaultIndex*`: This integer points
 93866  	//     to an index in the hostPointingDevices.value array. This is the
 93867  	//     mouse type supported by default.
 93868  	HostPointingDevice ChoiceOption `xml:"hostPointingDevice" json:"hostPointingDevice"`
 93869  }
 93870  
 93871  func init() {
 93872  	t["VirtualPointingDeviceBackingOption"] = reflect.TypeOf((*VirtualPointingDeviceBackingOption)(nil)).Elem()
 93873  }
 93874  
 93875  // The VirtualPointingDevice.DeviceBackingInfo provides information about
 93876  // the physical mouse backing the VirtualPointingDevice data object
 93877  // type.
 93878  type VirtualPointingDeviceDeviceBackingInfo struct {
 93879  	VirtualDeviceDeviceBackingInfo
 93880  
 93881  	// This optional property defines the mouse type (two-button,
 93882  	// three-button, and so on).
 93883  	//
 93884  	// The mouse type
 93885  	// determines how the user interacts with the host mouse.
 93886  	// The valid values are specified in the
 93887  	// `VirtualPointingDeviceHostChoice_enum` list.
 93888  	//
 93889  	// `*Note*`: The value specified by this property must be
 93890  	// one of the supported types listed in the hostPointingDevices.value
 93891  	// array in the `VirtualPointingDeviceOption` data object type. If this property is
 93892  	// not set, then the property defaults to the
 93893  	// hostPointingDevices.defaultIndex property in the same data
 93894  	// object type.
 93895  	HostPointingDevice string `xml:"hostPointingDevice" json:"hostPointingDevice"`
 93896  }
 93897  
 93898  func init() {
 93899  	t["VirtualPointingDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualPointingDeviceDeviceBackingInfo)(nil)).Elem()
 93900  }
 93901  
 93902  // The VirtualPointingDeviceOption data object type contains the options
 93903  // for the host mouse type defined in the
 93904  // `VirtualPointingDevice` data object type.
 93905  //
 93906  // These options include the valid selections for the mouse type, the supported
 93907  // mouse types, and the default mouse type.
 93908  type VirtualPointingDeviceOption struct {
 93909  	VirtualDeviceOption
 93910  }
 93911  
 93912  func init() {
 93913  	t["VirtualPointingDeviceOption"] = reflect.TypeOf((*VirtualPointingDeviceOption)(nil)).Elem()
 93914  }
 93915  
 93916  // This data object type represents a virtual clock device providing
 93917  // precision time in a virtual machine.
 93918  type VirtualPrecisionClock struct {
 93919  	VirtualDevice
 93920  }
 93921  
 93922  func init() {
 93923  	t["VirtualPrecisionClock"] = reflect.TypeOf((*VirtualPrecisionClock)(nil)).Elem()
 93924  }
 93925  
 93926  // The VirtualPrecisionClockOption data object type describes the
 93927  // options for the `VirtualPrecisionClock` data
 93928  // object type.
 93929  type VirtualPrecisionClockOption struct {
 93930  	VirtualDeviceOption
 93931  }
 93932  
 93933  func init() {
 93934  	t["VirtualPrecisionClockOption"] = reflect.TypeOf((*VirtualPrecisionClockOption)(nil)).Elem()
 93935  }
 93936  
 93937  // The `VirtualPrecisionClockSystemClockBackingInfo`
 93938  // data object contains information about using host system clock as the
 93939  // backing reference clock for this virtual device.
 93940  type VirtualPrecisionClockSystemClockBackingInfo struct {
 93941  	VirtualDeviceBackingInfo
 93942  
 93943  	// The time synchronization protocol used to discipline system clock.
 93944  	//
 93945  	// See `HostDateTimeInfoProtocol_enum` for valid values.
 93946  	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty"`
 93947  }
 93948  
 93949  func init() {
 93950  	t["VirtualPrecisionClockSystemClockBackingInfo"] = reflect.TypeOf((*VirtualPrecisionClockSystemClockBackingInfo)(nil)).Elem()
 93951  }
 93952  
 93953  // This data object type describes the options for the
 93954  // `VirtualPrecisionClockSystemClockBackingInfo`
 93955  // VirtualPrecisionClockSystemClockBackingInfo} data object type.
 93956  type VirtualPrecisionClockSystemClockBackingOption struct {
 93957  	VirtualDeviceBackingOption
 93958  
 93959  	// Parameter indicating the protocol used to discipline the
 93960  	// host system clock.
 93961  	Protocol ChoiceOption `xml:"protocol" json:"protocol"`
 93962  }
 93963  
 93964  func init() {
 93965  	t["VirtualPrecisionClockSystemClockBackingOption"] = reflect.TypeOf((*VirtualPrecisionClockSystemClockBackingOption)(nil)).Elem()
 93966  }
 93967  
 93968  // The VirtualSATAController data object type represents
 93969  // a SATA controller in a virtual machine.
 93970  type VirtualSATAController struct {
 93971  	VirtualController
 93972  }
 93973  
 93974  func init() {
 93975  	t["VirtualSATAController"] = reflect.TypeOf((*VirtualSATAController)(nil)).Elem()
 93976  }
 93977  
 93978  // The VirtualSATAControllerOption data object type contains the options
 93979  // for a virtual SATA controller defined by the
 93980  // `VirtualSATAController`
 93981  // data object type.
 93982  type VirtualSATAControllerOption struct {
 93983  	VirtualControllerOption
 93984  
 93985  	// Three properties (numSATADisks.min, numSATADisks.max, and
 93986  	// numSATADisks.defaultValue) define the minimum, maximum, and default
 93987  	// number of SATA VirtualDisk instances available at any given time in the
 93988  	// SATA controller.
 93989  	//
 93990  	// The number of SATA VirtualDisk instances is
 93991  	// also limited by the number of available slots in the SATA controller.
 93992  	NumSATADisks IntOption `xml:"numSATADisks" json:"numSATADisks"`
 93993  	// Three properties (numSATACdroms.min, numSATACdroms.max, and
 93994  	// numSATACdroms.defaultValue) define the minimum, maximum, and default
 93995  	// number of SATA VirtualCdrom instances available
 93996  	// in the SATA controller.
 93997  	//
 93998  	// The number of SATA VirtualCdrom instances is
 93999  	// also limited by the number of available slots in the SATA controller.
 94000  	NumSATACdroms IntOption `xml:"numSATACdroms" json:"numSATACdroms"`
 94001  }
 94002  
 94003  func init() {
 94004  	t["VirtualSATAControllerOption"] = reflect.TypeOf((*VirtualSATAControllerOption)(nil)).Elem()
 94005  }
 94006  
 94007  // The VirtualSCSIController data object type represents
 94008  // a SCSI controller in a virtual machine.
 94009  type VirtualSCSIController struct {
 94010  	VirtualController
 94011  
 94012  	// All SCSI controllers support hot adding and removing of devices.
 94013  	//
 94014  	// This
 94015  	// support can't be toggled in the current implementation. Therefore, this
 94016  	// option is ignored when reconfiguring a SCSI controller and is always set
 94017  	// to "true" when reading an existing configuration.
 94018  	HotAddRemove *bool `xml:"hotAddRemove" json:"hotAddRemove,omitempty"`
 94019  	// Mode for sharing the SCSI bus.
 94020  	//
 94021  	// The modes are physicalSharing,
 94022  	// virtualSharing, and noSharing. See the
 94023  	// `Sharing`
 94024  	// data object type for an explanation of these modes.
 94025  	SharedBus VirtualSCSISharing `xml:"sharedBus" json:"sharedBus"`
 94026  	// The unit number of the SCSI controller.
 94027  	//
 94028  	// The SCSI controller sits on its
 94029  	// own bus, so this field defines which slot the controller is using.
 94030  	ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber,omitempty" json:"scsiCtlrUnitNumber,omitempty"`
 94031  }
 94032  
 94033  func init() {
 94034  	t["VirtualSCSIController"] = reflect.TypeOf((*VirtualSCSIController)(nil)).Elem()
 94035  }
 94036  
 94037  // The VirtualSCSIControllerOption data object type contains the options
 94038  // for a virtual SCSI controller defined by the
 94039  // `VirtualSCSIController`
 94040  // data object type.
 94041  type VirtualSCSIControllerOption struct {
 94042  	VirtualControllerOption
 94043  
 94044  	// Three properties (numSCSIDisks.min, numSCSIDisks.max, and
 94045  	// numSCSIDisks.defaultValue) define the minimum, maximum, and default
 94046  	// number of SCSI VirtualDisk instances available at any given time in the
 94047  	// SCSI controller.
 94048  	//
 94049  	// The number of SCSI VirtualDisk instances is
 94050  	// also limited by the number of available slots in the SCSI controller.
 94051  	NumSCSIDisks IntOption `xml:"numSCSIDisks" json:"numSCSIDisks"`
 94052  	// Three properties (numSCSICdroms.min, numSCSICdroms.max, and
 94053  	// numSCSICdroms.defaultValue) define the minimum, maximum, and default
 94054  	// number of SCSI VirtualCdrom instances available
 94055  	// in the SCSI controller.
 94056  	//
 94057  	// The number of SCSI VirtualCdrom instances is
 94058  	// also limited by the number of available slots in the SCSI controller.
 94059  	NumSCSICdroms IntOption `xml:"numSCSICdroms" json:"numSCSICdroms"`
 94060  	// Three properties (numSCSIPassthrough.min, numSCSIPassthrough.max, and
 94061  	// numSCSIPassthrough.defaultValue) define the minimum, maximum, and
 94062  	// default number of VirtualSCSIPassthrough instances available
 94063  	// have at any given time in the SCSI controller.
 94064  	//
 94065  	// The number of
 94066  	// VirtualSCSIPassthrough instances is also limited by the number of
 94067  	// available slots in the SCSI controller.
 94068  	NumSCSIPassthrough IntOption `xml:"numSCSIPassthrough" json:"numSCSIPassthrough"`
 94069  	// Supported shared bus modes.
 94070  	Sharing []VirtualSCSISharing `xml:"sharing" json:"sharing"`
 94071  	// Index into sharing array specifying the default value.
 94072  	DefaultSharedIndex int32 `xml:"defaultSharedIndex" json:"defaultSharedIndex"`
 94073  	// All SCSI controllers support hot adding and removing of devices.
 94074  	//
 94075  	// This
 94076  	// support can't be toggled in the current implementation. Therefore, this
 94077  	// option is ignored when reconfiguring a SCSI controller and is always set
 94078  	// to "true" when reading an existing configuration.
 94079  	HotAddRemove BoolOption `xml:"hotAddRemove" json:"hotAddRemove"`
 94080  	// The unit number of the SCSI controller.
 94081  	//
 94082  	// The SCSI controller sits on its
 94083  	// own bus, so that this field defines which slot the controller will use.
 94084  	ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber" json:"scsiCtlrUnitNumber"`
 94085  }
 94086  
 94087  func init() {
 94088  	t["VirtualSCSIControllerOption"] = reflect.TypeOf((*VirtualSCSIControllerOption)(nil)).Elem()
 94089  }
 94090  
 94091  // The VirtualSCSIPassthrough data object type contains information about a
 94092  // SCSI device on the virtual machine that is being backed by
 94093  // a generic SCSI device on the host via passthrough.
 94094  type VirtualSCSIPassthrough struct {
 94095  	VirtualDevice
 94096  }
 94097  
 94098  func init() {
 94099  	t["VirtualSCSIPassthrough"] = reflect.TypeOf((*VirtualSCSIPassthrough)(nil)).Elem()
 94100  }
 94101  
 94102  // The VirtualSCSIPassthrough.DeviceBackingInfo data object type
 94103  // contains information about the backing that maps the
 94104  // virtual device onto a physical device.
 94105  type VirtualSCSIPassthroughDeviceBackingInfo struct {
 94106  	VirtualDeviceDeviceBackingInfo
 94107  }
 94108  
 94109  func init() {
 94110  	t["VirtualSCSIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingInfo)(nil)).Elem()
 94111  }
 94112  
 94113  // This data object type describes
 94114  // the options for the
 94115  // `VirtualSCSIPassthroughDeviceBackingInfo` data object type.
 94116  type VirtualSCSIPassthroughDeviceBackingOption struct {
 94117  	VirtualDeviceDeviceBackingOption
 94118  }
 94119  
 94120  func init() {
 94121  	t["VirtualSCSIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingOption)(nil)).Elem()
 94122  }
 94123  
 94124  // The VirtualSCSIPassthroughOption data object type describes the options
 94125  // for the
 94126  // `VirtualSCSIPassthrough`
 94127  // data object type.
 94128  type VirtualSCSIPassthroughOption struct {
 94129  	VirtualDeviceOption
 94130  }
 94131  
 94132  func init() {
 94133  	t["VirtualSCSIPassthroughOption"] = reflect.TypeOf((*VirtualSCSIPassthroughOption)(nil)).Elem()
 94134  }
 94135  
 94136  // This data object type defines a
 94137  // Super IO Controller for floppy drives, parallel ports,
 94138  // and serial ports.
 94139  type VirtualSIOController struct {
 94140  	VirtualController
 94141  }
 94142  
 94143  func init() {
 94144  	t["VirtualSIOController"] = reflect.TypeOf((*VirtualSIOController)(nil)).Elem()
 94145  }
 94146  
 94147  // The VirtualSIOControllerOption data object type contains the options
 94148  // for a virtual Super IO Controller.
 94149  type VirtualSIOControllerOption struct {
 94150  	VirtualControllerOption
 94151  
 94152  	// Three properties (numFloppyDrives.min, numFloppyDrives.max, and
 94153  	// numFloppyDrives.defaultValue) define the minimum, maximum, and default
 94154  	// number of floppy drives you can have at any given time in the Super IO
 94155  	// Controller.
 94156  	//
 94157  	// This is further constrained by the number of available
 94158  	// slots in the Super IO Controller.
 94159  	NumFloppyDrives IntOption `xml:"numFloppyDrives" json:"numFloppyDrives"`
 94160  	// Three properties (numSerialPorts.min, numSerialPorts.max, and
 94161  	// numSerialPorts.defaultValue) define the minimum, maximum, and default
 94162  	// number of serial ports you can
 94163  	// have at any given time in the Super IO Controller.
 94164  	//
 94165  	// This is further
 94166  	// constrained by the number of available slots in the Super IO
 94167  	// Controller.
 94168  	NumSerialPorts IntOption `xml:"numSerialPorts" json:"numSerialPorts"`
 94169  	// Three properties (numParallelPorts.min, numParallelPorts.max, and
 94170  	// numParallelPorts.defaultValue) define the minimum, maximum, and default
 94171  	// number of parallel ports you can
 94172  	// have at any given time in the Super IO controller.
 94173  	//
 94174  	// This is further
 94175  	// constrained by the number of available slots in the Super IO
 94176  	// Controller.
 94177  	NumParallelPorts IntOption `xml:"numParallelPorts" json:"numParallelPorts"`
 94178  }
 94179  
 94180  func init() {
 94181  	t["VirtualSIOControllerOption"] = reflect.TypeOf((*VirtualSIOControllerOption)(nil)).Elem()
 94182  }
 94183  
 94184  // The <code>`VirtualSerialPort`</code> data object represents a serial port
 94185  // on a virtual machine.
 94186  //
 94187  // A virtual serial port uses one of the following backing types to specify
 94188  // how the virtual machine performs serial port operations.
 94189  //   - Network backing (<code>`VirtualSerialPortURIBackingInfo`</code>)
 94190  //     supports a connection between the virtual machine and a resource
 94191  //     on the network. The virtual machine can initiate a connection with
 94192  //     the network resource, or it can listen for connections originating
 94193  //     from the network.
 94194  //   - Pipe backing (<code>`VirtualSerialPortPipeBackingInfo`</code>)
 94195  //     supports I/O through a named pipe. The pipe connects the virtual machine
 94196  //     to a host application or a virtual machine on the same host.
 94197  //   - File backing (<code>`VirtualSerialPortFileBackingInfo`</code>)
 94198  //     supports output through the virtual serial port to a file on the same host.
 94199  //   - Physical serial port backing
 94200  //     (<code>`VirtualSerialPortDeviceBackingInfo`</code>)
 94201  //     supports a connection between the virtual machine and a
 94202  //     device that is connected to a physical serial port on the host.
 94203  //   - ThinPrint backing (<code>`VirtualSerialPortThinPrintBackingInfo`</code>)
 94204  //     provides driver-free printing.
 94205  //
 94206  // When you use network backing, you can also configure a virtual serial port
 94207  // to use a virtual serial port concentrator. The virtual machine initiates
 94208  // a telnet connection with the concentrator, and the concentrator acts
 94209  // as a proxy between the virtual machine and a system on the network.
 94210  // By using a virtual serial port concentrator, you can maintain the connection
 94211  // between the virtual machine and the network resource
 94212  // when a vMotion event moves the virtual machine from one host to another.
 94213  // Without a virtual serial port concentrator, the connection would be lost.
 94214  // For information about using a serial port concentrator,
 94215  // see _Using a Proxy with vSphere Virtual Serial Ports_.
 94216  //
 94217  // You can configure a virtual serial port when you create or reconfigure
 94218  // a virtual machine. For example, to create a virtual serial port
 94219  // with network backing, use the following sequence of operations.
 94220  // In this procedure, the virtual serial port uses a proxy and will accept
 94221  // a network connection.
 94222  //
 94223  //  1. Use the <code>`EnvironmentBrowser.QueryConfigOption`</code> method
 94224  //     to determine the backing options that are available on a host.
 94225  //     The method returns a <code>`VirtualMachineConfigOption`</code> data object.
 94226  //     The virtual machine configuration data includes a list of backing options
 94227  //     (<code>`VirtualDeviceOption.backingOption`</code>).
 94228  //     The following pseudocode shows the path to the backing options.
 94229  //
 94230  //     &nbsp;&nbsp;&nbsp;&nbsp;<code>`VirtualMachineConfigOption`.hardwareOptions.VirtualDeviceOption\[\].backingOption\[\]</code>
 94231  //
 94232  //     The array of virtual device options can include a virtual serial port
 94233  //     (<code>`VirtualSerialPortOption`</code>). The array of serial port
 94234  //     backing options can include URI, file, pipe, or device backing options.
 94235  //
 94236  //  2. Use the <code>`Folder.CreateVM_Task`</code> method
 94237  //     (or the <code>`ResourcePool.CreateChildVM_Task`</code> method)
 94238  //     to create the virtual machine and configure the virtual serial port backing.
 94239  //     Create a <code>`VirtualMachineConfigSpec`</code> data object and nested
 94240  //     data objects for the method's <code>config</code> parameter.
 94241  //     The following pseudocode shows the resulting path to the backing
 94242  //     information.
 94243  //
 94244  //     &nbsp;&nbsp;&nbsp;&nbsp;<code>`VirtualMachineConfigSpec`.deviceChange\[\].device.backing</code>
 94245  //
 94246  //     Set the direction property to "server" to direct the virtual machine to accept
 94247  //     a connection. Set the serviceURI property to the URI for the host on which
 94248  //     the virtual machine runs.
 94249  //
 94250  // If you use physical device backing
 94251  // (<code>`VirtualSerialPortDeviceBackingOption`</code>),
 94252  // you should also use the <code>`EnvironmentBrowser.QueryConfigTarget`</code>
 94253  // method to determine if a serial device is available before configuring device backing.
 94254  type VirtualSerialPort struct {
 94255  	VirtualDevice
 94256  
 94257  	// Enables CPU yield behavior.
 94258  	//
 94259  	// If you set <code>yieldOnPoll</code> to <code>true</code>,
 94260  	// the virtual machine will periodically relinquish the processor if its sole task
 94261  	// is polling the virtual serial port. The amount of time it takes to regain
 94262  	// the processor will depend on the degree of other virtual machine activity on the host.
 94263  	//
 94264  	// To use this property, the CPU yield option must be supported. (See the
 94265  	// <code>`VirtualSerialPortOption.yieldOnPoll`</code> property for
 94266  	// the virtual serial port option object.)
 94267  	YieldOnPoll bool `xml:"yieldOnPoll" json:"yieldOnPoll"`
 94268  }
 94269  
 94270  func init() {
 94271  	t["VirtualSerialPort"] = reflect.TypeOf((*VirtualSerialPort)(nil)).Elem()
 94272  }
 94273  
 94274  // The <code>`VirtualSerialPortDeviceBackingInfo`</code> data object
 94275  // defines information for using a host serial port device as backing for a
 94276  // <code>`VirtualSerialPort`</code>.
 94277  //
 94278  // On a host, the first virtual machine
 94279  // to configure physical device backing for a virtual serial port will obtain
 94280  // the mapping. As long as that machine maintains the backing, any additional attempts
 94281  // to configure backing using that device will fail (a recoverable error, see
 94282  // the connection info <code>`VirtualDeviceConnectInfo.status`</code>).
 94283  type VirtualSerialPortDeviceBackingInfo struct {
 94284  	VirtualDeviceDeviceBackingInfo
 94285  }
 94286  
 94287  func init() {
 94288  	t["VirtualSerialPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingInfo)(nil)).Elem()
 94289  }
 94290  
 94291  // The <code>`VirtualSerialPortDeviceBackingOption`</code> data object type
 94292  // contains the options for backing a serial port with a host serial port device.
 94293  type VirtualSerialPortDeviceBackingOption struct {
 94294  	VirtualDeviceDeviceBackingOption
 94295  }
 94296  
 94297  func init() {
 94298  	t["VirtualSerialPortDeviceBackingOption"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingOption)(nil)).Elem()
 94299  }
 94300  
 94301  // The <code>`VirtualSerialPortFileBackingInfo`</code> data object provides
 94302  // information for backing a virtual serial port with a host file.
 94303  type VirtualSerialPortFileBackingInfo struct {
 94304  	VirtualDeviceFileBackingInfo
 94305  }
 94306  
 94307  func init() {
 94308  	t["VirtualSerialPortFileBackingInfo"] = reflect.TypeOf((*VirtualSerialPortFileBackingInfo)(nil)).Elem()
 94309  }
 94310  
 94311  // The <code>`VirtualSerialPortFileBackingOption`</code> data object type
 94312  // contains the options for backing a serial port with a host file.
 94313  type VirtualSerialPortFileBackingOption struct {
 94314  	VirtualDeviceFileBackingOption
 94315  }
 94316  
 94317  func init() {
 94318  	t["VirtualSerialPortFileBackingOption"] = reflect.TypeOf((*VirtualSerialPortFileBackingOption)(nil)).Elem()
 94319  }
 94320  
 94321  // The <code>`VirtualSerialPortOption`</code> data object contains the options
 94322  // for configuring the virtual serial port device defined by the
 94323  // <code>`VirtualSerialPort`</code> data object.
 94324  //
 94325  // These options include information about how the device is backed
 94326  // physically on the host: by a network socket, a host file, a host serial port device,
 94327  // or a pipe to another process.
 94328  type VirtualSerialPortOption struct {
 94329  	VirtualDeviceOption
 94330  
 94331  	// Indicates whether the virtual machine supports the CPU yield option during
 94332  	// virtual serial port polling.
 94333  	//
 94334  	// When this feature is supported and enabled,
 94335  	// the virtual machine will periodically relinquish the processor if its
 94336  	// sole task is polling the virtual serial port.
 94337  	//
 94338  	// If <code>yieldOnPoll.supported</code> is <code>false</code>, the virtual
 94339  	// machine ignores the virtual serial port object setting for
 94340  	// <code>`VirtualSerialPort.yieldOnPoll`</code>.
 94341  	YieldOnPoll BoolOption `xml:"yieldOnPoll" json:"yieldOnPoll"`
 94342  }
 94343  
 94344  func init() {
 94345  	t["VirtualSerialPortOption"] = reflect.TypeOf((*VirtualSerialPortOption)(nil)).Elem()
 94346  }
 94347  
 94348  // The <code>`VirtualSerialPortPipeBackingInfo`</code> data object defines information
 94349  // for backing a <code>`VirtualSerialPort`</code> with a named pipe.
 94350  //
 94351  // You can use a pipe to connect a virtual serial port to a host
 94352  // application or to another virtual machine on the host computer.
 94353  // This is useful for capturing debugging information sent through
 94354  // the virtual serial port.
 94355  type VirtualSerialPortPipeBackingInfo struct {
 94356  	VirtualDevicePipeBackingInfo
 94357  
 94358  	// Indicates the role the virtual machine assumes as an endpoint
 94359  	// for the pipe.
 94360  	//
 94361  	// The valid values are "client" or "server".
 94362  	Endpoint string `xml:"endpoint" json:"endpoint"`
 94363  	// Enables optimized data transfer over the pipe.
 94364  	//
 94365  	// When you use this feature,
 94366  	// the ESX server buffers data to prevent data overrun.
 94367  	// This allows the virtual machine to read
 94368  	// all of the data transferred over the pipe with no data loss.
 94369  	// To use optimized data transfer, set <code>noRxLoss</code> to <code>true</code>.
 94370  	// To disable this feature, set the property to <code>false.
 94371  	//
 94372  	// This property is optional. If this property is not set, the ESX server
 94373  	// uses the default value specified in the pipe backing options
 94374  	// (noRxLoss.defaultValue - see
 94375  	// <code>`VirtualSerialPortPipeBackingOption.noRxLoss`</code>
 94376  	// in the pipe backing option object).
 94377  	//
 94378  	// To use this property, optimized data transfer must be supported on the host.
 94379  	// (See <code>`VirtualSerialPortPipeBackingOption.noRxLoss`</code>
 94380  	// in the pipe backing option object.)
 94381  	// If the ESX server does not support the option, it ignores the
 94382  	// <code>noRxLoss</code> setting in the pipe backing information object.
 94383  	//
 94384  	// `*Note*`: You can use this feature even if the other end of the pipe
 94385  	// is not an application, but this is more likely to fail.
 94386  	NoRxLoss *bool `xml:"noRxLoss" json:"noRxLoss,omitempty"`
 94387  }
 94388  
 94389  func init() {
 94390  	t["VirtualSerialPortPipeBackingInfo"] = reflect.TypeOf((*VirtualSerialPortPipeBackingInfo)(nil)).Elem()
 94391  }
 94392  
 94393  // The <code>`VirtualSerialPortPipeBackingOption`</code> data object contains
 94394  // the options for backing a serial port device with a pipe to another process.
 94395  type VirtualSerialPortPipeBackingOption struct {
 94396  	VirtualDevicePipeBackingOption
 94397  
 94398  	// Indicates the choices available and the default setting
 94399  	// for the pipe endpoint.
 94400  	//
 94401  	// As an endpoint, the virtual machine can act
 94402  	// as a client or a server.
 94403  	Endpoint ChoiceOption `xml:"endpoint" json:"endpoint"`
 94404  	// Indicates whether the server supports optimized data transfer
 94405  	// over the pipe and also specifies default behavior.
 94406  	//
 94407  	// When this feature is supported and enabled, the server buffers data
 94408  	// to prevent data overrun. This allows the virtual machine to read all
 94409  	// of the data transferred over the pipe with no data loss.
 94410  	//
 94411  	// If optimized data transfer is supported (<code>noRxLoss.supported</code>
 94412  	// is <code>true</code>):
 94413  	//   - You can enable (or disable) the feature explicitly by setting the
 94414  	//     <code>`VirtualSerialPortPipeBackingInfo.noRxLoss`</code>
 94415  	//     property on the pipe backing information object.
 94416  	//   - If you do not set the
 94417  	//     <code>`VirtualSerialPortPipeBackingInfo.noRxLoss`</code>
 94418  	//     property on the
 94419  	//     the pipe backing information object, the server enables
 94420  	//     optimized data transfer if the <code>noRxLoss.defaultValue</code>
 94421  	//     property on the pipe backing options object is <code>true</code>.
 94422  	//
 94423  	// If <code>noRxLoss.supported</code> is <code>false</code>, the server
 94424  	// ignores the optimization settings.
 94425  	//
 94426  	// `*Note*`: You can use this feature even if the other end of the pipe
 94427  	// is not an application, but it is more likely to fail.
 94428  	NoRxLoss BoolOption `xml:"noRxLoss" json:"noRxLoss"`
 94429  }
 94430  
 94431  func init() {
 94432  	t["VirtualSerialPortPipeBackingOption"] = reflect.TypeOf((*VirtualSerialPortPipeBackingOption)(nil)).Elem()
 94433  }
 94434  
 94435  // The <code>`VirtualSerialPortThinPrintBackingInfo`</code> data object defines
 94436  // information required for backing a <code>`VirtualSerialPort`</code> with a
 94437  // ThinPrint device.
 94438  type VirtualSerialPortThinPrintBackingInfo struct {
 94439  	VirtualDeviceBackingInfo
 94440  }
 94441  
 94442  func init() {
 94443  	t["VirtualSerialPortThinPrintBackingInfo"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingInfo)(nil)).Elem()
 94444  }
 94445  
 94446  // The <code>`VirtualSerialPortThinPrintBackingOption`</code> data
 94447  // object type contains the options for backing a serial port with a ThinPrint device.
 94448  type VirtualSerialPortThinPrintBackingOption struct {
 94449  	VirtualDeviceBackingOption
 94450  }
 94451  
 94452  func init() {
 94453  	t["VirtualSerialPortThinPrintBackingOption"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingOption)(nil)).Elem()
 94454  }
 94455  
 94456  // The <code>`VirtualSerialPortURIBackingInfo`</code> data object
 94457  // specifies network backing for a <code>`VirtualSerialPort`</code>.
 94458  //
 94459  // You can use URI backing to create a network serial port on the virtual machine,
 94460  // supporting connections between the virtual machine and remote systems.
 94461  //
 94462  // When a virtual machine establishes a connection with a remote system on the network,
 94463  // the virtual machine can act as a server or a client. When the virtual machine
 94464  // acts as a server, it accepts a connection. When the virtual machine acts as a client,
 94465  // it initiates the connection.
 94466  //
 94467  // You can configure the virtual serial port for communication through a
 94468  // virtual serial port concentrator that acts as a proxy between the virtual
 94469  // machine and the network. When you specify a
 94470  // <code>`VirtualDeviceURIBackingInfo.proxyURI`</code>,
 94471  // the virtual machine initiates the connection with the concentrator
 94472  // and forwards the <code>`VirtualDeviceURIBackingInfo.direction`</code>
 94473  // and <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>
 94474  // to the concentrator.
 94475  // For information about using a virtual serial port concentrator,
 94476  // see _Using a Proxy with vSphere Virtual Serial Ports_.
 94477  //
 94478  // ESX hosts support different protocols depending on your virtual serial port configuration.
 94479  //
 94480  //   - If the virtual machine is handling the network connection
 94481  //     directly (no <code>`VirtualDeviceURIBackingInfo.proxyURI`</code> specified),
 94482  //     you can use telnet, TCP, and SSL protocols.
 94483  //     The <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>
 94484  //     must use one of the following URI schemes:
 94485  //
 94486  //   - <code>&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of
 94487  //     <code>tcp://&lt;host&gt;:&lt;port&gt;</code>.
 94488  //
 94489  //   - <code>tcp://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection
 94490  //     (IPv4 or IPv6).
 94491  //
 94492  //   - <code>tcp4://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection
 94493  //     (IPv4 only).
 94494  //
 94495  //   - <code>tcp6://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection
 94496  //     (IPv6 only).
 94497  //
 94498  //   - <code>ssl://&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of
 94499  //     <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code>.
 94500  //
 94501  //   - <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code> - encrypted SSL over TCP.
 94502  //
 94503  //   - <code>tcp4+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv4.
 94504  //
 94505  //   - <code>tcp6+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv6.
 94506  //
 94507  //   - <code>telnet://&lt;host&gt;:&lt;port&gt;</code> - telnet over TCP.
 94508  //     The virtual machine and remote system can negotiate and use SSL if the remote
 94509  //     system supports the telnet authentication option; if not, the connection
 94510  //     uses unencrypted text (plaintext).
 94511  //
 94512  //   - <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP.
 94513  //     In this case, SSL negotiation begins immediately and you cannot use
 94514  //     the telnet authentication option.
 94515  //
 94516  //     As of vSphere 5.1 you can specify authentication parameters to support an encrypted
 94517  //     connection with a remote system using SSL over telnet or telnets.
 94518  //     The connection will fail if the peer does not support the protocols.
 94519  //     You cannot use certificate verification when you specify
 94520  //     <code>tcp</code>, <code>tcp4</code>, or <code>tcp6</code> schemas. For information
 94521  //     about parameter specification, see <a href="#authparam">Authentication Parameters</a>
 94522  //     below.
 94523  //
 94524  //   - If you are using a <code>`VirtualDeviceURIBackingInfo.proxyURI`</code>
 94525  //     to connect to a virtual serial port concentrator, the URI scheme for
 94526  //     the communication between the remote system on the network and the concentrator
 94527  //     depends on the concentrator implementation. The connection between
 94528  //     the concentrator and the virtual serial port must use telnet or secure telnet
 94529  //     (telnets). The proxy URI must use one of the following URI schemes. You cannot
 94530  //     specify a username and password in the proxy URI.
 94531  //
 94532  //   - <code>telnet://&lt;host&gt;:&lt;port&gt;</code>- telnet over TCP.
 94533  //     The virtual machine and remote system can negotiate and use SSL if the remote
 94534  //     system supports the telnet authentication option; if not, the connection
 94535  //     uses unencrypted text (plaintext).
 94536  //
 94537  //   - <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP.
 94538  //     In this case, SSL negotiation starts immediately and you cannot use
 94539  //     the telnet authentication option.
 94540  //
 94541  //     As of vSphere 5.1 you can specify authentication parameters to support an encrypted
 94542  //     connection with a concentrator using SSL over telnet or telnets.
 94543  //     The connection will fail if the concentrator does not support the protocols.
 94544  //     For information about parameter specification,
 94545  //     see <a href="#authparam">Authentication Parameters</a> below.
 94546  //
 94547  // <a name="authparam"></a>
 94548  // **Authentication Parameters**
 94549  //
 94550  // For an encrypted connection, the URI includes a set of authentication
 94551  // parameters. The parameters are specified as key words or key/value pairs.
 94552  // The following syntax description uses <code>telnet</code>; you can also
 94553  // specify authentication parameters for secure telnet (<code>telnets</code>).
 94554  //
 94555  // <code>telnet://&lt;host&gt;:&lt;port&gt;&num;key\[=value\]\[&amp;key\[=value\] ...\]</code>
 94556  //
 94557  // The first parameter must have a number sign (&num;) prefix. Additional parameters
 94558  // must have an ampersand (&amp;) prefix. The following list shows the valid parameters.
 94559  //   - <code>certificate=value</code> - Specifies a certificate in PEM format
 94560  //     against which the peer certificate is compared.
 94561  //     When you specify a certificate, certificate verification is automatically enabled.
 94562  //     See the description of the <code>verify</code> parameter below.
 94563  //   - <code>thumbprint=value</code> - Specifies a certificate thumbprint against
 94564  //     which the peer certificate thumbprint is compared. When you specify a thumbprint,
 94565  //     certificate verification is automatically enabled. See the description of the
 94566  //     <code>verify</code> parameter below.
 94567  //   - <code>peerName=value</code> - Specifies the peer name that will be used
 94568  //     to validate the peer certificate. When you specify a peer name,
 94569  //     certificate verification is automatically enabled. See the description of the
 94570  //     <code>verify</code> parameter below.
 94571  //   - <code>verify</code> - Forces certificate verification. The virtual machine
 94572  //     will verify that the peer certificate subject matches the specified
 94573  //     <code>peerName</code> and that it was signed by a certificate authority
 94574  //     known to the ESXi host. Verification is automatically enabled if you specify a
 94575  //     <code>certificate</code>, <code>thumbprint</code>, or <code>peerName</code>.
 94576  //   - <code>cipherList=value</code> - Specifies a list of SSL ciphers.
 94577  //     See <a href="http://www.openssl.org/docs/apps/ciphers.html">OpenSSL ciphers</a>.
 94578  //     The ciphers are specified as a list separated by colons, spaces, or commas.
 94579  //
 94580  // For information about URI format, see
 94581  // <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>.
 94582  type VirtualSerialPortURIBackingInfo struct {
 94583  	VirtualDeviceURIBackingInfo
 94584  }
 94585  
 94586  func init() {
 94587  	t["VirtualSerialPortURIBackingInfo"] = reflect.TypeOf((*VirtualSerialPortURIBackingInfo)(nil)).Elem()
 94588  }
 94589  
 94590  // The <code>`VirtualSerialPortURIBackingOption`</code> data object type
 94591  // contains the options for using a network socket as backing for a virtual serial port.
 94592  type VirtualSerialPortURIBackingOption struct {
 94593  	VirtualDeviceURIBackingOption
 94594  }
 94595  
 94596  func init() {
 94597  	t["VirtualSerialPortURIBackingOption"] = reflect.TypeOf((*VirtualSerialPortURIBackingOption)(nil)).Elem()
 94598  }
 94599  
 94600  // The VirtualSoundBlaster16 data object type represents a Sound
 94601  // Blaster 16 sound card in a virtual machine.
 94602  type VirtualSoundBlaster16 struct {
 94603  	VirtualSoundCard
 94604  }
 94605  
 94606  func init() {
 94607  	t["VirtualSoundBlaster16"] = reflect.TypeOf((*VirtualSoundBlaster16)(nil)).Elem()
 94608  }
 94609  
 94610  // The VirtualSoundBlaster16Option data object type contains the options for a
 94611  // virtual SoundBlaster 16 sound card.
 94612  type VirtualSoundBlaster16Option struct {
 94613  	VirtualSoundCardOption
 94614  }
 94615  
 94616  func init() {
 94617  	t["VirtualSoundBlaster16Option"] = reflect.TypeOf((*VirtualSoundBlaster16Option)(nil)).Elem()
 94618  }
 94619  
 94620  // This data object type represents a sound card in
 94621  // a virtual machine.
 94622  type VirtualSoundCard struct {
 94623  	VirtualDevice
 94624  }
 94625  
 94626  func init() {
 94627  	t["VirtualSoundCard"] = reflect.TypeOf((*VirtualSoundCard)(nil)).Elem()
 94628  }
 94629  
 94630  // The sound card device backing data class.
 94631  type VirtualSoundCardDeviceBackingInfo struct {
 94632  	VirtualDeviceDeviceBackingInfo
 94633  }
 94634  
 94635  func init() {
 94636  	t["VirtualSoundCardDeviceBackingInfo"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingInfo)(nil)).Elem()
 94637  }
 94638  
 94639  // The VirtualSoundCardBackingOption class contains the options
 94640  // for the virtual sound card backing class.
 94641  type VirtualSoundCardDeviceBackingOption struct {
 94642  	VirtualDeviceDeviceBackingOption
 94643  }
 94644  
 94645  func init() {
 94646  	t["VirtualSoundCardDeviceBackingOption"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingOption)(nil)).Elem()
 94647  }
 94648  
 94649  // The VirtualSoundCardOption data class contains the options for the
 94650  // virtual sound card class.
 94651  type VirtualSoundCardOption struct {
 94652  	VirtualDeviceOption
 94653  }
 94654  
 94655  func init() {
 94656  	t["VirtualSoundCardOption"] = reflect.TypeOf((*VirtualSoundCardOption)(nil)).Elem()
 94657  }
 94658  
 94659  // The `VirtualSriovEthernetCard` data object defines the properties
 94660  // of a SR-IOV enabled Ethernet card attached to a virtual machine.
 94661  type VirtualSriovEthernetCard struct {
 94662  	VirtualEthernetCard
 94663  
 94664  	// Indicates whether MTU can be changed from guest OS.
 94665  	AllowGuestOSMtuChange *bool `xml:"allowGuestOSMtuChange" json:"allowGuestOSMtuChange,omitempty"`
 94666  	// Information about SR-IOV passthrough backing of this VirtualSriovEthernetCard.
 94667  	//
 94668  	// During an edit operation, if this value is unset, no changes to the
 94669  	// SR-IOV backing will be made. During an add operation, if this is unset,
 94670  	// an automatic physical function assignment scheme as described above will be used.
 94671  	// This field is ignored and must be unset if this VirtualSriovEthernetCard
 94672  	// is a DVX device, in which case the dvxBackingInfo field is set. In other
 94673  	// words, sriovBacking and dvxBackingInfo cannot both be set at any time.
 94674  	SriovBacking *VirtualSriovEthernetCardSriovBackingInfo `xml:"sriovBacking,omitempty" json:"sriovBacking,omitempty"`
 94675  	// Information about DVX backing of this VirtualSriovEthernetCard.
 94676  	//
 94677  	// This field is set if and only if this VirtualSriovEthernetCard is a DVX
 94678  	// device.
 94679  	DvxBackingInfo *VirtualPCIPassthroughDvxBackingInfo `xml:"dvxBackingInfo,omitempty" json:"dvxBackingInfo,omitempty" vim:"8.0.0.1"`
 94680  }
 94681  
 94682  func init() {
 94683  	t["VirtualSriovEthernetCard"] = reflect.TypeOf((*VirtualSriovEthernetCard)(nil)).Elem()
 94684  }
 94685  
 94686  // The VirtualSriovEthernetCardOption data object contains the options for the
 94687  // VirtualSriovEthernetCard data object type.
 94688  type VirtualSriovEthernetCardOption struct {
 94689  	VirtualEthernetCardOption
 94690  }
 94691  
 94692  func init() {
 94693  	t["VirtualSriovEthernetCardOption"] = reflect.TypeOf((*VirtualSriovEthernetCardOption)(nil)).Elem()
 94694  }
 94695  
 94696  // The `VirtualSriovEthernetCardSriovBackingInfo`
 94697  // data object contains information about the SR-IOV physical function and
 94698  // virtual function backing for a passthrough NIC.
 94699  type VirtualSriovEthernetCardSriovBackingInfo struct {
 94700  	VirtualDeviceBackingInfo
 94701  
 94702  	// Physical function backing for this device.
 94703  	//
 94704  	// A specific physical function can be assigned to the device by specifying
 94705  	// its id but the VirtualSriovNetworkCard can also be configured for automatic physical
 94706  	// function assignment by providing a special value "Automatic-0000:00:00.0"
 94707  	// as `VirtualPCIPassthroughDeviceBackingInfo.id`. This is supported if there is
 94708  	// an associated SR-IOV network device pool for the network specified in
 94709  	// `VirtualDevice.backing` - in that case a physical function from
 94710  	// the pool, if available, will be assigned to this device during power on.
 94711  	// During reconfigure, if an SR-IOV backing is provided, the physical function backing
 94712  	// may not be left unset.
 94713  	// A value of "Automatic-" followed by a valid physical function id
 94714  	// in `VirtualPCIPassthroughDeviceBackingInfo.id` indicates that assignment
 94715  	// is automatic and the physical function in question is the one that has currently
 94716  	// been assigned.
 94717  	PhysicalFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"physicalFunctionBacking,omitempty" json:"physicalFunctionBacking,omitempty"`
 94718  	// Virtual function backing for this device.
 94719  	//
 94720  	// During reconfigure, if this is unset, any currently assigned virtual function
 94721  	// will be overwritten and a new one will be selected. If
 94722  	// `VirtualPCIPassthroughDeviceBackingInfo.id` contains a valid id for
 94723  	// a virtual function of the currently assigned physical function, this acts as
 94724  	// a hint and, if possible, the specified virtual function will be the one
 94725  	// allocated for the device.
 94726  	// When a virtual function is yet to be assigned to the device (e.g. if the VM
 94727  	// has not been powered on yet), the virtual function backing will be unset.
 94728  	VirtualFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"virtualFunctionBacking,omitempty" json:"virtualFunctionBacking,omitempty"`
 94729  	VirtualFunctionIndex   int32                                   `xml:"virtualFunctionIndex,omitempty" json:"virtualFunctionIndex,omitempty"`
 94730  }
 94731  
 94732  func init() {
 94733  	t["VirtualSriovEthernetCardSriovBackingInfo"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingInfo)(nil)).Elem()
 94734  }
 94735  
 94736  // This data object contains the option for SriovBackingInfo data
 94737  // of the virtual network SR-IOV card object type.
 94738  type VirtualSriovEthernetCardSriovBackingOption struct {
 94739  	VirtualDeviceBackingOption
 94740  }
 94741  
 94742  func init() {
 94743  	t["VirtualSriovEthernetCardSriovBackingOption"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingOption)(nil)).Elem()
 94744  }
 94745  
 94746  // The `VirtualSwitchProfile` data object represents a subprofile
 94747  // for a virtual switch.
 94748  //
 94749  // If a profile plug-in defines policies or subprofiles, use the
 94750  // `ApplyProfile.policy` or `ApplyProfile.property`
 94751  // list to access the additional configuration data.
 94752  type VirtualSwitchProfile struct {
 94753  	ApplyProfile
 94754  
 94755  	// Linkable identifier.
 94756  	Key string `xml:"key" json:"key"`
 94757  	// Name of the standard virtual switch(VSS).
 94758  	Name string `xml:"name" json:"name"`
 94759  	// Links that are connected to the virtual switch.
 94760  	Link LinkProfile `xml:"link" json:"link"`
 94761  	// Number of ports on the virtual switch.
 94762  	NumPorts NumPortsProfile `xml:"numPorts" json:"numPorts"`
 94763  	// Network policy/policies for the virtual switch.
 94764  	NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy" json:"networkPolicy"`
 94765  }
 94766  
 94767  func init() {
 94768  	t["VirtualSwitchProfile"] = reflect.TypeOf((*VirtualSwitchProfile)(nil)).Elem()
 94769  }
 94770  
 94771  // The `VirtualSwitchSelectionProfile` data object represents
 94772  // the virtual switch that is connected to a port group.
 94773  //
 94774  // The `ApplyProfile.policy` property contains
 94775  // the configuration data values for the virtual switch.
 94776  type VirtualSwitchSelectionProfile struct {
 94777  	ApplyProfile
 94778  }
 94779  
 94780  func init() {
 94781  	t["VirtualSwitchSelectionProfile"] = reflect.TypeOf((*VirtualSwitchSelectionProfile)(nil)).Elem()
 94782  }
 94783  
 94784  // This data object type represents a TPM 2.0 module
 94785  // in a virtual machine.
 94786  type VirtualTPM struct {
 94787  	VirtualDevice
 94788  
 94789  	// Endorsement Key Certificate Signing Request in DER format.
 94790  	//
 94791  	// There may be more than one - one for RSA 2048, one for ECC NIST P256,
 94792  	// and any number of other signing requests for other algorithms.
 94793  	EndorsementKeyCertificateSigningRequest [][]byte `xml:"endorsementKeyCertificateSigningRequest,omitempty" json:"endorsementKeyCertificateSigningRequest,omitempty"`
 94794  	// Endorsement Key Certificate in DER format.
 94795  	//
 94796  	// There may be more than one. Indices in this array do not match
 94797  	// indices in `VirtualTPM.endorsementKeyCertificateSigningRequest` array,
 94798  	// entries must be matched by comparing fields in DER data between
 94799  	// certificate signing requests and certificates.
 94800  	EndorsementKeyCertificate [][]byte `xml:"endorsementKeyCertificate,omitempty" json:"endorsementKeyCertificate,omitempty"`
 94801  }
 94802  
 94803  func init() {
 94804  	t["VirtualTPM"] = reflect.TypeOf((*VirtualTPM)(nil)).Elem()
 94805  }
 94806  
 94807  // This data object type contains the options for the
 94808  // virtual TPM class.
 94809  type VirtualTPMOption struct {
 94810  	VirtualDeviceOption
 94811  
 94812  	// List of supported firmware selections, using
 94813  	// `GuestOsDescriptorFirmwareType_enum` enumeration.
 94814  	//
 94815  	// There is at least one value in this array.
 94816  	SupportedFirmware []string `xml:"supportedFirmware,omitempty" json:"supportedFirmware,omitempty"`
 94817  }
 94818  
 94819  func init() {
 94820  	t["VirtualTPMOption"] = reflect.TypeOf((*VirtualTPMOption)(nil)).Elem()
 94821  }
 94822  
 94823  // The `VirtualUSB` data object describes the USB device configuration
 94824  // for a virtual machine.
 94825  //
 94826  // You can attach a USB device to an ESX host.
 94827  // The device is available to only one virtual machine at a time. When you remove
 94828  // the device from the virtual machine, it becomes available to other virtual machines
 94829  // located on the host. You can add up to 20 USB devices to a virtual machine.
 94830  // Virtual USB support requires virtual machine hardware version 7 or later.
 94831  //
 94832  // The `VirtualUSB` object represents either a configuration to be applied to
 94833  // the virtual machine or the current device configuration on the virtual machine.
 94834  //
 94835  //   - To configure a USB connection for the virtual machine, add a `VirtualUSB`
 94836  //     object to the `VirtualDeviceConfigSpec`.
 94837  //     Use USB backing (`VirtualUSBUSBBackingInfo`) to establish
 94838  //     a connection with a virtual machine that will remain on the host to which
 94839  //     the USB device is attached.
 94840  //     The vSphere Server does not support vMotion for standard USB backing.
 94841  //     To configure vMotion support for a virtual machine with a USB connection,
 94842  //     use remote host backing for the USB connection
 94843  //     (`VirtualUSBRemoteHostBackingInfo`).
 94844  //
 94845  //     To configure a USB device for a virtual machine, the virtual machine
 94846  //     must have a USB controller. To add a controller, include a
 94847  //     `VirtualUSBController` object in the virtual device
 94848  //     specification for your virtual machine configuration. You can add only one
 94849  //     USB controller to a virtual machine.
 94850  //
 94851  //   - To determine USB device configuration status for the virtual machine,
 94852  //     check the virtual hardware device list
 94853  //     (`VirtualHardware*.*VirtualHardware.device`).
 94854  //     The presence of the `VirtualUSB` object in the hardware device list
 94855  //     indicates that the virtual machine is configured to use a USB device.
 94856  //     The `VirtualUSB.connected` property indicates
 94857  //     whether the virtual machine is connected to the device.
 94858  //
 94859  // To determine the USB options available on the host, use the
 94860  // `EnvironmentBrowser.QueryConfigOption` method to retrieve the virtual
 94861  // machine configuration. The presence of the `VirtualUSBOption`
 94862  // object in the retrieved configuration
 94863  // (`VirtualMachineConfigOption*.*VirtualMachineConfigOption.hardwareOptions*.*VirtualHardwareOption.virtualDeviceOption`)
 94864  // indicates that the host supports USB connections.
 94865  //
 94866  // The following operations will disconnect a USB device, losing data if data transfer
 94867  // is in progress over the USB connection.
 94868  //   - Hot add of memory, CPU, or PCI devices. A hot add operation disconnects only
 94869  //     USB devices for virtual machines that use a local connection to the device
 94870  //     (`VirtualUSBUSBBackingInfo`).
 94871  //   - Suspend and resume on a virtual machine.
 94872  //   - vMotion of a virtual machine with a USB connection,
 94873  //     if you are not using remote host USB backing.
 94874  //
 94875  // The following services do not support USB connections.
 94876  //   - Fault Tolerance virtual machines cannot use USB devices.
 94877  //   - DPM (Distributed Power Management) will put a host into standby,
 94878  //     regardless of any connections to USB devices on the host.
 94879  //   - DRS (Distributed Resource Scheduling) may power-off hosts that have
 94880  //     USB connections to virtual machines.
 94881  type VirtualUSB struct {
 94882  	VirtualDevice
 94883  
 94884  	// Flag indicating whether the device is currently connected.
 94885  	//
 94886  	// The virtual machine is not connected to the device if the autoconnect pattern
 94887  	// specified in the USB device backing
 94888  	// (`VirtualDeviceDeviceBackingInfo*.*VirtualDeviceDeviceBackingInfo.deviceName`)
 94889  	// can not be satisfied, either
 94890  	// because there is no such device, or the matching device is not
 94891  	// available. Valid only while the virtual machine is running.
 94892  	Connected bool `xml:"connected" json:"connected"`
 94893  	// Vendor ID of the USB device.
 94894  	Vendor int32 `xml:"vendor,omitempty" json:"vendor,omitempty"`
 94895  	// Product ID of the USB device.
 94896  	Product int32 `xml:"product,omitempty" json:"product,omitempty"`
 94897  	// Device class families.
 94898  	//
 94899  	// For possible values see
 94900  	// `VirtualMachineUsbInfoFamily_enum`.
 94901  	Family []string `xml:"family,omitempty" json:"family,omitempty"`
 94902  	// Device speeds detected by server.
 94903  	//
 94904  	// For possible values see
 94905  	// `VirtualMachineUsbInfoSpeed_enum`.
 94906  	Speed []string `xml:"speed,omitempty" json:"speed,omitempty"`
 94907  }
 94908  
 94909  func init() {
 94910  	t["VirtualUSB"] = reflect.TypeOf((*VirtualUSB)(nil)).Elem()
 94911  }
 94912  
 94913  // The `VirtualUSBController` data object describes a virtual USB controller
 94914  // and contains a list of the devices connected to the controller.
 94915  //
 94916  // A virtual machine must have a virtual USB controller before you can add
 94917  // a USB device to the virtual machine configuration. To add a controller,
 94918  // include a `VirtualUSBController` object in the
 94919  // `VirtualDeviceConfigSpec` for your virtual machine configuration.
 94920  // You can add only one controller to a virtual machine.
 94921  // A virtual USB controller supports up to 20 USB device connections on the
 94922  // virtual machine.
 94923  //
 94924  // The ESX Server host must have the USB controller hardware and modules
 94925  // that support USB 2.0 and USB1.1.
 94926  // You can use a maximum of 15 USB controllers on a host. If your system
 94927  // includes an additional number of controllers with connected devices,
 94928  // the additional devices will not be available to virtual machines on the host.
 94929  //
 94930  // You must remove all USB devices from a virtual machine before you can
 94931  // remove the USB controller.
 94932  type VirtualUSBController struct {
 94933  	VirtualController
 94934  
 94935  	// Flag to indicate whether or not the ability to hot plug devices
 94936  	// is enabled on this controller.
 94937  	AutoConnectDevices *bool `xml:"autoConnectDevices" json:"autoConnectDevices,omitempty"`
 94938  	// Flag to indicate whether or not enhanced host controller
 94939  	// interface (USB 2.0) is enabled on this controller.
 94940  	EhciEnabled *bool `xml:"ehciEnabled" json:"ehciEnabled,omitempty"`
 94941  }
 94942  
 94943  func init() {
 94944  	t["VirtualUSBController"] = reflect.TypeOf((*VirtualUSBController)(nil)).Elem()
 94945  }
 94946  
 94947  // The VirtualUSBControllerOption data object type contains the options
 94948  // for a virtual USB Host Controller Interface.
 94949  type VirtualUSBControllerOption struct {
 94950  	VirtualControllerOption
 94951  
 94952  	// Flag to indicate whether or not the ability to autoconnect devices
 94953  	// is enabled for this virtual USB controller.
 94954  	AutoConnectDevices BoolOption `xml:"autoConnectDevices" json:"autoConnectDevices"`
 94955  	// Flag to indicate whether or not enhanced host controller
 94956  	// interface (USB 2.0) is available on this virtual USB controller.
 94957  	EhciSupported BoolOption `xml:"ehciSupported" json:"ehciSupported"`
 94958  	// Range of USB device speeds supported by this USB controller type.
 94959  	//
 94960  	// Acceptable values are specified at `VirtualMachineUsbInfoSpeed_enum`.
 94961  	SupportedSpeeds []string `xml:"supportedSpeeds,omitempty" json:"supportedSpeeds,omitempty"`
 94962  }
 94963  
 94964  func init() {
 94965  	t["VirtualUSBControllerOption"] = reflect.TypeOf((*VirtualUSBControllerOption)(nil)).Elem()
 94966  }
 94967  
 94968  // The <code>`VirtualUSBControllerPciBusSlotInfo`</code> data object type
 94969  // defines information about the pci bus slots of usb controller device
 94970  // in a virtual machine.
 94971  type VirtualUSBControllerPciBusSlotInfo struct {
 94972  	VirtualDevicePciBusSlotInfo
 94973  
 94974  	// The pci slot number of eHCI controller.
 94975  	//
 94976  	// This property should be used only when the ehciEnabled property
 94977  	// is set to true.
 94978  	EhciPciSlotNumber int32 `xml:"ehciPciSlotNumber,omitempty" json:"ehciPciSlotNumber,omitempty"`
 94979  }
 94980  
 94981  func init() {
 94982  	t["VirtualUSBControllerPciBusSlotInfo"] = reflect.TypeOf((*VirtualUSBControllerPciBusSlotInfo)(nil)).Elem()
 94983  }
 94984  
 94985  // The `VirtualUSBOption` data object type contains options for
 94986  // USB device configuration on a virtual machine.
 94987  //
 94988  // The vSphere API supports
 94989  // the following options:
 94990  //   - Local host USB connection
 94991  //     (`VirtualUSBUSBBackingOption`)
 94992  //   - Remote host USB connection
 94993  //     (`VirtualUSBRemoteHostBackingOption`)
 94994  //
 94995  // For information about USB device configuration, see `VirtualUSB`.
 94996  type VirtualUSBOption struct {
 94997  	VirtualDeviceOption
 94998  }
 94999  
 95000  func init() {
 95001  	t["VirtualUSBOption"] = reflect.TypeOf((*VirtualUSBOption)(nil)).Elem()
 95002  }
 95003  
 95004  // The virtual remote client USB device backing class.
 95005  type VirtualUSBRemoteClientBackingInfo struct {
 95006  	VirtualDeviceRemoteDeviceBackingInfo
 95007  
 95008  	// Hostname of the remote client where the physical USB device resides.
 95009  	Hostname string `xml:"hostname" json:"hostname"`
 95010  }
 95011  
 95012  func init() {
 95013  	t["VirtualUSBRemoteClientBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingInfo)(nil)).Elem()
 95014  }
 95015  
 95016  // This data object type contains the options for
 95017  // the virtual remote USB client backing data object type.
 95018  type VirtualUSBRemoteClientBackingOption struct {
 95019  	VirtualDeviceRemoteDeviceBackingOption
 95020  }
 95021  
 95022  func init() {
 95023  	t["VirtualUSBRemoteClientBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingOption)(nil)).Elem()
 95024  }
 95025  
 95026  // The `VirtualUSBRemoteHostBackingInfo` data object
 95027  // identifies a host and a USB device that is attached to the host.
 95028  //
 95029  // Use this object to configure support for persistent access to the USB device
 95030  // when vMotion operations migrate a virtual machine to a different host.
 95031  // The vCenter Server will not migrate the virtual machine to a host
 95032  // that does not support the USB remote host backing capability.
 95033  //
 95034  // Specify remote host backing as part of the USB device configuration
 95035  // when you create or reconfigure a virtual machine
 95036  // (`VirtualMachineConfigSpec*.*VirtualMachineConfigSpec.deviceChange*.*VirtualDeviceConfigSpec.device*.*VirtualDevice.backing`).
 95037  //
 95038  // To identify the USB device, you specify an autoconnect pattern
 95039  // for the `VirtualDeviceDeviceBackingInfo.deviceName`.
 95040  // The virtual machine can connect to the USB device if the ESX server
 95041  // can find a USB device described by the autoconnect pattern.
 95042  // The autoconnect pattern consists of name:value pairs. You can
 95043  // use any combination of the following fields.
 95044  //   - path - USB connection path on the host
 95045  //   - pid - idProduct field in the USB device descriptor
 95046  //   - vid - idVendor field in the USB device descriptor
 95047  //   - hostId - unique ID for the host
 95048  //   - speed - device speed (low, full, or high)
 95049  //
 95050  // For example, the following pattern identifies a USB device:
 95051  //
 95052  // &nbsp;&nbsp;&nbsp;&nbsp;<code>"path:1/3/0 hostId:44\\ 45\\ 4c\\ 43\\ 00\\ 10\\ 54-80\\ 35\\ ca\\ c0\\ 4f\\ 4d\\ 37\\ 31"</code>
 95053  //
 95054  // This pattern identifies the USB device connected to port 1/3/0 on the
 95055  // host with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.
 95056  //
 95057  // Special characters for autoconnect pattern values:
 95058  //   - The name and value are separated by a colon (:).
 95059  //   - Name:value pairs are separated by spaces.
 95060  //   - The escape character is a backslash (\\). Use a single backslash to embed
 95061  //     a space in a value. Use a double blackslash to embed a single backslash
 95062  //     in the value.
 95063  type VirtualUSBRemoteHostBackingInfo struct {
 95064  	VirtualDeviceDeviceBackingInfo
 95065  
 95066  	// Name of the ESX host to which the physical USB device is attached
 95067  	// (`HostSystem*.*ManagedEntity.name`).
 95068  	//
 95069  	// When you configure remote host backing, hostname must identify
 95070  	// the local host on which the virtual machine is running.
 95071  	Hostname string `xml:"hostname" json:"hostname"`
 95072  }
 95073  
 95074  func init() {
 95075  	t["VirtualUSBRemoteHostBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingInfo)(nil)).Elem()
 95076  }
 95077  
 95078  // The `VirtualUSBRemoteHostBackingOption` data object
 95079  // contains options for remote host USB configuration.
 95080  //
 95081  // This backing option
 95082  // indicates support for persistent USB connections when vMotion operations
 95083  // migrate virtual machines to different hosts.
 95084  type VirtualUSBRemoteHostBackingOption struct {
 95085  	VirtualDeviceDeviceBackingOption
 95086  }
 95087  
 95088  func init() {
 95089  	t["VirtualUSBRemoteHostBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingOption)(nil)).Elem()
 95090  }
 95091  
 95092  // The `VirtualUSBUSBBackingInfo` data object
 95093  // identifies a USB device on the host where the virtual machine
 95094  // is located.
 95095  //
 95096  // This type of backing supports only a local connection
 95097  // where the virtual machine will remain on the host to which the
 95098  // USB device is attached.
 95099  //
 95100  // To identify the USB device, you specify an autoconnect pattern
 95101  // for the `VirtualDeviceDeviceBackingInfo.deviceName`.
 95102  // The virtual machine can connect to the USB device if the ESX server
 95103  // can find a USB device described by the autoconnect pattern.
 95104  // The autoconnect pattern consists of name:value pairs. You can
 95105  // use any combination of the following fields.
 95106  //   - path - USB connection path on the host
 95107  //   - pid - idProduct field in the USB device descriptor
 95108  //   - vid - idVendor field in the USB device descriptor
 95109  //   - hostId - unique ID for the host
 95110  //   - speed - device speed (low, full, or high)
 95111  //
 95112  // For example, the following pattern identifies a USB device:
 95113  //
 95114  // &nbsp;&nbsp;&nbsp;&nbsp;<code>"path:1/3/0 hostId:44\\ 45\\ 4c\\ 43\\ 00\\ 10\\ 54-80\\ 35\\ ca\\ c0\\ 4f\\ 4d\\ 37\\ 31"</code>
 95115  //
 95116  // This pattern identifies the USB device connected to port 1/3/0 on the
 95117  // host with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.
 95118  //
 95119  // Special characters for autoconnect pattern values:
 95120  //   - The name and value are separated by a colon (:).
 95121  //   - Name:value pairs are separated by spaces.
 95122  //   - The escape character is a backslash (\\). Use a single backslash to embed
 95123  //     a space in a value. Use a double blackslash to embed a single backslash
 95124  //     in the value.
 95125  type VirtualUSBUSBBackingInfo struct {
 95126  	VirtualDeviceDeviceBackingInfo
 95127  }
 95128  
 95129  func init() {
 95130  	t["VirtualUSBUSBBackingInfo"] = reflect.TypeOf((*VirtualUSBUSBBackingInfo)(nil)).Elem()
 95131  }
 95132  
 95133  // The `VirtualUSBUSBBackingOption` data object
 95134  // contains the options for virtual backing for a USB device.
 95135  //
 95136  // This backing option indicates support for a local connection where
 95137  // the virtual machine will remain on the host to which the USB device
 95138  // is attached.
 95139  type VirtualUSBUSBBackingOption struct {
 95140  	VirtualDeviceDeviceBackingOption
 95141  }
 95142  
 95143  func init() {
 95144  	t["VirtualUSBUSBBackingOption"] = reflect.TypeOf((*VirtualUSBUSBBackingOption)(nil)).Elem()
 95145  }
 95146  
 95147  // The `VirtualUSBXHCIController` data object describes a virtual
 95148  // USB Extensible Host Controller Interface (USB 3.0).
 95149  //
 95150  // For more informatino see `VirtualUSBController`.
 95151  type VirtualUSBXHCIController struct {
 95152  	VirtualController
 95153  
 95154  	// Flag to indicate whether or not the ability to hot plug devices
 95155  	// is enabled on this controller.
 95156  	AutoConnectDevices *bool `xml:"autoConnectDevices" json:"autoConnectDevices,omitempty"`
 95157  }
 95158  
 95159  func init() {
 95160  	t["VirtualUSBXHCIController"] = reflect.TypeOf((*VirtualUSBXHCIController)(nil)).Elem()
 95161  }
 95162  
 95163  // The VirtualUSBXHCIControllerOption data object type contains the options
 95164  // for a virtual USB Extensible Host Controller Interface (USB 3.0).
 95165  type VirtualUSBXHCIControllerOption struct {
 95166  	VirtualControllerOption
 95167  
 95168  	// Flag to indicate whether or not the ability to autoconnect devices
 95169  	// is enabled for this virtual USB controller.
 95170  	AutoConnectDevices BoolOption `xml:"autoConnectDevices" json:"autoConnectDevices"`
 95171  	// Range of USB device speeds supported by this USB controller type.
 95172  	//
 95173  	// Acceptable values are specified at `VirtualMachineUsbInfoSpeed_enum`.
 95174  	SupportedSpeeds []string `xml:"supportedSpeeds" json:"supportedSpeeds"`
 95175  }
 95176  
 95177  func init() {
 95178  	t["VirtualUSBXHCIControllerOption"] = reflect.TypeOf((*VirtualUSBXHCIControllerOption)(nil)).Elem()
 95179  }
 95180  
 95181  // This data object type contains the options for the
 95182  // `VirtualVMIROM` data object type.
 95183  type VirtualVMIROMOption struct {
 95184  	VirtualDeviceOption
 95185  }
 95186  
 95187  func init() {
 95188  	t["VirtualVMIROMOption"] = reflect.TypeOf((*VirtualVMIROMOption)(nil)).Elem()
 95189  }
 95190  
 95191  // This data object type contains the options for the
 95192  // `VirtualVideoCard` data object type.
 95193  type VirtualVideoCardOption struct {
 95194  	VirtualDeviceOption
 95195  
 95196  	// Minimum, maximum and default size of the video frame buffer.
 95197  	VideoRamSizeInKB *LongOption `xml:"videoRamSizeInKB,omitempty" json:"videoRamSizeInKB,omitempty"`
 95198  	// Minimum, maximum and default value for the number of displays.
 95199  	NumDisplays *IntOption `xml:"numDisplays,omitempty" json:"numDisplays,omitempty"`
 95200  	// Flag to indicate whether the display settings of the host should
 95201  	// be used to automatically determine the display settings of the
 95202  	// virtual machine's video card.
 95203  	UseAutoDetect *BoolOption `xml:"useAutoDetect,omitempty" json:"useAutoDetect,omitempty"`
 95204  	// Flag to indicate whether the virtual video card supports 3D functions.
 95205  	Support3D *BoolOption `xml:"support3D,omitempty" json:"support3D,omitempty"`
 95206  	// Flag to indicate whether the virtual video card can specify how to render 3D graphics.
 95207  	Use3dRendererSupported *BoolOption `xml:"use3dRendererSupported,omitempty" json:"use3dRendererSupported,omitempty"`
 95208  	// The minimum, maximum, and default values for graphics memory size.
 95209  	GraphicsMemorySizeInKB *LongOption `xml:"graphicsMemorySizeInKB,omitempty" json:"graphicsMemorySizeInKB,omitempty"`
 95210  	// Flag to indicate whether the virtual video card can specify the size
 95211  	// of graphics memory.
 95212  	GraphicsMemorySizeSupported *BoolOption `xml:"graphicsMemorySizeSupported,omitempty" json:"graphicsMemorySizeSupported,omitempty"`
 95213  }
 95214  
 95215  func init() {
 95216  	t["VirtualVideoCardOption"] = reflect.TypeOf((*VirtualVideoCardOption)(nil)).Elem()
 95217  }
 95218  
 95219  // The VirtualVmxnet data object type represents an instance
 95220  // of the Vmxnet virtual Ethernet adapter attached to a virtual machine.
 95221  type VirtualVmxnet struct {
 95222  	VirtualEthernetCard
 95223  }
 95224  
 95225  func init() {
 95226  	t["VirtualVmxnet"] = reflect.TypeOf((*VirtualVmxnet)(nil)).Elem()
 95227  }
 95228  
 95229  // The VirtualVmxnet2 data object type represents an instance
 95230  // of the Vmxnet2 virtual Ethernet adapter attached to a virtual machine.
 95231  type VirtualVmxnet2 struct {
 95232  	VirtualVmxnet
 95233  }
 95234  
 95235  func init() {
 95236  	t["VirtualVmxnet2"] = reflect.TypeOf((*VirtualVmxnet2)(nil)).Elem()
 95237  }
 95238  
 95239  // The VirtualVmxnet2Option data object type contains the options for the
 95240  // `VirtualVmxnet2` data object type.
 95241  type VirtualVmxnet2Option struct {
 95242  	VirtualVmxnetOption
 95243  }
 95244  
 95245  func init() {
 95246  	t["VirtualVmxnet2Option"] = reflect.TypeOf((*VirtualVmxnet2Option)(nil)).Elem()
 95247  }
 95248  
 95249  // The VirtualVmxnet3 data object type represents an instance
 95250  // of the Vmxnet3 virtual Ethernet adapter attached to a virtual machine.
 95251  type VirtualVmxnet3 struct {
 95252  	VirtualVmxnet
 95253  
 95254  	// Indicates whether UPTv2(Uniform Pass-through version 2) compatibility is
 95255  	// enabled on this network adapter.
 95256  	//
 95257  	// UPTv2 is only available on Vmxnet3
 95258  	// adapter. Clients can set this property enabled or disabled if ethernet
 95259  	// virtual device is Vmxnet3. It requires the VM hardware version is
 95260  	// compatible with ESXi version which has enabled smartnic feature.
 95261  	Uptv2Enabled *bool `xml:"uptv2Enabled" json:"uptv2Enabled,omitempty" vim:"8.0.0.1"`
 95262  	// Indicates whether strict latency parameters are configured on this
 95263  	// network adapter.
 95264  	//
 95265  	// Clients can set these parameters to control behaviors
 95266  	// on this network adapter, e.g., set the TX/RX ring size, etc. Requires
 95267  	// VM hardware version compatible with ESXi release supporting the
 95268  	// "real-time switch" feature.
 95269  	StrictLatencyConfig *VirtualVmxnet3StrictLatencyConfig `xml:"strictLatencyConfig,omitempty" json:"strictLatencyConfig,omitempty" vim:"8.0.3.1"`
 95270  }
 95271  
 95272  func init() {
 95273  	t["VirtualVmxnet3"] = reflect.TypeOf((*VirtualVmxnet3)(nil)).Elem()
 95274  }
 95275  
 95276  // The VirtualVmxnet3Option data object type contains the options for the
 95277  // `VirtualVmxnet3` data object type.
 95278  type VirtualVmxnet3Option struct {
 95279  	VirtualVmxnetOption
 95280  
 95281  	// Flag to indicate whether UPTv2(Uniform Pass-through version 2) is
 95282  	// settable on this device.
 95283  	Uptv2Enabled *BoolOption `xml:"uptv2Enabled,omitempty" json:"uptv2Enabled,omitempty" vim:"8.0.0.1"`
 95284  	// Strict latency configure options.
 95285  	StrictLatencyConfigOption *VirtualVmxnet3OptionStrictLatencyConfigOption `xml:"strictLatencyConfigOption,omitempty" json:"strictLatencyConfigOption,omitempty" vim:"8.0.3.1"`
 95286  }
 95287  
 95288  func init() {
 95289  	t["VirtualVmxnet3Option"] = reflect.TypeOf((*VirtualVmxnet3Option)(nil)).Elem()
 95290  }
 95291  
 95292  // Strict latency configure options.
 95293  //
 95294  // Indicates options for each strict
 95295  // latency configure specification, as defined by
 95296  // `VirtualVmxnet3StrictLatencyConfig`.
 95297  type VirtualVmxnet3OptionStrictLatencyConfigOption struct {
 95298  	DynamicData
 95299  
 95300  	// Indicates whether strict latency configuration is allowed on this
 95301  	// network adapter.
 95302  	Allowed BoolOption `xml:"allowed" json:"allowed"`
 95303  	// Indicates whether latency measurement is enabled on this network
 95304  	// adapter.
 95305  	MeasureLatency BoolOption `xml:"measureLatency" json:"measureLatency"`
 95306  	// Three properties (maxTxQueues.min, maxTxQueues.max, and
 95307  	// maxTxQueues.defaultValue) define the minimum, maximum, and default
 95308  	// number of transmit queues on this network adapter.
 95309  	MaxTxQueues IntOption `xml:"maxTxQueues" json:"maxTxQueues"`
 95310  	// Three properties (maxRxQueues.min, maxRxQueues.max, and
 95311  	// maxRxQueues.defaultValue) define the minimum, maximum, and default
 95312  	// number of receive queues on this network adapter.
 95313  	MaxRxQueues IntOption `xml:"maxRxQueues" json:"maxRxQueues"`
 95314  	// Three properties (txDataRingDescSize.min, txDataRingDescSize.max, and
 95315  	// txDataRingDescSize.defaultValue) define the minimum, maximum, and
 95316  	// default transmit data ring size on this network adapter.
 95317  	TxDataRingDescSize IntOption `xml:"txDataRingDescSize" json:"txDataRingDescSize"`
 95318  	// Three properties (rxDataRingDescSize.min, rxDataRingDescSize.max, and
 95319  	// rxDataRingDescSize.defaultValue) define the minimum, maximum, and
 95320  	// default receive data ring size on this network adapter.
 95321  	RxDataRingDescSize IntOption `xml:"rxDataRingDescSize" json:"rxDataRingDescSize"`
 95322  	// Type of disable offload being performed on the specified network
 95323  	// adapter.
 95324  	DisableOffload ChoiceOption `xml:"disableOffload" json:"disableOffload"`
 95325  }
 95326  
 95327  func init() {
 95328  	t["VirtualVmxnet3OptionStrictLatencyConfigOption"] = reflect.TypeOf((*VirtualVmxnet3OptionStrictLatencyConfigOption)(nil)).Elem()
 95329  	minAPIVersionForType["VirtualVmxnet3OptionStrictLatencyConfigOption"] = "8.0.3.1"
 95330  }
 95331  
 95332  // The structure below defines the strict latency configuration of a
 95333  // network adapter.
 95334  //
 95335  // The configuration parameters are only supported when
 95336  // the strict latency capability is enabled on the adapter. When adding
 95337  // a new adapter, unset config parameters are interpreted as "use the
 95338  // default value". When altering the configuration of an existing adapter,
 95339  // unset parameters mean "do not change the current config"
 95340  type VirtualVmxnet3StrictLatencyConfig struct {
 95341  	DynamicData
 95342  
 95343  	// Indicates whether strict latency configuration is allowed on this
 95344  	// network adapter.
 95345  	//
 95346  	// Requires VM hardware version compatible with ESXi
 95347  	// release supporting the "real-time switch" feature.
 95348  	Allowed *bool `xml:"allowed" json:"allowed,omitempty"`
 95349  	// Indicates whether the latency measurement is enabled.
 95350  	//
 95351  	// The default
 95352  	// value is "enabled".
 95353  	MeasureLatency *bool `xml:"measureLatency" json:"measureLatency,omitempty"`
 95354  	// The number of transmit queues.
 95355  	//
 95356  	// The default value is 1. The allowed
 95357  	// range is 1 to 32, including.
 95358  	MaxTxQueues int32 `xml:"maxTxQueues,omitempty" json:"maxTxQueues,omitempty"`
 95359  	// The number of receive queues.
 95360  	//
 95361  	// The default value is 1. The allowed
 95362  	// range is 1 to 32, including.
 95363  	MaxRxQueues int32 `xml:"maxRxQueues,omitempty" json:"maxRxQueues,omitempty"`
 95364  	// The transmit data ring size.
 95365  	//
 95366  	// The default value is 256. The allowed
 95367  	// range is 128 to 2048, including, must be multiple of 64.
 95368  	TxDataRingDescSize int32 `xml:"txDataRingDescSize,omitempty" json:"txDataRingDescSize,omitempty"`
 95369  	// The receive data ring size.
 95370  	//
 95371  	// The default value is 256. The allowed
 95372  	// range is 128 to 2048, including, must be multiple of 64.
 95373  	RxDataRingDescSize int32 `xml:"rxDataRingDescSize,omitempty" json:"rxDataRingDescSize,omitempty"`
 95374  	// Type of disable offload being performed on the specified network
 95375  	// adapter.
 95376  	//
 95377  	// If not specified, TSO\_LRO will be used as the default during
 95378  	// adding new network adapter. The supported values are listed in
 95379  	// `VirtualVmxnet3StrictLatencyConfigDisableOffload_enum`.
 95380  	DisableOffload string `xml:"disableOffload,omitempty" json:"disableOffload,omitempty"`
 95381  }
 95382  
 95383  func init() {
 95384  	t["VirtualVmxnet3StrictLatencyConfig"] = reflect.TypeOf((*VirtualVmxnet3StrictLatencyConfig)(nil)).Elem()
 95385  	minAPIVersionForType["VirtualVmxnet3StrictLatencyConfig"] = "8.0.3.1"
 95386  }
 95387  
 95388  // The VirtualVmxnet3Vrdma data object type represents an instance of the
 95389  // VRDMA virtual Remote Direct Memory Access adapter attached to a virtual
 95390  // machine.
 95391  type VirtualVmxnet3Vrdma struct {
 95392  	VirtualVmxnet3
 95393  
 95394  	// VRDMA Device protocol.
 95395  	//
 95396  	// See
 95397  	// `VirtualVmxnet3VrdmaOptionDeviceProtocols_enum` for more information.
 95398  	DeviceProtocol string `xml:"deviceProtocol,omitempty" json:"deviceProtocol,omitempty"`
 95399  }
 95400  
 95401  func init() {
 95402  	t["VirtualVmxnet3Vrdma"] = reflect.TypeOf((*VirtualVmxnet3Vrdma)(nil)).Elem()
 95403  }
 95404  
 95405  // The VirtualVmxnet3VrdmaOption data object type contains the options for the
 95406  // `VirtualVmxnet3Vrdma` data object type.
 95407  type VirtualVmxnet3VrdmaOption struct {
 95408  	VirtualVmxnet3Option
 95409  
 95410  	// The supported device protocols.
 95411  	DeviceProtocol *ChoiceOption `xml:"deviceProtocol,omitempty" json:"deviceProtocol,omitempty"`
 95412  }
 95413  
 95414  func init() {
 95415  	t["VirtualVmxnet3VrdmaOption"] = reflect.TypeOf((*VirtualVmxnet3VrdmaOption)(nil)).Elem()
 95416  }
 95417  
 95418  // The VirtualVmxnetOption data object type contains the options for the
 95419  // `VirtualVmxnet` data object type.
 95420  type VirtualVmxnetOption struct {
 95421  	VirtualEthernetCardOption
 95422  }
 95423  
 95424  func init() {
 95425  	t["VirtualVmxnetOption"] = reflect.TypeOf((*VirtualVmxnetOption)(nil)).Elem()
 95426  }
 95427  
 95428  // This data object type represents a watchdog timer in a virtual machine.
 95429  type VirtualWDT struct {
 95430  	VirtualDevice
 95431  
 95432  	// Flag to indicate if the virtual watchdog timer device should be
 95433  	// initialized as the Enabled/Stopped or Enabled/Running sub-state.
 95434  	//
 95435  	// If not set, the device will default to being initialized as the
 95436  	// Enabled/Stopped sub-state.
 95437  	RunOnBoot bool `xml:"runOnBoot" json:"runOnBoot"`
 95438  	// Flag to indicate if the virtual watchdog timer device is currently
 95439  	// in the Enabled/Running state.
 95440  	//
 95441  	// The guest can cause state changes,
 95442  	// which will result in this flag being either set or cleared.
 95443  	Running bool `xml:"running" json:"running"`
 95444  }
 95445  
 95446  func init() {
 95447  	t["VirtualWDT"] = reflect.TypeOf((*VirtualWDT)(nil)).Elem()
 95448  }
 95449  
 95450  // This data object type contains the options for the
 95451  // virtual watchdog timer class.
 95452  type VirtualWDTOption struct {
 95453  	VirtualDeviceOption
 95454  
 95455  	// Flag to indicate whether or not the "run on boot" option
 95456  	// is settable on this device.
 95457  	RunOnBoot BoolOption `xml:"runOnBoot" json:"runOnBoot"`
 95458  }
 95459  
 95460  func init() {
 95461  	t["VirtualWDTOption"] = reflect.TypeOf((*VirtualWDTOption)(nil)).Elem()
 95462  }
 95463  
 95464  // The `VlanProfile` data object represents
 95465  // the VLAN identifier subprofile.
 95466  //
 95467  // The `ApplyProfile.policy`
 95468  // property contains the configuration data values for the VLAN identifier.
 95469  type VlanProfile struct {
 95470  	ApplyProfile
 95471  }
 95472  
 95473  func init() {
 95474  	t["VlanProfile"] = reflect.TypeOf((*VlanProfile)(nil)).Elem()
 95475  }
 95476  
 95477  // This event records a user successfully acquiring an MKS ticket
 95478  type VmAcquiredMksTicketEvent struct {
 95479  	VmEvent
 95480  }
 95481  
 95482  func init() {
 95483  	t["VmAcquiredMksTicketEvent"] = reflect.TypeOf((*VmAcquiredMksTicketEvent)(nil)).Elem()
 95484  }
 95485  
 95486  // This event records a user successfully acquiring a ticket
 95487  type VmAcquiredTicketEvent struct {
 95488  	VmEvent
 95489  
 95490  	// The type of the ticket @see VirtualMachine.TicketType
 95491  	TicketType string `xml:"ticketType" json:"ticketType"`
 95492  }
 95493  
 95494  func init() {
 95495  	t["VmAcquiredTicketEvent"] = reflect.TypeOf((*VmAcquiredTicketEvent)(nil)).Elem()
 95496  }
 95497  
 95498  // Fault thrown when moving a standalone host between datacenters, and
 95499  // one or more of the virtual machines registered on the host are already
 95500  // registered to hosts in the target datacenter.
 95501  type VmAlreadyExistsInDatacenter struct {
 95502  	InvalidFolder
 95503  
 95504  	// The target host.
 95505  	//
 95506  	// Refers instance of `HostSystem`.
 95507  	Host ManagedObjectReference `xml:"host" json:"host"`
 95508  	// Name of the target host.
 95509  	Hostname string `xml:"hostname" json:"hostname"`
 95510  	// Virtual machines in the target datacenter which have the same
 95511  	// registration information as those belonging to the target host.
 95512  	//
 95513  	// Refers instances of `VirtualMachine`.
 95514  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 95515  }
 95516  
 95517  func init() {
 95518  	t["VmAlreadyExistsInDatacenter"] = reflect.TypeOf((*VmAlreadyExistsInDatacenter)(nil)).Elem()
 95519  }
 95520  
 95521  type VmAlreadyExistsInDatacenterFault VmAlreadyExistsInDatacenter
 95522  
 95523  func init() {
 95524  	t["VmAlreadyExistsInDatacenterFault"] = reflect.TypeOf((*VmAlreadyExistsInDatacenterFault)(nil)).Elem()
 95525  }
 95526  
 95527  // This event records that a virtual machine was automatically renamed
 95528  // because of a name conflict.
 95529  type VmAutoRenameEvent struct {
 95530  	VmEvent
 95531  
 95532  	// The name of the virtual machine before renaming.
 95533  	OldName string `xml:"oldName" json:"oldName"`
 95534  	// The name of the virtual machine after renaming.
 95535  	NewName string `xml:"newName" json:"newName"`
 95536  }
 95537  
 95538  func init() {
 95539  	t["VmAutoRenameEvent"] = reflect.TypeOf((*VmAutoRenameEvent)(nil)).Elem()
 95540  }
 95541  
 95542  // This event records a virtual machine being cloned.
 95543  type VmBeingClonedEvent struct {
 95544  	VmCloneEvent
 95545  
 95546  	// The destination folder to which the virtual machine is being cloned.
 95547  	DestFolder FolderEventArgument `xml:"destFolder" json:"destFolder"`
 95548  	// The name of the destination virtual machine.
 95549  	DestName string `xml:"destName" json:"destName"`
 95550  	// The destination host to which the virtual machine is being cloned.
 95551  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95552  }
 95553  
 95554  func init() {
 95555  	t["VmBeingClonedEvent"] = reflect.TypeOf((*VmBeingClonedEvent)(nil)).Elem()
 95556  }
 95557  
 95558  // This event records a virtual machine being cloned.
 95559  type VmBeingClonedNoFolderEvent struct {
 95560  	VmCloneEvent
 95561  
 95562  	// The name of the destination virtual machine.
 95563  	DestName string `xml:"destName" json:"destName"`
 95564  	// The destination host to which the virtual machine is being cloned.
 95565  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95566  }
 95567  
 95568  func init() {
 95569  	t["VmBeingClonedNoFolderEvent"] = reflect.TypeOf((*VmBeingClonedNoFolderEvent)(nil)).Elem()
 95570  }
 95571  
 95572  // This event records a virtual machine being created.
 95573  type VmBeingCreatedEvent struct {
 95574  	VmEvent
 95575  
 95576  	// The configuration specification that was used to create this virtual machine.
 95577  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 95578  }
 95579  
 95580  func init() {
 95581  	t["VmBeingCreatedEvent"] = reflect.TypeOf((*VmBeingCreatedEvent)(nil)).Elem()
 95582  }
 95583  
 95584  // This event records a virtual machine being deployed from a template.
 95585  type VmBeingDeployedEvent struct {
 95586  	VmEvent
 95587  
 95588  	// The template object from which the virtual machine is being deployed.
 95589  	SrcTemplate VmEventArgument `xml:"srcTemplate" json:"srcTemplate"`
 95590  }
 95591  
 95592  func init() {
 95593  	t["VmBeingDeployedEvent"] = reflect.TypeOf((*VmBeingDeployedEvent)(nil)).Elem()
 95594  }
 95595  
 95596  // This event records that a virtual machine is being hot-migrated.
 95597  type VmBeingHotMigratedEvent struct {
 95598  	VmEvent
 95599  
 95600  	// The destination host to which the virtual machine is to be migrated.
 95601  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95602  	// The destination datacenter to which the virtual machine is being migrated
 95603  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 95604  	// The destination primary datastore to which the virtual machine is being migrated
 95605  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 95606  }
 95607  
 95608  func init() {
 95609  	t["VmBeingHotMigratedEvent"] = reflect.TypeOf((*VmBeingHotMigratedEvent)(nil)).Elem()
 95610  }
 95611  
 95612  // This event records that a virtual machine is being migrated.
 95613  type VmBeingMigratedEvent struct {
 95614  	VmEvent
 95615  
 95616  	// The destination host.
 95617  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95618  	// The destination datacenter
 95619  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 95620  	// The destination primary datastore
 95621  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 95622  }
 95623  
 95624  func init() {
 95625  	t["VmBeingMigratedEvent"] = reflect.TypeOf((*VmBeingMigratedEvent)(nil)).Elem()
 95626  }
 95627  
 95628  // This event records that a virtual machine is being relocated.
 95629  type VmBeingRelocatedEvent struct {
 95630  	VmRelocateSpecEvent
 95631  
 95632  	// The destination host to which the virtual machine is being relocated.
 95633  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95634  	// The destination datacenter to which the virtual machine is being relocated
 95635  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 95636  	// The destination primary datastore to which the virtual machine is being relocated
 95637  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 95638  }
 95639  
 95640  func init() {
 95641  	t["VmBeingRelocatedEvent"] = reflect.TypeOf((*VmBeingRelocatedEvent)(nil)).Elem()
 95642  }
 95643  
 95644  // The is the base event for all clone operations.
 95645  type VmCloneEvent struct {
 95646  	VmEvent
 95647  }
 95648  
 95649  func init() {
 95650  	t["VmCloneEvent"] = reflect.TypeOf((*VmCloneEvent)(nil)).Elem()
 95651  }
 95652  
 95653  // This event records a failure to clone a virtual machine.
 95654  type VmCloneFailedEvent struct {
 95655  	VmCloneEvent
 95656  
 95657  	// The destination folder to which the virtual machine is being cloned.
 95658  	DestFolder FolderEventArgument `xml:"destFolder" json:"destFolder"`
 95659  	// The name of the destination virtual machine.
 95660  	DestName string `xml:"destName" json:"destName"`
 95661  	// The destination host to which the virtual machine was being cloned.
 95662  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95663  	// The reason why this clone operation failed.
 95664  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95665  }
 95666  
 95667  func init() {
 95668  	t["VmCloneFailedEvent"] = reflect.TypeOf((*VmCloneFailedEvent)(nil)).Elem()
 95669  }
 95670  
 95671  // This event records the completion of a virtual machine cloning operation.
 95672  type VmClonedEvent struct {
 95673  	VmCloneEvent
 95674  
 95675  	// The source virtual machine for the clone operation.
 95676  	SourceVm VmEventArgument `xml:"sourceVm" json:"sourceVm"`
 95677  }
 95678  
 95679  func init() {
 95680  	t["VmClonedEvent"] = reflect.TypeOf((*VmClonedEvent)(nil)).Elem()
 95681  }
 95682  
 95683  // Base for configuration / environment issues that can be thrown when powering on or
 95684  // changing the configuration of a virtual machine.
 95685  //
 95686  // Subclasses of this fault is also
 95687  // used as recent why a migration can fail.
 95688  type VmConfigFault struct {
 95689  	VimFault
 95690  }
 95691  
 95692  func init() {
 95693  	t["VmConfigFault"] = reflect.TypeOf((*VmConfigFault)(nil)).Elem()
 95694  }
 95695  
 95696  type VmConfigFaultFault BaseVmConfigFault
 95697  
 95698  func init() {
 95699  	t["VmConfigFaultFault"] = reflect.TypeOf((*VmConfigFaultFault)(nil)).Elem()
 95700  }
 95701  
 95702  // The encryption information of a virtual machine configuration.
 95703  type VmConfigFileEncryptionInfo struct {
 95704  	DynamicData
 95705  
 95706  	// The key identifier for an encrypted virtual machine
 95707  	// configuration file.
 95708  	//
 95709  	// If the virtual machine configuration file is encrypted, then
 95710  	// the keyId is set and indicates the identifier that can be
 95711  	// used to lookup the key material. Unset if the virtual machine
 95712  	// configuration file is not encrypted.
 95713  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 95714  }
 95715  
 95716  func init() {
 95717  	t["VmConfigFileEncryptionInfo"] = reflect.TypeOf((*VmConfigFileEncryptionInfo)(nil)).Elem()
 95718  }
 95719  
 95720  // This data object type describes a virtual machine configuration file.
 95721  type VmConfigFileInfo struct {
 95722  	FileInfo
 95723  
 95724  	ConfigVersion int32 `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 95725  	// The encryption information of the virtual machine
 95726  	// configuration file.
 95727  	//
 95728  	// If encryption was selected in VmConfigFileQueryFlags then this
 95729  	// field is always set. Inspect the VmConfigEncryptionInfo to
 95730  	// determine if the virtual machine configuration file is encrypted.
 95731  	Encryption *VmConfigFileEncryptionInfo `xml:"encryption,omitempty" json:"encryption,omitempty"`
 95732  }
 95733  
 95734  func init() {
 95735  	t["VmConfigFileInfo"] = reflect.TypeOf((*VmConfigFileInfo)(nil)).Elem()
 95736  }
 95737  
 95738  // This data object type describes query specification for the virtual machine
 95739  // configuration file.
 95740  type VmConfigFileQuery struct {
 95741  	FileQuery
 95742  
 95743  	// The filter specification for the virtual machine configuration file query.
 95744  	Filter *VmConfigFileQueryFilter `xml:"filter,omitempty" json:"filter,omitempty"`
 95745  	// The details specification for the virtual machine configuration file query.
 95746  	Details *VmConfigFileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
 95747  }
 95748  
 95749  func init() {
 95750  	t["VmConfigFileQuery"] = reflect.TypeOf((*VmConfigFileQuery)(nil)).Elem()
 95751  }
 95752  
 95753  // The filter for the virtual machine configuration file.
 95754  type VmConfigFileQueryFilter struct {
 95755  	DynamicData
 95756  
 95757  	// If this property is set, only the virtual machine configuration files that
 95758  	// match one of the specified configuration versions are selected.
 95759  	//
 95760  	// If no
 95761  	// versions are specified, this search criteria is ignored.
 95762  	MatchConfigVersion []int32 `xml:"matchConfigVersion,omitempty" json:"matchConfigVersion,omitempty"`
 95763  	// This optional property can be used to filter virtual
 95764  	// machine configuration files based on whether they are
 95765  	// encrypted or not.
 95766  	Encrypted *bool `xml:"encrypted" json:"encrypted,omitempty"`
 95767  }
 95768  
 95769  func init() {
 95770  	t["VmConfigFileQueryFilter"] = reflect.TypeOf((*VmConfigFileQueryFilter)(nil)).Elem()
 95771  }
 95772  
 95773  type VmConfigFileQueryFlags struct {
 95774  	DynamicData
 95775  
 95776  	// The flag to indicate whether or not the configuration file version number is
 95777  	// returned.
 95778  	ConfigVersion bool `xml:"configVersion" json:"configVersion"`
 95779  	// The flag to indicate whether the encryption information of the
 95780  	// virtual machine configuration is returned.
 95781  	Encryption *bool `xml:"encryption" json:"encryption,omitempty"`
 95782  }
 95783  
 95784  func init() {
 95785  	t["VmConfigFileQueryFlags"] = reflect.TypeOf((*VmConfigFileQueryFlags)(nil)).Elem()
 95786  }
 95787  
 95788  // Thrown when a virtual machine's existing or requested configuration is
 95789  // incompatible for fault tolerance.
 95790  type VmConfigIncompatibleForFaultTolerance struct {
 95791  	VmConfigFault
 95792  
 95793  	// Fault indicating the specific configuration issue.
 95794  	//
 95795  	// This is typically
 95796  	// a subclass of VirtualHardwareCompatibilityIssue.
 95797  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 95798  }
 95799  
 95800  func init() {
 95801  	t["VmConfigIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmConfigIncompatibleForFaultTolerance)(nil)).Elem()
 95802  }
 95803  
 95804  type VmConfigIncompatibleForFaultToleranceFault VmConfigIncompatibleForFaultTolerance
 95805  
 95806  func init() {
 95807  	t["VmConfigIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmConfigIncompatibleForFaultToleranceFault)(nil)).Elem()
 95808  }
 95809  
 95810  // Deprecated as of vSphere API 6.0.
 95811  //
 95812  // Thrown when a virtual machine's existing or requested configuration is
 95813  // incompatible for record and replay.
 95814  type VmConfigIncompatibleForRecordReplay struct {
 95815  	VmConfigFault
 95816  
 95817  	// Fault indicating the specific configuration issue.
 95818  	//
 95819  	// This is typically
 95820  	// a subclass of VirtualHardwareCompatibilityIssue.
 95821  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 95822  }
 95823  
 95824  func init() {
 95825  	t["VmConfigIncompatibleForRecordReplay"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplay)(nil)).Elem()
 95826  }
 95827  
 95828  type VmConfigIncompatibleForRecordReplayFault VmConfigIncompatibleForRecordReplay
 95829  
 95830  func init() {
 95831  	t["VmConfigIncompatibleForRecordReplayFault"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplayFault)(nil)).Elem()
 95832  }
 95833  
 95834  // VM Configuration.
 95835  type VmConfigInfo struct {
 95836  	DynamicData
 95837  
 95838  	// Information about the package content.
 95839  	Product []VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
 95840  	// List of properties
 95841  	Property []VAppPropertyInfo `xml:"property,omitempty" json:"property,omitempty"`
 95842  	// IP assignment policy and DHCP support configuration.
 95843  	IpAssignment VAppIPAssignmentInfo `xml:"ipAssignment" json:"ipAssignment"`
 95844  	// End User Liceses Agreements.
 95845  	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
 95846  	// List of uninterpreted OVF meta-data sections.
 95847  	OvfSection []VAppOvfSectionInfo `xml:"ovfSection,omitempty" json:"ovfSection,omitempty"`
 95848  	// List the transports to use for properties.
 95849  	//
 95850  	// Supported values are: iso and
 95851  	// com.vmware.guestInfo.
 95852  	OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty" json:"ovfEnvironmentTransport,omitempty"`
 95853  	// Specifies whether the VM needs an initial boot before the deployment is complete.
 95854  	//
 95855  	// Not relevant for vApps. This means that the value is always false when reading the
 95856  	// configuration and is ignored when setting the configuration.
 95857  	//
 95858  	// If a vApp requires an install boot (because one of its VMs does), this is visible
 95859  	// on the `VirtualAppSummary.installBootRequired` field of the vApp.
 95860  	InstallBootRequired bool `xml:"installBootRequired" json:"installBootRequired"`
 95861  	// Specifies the delay in seconds to wait for the VM to power off after the initial
 95862  	// boot (used only if installBootRequired is true).
 95863  	//
 95864  	// A value of 0 means wait forever.
 95865  	//
 95866  	// Not relevant for vApps. This means that the value is always false when reading the
 95867  	// configuration and is ignored when setting the configuration.
 95868  	InstallBootStopDelay int32 `xml:"installBootStopDelay" json:"installBootStopDelay"`
 95869  }
 95870  
 95871  func init() {
 95872  	t["VmConfigInfo"] = reflect.TypeOf((*VmConfigInfo)(nil)).Elem()
 95873  }
 95874  
 95875  // This event records if the configuration file can not be found.
 95876  type VmConfigMissingEvent struct {
 95877  	VmEvent
 95878  }
 95879  
 95880  func init() {
 95881  	t["VmConfigMissingEvent"] = reflect.TypeOf((*VmConfigMissingEvent)(nil)).Elem()
 95882  }
 95883  
 95884  // vApp related configuration of a VM.
 95885  type VmConfigSpec struct {
 95886  	DynamicData
 95887  
 95888  	// Information about the product.
 95889  	//
 95890  	// Reconfigure privilege: VApp.ApplicationConfig
 95891  	Product []VAppProductSpec `xml:"product,omitempty" json:"product,omitempty"`
 95892  	// List of properties.
 95893  	//
 95894  	// Adding and editing properties requires various privileges depending on which fields
 95895  	// are affected. See `VAppPropertyInfo` for details.
 95896  	//
 95897  	// Deleting properties requires the privilege VApp.ApplicationConfig.
 95898  	Property []VAppPropertySpec `xml:"property,omitempty" json:"property,omitempty"`
 95899  	// IP assignment policy and DHCP support configuration.
 95900  	//
 95901  	// Reconfigure privilege: See `VAppIPAssignmentInfo`
 95902  	IpAssignment *VAppIPAssignmentInfo `xml:"ipAssignment,omitempty" json:"ipAssignment,omitempty"`
 95903  	// End User Liceses Agreements.
 95904  	//
 95905  	// If this list is set, it replaces all exiting licenses. An empty list will not
 95906  	// make any changes to installed licenses. A list with a single element {""} will
 95907  	// remove all licenses and leave an empty list.
 95908  	//
 95909  	// Reconfigure privilege: VApp.ApplicationConfig
 95910  	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
 95911  	// List of uninterpreted OVF meta-data sections.
 95912  	//
 95913  	// Reconfigure privilege: VApp.ApplicationConfig
 95914  	OvfSection []VAppOvfSectionSpec `xml:"ovfSection,omitempty" json:"ovfSection,omitempty"`
 95915  	// List the transports to use for properties.
 95916  	//
 95917  	// Supported values are: iso and
 95918  	// com.vmware.guestInfo.
 95919  	//
 95920  	// If this list is set, it replaces all exiting entries. An empty list will not make
 95921  	// any changes. A list with a single element {""} will clear the list of transports.
 95922  	//
 95923  	// Reconfigure privilege: VApp.ApplicationConfig
 95924  	OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty" json:"ovfEnvironmentTransport,omitempty"`
 95925  	// If this is on a VirtualMachine object, it specifies whether the VM needs an
 95926  	// initial boot before the deployment is complete.
 95927  	//
 95928  	// If this is on a vApp object,
 95929  	// it indicates than one or more VMs needs an initial reboot. This flag is
 95930  	// automatically reset once the reboot has happened.
 95931  	//
 95932  	// Reconfigure privilege: VApp.ApplicationConfig
 95933  	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
 95934  	// Specifies the delay in seconds to wait for the VM to power off after the initial
 95935  	// boot (used only if installBootRequired is true).
 95936  	//
 95937  	// A value of 0 means wait forever.
 95938  	//
 95939  	// Reconfigure privilege: VApp.ApplicationConfig
 95940  	InstallBootStopDelay int32 `xml:"installBootStopDelay,omitempty" json:"installBootStopDelay,omitempty"`
 95941  }
 95942  
 95943  func init() {
 95944  	t["VmConfigSpec"] = reflect.TypeOf((*VmConfigSpec)(nil)).Elem()
 95945  }
 95946  
 95947  // This event records that a virtual machine is connected.
 95948  type VmConnectedEvent struct {
 95949  	VmEvent
 95950  }
 95951  
 95952  func init() {
 95953  	t["VmConnectedEvent"] = reflect.TypeOf((*VmConnectedEvent)(nil)).Elem()
 95954  }
 95955  
 95956  // This event records that a virtual machine was successfully created.
 95957  type VmCreatedEvent struct {
 95958  	VmEvent
 95959  }
 95960  
 95961  func init() {
 95962  	t["VmCreatedEvent"] = reflect.TypeOf((*VmCreatedEvent)(nil)).Elem()
 95963  }
 95964  
 95965  // This event records when a virtual machine is reset by
 95966  // HA VM Health Monitoring on hosts that do not support the
 95967  // create screenshot api or if the createscreenshot api fails.
 95968  type VmDasBeingResetEvent struct {
 95969  	VmEvent
 95970  
 95971  	// The reason why this vm is being reset
 95972  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 95973  }
 95974  
 95975  func init() {
 95976  	t["VmDasBeingResetEvent"] = reflect.TypeOf((*VmDasBeingResetEvent)(nil)).Elem()
 95977  }
 95978  
 95979  // This event records when a virtual machine is reset by
 95980  // HA VM Health Monitoring on hosts that support the create screenshot api
 95981  type VmDasBeingResetWithScreenshotEvent struct {
 95982  	VmDasBeingResetEvent
 95983  
 95984  	// The datastore path of the screenshot taken before resetting.
 95985  	ScreenshotFilePath string `xml:"screenshotFilePath" json:"screenshotFilePath"`
 95986  }
 95987  
 95988  func init() {
 95989  	t["VmDasBeingResetWithScreenshotEvent"] = reflect.TypeOf((*VmDasBeingResetWithScreenshotEvent)(nil)).Elem()
 95990  }
 95991  
 95992  // This event records when HA VM Health Monitoring fails to reset
 95993  // a virtual machine after failure
 95994  type VmDasResetFailedEvent struct {
 95995  	VmEvent
 95996  }
 95997  
 95998  func init() {
 95999  	t["VmDasResetFailedEvent"] = reflect.TypeOf((*VmDasResetFailedEvent)(nil)).Elem()
 96000  }
 96001  
 96002  // The event records that an error occurred when updating the HA agents
 96003  // with the current state of the virtual machine.
 96004  //
 96005  // If this occurs during a
 96006  // powerOn operation, the virtual machine will not be failed over in the
 96007  // event of a host failure. If it occurs during a powerOff, the virtual
 96008  // machine will be automatically powered on if the host it was last running
 96009  // on crashes.
 96010  type VmDasUpdateErrorEvent struct {
 96011  	VmEvent
 96012  }
 96013  
 96014  func init() {
 96015  	t["VmDasUpdateErrorEvent"] = reflect.TypeOf((*VmDasUpdateErrorEvent)(nil)).Elem()
 96016  }
 96017  
 96018  // This event records that HA agents have been updated with the current
 96019  // state of the virtual machine.
 96020  type VmDasUpdateOkEvent struct {
 96021  	VmEvent
 96022  }
 96023  
 96024  func init() {
 96025  	t["VmDasUpdateOkEvent"] = reflect.TypeOf((*VmDasUpdateOkEvent)(nil)).Elem()
 96026  }
 96027  
 96028  // This event records when the VirtualCenter server date rolled back.
 96029  type VmDateRolledBackEvent struct {
 96030  	VmEvent
 96031  }
 96032  
 96033  func init() {
 96034  	t["VmDateRolledBackEvent"] = reflect.TypeOf((*VmDateRolledBackEvent)(nil)).Elem()
 96035  }
 96036  
 96037  // This event records a failure to deploy from a template.
 96038  type VmDeployFailedEvent struct {
 96039  	VmEvent
 96040  
 96041  	// The destination datastore to which the template was being deployed.
 96042  	DestDatastore BaseEntityEventArgument `xml:"destDatastore,typeattr" json:"destDatastore"`
 96043  	// The reason for the failure.
 96044  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96045  }
 96046  
 96047  func init() {
 96048  	t["VmDeployFailedEvent"] = reflect.TypeOf((*VmDeployFailedEvent)(nil)).Elem()
 96049  }
 96050  
 96051  // This event records the completion of a virtual machine deployment operation.
 96052  type VmDeployedEvent struct {
 96053  	VmEvent
 96054  
 96055  	// The template object from which the virtual machine has been deployed.
 96056  	SrcTemplate VmEventArgument `xml:"srcTemplate" json:"srcTemplate"`
 96057  }
 96058  
 96059  func init() {
 96060  	t["VmDeployedEvent"] = reflect.TypeOf((*VmDeployedEvent)(nil)).Elem()
 96061  }
 96062  
 96063  // This event records that a virtual machine disconnected.
 96064  type VmDisconnectedEvent struct {
 96065  	VmEvent
 96066  }
 96067  
 96068  func init() {
 96069  	t["VmDisconnectedEvent"] = reflect.TypeOf((*VmDisconnectedEvent)(nil)).Elem()
 96070  }
 96071  
 96072  // This event records a virtual machine discovery.
 96073  type VmDiscoveredEvent struct {
 96074  	VmEvent
 96075  }
 96076  
 96077  func init() {
 96078  	t["VmDiscoveredEvent"] = reflect.TypeOf((*VmDiscoveredEvent)(nil)).Elem()
 96079  }
 96080  
 96081  // This event records a failure to create a virtual disk in a virtual machine.
 96082  type VmDiskFailedEvent struct {
 96083  	VmEvent
 96084  
 96085  	// The name of the virtual disk.
 96086  	Disk string `xml:"disk" json:"disk"`
 96087  	// The reason for the failure.
 96088  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96089  }
 96090  
 96091  func init() {
 96092  	t["VmDiskFailedEvent"] = reflect.TypeOf((*VmDiskFailedEvent)(nil)).Elem()
 96093  }
 96094  
 96095  // The encryption information of a virtual disk.
 96096  type VmDiskFileEncryptionInfo struct {
 96097  	DynamicData
 96098  
 96099  	// The key identifier for an encrypted virtual disk.
 96100  	//
 96101  	// If the virtual disk is encrypted, then the keyId is set and
 96102  	// indicates the identifier that can be used to lookup the key
 96103  	// material. Unset if the virtual disk is not encrypted.
 96104  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 96105  }
 96106  
 96107  func init() {
 96108  	t["VmDiskFileEncryptionInfo"] = reflect.TypeOf((*VmDiskFileEncryptionInfo)(nil)).Elem()
 96109  }
 96110  
 96111  // This data object type describes a virtual disk primary file.
 96112  type VmDiskFileInfo struct {
 96113  	FileInfo
 96114  
 96115  	// Disk type of the virtual disk.
 96116  	//
 96117  	// The specified disk type is one of the backing information types for a virtual
 96118  	// disk.
 96119  	//
 96120  	// See also `VirtualDisk`.
 96121  	DiskType string `xml:"diskType,omitempty" json:"diskType,omitempty"`
 96122  	// The capacity of a virtual disk from the point of view of a virtual machine.
 96123  	CapacityKb int64 `xml:"capacityKb,omitempty" json:"capacityKb,omitempty"`
 96124  	// The hardware version of the virtual disk file.
 96125  	HardwareVersion int32 `xml:"hardwareVersion,omitempty" json:"hardwareVersion,omitempty"`
 96126  	// Deprecated as of vSphere API 5.0, this property is no longer
 96127  	// relevant and should not be used.
 96128  	// With the current state of emulation, we don't care about the
 96129  	// adapter type a disk is connected to, as disks may be shuffled
 96130  	// around. For example, a disk may be unplugged from a buslogic
 96131  	// controller and plugged into an lsilogic controller.
 96132  	//
 96133  	// The controller type suitable for this virtual disk.
 96134  	ControllerType string `xml:"controllerType,omitempty" json:"controllerType,omitempty"`
 96135  	// The extents of this virtual disk specified in absolute DS paths
 96136  	DiskExtents []string `xml:"diskExtents,omitempty" json:"diskExtents,omitempty"`
 96137  	// Indicates if the disk is thin-provisioned
 96138  	Thin *bool `xml:"thin" json:"thin,omitempty"`
 96139  	// The encryption information of the virtual disk.
 96140  	//
 96141  	// If encryption was selected in VmDiskFileQueryFlags then this
 96142  	// field is always set. Inspect the VmDiskEncryptionInfo to
 96143  	// determine if the virtual disk is encrypted.
 96144  	Encryption *VmDiskFileEncryptionInfo `xml:"encryption,omitempty" json:"encryption,omitempty"`
 96145  	// Sector format of this virtual disk.
 96146  	//
 96147  	// For the list of supported values, see `DatastoreSectorFormat_enum`.
 96148  	SectorFormat string `xml:"sectorFormat,omitempty" json:"sectorFormat,omitempty" vim:"9.0.0.0"`
 96149  }
 96150  
 96151  func init() {
 96152  	t["VmDiskFileInfo"] = reflect.TypeOf((*VmDiskFileInfo)(nil)).Elem()
 96153  }
 96154  
 96155  // This data object type describes the query specification for the virtual disk
 96156  // primary file.
 96157  type VmDiskFileQuery struct {
 96158  	FileQuery
 96159  
 96160  	// The filter specification for the virtual disk primary file query.
 96161  	Filter *VmDiskFileQueryFilter `xml:"filter,omitempty" json:"filter,omitempty"`
 96162  	// Details specification for the virtual disk primary file query.
 96163  	Details *VmDiskFileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
 96164  }
 96165  
 96166  func init() {
 96167  	t["VmDiskFileQuery"] = reflect.TypeOf((*VmDiskFileQuery)(nil)).Elem()
 96168  }
 96169  
 96170  // The filter for the virtual disk primary file.
 96171  type VmDiskFileQueryFilter struct {
 96172  	DynamicData
 96173  
 96174  	// If this optional property is set, only the virtual disk primary files that
 96175  	// match one of the specified disk types are selected.
 96176  	//
 96177  	// If no disk types are
 96178  	// specified, this search criteria is ignored.
 96179  	//
 96180  	// The specified disk type is one of the backing information types for a
 96181  	// virtual disk.
 96182  	//
 96183  	// See also `VirtualDisk`.
 96184  	DiskType []string `xml:"diskType,omitempty" json:"diskType,omitempty"`
 96185  	// If this optional property is set, only virtual disk primary files that match
 96186  	// one of the specified hardware versions are selected.
 96187  	//
 96188  	// If no versions are
 96189  	// specified, this search criteria is ignored.
 96190  	MatchHardwareVersion []int32 `xml:"matchHardwareVersion,omitempty" json:"matchHardwareVersion,omitempty"`
 96191  	// Deprecated as of vSphere API 5.0, this property is no longer
 96192  	// relevant and should not be used.
 96193  	// With the current state of emulation, we don't care about the
 96194  	// adapter type a disk is connected to, as disks may be shuffled
 96195  	// around. For example, a disk may be unplugged from a buslogic
 96196  	// controller and plugged into an lsilogic controller.
 96197  	//
 96198  	// If this optional property is set, only virtual disk files that have a
 96199  	// controller type that matches one of the controller types specified
 96200  	// are returned.
 96201  	//
 96202  	// If no controller types are specified, this search criteria
 96203  	// is ignored.
 96204  	//
 96205  	// The specified controller type is one of the controller types for a
 96206  	// virtual disk.
 96207  	//
 96208  	// See also `VirtualIDEController`, `VirtualSCSIController`.
 96209  	ControllerType []string `xml:"controllerType,omitempty" json:"controllerType,omitempty"`
 96210  	// This optional property can be used to filter disks based on whether
 96211  	// they are thin-provsioned or not: if set to true, only thin-provisioned
 96212  	// disks are returned, and vice-versa.
 96213  	Thin *bool `xml:"thin" json:"thin,omitempty"`
 96214  	// This optional property can be used to filter disks based on
 96215  	// whether they are encrypted or not.
 96216  	Encrypted *bool `xml:"encrypted" json:"encrypted,omitempty"`
 96217  }
 96218  
 96219  func init() {
 96220  	t["VmDiskFileQueryFilter"] = reflect.TypeOf((*VmDiskFileQueryFilter)(nil)).Elem()
 96221  }
 96222  
 96223  // Details for the virtual disk primary file.
 96224  type VmDiskFileQueryFlags struct {
 96225  	DynamicData
 96226  
 96227  	// The flag to indicate whether the type of the physical disk backing
 96228  	// the virtual disk is returned.
 96229  	DiskType bool `xml:"diskType" json:"diskType"`
 96230  	// The flag to indicate whether the capacity of the virtual disk from
 96231  	// the point of view of a virtual machine is returned.
 96232  	CapacityKb bool `xml:"capacityKb" json:"capacityKb"`
 96233  	// The flag to indicate whether the hardware version of the virtual disk
 96234  	// file is returned.
 96235  	HardwareVersion bool `xml:"hardwareVersion" json:"hardwareVersion"`
 96236  	// Deprecated as of vSphere API 5.0, this property is no longer
 96237  	// relevant and should not be used.
 96238  	// With the current state of emulation, we don't care about the
 96239  	// adapter type a disk is connected to, as disks may be shuffled
 96240  	// around. For example, a disk may be unplugged from a buslogic
 96241  	// controller and plugged into an lsilogic controller.
 96242  	//
 96243  	// The flag to indicate whether or not the controller type of the virtual disk
 96244  	// file is returned.
 96245  	ControllerType *bool `xml:"controllerType" json:"controllerType,omitempty"`
 96246  	// The flag to indicate whether or not the disk extents of the virtual disk
 96247  	// are returned.
 96248  	DiskExtents *bool `xml:"diskExtents" json:"diskExtents,omitempty"`
 96249  	// The flag to indicate whether the thin-ness of the disk is returned.
 96250  	Thin *bool `xml:"thin" json:"thin,omitempty"`
 96251  	// The flag to indicate whether the encryption information of the
 96252  	// virtual disk is returned.
 96253  	Encryption *bool `xml:"encryption" json:"encryption,omitempty"`
 96254  	// The flag to indicate whether or not the sector format of the virtual
 96255  	// disk is returned.
 96256  	SectorFormat *bool `xml:"sectorFormat" json:"sectorFormat,omitempty" vim:"9.0.0.0"`
 96257  }
 96258  
 96259  func init() {
 96260  	t["VmDiskFileQueryFlags"] = reflect.TypeOf((*VmDiskFileQueryFlags)(nil)).Elem()
 96261  }
 96262  
 96263  // This event records a virtual machine emigration.
 96264  type VmEmigratingEvent struct {
 96265  	VmEvent
 96266  }
 96267  
 96268  func init() {
 96269  	t["VmEmigratingEvent"] = reflect.TypeOf((*VmEmigratingEvent)(nil)).Elem()
 96270  }
 96271  
 96272  // Deprecated as of vSphere API 6.0.
 96273  //
 96274  // This event indicates the end of a recording session on a virtual machine.
 96275  type VmEndRecordingEvent struct {
 96276  	VmEvent
 96277  }
 96278  
 96279  func init() {
 96280  	t["VmEndRecordingEvent"] = reflect.TypeOf((*VmEndRecordingEvent)(nil)).Elem()
 96281  }
 96282  
 96283  // Deprecated as of vSphere API 6.0.
 96284  //
 96285  // This event indicates the end of a replay session on a virtual machine.
 96286  type VmEndReplayingEvent struct {
 96287  	VmEvent
 96288  }
 96289  
 96290  func init() {
 96291  	t["VmEndReplayingEvent"] = reflect.TypeOf((*VmEndReplayingEvent)(nil)).Elem()
 96292  }
 96293  
 96294  // These are virtual machine events.
 96295  type VmEvent struct {
 96296  	Event
 96297  
 96298  	// Indicates whether or not the virtual machine is marked as a template.
 96299  	Template bool `xml:"template" json:"template"`
 96300  }
 96301  
 96302  func init() {
 96303  	t["VmEvent"] = reflect.TypeOf((*VmEvent)(nil)).Elem()
 96304  }
 96305  
 96306  // The event argument is a VirtualMachine object.
 96307  type VmEventArgument struct {
 96308  	EntityEventArgument
 96309  
 96310  	// The VirtualMachine object.
 96311  	//
 96312  	// Refers instance of `VirtualMachine`.
 96313  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 96314  }
 96315  
 96316  func init() {
 96317  	t["VmEventArgument"] = reflect.TypeOf((*VmEventArgument)(nil)).Elem()
 96318  }
 96319  
 96320  // This event records a failure to migrate a virtual machine.
 96321  type VmFailedMigrateEvent struct {
 96322  	VmEvent
 96323  
 96324  	// The destination host.
 96325  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 96326  	// The reason for the failure.
 96327  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96328  	// The destination datacenter
 96329  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 96330  	// The destination primary datastore
 96331  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 96332  }
 96333  
 96334  func init() {
 96335  	t["VmFailedMigrateEvent"] = reflect.TypeOf((*VmFailedMigrateEvent)(nil)).Elem()
 96336  }
 96337  
 96338  // This event records a specific failure to relay out a virtual machine,
 96339  // such as a failure to access the disk.
 96340  type VmFailedRelayoutEvent struct {
 96341  	VmEvent
 96342  
 96343  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96344  }
 96345  
 96346  func init() {
 96347  	t["VmFailedRelayoutEvent"] = reflect.TypeOf((*VmFailedRelayoutEvent)(nil)).Elem()
 96348  }
 96349  
 96350  // This event records a failure to relay out a virtual machine
 96351  // when the virtual machine still has disks on a VMFS2 volume.
 96352  type VmFailedRelayoutOnVmfs2DatastoreEvent struct {
 96353  	VmEvent
 96354  }
 96355  
 96356  func init() {
 96357  	t["VmFailedRelayoutOnVmfs2DatastoreEvent"] = reflect.TypeOf((*VmFailedRelayoutOnVmfs2DatastoreEvent)(nil)).Elem()
 96358  }
 96359  
 96360  // This event records vmotion failure when starting a secondary VM.
 96361  type VmFailedStartingSecondaryEvent struct {
 96362  	VmEvent
 96363  
 96364  	// The reason for the failure.
 96365  	//
 96366  	// See `VmFailedStartingSecondaryEventFailureReason_enum`
 96367  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 96368  }
 96369  
 96370  func init() {
 96371  	t["VmFailedStartingSecondaryEvent"] = reflect.TypeOf((*VmFailedStartingSecondaryEvent)(nil)).Elem()
 96372  }
 96373  
 96374  // This event records a failure to power off a virtual machine.
 96375  type VmFailedToPowerOffEvent struct {
 96376  	VmEvent
 96377  
 96378  	// The reason for the failure.
 96379  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96380  }
 96381  
 96382  func init() {
 96383  	t["VmFailedToPowerOffEvent"] = reflect.TypeOf((*VmFailedToPowerOffEvent)(nil)).Elem()
 96384  }
 96385  
 96386  // This event records a failure to power on a virtual machine.
 96387  type VmFailedToPowerOnEvent struct {
 96388  	VmEvent
 96389  
 96390  	// The reason for the failure.
 96391  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96392  }
 96393  
 96394  func init() {
 96395  	t["VmFailedToPowerOnEvent"] = reflect.TypeOf((*VmFailedToPowerOnEvent)(nil)).Elem()
 96396  }
 96397  
 96398  // This event records a failure to reboot the guest on a virtual machine.
 96399  type VmFailedToRebootGuestEvent struct {
 96400  	VmEvent
 96401  
 96402  	// The reason for the failure.
 96403  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96404  }
 96405  
 96406  func init() {
 96407  	t["VmFailedToRebootGuestEvent"] = reflect.TypeOf((*VmFailedToRebootGuestEvent)(nil)).Elem()
 96408  }
 96409  
 96410  // This event records a failure to reset a virtual machine.
 96411  type VmFailedToResetEvent struct {
 96412  	VmEvent
 96413  
 96414  	// The reason for the failure.
 96415  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96416  }
 96417  
 96418  func init() {
 96419  	t["VmFailedToResetEvent"] = reflect.TypeOf((*VmFailedToResetEvent)(nil)).Elem()
 96420  }
 96421  
 96422  // This event records a failure to shut down the guest on a virtual machine.
 96423  type VmFailedToShutdownGuestEvent struct {
 96424  	VmEvent
 96425  
 96426  	// The reason for the failure.
 96427  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96428  }
 96429  
 96430  func init() {
 96431  	t["VmFailedToShutdownGuestEvent"] = reflect.TypeOf((*VmFailedToShutdownGuestEvent)(nil)).Elem()
 96432  }
 96433  
 96434  // This event records a failure to set the guest on a virtual machine to a standby
 96435  // state.
 96436  type VmFailedToStandbyGuestEvent struct {
 96437  	VmEvent
 96438  
 96439  	// The reason for the failure.
 96440  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96441  }
 96442  
 96443  func init() {
 96444  	t["VmFailedToStandbyGuestEvent"] = reflect.TypeOf((*VmFailedToStandbyGuestEvent)(nil)).Elem()
 96445  }
 96446  
 96447  // This event records a failure to suspend a virtual machine.
 96448  type VmFailedToSuspendEvent struct {
 96449  	VmEvent
 96450  
 96451  	// The reason for the failure.
 96452  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 96453  }
 96454  
 96455  func init() {
 96456  	t["VmFailedToSuspendEvent"] = reflect.TypeOf((*VmFailedToSuspendEvent)(nil)).Elem()
 96457  }
 96458  
 96459  // This event records after a failover the new new primary failed to
 96460  // update the config of the secondary vm.
 96461  type VmFailedUpdatingSecondaryConfig struct {
 96462  	VmEvent
 96463  }
 96464  
 96465  func init() {
 96466  	t["VmFailedUpdatingSecondaryConfig"] = reflect.TypeOf((*VmFailedUpdatingSecondaryConfig)(nil)).Elem()
 96467  }
 96468  
 96469  // This event records when a virtual machine failover was unsuccessful.
 96470  type VmFailoverFailed struct {
 96471  	VmEvent
 96472  
 96473  	// The reason for the failure
 96474  	Reason *LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
 96475  }
 96476  
 96477  func init() {
 96478  	t["VmFailoverFailed"] = reflect.TypeOf((*VmFailoverFailed)(nil)).Elem()
 96479  }
 96480  
 96481  // Configuration issues that can occur during operations
 96482  // related to fault tolerance protection for virtual machines.
 96483  type VmFaultToleranceConfigIssue struct {
 96484  	VmFaultToleranceIssue
 96485  
 96486  	// The reason for the failure.
 96487  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 96488  	// The entity name.
 96489  	//
 96490  	// Depending on the issue, it could
 96491  	// be virtual machine or host.
 96492  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
 96493  	// The entity
 96494  	//
 96495  	// Refers instance of `ManagedEntity`.
 96496  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 96497  }
 96498  
 96499  func init() {
 96500  	t["VmFaultToleranceConfigIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssue)(nil)).Elem()
 96501  }
 96502  
 96503  type VmFaultToleranceConfigIssueFault VmFaultToleranceConfigIssue
 96504  
 96505  func init() {
 96506  	t["VmFaultToleranceConfigIssueFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueFault)(nil)).Elem()
 96507  }
 96508  
 96509  // Configuration issues that can occur during operations
 96510  // related to fault tolerance protection for virtual machines.
 96511  type VmFaultToleranceConfigIssueWrapper struct {
 96512  	VmFaultToleranceIssue
 96513  
 96514  	// The entity name.
 96515  	//
 96516  	// Depending on the issue, it could
 96517  	// be virtual machine or host.
 96518  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
 96519  	// The entity
 96520  	//
 96521  	// Refers instance of `ManagedEntity`.
 96522  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 96523  	// The nested error when the reason field is other
 96524  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 96525  }
 96526  
 96527  func init() {
 96528  	t["VmFaultToleranceConfigIssueWrapper"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapper)(nil)).Elem()
 96529  }
 96530  
 96531  type VmFaultToleranceConfigIssueWrapperFault VmFaultToleranceConfigIssueWrapper
 96532  
 96533  func init() {
 96534  	t["VmFaultToleranceConfigIssueWrapperFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapperFault)(nil)).Elem()
 96535  }
 96536  
 96537  // Indicates the file backing for some device prevents fault tolerance
 96538  // protection
 96539  type VmFaultToleranceInvalidFileBacking struct {
 96540  	VmFaultToleranceIssue
 96541  
 96542  	// The device type of the file backing
 96543  	BackingType     string `xml:"backingType,omitempty" json:"backingType,omitempty"`
 96544  	BackingFilename string `xml:"backingFilename,omitempty" json:"backingFilename,omitempty"`
 96545  }
 96546  
 96547  func init() {
 96548  	t["VmFaultToleranceInvalidFileBacking"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBacking)(nil)).Elem()
 96549  }
 96550  
 96551  type VmFaultToleranceInvalidFileBackingFault VmFaultToleranceInvalidFileBacking
 96552  
 96553  func init() {
 96554  	t["VmFaultToleranceInvalidFileBackingFault"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingFault)(nil)).Elem()
 96555  }
 96556  
 96557  // Base object type for issues that can occur during operations
 96558  // related to fault tolerance protection for virtual machines.
 96559  type VmFaultToleranceIssue struct {
 96560  	VimFault
 96561  }
 96562  
 96563  func init() {
 96564  	t["VmFaultToleranceIssue"] = reflect.TypeOf((*VmFaultToleranceIssue)(nil)).Elem()
 96565  }
 96566  
 96567  type VmFaultToleranceIssueFault BaseVmFaultToleranceIssue
 96568  
 96569  func init() {
 96570  	t["VmFaultToleranceIssueFault"] = reflect.TypeOf((*VmFaultToleranceIssueFault)(nil)).Elem()
 96571  }
 96572  
 96573  // Container for a list of configuration issues that can occur during
 96574  // operations related to fault tolerance protection for virtual machines.
 96575  type VmFaultToleranceOpIssuesList struct {
 96576  	VmFaultToleranceIssue
 96577  
 96578  	// A list of faults representing errors
 96579  	Errors   []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
 96580  	Warnings []LocalizedMethodFault `xml:"warnings,omitempty" json:"warnings,omitempty"`
 96581  }
 96582  
 96583  func init() {
 96584  	t["VmFaultToleranceOpIssuesList"] = reflect.TypeOf((*VmFaultToleranceOpIssuesList)(nil)).Elem()
 96585  }
 96586  
 96587  type VmFaultToleranceOpIssuesListFault VmFaultToleranceOpIssuesList
 96588  
 96589  func init() {
 96590  	t["VmFaultToleranceOpIssuesListFault"] = reflect.TypeOf((*VmFaultToleranceOpIssuesListFault)(nil)).Elem()
 96591  }
 96592  
 96593  // This event records a fault tolerance state change.
 96594  //
 96595  // A default alarm will be triggered upon this event, which would
 96596  // change the vm state:
 96597  // the vm state is red if the newState is needSecondary;
 96598  // the vm state is yellow if the newState is disabled;
 96599  // the vm state is green if the newState is notConfigured, starting,
 96600  // enabled or running
 96601  type VmFaultToleranceStateChangedEvent struct {
 96602  	VmEvent
 96603  
 96604  	// The old fault toleeance state.
 96605  	OldState VirtualMachineFaultToleranceState `xml:"oldState" json:"oldState"`
 96606  	// The new fault tolerance state.
 96607  	NewState VirtualMachineFaultToleranceState `xml:"newState" json:"newState"`
 96608  }
 96609  
 96610  func init() {
 96611  	t["VmFaultToleranceStateChangedEvent"] = reflect.TypeOf((*VmFaultToleranceStateChangedEvent)(nil)).Elem()
 96612  }
 96613  
 96614  // This fault is returned when a host has more than the recommended number of
 96615  // Fault Tolerance vCPUs running on it.
 96616  type VmFaultToleranceTooManyFtVcpusOnHost struct {
 96617  	InsufficientResourcesFault
 96618  
 96619  	// The name of the host
 96620  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 96621  	// The recommended number of FT protected vCPUs on a host.
 96622  	MaxNumFtVcpus int32 `xml:"maxNumFtVcpus" json:"maxNumFtVcpus"`
 96623  }
 96624  
 96625  func init() {
 96626  	t["VmFaultToleranceTooManyFtVcpusOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHost)(nil)).Elem()
 96627  }
 96628  
 96629  type VmFaultToleranceTooManyFtVcpusOnHostFault VmFaultToleranceTooManyFtVcpusOnHost
 96630  
 96631  func init() {
 96632  	t["VmFaultToleranceTooManyFtVcpusOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHostFault)(nil)).Elem()
 96633  }
 96634  
 96635  // This fault is returned when a host has more than the recommended number of
 96636  // Fault Tolerance VMs running on it.
 96637  type VmFaultToleranceTooManyVMsOnHost struct {
 96638  	InsufficientResourcesFault
 96639  
 96640  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 96641  	// The recommended number of Fault Tolerance VMs running on the host.
 96642  	MaxNumFtVms int32 `xml:"maxNumFtVms" json:"maxNumFtVms"`
 96643  }
 96644  
 96645  func init() {
 96646  	t["VmFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHost)(nil)).Elem()
 96647  }
 96648  
 96649  type VmFaultToleranceTooManyVMsOnHostFault VmFaultToleranceTooManyVMsOnHost
 96650  
 96651  func init() {
 96652  	t["VmFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHostFault)(nil)).Elem()
 96653  }
 96654  
 96655  // This event records that all secondary virtual machines have
 96656  // been removed and fault tolerance protection turned off for
 96657  // this virtual machine.
 96658  type VmFaultToleranceTurnedOffEvent struct {
 96659  	VmEvent
 96660  }
 96661  
 96662  func init() {
 96663  	t["VmFaultToleranceTurnedOffEvent"] = reflect.TypeOf((*VmFaultToleranceTurnedOffEvent)(nil)).Elem()
 96664  }
 96665  
 96666  // This event records a secondary or primary VM is terminated.
 96667  //
 96668  // The reason could be : divergence, lost connection to secondary, partial
 96669  // hardware failure of secondary, or by user.
 96670  type VmFaultToleranceVmTerminatedEvent struct {
 96671  	VmEvent
 96672  
 96673  	// The reason for the failure.
 96674  	//
 96675  	// see `VirtualMachineNeedSecondaryReason_enum`
 96676  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 96677  }
 96678  
 96679  func init() {
 96680  	t["VmFaultToleranceVmTerminatedEvent"] = reflect.TypeOf((*VmFaultToleranceVmTerminatedEvent)(nil)).Elem()
 96681  }
 96682  
 96683  // This event notifies that a guest OS has crashed
 96684  type VmGuestOSCrashedEvent struct {
 96685  	VmEvent
 96686  }
 96687  
 96688  func init() {
 96689  	t["VmGuestOSCrashedEvent"] = reflect.TypeOf((*VmGuestOSCrashedEvent)(nil)).Elem()
 96690  }
 96691  
 96692  // This is a virtual machine guest reboot request event.
 96693  type VmGuestRebootEvent struct {
 96694  	VmEvent
 96695  }
 96696  
 96697  func init() {
 96698  	t["VmGuestRebootEvent"] = reflect.TypeOf((*VmGuestRebootEvent)(nil)).Elem()
 96699  }
 96700  
 96701  // This is a virtual machine guest shutdown request event.
 96702  type VmGuestShutdownEvent struct {
 96703  	VmEvent
 96704  }
 96705  
 96706  func init() {
 96707  	t["VmGuestShutdownEvent"] = reflect.TypeOf((*VmGuestShutdownEvent)(nil)).Elem()
 96708  }
 96709  
 96710  // This is a virtual machine guest standby request event.
 96711  type VmGuestStandbyEvent struct {
 96712  	VmEvent
 96713  }
 96714  
 96715  func init() {
 96716  	t["VmGuestStandbyEvent"] = reflect.TypeOf((*VmGuestStandbyEvent)(nil)).Elem()
 96717  }
 96718  
 96719  // This event records when host monitoring state has changed.
 96720  type VmHealthMonitoringStateChangedEvent struct {
 96721  	ClusterEvent
 96722  
 96723  	// The service state in
 96724  	// `ClusterDasConfigInfoVmMonitoringState_enum`
 96725  	State string `xml:"state" json:"state"`
 96726  	// The previous service state in
 96727  	// `ClusterDasConfigInfoVmMonitoringState_enum`
 96728  	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty"`
 96729  }
 96730  
 96731  func init() {
 96732  	t["VmHealthMonitoringStateChangedEvent"] = reflect.TypeOf((*VmHealthMonitoringStateChangedEvent)(nil)).Elem()
 96733  }
 96734  
 96735  // The virtual machine if powered on or VMotioned, would violate a VM-Host affinity rule.
 96736  type VmHostAffinityRuleViolation struct {
 96737  	VmConfigFault
 96738  
 96739  	// The vm that can not be powered on or VMotioned without violating a rule.
 96740  	VmName string `xml:"vmName" json:"vmName"`
 96741  	// The host that the virtual machine can not be powered on without violating a rule.
 96742  	HostName string `xml:"hostName" json:"hostName"`
 96743  }
 96744  
 96745  func init() {
 96746  	t["VmHostAffinityRuleViolation"] = reflect.TypeOf((*VmHostAffinityRuleViolation)(nil)).Elem()
 96747  }
 96748  
 96749  type VmHostAffinityRuleViolationFault VmHostAffinityRuleViolation
 96750  
 96751  func init() {
 96752  	t["VmHostAffinityRuleViolationFault"] = reflect.TypeOf((*VmHostAffinityRuleViolationFault)(nil)).Elem()
 96753  }
 96754  
 96755  // This event records the assignment of a new instance UUID
 96756  // to a virtual machine.
 96757  type VmInstanceUuidAssignedEvent struct {
 96758  	VmEvent
 96759  
 96760  	// The new instance UUID.
 96761  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 96762  }
 96763  
 96764  func init() {
 96765  	t["VmInstanceUuidAssignedEvent"] = reflect.TypeOf((*VmInstanceUuidAssignedEvent)(nil)).Elem()
 96766  }
 96767  
 96768  // This event records a change in a virtual machine's instance UUID.
 96769  type VmInstanceUuidChangedEvent struct {
 96770  	VmEvent
 96771  
 96772  	// The old instance UUID.
 96773  	OldInstanceUuid string `xml:"oldInstanceUuid" json:"oldInstanceUuid"`
 96774  	// The new instance UUID.
 96775  	NewInstanceUuid string `xml:"newInstanceUuid" json:"newInstanceUuid"`
 96776  }
 96777  
 96778  func init() {
 96779  	t["VmInstanceUuidChangedEvent"] = reflect.TypeOf((*VmInstanceUuidChangedEvent)(nil)).Elem()
 96780  }
 96781  
 96782  // This event records a conflict of virtual machine instance UUIDs.
 96783  type VmInstanceUuidConflictEvent struct {
 96784  	VmEvent
 96785  
 96786  	// The virtual machine whose instance UUID conflicts with the
 96787  	// current virtual machine's instance UUID.
 96788  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 96789  	// The instance UUID in conflict.
 96790  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 96791  }
 96792  
 96793  func init() {
 96794  	t["VmInstanceUuidConflictEvent"] = reflect.TypeOf((*VmInstanceUuidConflictEvent)(nil)).Elem()
 96795  }
 96796  
 96797  // A VmLimitLicense fault is thrown if powering on the virtual
 96798  // machine would exceed the maximum number of running virtual
 96799  // machines allowed.
 96800  type VmLimitLicense struct {
 96801  	NotEnoughLicenses
 96802  
 96803  	// The maximum number of running virtual machines
 96804  	// limit.
 96805  	Limit int32 `xml:"limit" json:"limit"`
 96806  }
 96807  
 96808  func init() {
 96809  	t["VmLimitLicense"] = reflect.TypeOf((*VmLimitLicense)(nil)).Elem()
 96810  }
 96811  
 96812  type VmLimitLicenseFault VmLimitLicense
 96813  
 96814  func init() {
 96815  	t["VmLimitLicenseFault"] = reflect.TypeOf((*VmLimitLicenseFault)(nil)).Elem()
 96816  }
 96817  
 96818  // This data object type describes a file that is logging output for a virtual
 96819  // machine.
 96820  type VmLogFileInfo struct {
 96821  	FileInfo
 96822  }
 96823  
 96824  func init() {
 96825  	t["VmLogFileInfo"] = reflect.TypeOf((*VmLogFileInfo)(nil)).Elem()
 96826  }
 96827  
 96828  // This data object type describes the query specification for a virtual machine log
 96829  // file file.
 96830  type VmLogFileQuery struct {
 96831  	FileQuery
 96832  }
 96833  
 96834  func init() {
 96835  	t["VmLogFileQuery"] = reflect.TypeOf((*VmLogFileQuery)(nil)).Elem()
 96836  }
 96837  
 96838  // This event records the assignment of a new MAC address
 96839  // to a virtual network adapter.
 96840  type VmMacAssignedEvent struct {
 96841  	VmEvent
 96842  
 96843  	// The name of the virtual adapter.
 96844  	Adapter string `xml:"adapter" json:"adapter"`
 96845  	// The new MAC address.
 96846  	Mac string `xml:"mac" json:"mac"`
 96847  }
 96848  
 96849  func init() {
 96850  	t["VmMacAssignedEvent"] = reflect.TypeOf((*VmMacAssignedEvent)(nil)).Elem()
 96851  }
 96852  
 96853  // This event records a change in a virtual machine's MAC address.
 96854  type VmMacChangedEvent struct {
 96855  	VmEvent
 96856  
 96857  	// The name of the virtual network adapter.
 96858  	Adapter string `xml:"adapter" json:"adapter"`
 96859  	// The old MAC address.
 96860  	OldMac string `xml:"oldMac" json:"oldMac"`
 96861  	// The new MAC address.
 96862  	NewMac string `xml:"newMac" json:"newMac"`
 96863  }
 96864  
 96865  func init() {
 96866  	t["VmMacChangedEvent"] = reflect.TypeOf((*VmMacChangedEvent)(nil)).Elem()
 96867  }
 96868  
 96869  // This event records a MAC address conflict for a virtual machine.
 96870  type VmMacConflictEvent struct {
 96871  	VmEvent
 96872  
 96873  	// The virtual machine whose MAC address conflicts with
 96874  	// the current virtual machine's address.
 96875  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 96876  	// The MAC address that is in conflict.
 96877  	Mac string `xml:"mac" json:"mac"`
 96878  }
 96879  
 96880  func init() {
 96881  	t["VmMacConflictEvent"] = reflect.TypeOf((*VmMacConflictEvent)(nil)).Elem()
 96882  }
 96883  
 96884  // This event is fired when FT VM reached the max restart count
 96885  type VmMaxFTRestartCountReached struct {
 96886  	VmEvent
 96887  }
 96888  
 96889  func init() {
 96890  	t["VmMaxFTRestartCountReached"] = reflect.TypeOf((*VmMaxFTRestartCountReached)(nil)).Elem()
 96891  }
 96892  
 96893  // This event is fired when the VM reached the max restart count
 96894  type VmMaxRestartCountReached struct {
 96895  	VmEvent
 96896  }
 96897  
 96898  func init() {
 96899  	t["VmMaxRestartCountReached"] = reflect.TypeOf((*VmMaxRestartCountReached)(nil)).Elem()
 96900  }
 96901  
 96902  // This event records when an error message (consisting of a collection of "observations")
 96903  // is thrown by the virtual machine.
 96904  //
 96905  // This is a generic event for such messages.
 96906  type VmMessageErrorEvent struct {
 96907  	VmEvent
 96908  
 96909  	// A raw message returned by the virtualization platform.
 96910  	Message string `xml:"message" json:"message"`
 96911  	// A set of localizable message data that comprise this event.
 96912  	//
 96913  	// Only available on servers that support localization.
 96914  	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
 96915  }
 96916  
 96917  func init() {
 96918  	t["VmMessageErrorEvent"] = reflect.TypeOf((*VmMessageErrorEvent)(nil)).Elem()
 96919  }
 96920  
 96921  // This event records when an informational message (consisting of a collection of "observations")
 96922  // is thrown by the virtual machine.
 96923  //
 96924  // This is a generic event for such messages.
 96925  type VmMessageEvent struct {
 96926  	VmEvent
 96927  
 96928  	// A raw message returned by the virtualization platform.
 96929  	Message string `xml:"message" json:"message"`
 96930  	// A set of localizable message data that comprise this event.
 96931  	//
 96932  	// Only available on servers that support localization.
 96933  	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
 96934  }
 96935  
 96936  func init() {
 96937  	t["VmMessageEvent"] = reflect.TypeOf((*VmMessageEvent)(nil)).Elem()
 96938  }
 96939  
 96940  // This event records when a warning message (consisting of a collection of "observations")
 96941  // is thrown by the virtual machine.
 96942  //
 96943  // This is a generic event for such messages.
 96944  type VmMessageWarningEvent struct {
 96945  	VmEvent
 96946  
 96947  	// A raw message returned by the virtualization platform.
 96948  	Message     string                  `xml:"message" json:"message"`
 96949  	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
 96950  }
 96951  
 96952  func init() {
 96953  	t["VmMessageWarningEvent"] = reflect.TypeOf((*VmMessageWarningEvent)(nil)).Elem()
 96954  }
 96955  
 96956  // This fault indicates that some error has occurred during the processing of
 96957  // of a MetadataManager operation.
 96958  //
 96959  // This may be subclassed by a more specific
 96960  // fault.
 96961  type VmMetadataManagerFault struct {
 96962  	VimFault
 96963  }
 96964  
 96965  func init() {
 96966  	t["VmMetadataManagerFault"] = reflect.TypeOf((*VmMetadataManagerFault)(nil)).Elem()
 96967  }
 96968  
 96969  type VmMetadataManagerFaultFault VmMetadataManagerFault
 96970  
 96971  func init() {
 96972  	t["VmMetadataManagerFaultFault"] = reflect.TypeOf((*VmMetadataManagerFaultFault)(nil)).Elem()
 96973  }
 96974  
 96975  // This event records a virtual machine migration.
 96976  type VmMigratedEvent struct {
 96977  	VmEvent
 96978  
 96979  	// The source host.
 96980  	//
 96981  	// (Because this is after a successful migration,
 96982  	// the destination host is recorded in the inherited "host" property.)
 96983  	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
 96984  	// The source datacenter
 96985  	SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 96986  	// The source primary datastore
 96987  	SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty" json:"sourceDatastore,omitempty"`
 96988  }
 96989  
 96990  func init() {
 96991  	t["VmMigratedEvent"] = reflect.TypeOf((*VmMigratedEvent)(nil)).Elem()
 96992  }
 96993  
 96994  // Thrown when turning on Fault Tolerance protection on a running virtual machine
 96995  // if the virtual machine is running in a monitor mode that is incompatible.
 96996  type VmMonitorIncompatibleForFaultTolerance struct {
 96997  	VimFault
 96998  }
 96999  
 97000  func init() {
 97001  	t["VmMonitorIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultTolerance)(nil)).Elem()
 97002  }
 97003  
 97004  type VmMonitorIncompatibleForFaultToleranceFault VmMonitorIncompatibleForFaultTolerance
 97005  
 97006  func init() {
 97007  	t["VmMonitorIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultToleranceFault)(nil)).Elem()
 97008  }
 97009  
 97010  // This event records that no compatible host was found to place a
 97011  // secondary VM.
 97012  //
 97013  // A default alarm will be triggered upon this event, which by default
 97014  // would trigger a SNMP trap.
 97015  type VmNoCompatibleHostForSecondaryEvent struct {
 97016  	VmEvent
 97017  }
 97018  
 97019  func init() {
 97020  	t["VmNoCompatibleHostForSecondaryEvent"] = reflect.TypeOf((*VmNoCompatibleHostForSecondaryEvent)(nil)).Elem()
 97021  }
 97022  
 97023  // This event records a migration failure when the destination host
 97024  // is not on the same network as the source host.
 97025  type VmNoNetworkAccessEvent struct {
 97026  	VmEvent
 97027  
 97028  	// The destination host.
 97029  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 97030  }
 97031  
 97032  func init() {
 97033  	t["VmNoNetworkAccessEvent"] = reflect.TypeOf((*VmNoNetworkAccessEvent)(nil)).Elem()
 97034  }
 97035  
 97036  // This data object type describes a file that is a virtual machine non-volatile
 97037  // memory file.
 97038  type VmNvramFileInfo struct {
 97039  	FileInfo
 97040  }
 97041  
 97042  func init() {
 97043  	t["VmNvramFileInfo"] = reflect.TypeOf((*VmNvramFileInfo)(nil)).Elem()
 97044  }
 97045  
 97046  // This data object type describes the query specification for a non-volatile memory
 97047  // file.
 97048  type VmNvramFileQuery struct {
 97049  	FileQuery
 97050  }
 97051  
 97052  func init() {
 97053  	t["VmNvramFileQuery"] = reflect.TypeOf((*VmNvramFileQuery)(nil)).Elem()
 97054  }
 97055  
 97056  // This event records a virtual machine for which no host is responsible.
 97057  type VmOrphanedEvent struct {
 97058  	VmEvent
 97059  }
 97060  
 97061  func init() {
 97062  	t["VmOrphanedEvent"] = reflect.TypeOf((*VmOrphanedEvent)(nil)).Elem()
 97063  }
 97064  
 97065  // Initial VM configuration for the specified pod.
 97066  //
 97067  // This configuration will be saved to the pod config
 97068  // `StorageDrsConfigInfo`
 97069  // when the placement recommendations are applied.
 97070  type VmPodConfigForPlacement struct {
 97071  	DynamicData
 97072  
 97073  	// The pod that this initial configuration applies to.
 97074  	//
 97075  	// Since there could be multiple pods in a single placement request,
 97076  	// we may need to specify multiple initial VM configurations, one per
 97077  	// pod.
 97078  	//
 97079  	// Refers instance of `StoragePod`.
 97080  	StoragePod ManagedObjectReference `xml:"storagePod" json:"storagePod"`
 97081  	// Array of PodDiskLocator objects.
 97082  	Disk []PodDiskLocator `xml:"disk,omitempty" json:"disk,omitempty"`
 97083  	// The VM configuration for the VM that is being placed.
 97084  	VmConfig *StorageDrsVmConfigInfo `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
 97085  	// The initial interVmRules that should during placement of this
 97086  	// virtual machine.
 97087  	//
 97088  	// It may not always be possible to specify that the
 97089  	// virtual machine being placed is part of the rule because the
 97090  	// virtual machine may not have been created yet. So for simplicity,
 97091  	// we assume the virtual machine being placed is always implicitly
 97092  	// part of any rule specified. It will be explicitly added to the
 97093  	// rule before it is saved to the pod config.
 97094  	InterVmRule []BaseClusterRuleInfo `xml:"interVmRule,omitempty,typeattr" json:"interVmRule,omitempty"`
 97095  }
 97096  
 97097  func init() {
 97098  	t["VmPodConfigForPlacement"] = reflect.TypeOf((*VmPodConfigForPlacement)(nil)).Elem()
 97099  }
 97100  
 97101  // The `VmPortGroupProfile` data object represents the subprofile
 97102  // for a port group that will be used by virtual machines.
 97103  //
 97104  // Use the `ApplyProfile.policy` list for
 97105  // access to configuration data for the virtual machine port group profile. Use the
 97106  // `ApplyProfile.property` list for access to subprofiles, if any.
 97107  //
 97108  // vSphere Servers use `Network` managed objects to represent virtual machine port
 97109  // groups in the vSphere inventory.
 97110  type VmPortGroupProfile struct {
 97111  	PortGroupProfile
 97112  }
 97113  
 97114  func init() {
 97115  	t["VmPortGroupProfile"] = reflect.TypeOf((*VmPortGroupProfile)(nil)).Elem()
 97116  }
 97117  
 97118  // This event records when a virtual machine has been powered off on an isolated host
 97119  // in a HA cluster.
 97120  type VmPowerOffOnIsolationEvent struct {
 97121  	VmPoweredOffEvent
 97122  
 97123  	// The isolated host on which a virtual machine is powered off.
 97124  	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
 97125  }
 97126  
 97127  func init() {
 97128  	t["VmPowerOffOnIsolationEvent"] = reflect.TypeOf((*VmPowerOffOnIsolationEvent)(nil)).Elem()
 97129  }
 97130  
 97131  // This exception is thrown if the power-on of a virtual machine is attempted
 97132  // when the operation is disabled on the host
 97133  type VmPowerOnDisabled struct {
 97134  	InvalidState
 97135  }
 97136  
 97137  func init() {
 97138  	t["VmPowerOnDisabled"] = reflect.TypeOf((*VmPowerOnDisabled)(nil)).Elem()
 97139  }
 97140  
 97141  type VmPowerOnDisabledFault VmPowerOnDisabled
 97142  
 97143  func init() {
 97144  	t["VmPowerOnDisabledFault"] = reflect.TypeOf((*VmPowerOnDisabledFault)(nil)).Elem()
 97145  }
 97146  
 97147  // This event records when a virtual machine finished powering off.
 97148  type VmPoweredOffEvent struct {
 97149  	VmEvent
 97150  }
 97151  
 97152  func init() {
 97153  	t["VmPoweredOffEvent"] = reflect.TypeOf((*VmPoweredOffEvent)(nil)).Elem()
 97154  }
 97155  
 97156  // This event records when a virtual machine finished powering on.
 97157  type VmPoweredOnEvent struct {
 97158  	VmEvent
 97159  }
 97160  
 97161  func init() {
 97162  	t["VmPoweredOnEvent"] = reflect.TypeOf((*VmPoweredOnEvent)(nil)).Elem()
 97163  }
 97164  
 97165  // This event records when a virtual machine was powering on using
 97166  // DVPorts with port level configuration, which might be different
 97167  // from the DVportgroup.
 97168  type VmPoweringOnWithCustomizedDVPortEvent struct {
 97169  	VmEvent
 97170  
 97171  	// The list of Virtual NIC that were using the DVports.
 97172  	Vnic []VnicPortArgument `xml:"vnic" json:"vnic"`
 97173  }
 97174  
 97175  func init() {
 97176  	t["VmPoweringOnWithCustomizedDVPortEvent"] = reflect.TypeOf((*VmPoweringOnWithCustomizedDVPortEvent)(nil)).Elem()
 97177  }
 97178  
 97179  // This event records a fault tolerance failover.
 97180  //
 97181  // The reason could be : lost connection to primary, partial hardware failure
 97182  // of primary or by user.
 97183  type VmPrimaryFailoverEvent struct {
 97184  	VmEvent
 97185  
 97186  	// The reason for the failure.
 97187  	//
 97188  	// see `VirtualMachineNeedSecondaryReason_enum`
 97189  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 97190  }
 97191  
 97192  func init() {
 97193  	t["VmPrimaryFailoverEvent"] = reflect.TypeOf((*VmPrimaryFailoverEvent)(nil)).Elem()
 97194  }
 97195  
 97196  // This event records a reconfiguration of the virtual machine.
 97197  type VmReconfiguredEvent struct {
 97198  	VmEvent
 97199  
 97200  	// The configuration specification that was used for the reconfiguration.
 97201  	ConfigSpec VirtualMachineConfigSpec `xml:"configSpec" json:"configSpec"`
 97202  	// The configuration values changed during the reconfiguration.
 97203  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 97204  }
 97205  
 97206  func init() {
 97207  	t["VmReconfiguredEvent"] = reflect.TypeOf((*VmReconfiguredEvent)(nil)).Elem()
 97208  }
 97209  
 97210  // This event records that a virtual machine was successfully registered.
 97211  type VmRegisteredEvent struct {
 97212  	VmEvent
 97213  }
 97214  
 97215  func init() {
 97216  	t["VmRegisteredEvent"] = reflect.TypeOf((*VmRegisteredEvent)(nil)).Elem()
 97217  }
 97218  
 97219  // This event records that a virtual machine was successfully
 97220  // converted to the new virtual machine format on a VMFS3 volume.
 97221  type VmRelayoutSuccessfulEvent struct {
 97222  	VmEvent
 97223  }
 97224  
 97225  func init() {
 97226  	t["VmRelayoutSuccessfulEvent"] = reflect.TypeOf((*VmRelayoutSuccessfulEvent)(nil)).Elem()
 97227  }
 97228  
 97229  // This event records that a virtual machine is already in the
 97230  // correct format.
 97231  //
 97232  // No relay out is necessary.
 97233  type VmRelayoutUpToDateEvent struct {
 97234  	VmEvent
 97235  }
 97236  
 97237  func init() {
 97238  	t["VmRelayoutUpToDateEvent"] = reflect.TypeOf((*VmRelayoutUpToDateEvent)(nil)).Elem()
 97239  }
 97240  
 97241  // This event records that a virtual machine was successfully reloaded from a
 97242  // new configuration path.
 97243  type VmReloadFromPathEvent struct {
 97244  	VmEvent
 97245  
 97246  	ConfigPath string `xml:"configPath" json:"configPath"`
 97247  }
 97248  
 97249  func init() {
 97250  	t["VmReloadFromPathEvent"] = reflect.TypeOf((*VmReloadFromPathEvent)(nil)).Elem()
 97251  }
 97252  
 97253  // This event records that a virtual machine reload from a new configuration
 97254  // path failed.
 97255  type VmReloadFromPathFailedEvent struct {
 97256  	VmEvent
 97257  
 97258  	ConfigPath string `xml:"configPath" json:"configPath"`
 97259  }
 97260  
 97261  func init() {
 97262  	t["VmReloadFromPathFailedEvent"] = reflect.TypeOf((*VmReloadFromPathFailedEvent)(nil)).Elem()
 97263  }
 97264  
 97265  // This event records a failure to relocate a virtual machine.
 97266  type VmRelocateFailedEvent struct {
 97267  	VmRelocateSpecEvent
 97268  
 97269  	// The destination host to which the virtual machine is being relocated.
 97270  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 97271  	// The reason why this relocate operation failed.
 97272  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 97273  	// The destination datacenter to which the virtual machine was being relocated
 97274  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 97275  	// The destination primary datastore to which the virtual machine was being relocated
 97276  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 97277  }
 97278  
 97279  func init() {
 97280  	t["VmRelocateFailedEvent"] = reflect.TypeOf((*VmRelocateFailedEvent)(nil)).Elem()
 97281  }
 97282  
 97283  // This event is the base event for relocate and clone base events.
 97284  type VmRelocateSpecEvent struct {
 97285  	VmEvent
 97286  }
 97287  
 97288  func init() {
 97289  	t["VmRelocateSpecEvent"] = reflect.TypeOf((*VmRelocateSpecEvent)(nil)).Elem()
 97290  }
 97291  
 97292  // This event records the completion of a virtual machine relocation.
 97293  type VmRelocatedEvent struct {
 97294  	VmRelocateSpecEvent
 97295  
 97296  	// The source host from which the virtual machine was relocated.
 97297  	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
 97298  	// The source datacenter from which the virtual machine relocated
 97299  	SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 97300  	// The source primary datastore from which the virtual machine relocated
 97301  	SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty" json:"sourceDatastore,omitempty"`
 97302  }
 97303  
 97304  func init() {
 97305  	t["VmRelocatedEvent"] = reflect.TypeOf((*VmRelocatedEvent)(nil)).Elem()
 97306  }
 97307  
 97308  // This event records that a remote console was connected to the VM
 97309  type VmRemoteConsoleConnectedEvent struct {
 97310  	VmEvent
 97311  }
 97312  
 97313  func init() {
 97314  	t["VmRemoteConsoleConnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleConnectedEvent)(nil)).Elem()
 97315  }
 97316  
 97317  // This event records that a remote console was disconnected from the VM
 97318  type VmRemoteConsoleDisconnectedEvent struct {
 97319  	VmEvent
 97320  }
 97321  
 97322  func init() {
 97323  	t["VmRemoteConsoleDisconnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleDisconnectedEvent)(nil)).Elem()
 97324  }
 97325  
 97326  // This event records a virtual machine removed from VirtualCenter management.
 97327  type VmRemovedEvent struct {
 97328  	VmEvent
 97329  }
 97330  
 97331  func init() {
 97332  	t["VmRemovedEvent"] = reflect.TypeOf((*VmRemovedEvent)(nil)).Elem()
 97333  }
 97334  
 97335  // This event records the renaming of a virtual machine.
 97336  type VmRenamedEvent struct {
 97337  	VmEvent
 97338  
 97339  	// The old name of the virtual machine.
 97340  	OldName string `xml:"oldName" json:"oldName"`
 97341  	// The new name of the virtual machine.
 97342  	NewName string `xml:"newName" json:"newName"`
 97343  }
 97344  
 97345  func init() {
 97346  	t["VmRenamedEvent"] = reflect.TypeOf((*VmRenamedEvent)(nil)).Elem()
 97347  }
 97348  
 97349  // The virtual machine is using features that exceed what the
 97350  // host is capable of providing.
 97351  //
 97352  // This may occur when joining an EVC cluster
 97353  // while the virtual machine is powered on.
 97354  // The most common resolution is to power cycle the virtual machine.
 97355  type VmRequirementsExceedCurrentEVCModeEvent struct {
 97356  	VmEvent
 97357  }
 97358  
 97359  func init() {
 97360  	t["VmRequirementsExceedCurrentEVCModeEvent"] = reflect.TypeOf((*VmRequirementsExceedCurrentEVCModeEvent)(nil)).Elem()
 97361  }
 97362  
 97363  // This event records a virtual machine resetting.
 97364  type VmResettingEvent struct {
 97365  	VmEvent
 97366  }
 97367  
 97368  func init() {
 97369  	t["VmResettingEvent"] = reflect.TypeOf((*VmResettingEvent)(nil)).Elem()
 97370  }
 97371  
 97372  // This event records when a virtual machine is moved from one resource pool to another.
 97373  type VmResourcePoolMovedEvent struct {
 97374  	VmEvent
 97375  
 97376  	// The old parent resourcePool of the moved virtual machine.
 97377  	OldParent ResourcePoolEventArgument `xml:"oldParent" json:"oldParent"`
 97378  	// The new parent resourcePool of the moved virtual machine.
 97379  	NewParent ResourcePoolEventArgument `xml:"newParent" json:"newParent"`
 97380  }
 97381  
 97382  func init() {
 97383  	t["VmResourcePoolMovedEvent"] = reflect.TypeOf((*VmResourcePoolMovedEvent)(nil)).Elem()
 97384  }
 97385  
 97386  // This event records a change in resource allocation of a virtual machine.
 97387  type VmResourceReallocatedEvent struct {
 97388  	VmEvent
 97389  
 97390  	// The configuration values changed during the reconfiguration.
 97391  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 97392  }
 97393  
 97394  func init() {
 97395  	t["VmResourceReallocatedEvent"] = reflect.TypeOf((*VmResourceReallocatedEvent)(nil)).Elem()
 97396  }
 97397  
 97398  // Deprecated as of vSphere API 5.0, the Server will generate the `EventEx` event
 97399  // with the `EventEx.eventTypeId` property set to "com.vmware.vc.ha.VmRestartedByHAEvent".
 97400  //
 97401  // This event records that the virtual machine was restarted on a host, since
 97402  // its original host had failed.
 97403  type VmRestartedOnAlternateHostEvent struct {
 97404  	VmPoweredOnEvent
 97405  
 97406  	// The host that failed.
 97407  	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
 97408  }
 97409  
 97410  func init() {
 97411  	t["VmRestartedOnAlternateHostEvent"] = reflect.TypeOf((*VmRestartedOnAlternateHostEvent)(nil)).Elem()
 97412  }
 97413  
 97414  // This event records a virtual machine resuming.
 97415  type VmResumingEvent struct {
 97416  	VmEvent
 97417  }
 97418  
 97419  func init() {
 97420  	t["VmResumingEvent"] = reflect.TypeOf((*VmResumingEvent)(nil)).Elem()
 97421  }
 97422  
 97423  // This event records a secondary VM is added.
 97424  type VmSecondaryAddedEvent struct {
 97425  	VmEvent
 97426  }
 97427  
 97428  func init() {
 97429  	t["VmSecondaryAddedEvent"] = reflect.TypeOf((*VmSecondaryAddedEvent)(nil)).Elem()
 97430  }
 97431  
 97432  // This event records that a fault tolerance secondary VM has been
 97433  // disabled by vCenter because the VM could not be powered on.
 97434  type VmSecondaryDisabledBySystemEvent struct {
 97435  	VmEvent
 97436  
 97437  	Reason *LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
 97438  }
 97439  
 97440  func init() {
 97441  	t["VmSecondaryDisabledBySystemEvent"] = reflect.TypeOf((*VmSecondaryDisabledBySystemEvent)(nil)).Elem()
 97442  }
 97443  
 97444  // This event records a secondary VM is disabled.
 97445  type VmSecondaryDisabledEvent struct {
 97446  	VmEvent
 97447  }
 97448  
 97449  func init() {
 97450  	t["VmSecondaryDisabledEvent"] = reflect.TypeOf((*VmSecondaryDisabledEvent)(nil)).Elem()
 97451  }
 97452  
 97453  // This event records a secondary VM is enabled.
 97454  type VmSecondaryEnabledEvent struct {
 97455  	VmEvent
 97456  }
 97457  
 97458  func init() {
 97459  	t["VmSecondaryEnabledEvent"] = reflect.TypeOf((*VmSecondaryEnabledEvent)(nil)).Elem()
 97460  }
 97461  
 97462  // This event records a secondary VM is started successfully.
 97463  type VmSecondaryStartedEvent struct {
 97464  	VmEvent
 97465  }
 97466  
 97467  func init() {
 97468  	t["VmSecondaryStartedEvent"] = reflect.TypeOf((*VmSecondaryStartedEvent)(nil)).Elem()
 97469  }
 97470  
 97471  // This event records when a virtual machine has been shut down on an isolated host
 97472  // in a HA cluster.
 97473  type VmShutdownOnIsolationEvent struct {
 97474  	VmPoweredOffEvent
 97475  
 97476  	// The isolated host on which a virtual machine was shutdown.
 97477  	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
 97478  	// Indicates if the shutdown was successful.
 97479  	//
 97480  	// If the shutdown failed, the virtual
 97481  	// machine was powered off. see `VmShutdownOnIsolationEventOperation_enum`
 97482  	ShutdownResult string `xml:"shutdownResult,omitempty" json:"shutdownResult,omitempty"`
 97483  }
 97484  
 97485  func init() {
 97486  	t["VmShutdownOnIsolationEvent"] = reflect.TypeOf((*VmShutdownOnIsolationEvent)(nil)).Elem()
 97487  }
 97488  
 97489  // This fault is returned when a host has more than the recommended number of
 97490  // SMP Fault Tolerance VMs running on it.
 97491  type VmSmpFaultToleranceTooManyVMsOnHost struct {
 97492  	InsufficientResourcesFault
 97493  
 97494  	// The name of the host
 97495  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 97496  	// The recommended number of SMP-Fault Tolerance VMs running on the host.
 97497  	MaxNumSmpFtVms int32 `xml:"maxNumSmpFtVms" json:"maxNumSmpFtVms"`
 97498  }
 97499  
 97500  func init() {
 97501  	t["VmSmpFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHost)(nil)).Elem()
 97502  }
 97503  
 97504  type VmSmpFaultToleranceTooManyVMsOnHostFault VmSmpFaultToleranceTooManyVMsOnHost
 97505  
 97506  func init() {
 97507  	t["VmSmpFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHostFault)(nil)).Elem()
 97508  }
 97509  
 97510  // This data object type describes a file that is a virtual disk snapshot file.
 97511  type VmSnapshotFileInfo struct {
 97512  	FileInfo
 97513  }
 97514  
 97515  func init() {
 97516  	t["VmSnapshotFileInfo"] = reflect.TypeOf((*VmSnapshotFileInfo)(nil)).Elem()
 97517  }
 97518  
 97519  // This data object type describes the query specification for a virtual machine
 97520  // snapshot file.
 97521  type VmSnapshotFileQuery struct {
 97522  	FileQuery
 97523  }
 97524  
 97525  func init() {
 97526  	t["VmSnapshotFileQuery"] = reflect.TypeOf((*VmSnapshotFileQuery)(nil)).Elem()
 97527  }
 97528  
 97529  // Deprecated as of vSphere API 6.0.
 97530  //
 97531  // This event indicates the start of a recording session on a virtual machine.
 97532  type VmStartRecordingEvent struct {
 97533  	VmEvent
 97534  }
 97535  
 97536  func init() {
 97537  	t["VmStartRecordingEvent"] = reflect.TypeOf((*VmStartRecordingEvent)(nil)).Elem()
 97538  }
 97539  
 97540  // Deprecated as of vSphere API 6.0.
 97541  //
 97542  // This event indicates the start of a replay session on a virtual machine.
 97543  type VmStartReplayingEvent struct {
 97544  	VmEvent
 97545  }
 97546  
 97547  func init() {
 97548  	t["VmStartReplayingEvent"] = reflect.TypeOf((*VmStartReplayingEvent)(nil)).Elem()
 97549  }
 97550  
 97551  // This event records a virtual machine powering on.
 97552  type VmStartingEvent struct {
 97553  	VmEvent
 97554  }
 97555  
 97556  func init() {
 97557  	t["VmStartingEvent"] = reflect.TypeOf((*VmStartingEvent)(nil)).Elem()
 97558  }
 97559  
 97560  // This event records a vmotion to start a secondary VM.
 97561  type VmStartingSecondaryEvent struct {
 97562  	VmEvent
 97563  }
 97564  
 97565  func init() {
 97566  	t["VmStartingSecondaryEvent"] = reflect.TypeOf((*VmStartingSecondaryEvent)(nil)).Elem()
 97567  }
 97568  
 97569  // This event records a static MAC address conflict for a virtual machine.
 97570  type VmStaticMacConflictEvent struct {
 97571  	VmEvent
 97572  
 97573  	// The virtual machine whose static MAC address conflicts with
 97574  	// the current virtual machine's address.
 97575  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 97576  	// The static MAC address that is in conflict.
 97577  	Mac string `xml:"mac" json:"mac"`
 97578  }
 97579  
 97580  func init() {
 97581  	t["VmStaticMacConflictEvent"] = reflect.TypeOf((*VmStaticMacConflictEvent)(nil)).Elem()
 97582  }
 97583  
 97584  // This event records a virtual machine stopping.
 97585  type VmStoppingEvent struct {
 97586  	VmEvent
 97587  }
 97588  
 97589  func init() {
 97590  	t["VmStoppingEvent"] = reflect.TypeOf((*VmStoppingEvent)(nil)).Elem()
 97591  }
 97592  
 97593  // This event records when a virtual machine finished suspending.
 97594  type VmSuspendedEvent struct {
 97595  	VmEvent
 97596  }
 97597  
 97598  func init() {
 97599  	t["VmSuspendedEvent"] = reflect.TypeOf((*VmSuspendedEvent)(nil)).Elem()
 97600  }
 97601  
 97602  // This event records a virtual machine suspending.
 97603  type VmSuspendingEvent struct {
 97604  	VmEvent
 97605  }
 97606  
 97607  func init() {
 97608  	t["VmSuspendingEvent"] = reflect.TypeOf((*VmSuspendingEvent)(nil)).Elem()
 97609  }
 97610  
 97611  // This event records timeout when starting a secondary VM.
 97612  //
 97613  // A default alarm will be triggered upon this event, which by default
 97614  // would trigger a SNMP trap.
 97615  type VmTimedoutStartingSecondaryEvent struct {
 97616  	VmEvent
 97617  
 97618  	// The duration of the timeout in milliseconds.
 97619  	Timeout int64 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 97620  }
 97621  
 97622  func init() {
 97623  	t["VmTimedoutStartingSecondaryEvent"] = reflect.TypeOf((*VmTimedoutStartingSecondaryEvent)(nil)).Elem()
 97624  }
 97625  
 97626  // A base fault to indicate that something went wrong when upgrading tools.
 97627  type VmToolsUpgradeFault struct {
 97628  	VimFault
 97629  }
 97630  
 97631  func init() {
 97632  	t["VmToolsUpgradeFault"] = reflect.TypeOf((*VmToolsUpgradeFault)(nil)).Elem()
 97633  }
 97634  
 97635  type VmToolsUpgradeFaultFault BaseVmToolsUpgradeFault
 97636  
 97637  func init() {
 97638  	t["VmToolsUpgradeFaultFault"] = reflect.TypeOf((*VmToolsUpgradeFaultFault)(nil)).Elem()
 97639  }
 97640  
 97641  // This event records when an unsupported guest is powering on.
 97642  type VmUnsupportedStartingEvent struct {
 97643  	VmStartingEvent
 97644  
 97645  	GuestId string `xml:"guestId" json:"guestId"`
 97646  }
 97647  
 97648  func init() {
 97649  	t["VmUnsupportedStartingEvent"] = reflect.TypeOf((*VmUnsupportedStartingEvent)(nil)).Elem()
 97650  }
 97651  
 97652  // This event records the successful completion of an upgrade operation.
 97653  type VmUpgradeCompleteEvent struct {
 97654  	VmEvent
 97655  
 97656  	// The version of the agent.
 97657  	Version string `xml:"version" json:"version"`
 97658  }
 97659  
 97660  func init() {
 97661  	t["VmUpgradeCompleteEvent"] = reflect.TypeOf((*VmUpgradeCompleteEvent)(nil)).Elem()
 97662  }
 97663  
 97664  // This event records a failure to upgrade virtual hardware.
 97665  type VmUpgradeFailedEvent struct {
 97666  	VmEvent
 97667  }
 97668  
 97669  func init() {
 97670  	t["VmUpgradeFailedEvent"] = reflect.TypeOf((*VmUpgradeFailedEvent)(nil)).Elem()
 97671  }
 97672  
 97673  // This event records the process of upgrading the virtual hardware on a
 97674  // virtual machine.
 97675  type VmUpgradingEvent struct {
 97676  	VmEvent
 97677  
 97678  	// The version of the agent.
 97679  	Version string `xml:"version" json:"version"`
 97680  }
 97681  
 97682  func init() {
 97683  	t["VmUpgradingEvent"] = reflect.TypeOf((*VmUpgradingEvent)(nil)).Elem()
 97684  }
 97685  
 97686  // This event records the assignment of a new BIOS UUID
 97687  // to a virtual machine.
 97688  type VmUuidAssignedEvent struct {
 97689  	VmEvent
 97690  
 97691  	// The new BIOS UUID.
 97692  	Uuid string `xml:"uuid" json:"uuid"`
 97693  }
 97694  
 97695  func init() {
 97696  	t["VmUuidAssignedEvent"] = reflect.TypeOf((*VmUuidAssignedEvent)(nil)).Elem()
 97697  }
 97698  
 97699  // This event records a change in a virtual machine's BIOS UUID.
 97700  type VmUuidChangedEvent struct {
 97701  	VmEvent
 97702  
 97703  	// The old BIOS UUID.
 97704  	OldUuid string `xml:"oldUuid" json:"oldUuid"`
 97705  	// The new BIOS UUID.
 97706  	NewUuid string `xml:"newUuid" json:"newUuid"`
 97707  }
 97708  
 97709  func init() {
 97710  	t["VmUuidChangedEvent"] = reflect.TypeOf((*VmUuidChangedEvent)(nil)).Elem()
 97711  }
 97712  
 97713  // This event records a conflict of virtual machine BIOS UUIDs.
 97714  type VmUuidConflictEvent struct {
 97715  	VmEvent
 97716  
 97717  	// The virtual machine whose UUID conflicts with the
 97718  	// current virtual machine's UUID.
 97719  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 97720  	// The BIOS UUID in conflict.
 97721  	Uuid string `xml:"uuid" json:"uuid"`
 97722  }
 97723  
 97724  func init() {
 97725  	t["VmUuidConflictEvent"] = reflect.TypeOf((*VmUuidConflictEvent)(nil)).Elem()
 97726  }
 97727  
 97728  type VmValidateMaxDevice struct {
 97729  	VimFault
 97730  
 97731  	// The device
 97732  	Device string `xml:"device" json:"device"`
 97733  	// max count for the device
 97734  	Max int32 `xml:"max" json:"max"`
 97735  	// number of devices found in vim.vm.ConfigSpec
 97736  	Count int32 `xml:"count" json:"count"`
 97737  }
 97738  
 97739  func init() {
 97740  	t["VmValidateMaxDevice"] = reflect.TypeOf((*VmValidateMaxDevice)(nil)).Elem()
 97741  }
 97742  
 97743  type VmValidateMaxDeviceFault VmValidateMaxDevice
 97744  
 97745  func init() {
 97746  	t["VmValidateMaxDeviceFault"] = reflect.TypeOf((*VmValidateMaxDeviceFault)(nil)).Elem()
 97747  }
 97748  
 97749  // This event is generated when the reservations used by all
 97750  // the virtual network adapters belonging to the virtual NIC network
 97751  // resource pool goes below the reservation allocated to the resource pool
 97752  type VmVnicPoolReservationViolationClearEvent struct {
 97753  	DvsEvent
 97754  
 97755  	// The key of the Virtual NIC network resource pool
 97756  	VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey" json:"vmVnicResourcePoolKey"`
 97757  	// The name of the Virtual NIC network resource pool
 97758  	VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty" json:"vmVnicResourcePoolName,omitempty"`
 97759  }
 97760  
 97761  func init() {
 97762  	t["VmVnicPoolReservationViolationClearEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationClearEvent)(nil)).Elem()
 97763  }
 97764  
 97765  // This event is generated when the reservations used by all
 97766  // the virtual network adapters belonging to the virtual NIC network
 97767  // resource pool exceeds the reservation allocated to the resource pool
 97768  type VmVnicPoolReservationViolationRaiseEvent struct {
 97769  	DvsEvent
 97770  
 97771  	// The key of the Virtual NIC network resource pool
 97772  	VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey" json:"vmVnicResourcePoolKey"`
 97773  	// The name of the Virtual NIC network resource pool
 97774  	VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty" json:"vmVnicResourcePoolName,omitempty"`
 97775  }
 97776  
 97777  func init() {
 97778  	t["VmVnicPoolReservationViolationRaiseEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationRaiseEvent)(nil)).Elem()
 97779  }
 97780  
 97781  // This event records the assignment of a new WWN (World Wide Name)
 97782  // to a virtual machine.
 97783  type VmWwnAssignedEvent struct {
 97784  	VmEvent
 97785  
 97786  	// The new node WWN.
 97787  	NodeWwns []int64 `xml:"nodeWwns" json:"nodeWwns"`
 97788  	// The new port WWN.
 97789  	PortWwns []int64 `xml:"portWwns" json:"portWwns"`
 97790  }
 97791  
 97792  func init() {
 97793  	t["VmWwnAssignedEvent"] = reflect.TypeOf((*VmWwnAssignedEvent)(nil)).Elem()
 97794  }
 97795  
 97796  // This event records a change in a virtual machine's WWN (World Wide Name).
 97797  type VmWwnChangedEvent struct {
 97798  	VmEvent
 97799  
 97800  	// The old node WWN.
 97801  	OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty" json:"oldNodeWwns,omitempty"`
 97802  	// The old port WWN.
 97803  	OldPortWwns []int64 `xml:"oldPortWwns,omitempty" json:"oldPortWwns,omitempty"`
 97804  	// The new node WWN.
 97805  	NewNodeWwns []int64 `xml:"newNodeWwns,omitempty" json:"newNodeWwns,omitempty"`
 97806  	// The new port WWN.
 97807  	NewPortWwns []int64 `xml:"newPortWwns,omitempty" json:"newPortWwns,omitempty"`
 97808  }
 97809  
 97810  func init() {
 97811  	t["VmWwnChangedEvent"] = reflect.TypeOf((*VmWwnChangedEvent)(nil)).Elem()
 97812  }
 97813  
 97814  // Thrown if a user attempts to assign a
 97815  // WWN that is currently being used by other virtual machine or host.
 97816  type VmWwnConflict struct {
 97817  	InvalidVmConfig
 97818  
 97819  	// The virtual machine that is using the same WWN.
 97820  	//
 97821  	// Refers instance of `VirtualMachine`.
 97822  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 97823  	// The host that is using the same WWN.
 97824  	//
 97825  	// Refers instance of `HostSystem`.
 97826  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 97827  	// The name of the virtual machine/host that is using the same WWN.
 97828  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 97829  	// The WWN that is in conflict.
 97830  	Wwn int64 `xml:"wwn,omitempty" json:"wwn,omitempty"`
 97831  }
 97832  
 97833  func init() {
 97834  	t["VmWwnConflict"] = reflect.TypeOf((*VmWwnConflict)(nil)).Elem()
 97835  }
 97836  
 97837  // This event records a conflict of virtual machine WWNs (World Wide Name).
 97838  type VmWwnConflictEvent struct {
 97839  	VmEvent
 97840  
 97841  	// The virtual machine whose WWN conflicts with the
 97842  	// current virtual machine's WWN.
 97843  	ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty" json:"conflictedVms,omitempty"`
 97844  	// The host whose physical WWN conflicts with the
 97845  	// current virtual machine's WWN.
 97846  	ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty" json:"conflictedHosts,omitempty"`
 97847  	// The WWN in conflict.
 97848  	Wwn int64 `xml:"wwn" json:"wwn"`
 97849  }
 97850  
 97851  func init() {
 97852  	t["VmWwnConflictEvent"] = reflect.TypeOf((*VmWwnConflictEvent)(nil)).Elem()
 97853  }
 97854  
 97855  type VmWwnConflictFault VmWwnConflict
 97856  
 97857  func init() {
 97858  	t["VmWwnConflictFault"] = reflect.TypeOf((*VmWwnConflictFault)(nil)).Elem()
 97859  }
 97860  
 97861  // A VmfsAlreadyMounted fault indicates that VMFS volume with same UUID
 97862  // is already mounted on the host.
 97863  type VmfsAlreadyMounted struct {
 97864  	VmfsMountFault
 97865  }
 97866  
 97867  func init() {
 97868  	t["VmfsAlreadyMounted"] = reflect.TypeOf((*VmfsAlreadyMounted)(nil)).Elem()
 97869  }
 97870  
 97871  type VmfsAlreadyMountedFault VmfsAlreadyMounted
 97872  
 97873  func init() {
 97874  	t["VmfsAlreadyMountedFault"] = reflect.TypeOf((*VmfsAlreadyMountedFault)(nil)).Elem()
 97875  }
 97876  
 97877  // An 'VmfsAmbiguousMount' fault occurs when ESX is unable to resolve the
 97878  // extents of a VMFS volume unambiguously.
 97879  //
 97880  // This is thrown only when a VMFS
 97881  // volume has multiple extents and multiple copies of VMFS volumes are available.
 97882  // VMFS layer will not be able to determine how to re-construct the VMFS
 97883  // volume as multiple choices are available.
 97884  type VmfsAmbiguousMount struct {
 97885  	VmfsMountFault
 97886  }
 97887  
 97888  func init() {
 97889  	t["VmfsAmbiguousMount"] = reflect.TypeOf((*VmfsAmbiguousMount)(nil)).Elem()
 97890  }
 97891  
 97892  type VmfsAmbiguousMountFault VmfsAmbiguousMount
 97893  
 97894  func init() {
 97895  	t["VmfsAmbiguousMountFault"] = reflect.TypeOf((*VmfsAmbiguousMountFault)(nil)).Elem()
 97896  }
 97897  
 97898  type VmfsConfigOption struct {
 97899  	DynamicData
 97900  
 97901  	// Supported values of VMFS block size in kilobytes (KB)
 97902  	// `HostVmfsVolume.blockSize`.
 97903  	BlockSizeOption int32 `xml:"blockSizeOption" json:"blockSizeOption"`
 97904  	// Supported values of VMFS unmap granularity
 97905  	// `HostVmfsVolume.unmapGranularity`.
 97906  	//
 97907  	// The unit is KB.
 97908  	UnmapGranularityOption []int32 `xml:"unmapGranularityOption,omitempty" json:"unmapGranularityOption,omitempty"`
 97909  	// Fixed unmap bandwidth min/max/default value
 97910  	UnmapBandwidthFixedValue *LongOption `xml:"unmapBandwidthFixedValue,omitempty" json:"unmapBandwidthFixedValue,omitempty"`
 97911  	// Dynamic unmap bandwidth lower limit min/max/default value.
 97912  	UnmapBandwidthDynamicMin *LongOption `xml:"unmapBandwidthDynamicMin,omitempty" json:"unmapBandwidthDynamicMin,omitempty"`
 97913  	// Dynamic unmap bandwitdth upper limit min/max/default value.
 97914  	UnmapBandwidthDynamicMax *LongOption `xml:"unmapBandwidthDynamicMax,omitempty" json:"unmapBandwidthDynamicMax,omitempty"`
 97915  	// Increment value of unmap bandwidth
 97916  	UnmapBandwidthIncrement int64 `xml:"unmapBandwidthIncrement,omitempty" json:"unmapBandwidthIncrement,omitempty"`
 97917  	// Fixed unmap bandwidth ultra low limit value in MB/sec.
 97918  	UnmapBandwidthUltraLow int64 `xml:"unmapBandwidthUltraLow,omitempty" json:"unmapBandwidthUltraLow,omitempty" vim:"8.0.0.1"`
 97919  }
 97920  
 97921  func init() {
 97922  	t["VmfsConfigOption"] = reflect.TypeOf((*VmfsConfigOption)(nil)).Elem()
 97923  }
 97924  
 97925  // Datastore addition policy to use the entire disk as a single extent for
 97926  // a VMFS datastore.
 97927  //
 97928  // If there is any data on the disk, it will be
 97929  // overwritten.
 97930  type VmfsDatastoreAllExtentOption struct {
 97931  	VmfsDatastoreSingleExtentOption
 97932  }
 97933  
 97934  func init() {
 97935  	t["VmfsDatastoreAllExtentOption"] = reflect.TypeOf((*VmfsDatastoreAllExtentOption)(nil)).Elem()
 97936  }
 97937  
 97938  // Base class that describes a VMFS datastore provisioning option.
 97939  type VmfsDatastoreBaseOption struct {
 97940  	DynamicData
 97941  
 97942  	// The partition table layout that the disk will have if this
 97943  	// provisioning option is selected.
 97944  	//
 97945  	// In releases after vSphere API 5.0, vSphere Servers might not
 97946  	// generate property collector update notifications for this property.
 97947  	// To obtain the latest value of the property, you can use
 97948  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 97949  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 97950  	// an empty string for the version parameter.
 97951  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 97952  	// contain values for this property when some other property on the DataObject changes.
 97953  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 97954  	// version parameter, the value for this property may not be current.
 97955  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 97956  	// Indicates whether selecting this option will change the partition
 97957  	// format type on the disk.
 97958  	//
 97959  	// See also `HostDiskPartitionInfoPartitionFormat_enum`.
 97960  	PartitionFormatChange *bool `xml:"partitionFormatChange" json:"partitionFormatChange,omitempty"`
 97961  }
 97962  
 97963  func init() {
 97964  	t["VmfsDatastoreBaseOption"] = reflect.TypeOf((*VmfsDatastoreBaseOption)(nil)).Elem()
 97965  }
 97966  
 97967  // This data object type is used when creating a new VMFS datastore,
 97968  // to create a specification for the VMFS datastore.
 97969  type VmfsDatastoreCreateSpec struct {
 97970  	VmfsDatastoreSpec
 97971  
 97972  	// Partitioning specification.
 97973  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 97974  	// The VMFS creation specification.
 97975  	Vmfs HostVmfsSpec `xml:"vmfs" json:"vmfs"`
 97976  	// Extents to append to VMFS.
 97977  	Extent []HostScsiDiskPartition `xml:"extent,omitempty" json:"extent,omitempty"`
 97978  }
 97979  
 97980  func init() {
 97981  	t["VmfsDatastoreCreateSpec"] = reflect.TypeOf((*VmfsDatastoreCreateSpec)(nil)).Elem()
 97982  }
 97983  
 97984  // Specification to increase the capacity of a VMFS datastore by expanding
 97985  // (increasing the size of) an existing extent of the datastore.
 97986  type VmfsDatastoreExpandSpec struct {
 97987  	VmfsDatastoreSpec
 97988  
 97989  	// Partitioning specification.
 97990  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 97991  	// VMFS extent to expand.
 97992  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
 97993  }
 97994  
 97995  func init() {
 97996  	t["VmfsDatastoreExpandSpec"] = reflect.TypeOf((*VmfsDatastoreExpandSpec)(nil)).Elem()
 97997  }
 97998  
 97999  // Specification to increase the capacity of a VMFS datastore by adding
 98000  // one or more new extents to the datastore.
 98001  //
 98002  // All the extents to be added
 98003  // must be on the same disk. Extension is different
 98004  // from creation in that the VMFS creation specification need not be
 98005  // specified.
 98006  type VmfsDatastoreExtendSpec struct {
 98007  	VmfsDatastoreSpec
 98008  
 98009  	// Partitioning specification.
 98010  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 98011  	// Extents to append to VMFS.
 98012  	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
 98013  }
 98014  
 98015  func init() {
 98016  	t["VmfsDatastoreExtendSpec"] = reflect.TypeOf((*VmfsDatastoreExtendSpec)(nil)).Elem()
 98017  }
 98018  
 98019  // Information details about a VMFS datastore.
 98020  type VmfsDatastoreInfo struct {
 98021  	DatastoreInfo
 98022  
 98023  	// Maximum raw device mapping size (physical compatibility)
 98024  	MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty" json:"maxPhysicalRDMFileSize,omitempty"`
 98025  	// Maximum raw device mapping size (virtual compatibility)
 98026  	MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty" json:"maxVirtualRDMFileSize,omitempty"`
 98027  	// The VMFS volume information for the datastore.
 98028  	//
 98029  	// May not be
 98030  	// available when the datastore is not accessible.
 98031  	Vmfs *HostVmfsVolume `xml:"vmfs,omitempty" json:"vmfs,omitempty"`
 98032  }
 98033  
 98034  func init() {
 98035  	t["VmfsDatastoreInfo"] = reflect.TypeOf((*VmfsDatastoreInfo)(nil)).Elem()
 98036  }
 98037  
 98038  // Datastore addition policy to use multiple extents on the disk for a VMFS
 98039  // datastore.
 98040  //
 98041  // Multiple extents implies that more than one disk partition
 98042  // will be created on the disk for creating or increasing the capacity of a
 98043  // VMFS datastore.
 98044  // Multiple extents are needed when unpartitioned space is fragmented in the
 98045  // existing partition layout of the disk.
 98046  type VmfsDatastoreMultipleExtentOption struct {
 98047  	VmfsDatastoreBaseOption
 98048  
 98049  	// The block ranges to be used as extents in a VMFS datastore.
 98050  	//
 98051  	// The first
 98052  	// block range will be the head partition.
 98053  	VmfsExtent []HostDiskPartitionBlockRange `xml:"vmfsExtent" json:"vmfsExtent"`
 98054  }
 98055  
 98056  func init() {
 98057  	t["VmfsDatastoreMultipleExtentOption"] = reflect.TypeOf((*VmfsDatastoreMultipleExtentOption)(nil)).Elem()
 98058  }
 98059  
 98060  // VMFS datastore provisioning option that can be applied on a disk.
 98061  //
 98062  // VMFS
 98063  // datastores can be created or have their capacity increased using storage
 98064  // from a disk.
 98065  // There are often multiple ways in which extents can be allocated on a disk.
 98066  // Each instance of this structure represents one of the possible options
 98067  // that can be applied to provisiong VMFS datastore storage. Only options
 98068  // that follow ESX Server best practice guidelines will be presented.
 98069  type VmfsDatastoreOption struct {
 98070  	DynamicData
 98071  
 98072  	// Information about this VMFS datastore provisioniing option.
 98073  	//
 98074  	// This
 98075  	// structure describes the extent allocation policy represented by
 98076  	// this option.
 98077  	Info BaseVmfsDatastoreBaseOption `xml:"info,typeattr" json:"info"`
 98078  	// Specification to create or increase the capacity of a VMFS datastore.
 98079  	//
 98080  	// This property contains a configuration specification that can be
 98081  	// applied to effect the creation or capacity increase.
 98082  	Spec BaseVmfsDatastoreSpec `xml:"spec,typeattr" json:"spec"`
 98083  }
 98084  
 98085  func init() {
 98086  	t["VmfsDatastoreOption"] = reflect.TypeOf((*VmfsDatastoreOption)(nil)).Elem()
 98087  }
 98088  
 98089  // Datastore addition policy to use a single extent on the disk for a VMFS
 98090  // datastore.
 98091  //
 98092  // A single extent implies that one disk partition will be
 98093  // created on the disk for creating or increasing the capacity of a VMFS datastore.
 98094  type VmfsDatastoreSingleExtentOption struct {
 98095  	VmfsDatastoreBaseOption
 98096  
 98097  	// The block range to be used as an extent in a VMFS datastore.
 98098  	VmfsExtent HostDiskPartitionBlockRange `xml:"vmfsExtent" json:"vmfsExtent"`
 98099  }
 98100  
 98101  func init() {
 98102  	t["VmfsDatastoreSingleExtentOption"] = reflect.TypeOf((*VmfsDatastoreSingleExtentOption)(nil)).Elem()
 98103  }
 98104  
 98105  // Base class for VMFS datastore addition specification.
 98106  //
 98107  // Used as a generic
 98108  // way to point to one of the creation specifications that can be used to
 98109  // apply a specification to effect the creation or extension of a VMFS
 98110  // datastore.
 98111  type VmfsDatastoreSpec struct {
 98112  	DynamicData
 98113  
 98114  	// The UUID of the SCSI disk on which the VMFS datastore is located.
 98115  	//
 98116  	// See also `HostScsiDisk`, `ScsiLun.uuid`.
 98117  	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
 98118  }
 98119  
 98120  func init() {
 98121  	t["VmfsDatastoreSpec"] = reflect.TypeOf((*VmfsDatastoreSpec)(nil)).Elem()
 98122  }
 98123  
 98124  // This is a base class for all VMFS volume mount related faults.
 98125  type VmfsMountFault struct {
 98126  	HostConfigFault
 98127  
 98128  	// Vmfs volume uuid
 98129  	Uuid string `xml:"uuid" json:"uuid"`
 98130  }
 98131  
 98132  func init() {
 98133  	t["VmfsMountFault"] = reflect.TypeOf((*VmfsMountFault)(nil)).Elem()
 98134  }
 98135  
 98136  type VmfsMountFaultFault BaseVmfsMountFault
 98137  
 98138  func init() {
 98139  	t["VmfsMountFaultFault"] = reflect.TypeOf((*VmfsMountFaultFault)(nil)).Elem()
 98140  }
 98141  
 98142  // VMFS unmap reclaims unused storage space.
 98143  //
 98144  // This data object type
 98145  // describes the specification of VMFS unmap bandwidth.
 98146  type VmfsUnmapBandwidthSpec struct {
 98147  	DynamicData
 98148  
 98149  	// This property determines the unmap bandwidth policy.
 98150  	//
 98151  	// See `HostVmfsVolumeUnmapBandwidthPolicy_enum` for supported
 98152  	// values. If not specified, the default value is
 98153  	// `fixed`, which means
 98154  	// unmap is processed at a fixed rate.
 98155  	Policy string `xml:"policy" json:"policy"`
 98156  	// This property determines the bandwidth under the fixed policy.
 98157  	FixedValue int64 `xml:"fixedValue" json:"fixedValue"`
 98158  	// This property determines the lower limits of the unmap bandwidth
 98159  	// under the dynamic policy.
 98160  	DynamicMin int64 `xml:"dynamicMin" json:"dynamicMin"`
 98161  	// This property determines the upper limits of the unmap bandwidth
 98162  	// under the dynamic policy.
 98163  	DynamicMax int64 `xml:"dynamicMax" json:"dynamicMax"`
 98164  }
 98165  
 98166  func init() {
 98167  	t["VmfsUnmapBandwidthSpec"] = reflect.TypeOf((*VmfsUnmapBandwidthSpec)(nil)).Elem()
 98168  }
 98169  
 98170  // This fault is thrown when the Vmotion Interface on this host is not enabled.
 98171  //
 98172  // The Vmotion Interface is needed for waking up the host from standby mode.
 98173  type VmotionInterfaceNotEnabled struct {
 98174  	HostPowerOpFailed
 98175  }
 98176  
 98177  func init() {
 98178  	t["VmotionInterfaceNotEnabled"] = reflect.TypeOf((*VmotionInterfaceNotEnabled)(nil)).Elem()
 98179  }
 98180  
 98181  type VmotionInterfaceNotEnabledFault VmotionInterfaceNotEnabled
 98182  
 98183  func init() {
 98184  	t["VmotionInterfaceNotEnabledFault"] = reflect.TypeOf((*VmotionInterfaceNotEnabledFault)(nil)).Elem()
 98185  }
 98186  
 98187  // This data structure defines the failover policy for a distributed
 98188  // virtual switch when network offload is enabled, specifically
 98189  // related to the Data Processing Unit(DPU).
 98190  //
 98191  // The active and standby uplinks are expected to be backed by different
 98192  // DPUs to provide redundancy. If DPU backing active uplinks fails, then
 98193  // the standby DPU takes over to ensure uninterrupted network connectivity.
 98194  type VmwareDistributedVirtualSwitchDpuFailoverPolicy struct {
 98195  	DynamicData
 98196  
 98197  	// The name of the active uplink(s).
 98198  	//
 98199  	// These uplink(s) must be backed
 98200  	// by vmnic(s) from a single DPU.
 98201  	ActiveUplink []string `xml:"activeUplink,omitempty" json:"activeUplink,omitempty"`
 98202  	// The name of the standby uplink(s).
 98203  	//
 98204  	// These uplink(s) must be backed
 98205  	// by vmnic(s) from a different DPU than the active uplink(s).
 98206  	// An empty standbyUplink indicates that no failover action will be
 98207  	// taken after the active DPU fails.
 98208  	StandbyUplink []string `xml:"standbyUplink,omitempty" json:"standbyUplink,omitempty"`
 98209  }
 98210  
 98211  func init() {
 98212  	t["VmwareDistributedVirtualSwitchDpuFailoverPolicy"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchDpuFailoverPolicy)(nil)).Elem()
 98213  	minAPIVersionForType["VmwareDistributedVirtualSwitchDpuFailoverPolicy"] = "8.0.3.0"
 98214  }
 98215  
 98216  // This data structure defines the network offoad specific configuration of
 98217  // a distributed virtual switch.
 98218  type VmwareDistributedVirtualSwitchNetworkOffloadConfig struct {
 98219  	DynamicData
 98220  
 98221  	// The DPU failover policy of the switch.
 98222  	//
 98223  	// If this property is not set, all uplink ports are active uplinks.
 98224  	DpuFailoverPolicy *VmwareDistributedVirtualSwitchDpuFailoverPolicy `xml:"dpuFailoverPolicy,omitempty" json:"dpuFailoverPolicy,omitempty"`
 98225  }
 98226  
 98227  func init() {
 98228  	t["VmwareDistributedVirtualSwitchNetworkOffloadConfig"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchNetworkOffloadConfig)(nil)).Elem()
 98229  	minAPIVersionForType["VmwareDistributedVirtualSwitchNetworkOffloadConfig"] = "8.0.3.0"
 98230  }
 98231  
 98232  // This data type defines the configuration when PVLAN id is to be
 98233  // used for the ports.
 98234  type VmwareDistributedVirtualSwitchPvlanSpec struct {
 98235  	VmwareDistributedVirtualSwitchVlanSpec
 98236  
 98237  	// The `VMwareDVSPvlanMapEntry.secondaryVlanId`.
 98238  	PvlanId int32 `xml:"pvlanId" json:"pvlanId"`
 98239  }
 98240  
 98241  func init() {
 98242  	t["VmwareDistributedVirtualSwitchPvlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanSpec)(nil)).Elem()
 98243  }
 98244  
 98245  // This data structure defines the real-time specific configuration of
 98246  // a distributed virtual switch when real-time flag is enabled.
 98247  type VmwareDistributedVirtualSwitchRealTimeConfig struct {
 98248  	DynamicData
 98249  
 98250  	// The flag to indicate whether real-time configuration is allowed on
 98251  	// the switch.
 98252  	Allowed *bool `xml:"allowed" json:"allowed,omitempty"`
 98253  	// The real-time LANs (LAN A/LAN B) annotation, to mark the uplink(s)
 98254  	// for each LAN.
 98255  	LanAnnotation *VmwareDistributedVirtualSwitchRealTimeLanAnnotation `xml:"lanAnnotation,omitempty" json:"lanAnnotation,omitempty"`
 98256  }
 98257  
 98258  func init() {
 98259  	t["VmwareDistributedVirtualSwitchRealTimeConfig"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchRealTimeConfig)(nil)).Elem()
 98260  	minAPIVersionForType["VmwareDistributedVirtualSwitchRealTimeConfig"] = "8.0.3.1"
 98261  }
 98262  
 98263  // This data structure defines the real-time configuration for a distributed
 98264  // virtual switch when real-time flag is enabled.
 98265  //
 98266  // The uplink(s) are set in
 98267  // two different LANs (LAN A/LAN B).
 98268  type VmwareDistributedVirtualSwitchRealTimeLanAnnotation struct {
 98269  	DynamicData
 98270  
 98271  	// The name(s) of the LAN A uplink(s).
 98272  	LanAUplink []string `xml:"lanAUplink,omitempty" json:"lanAUplink,omitempty"`
 98273  	// The name(s) of the LAN B uplink(s).
 98274  	LanBUplink []string `xml:"lanBUplink,omitempty" json:"lanBUplink,omitempty"`
 98275  }
 98276  
 98277  func init() {
 98278  	t["VmwareDistributedVirtualSwitchRealTimeLanAnnotation"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchRealTimeLanAnnotation)(nil)).Elem()
 98279  	minAPIVersionForType["VmwareDistributedVirtualSwitchRealTimeLanAnnotation"] = "8.0.3.1"
 98280  }
 98281  
 98282  // This data type specifies that the port uses trunk mode,
 98283  // which allows the guest operating system to manage its own VLAN tags.
 98284  type VmwareDistributedVirtualSwitchTrunkVlanSpec struct {
 98285  	VmwareDistributedVirtualSwitchVlanSpec
 98286  
 98287  	// The VlanId range for the trunk port.
 98288  	//
 98289  	// The valid VlanId range is
 98290  	// from 0 to 4094. Overlapping ranges are allowed.
 98291  	VlanId []NumericRange `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 98292  }
 98293  
 98294  func init() {
 98295  	t["VmwareDistributedVirtualSwitchTrunkVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchTrunkVlanSpec)(nil)).Elem()
 98296  }
 98297  
 98298  // This data type defines the configuration when single vlanId is used for
 98299  // the port.
 98300  type VmwareDistributedVirtualSwitchVlanIdSpec struct {
 98301  	VmwareDistributedVirtualSwitchVlanSpec
 98302  
 98303  	// The VLAN ID for ports.
 98304  	//
 98305  	// Possible values:
 98306  	//   - A value of 0 specifies that you do not want the port associated
 98307  	//     with a VLAN.
 98308  	//   - A value from 1 to 4094 specifies a VLAN ID for the port.
 98309  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 98310  }
 98311  
 98312  func init() {
 98313  	t["VmwareDistributedVirtualSwitchVlanIdSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanIdSpec)(nil)).Elem()
 98314  }
 98315  
 98316  // Base class for Vlan Specifiation for ports.
 98317  type VmwareDistributedVirtualSwitchVlanSpec struct {
 98318  	InheritablePolicy
 98319  }
 98320  
 98321  func init() {
 98322  	t["VmwareDistributedVirtualSwitchVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanSpec)(nil)).Elem()
 98323  }
 98324  
 98325  // Policy for a uplink port team.
 98326  type VmwareUplinkPortTeamingPolicy struct {
 98327  	InheritablePolicy
 98328  
 98329  	// Network adapter teaming policy.
 98330  	//
 98331  	// The policy defines the way traffic
 98332  	// from the clients of the team is routed through the different uplinks
 98333  	// in the team. The policies supported on the VDS platform is one of
 98334  	// `nicTeamingPolicy`.
 98335  	Policy *StringPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 98336  	// The flag to indicate whether or not the teaming policy is applied
 98337  	// to inbound frames as well.
 98338  	//
 98339  	// Also see `HostNicTeamingPolicy.reversePolicy`
 98340  	ReversePolicy *BoolPolicy `xml:"reversePolicy,omitempty" json:"reversePolicy,omitempty"`
 98341  	// Flag to specify whether or not to notify the physical switch
 98342  	// if a link fails.
 98343  	//
 98344  	// Also see `HostNicTeamingPolicy.notifySwitches`
 98345  	NotifySwitches *BoolPolicy `xml:"notifySwitches,omitempty" json:"notifySwitches,omitempty"`
 98346  	// The flag to indicate whether or not to use a rolling policy when
 98347  	// restoring links.
 98348  	//
 98349  	// Also see `HostNicTeamingPolicy.rollingOrder`
 98350  	RollingOrder *BoolPolicy `xml:"rollingOrder,omitempty" json:"rollingOrder,omitempty"`
 98351  	// Failover detection policy for the uplink port team.
 98352  	FailureCriteria *DVSFailureCriteria `xml:"failureCriteria,omitempty" json:"failureCriteria,omitempty"`
 98353  	// Failover order policy for uplink ports on the hosts.
 98354  	UplinkPortOrder *VMwareUplinkPortOrderPolicy `xml:"uplinkPortOrder,omitempty" json:"uplinkPortOrder,omitempty"`
 98355  }
 98356  
 98357  func init() {
 98358  	t["VmwareUplinkPortTeamingPolicy"] = reflect.TypeOf((*VmwareUplinkPortTeamingPolicy)(nil)).Elem()
 98359  }
 98360  
 98361  // This argument records a Virtual NIC device that connects to a DVPort.
 98362  type VnicPortArgument struct {
 98363  	DynamicData
 98364  
 98365  	// The Virtual NIC devices that were using the DVports.
 98366  	Vnic string `xml:"vnic" json:"vnic"`
 98367  	// The DVPorts that were being used.
 98368  	Port DistributedVirtualSwitchPortConnection `xml:"port" json:"port"`
 98369  }
 98370  
 98371  func init() {
 98372  	t["VnicPortArgument"] = reflect.TypeOf((*VnicPortArgument)(nil)).Elem()
 98373  }
 98374  
 98375  // An error occurred in the Open Source Components applications during
 98376  // volume editing.
 98377  //
 98378  // Possibly caused by an incompatible cygwin version
 98379  // installed in the VirtualCenter server.
 98380  type VolumeEditorError struct {
 98381  	CustomizationFault
 98382  }
 98383  
 98384  func init() {
 98385  	t["VolumeEditorError"] = reflect.TypeOf((*VolumeEditorError)(nil)).Elem()
 98386  }
 98387  
 98388  type VolumeEditorErrorFault VolumeEditorError
 98389  
 98390  func init() {
 98391  	t["VolumeEditorErrorFault"] = reflect.TypeOf((*VolumeEditorErrorFault)(nil)).Elem()
 98392  }
 98393  
 98394  // A VramLimitLicense fault is thrown if executing an operation
 98395  // would result in exceeding maximum allowed vRAM amount.
 98396  //
 98397  // For example, this could happen when powering on a VM,
 98398  // hot-plugging memory into a running VMm, etc.
 98399  type VramLimitLicense struct {
 98400  	NotEnoughLicenses
 98401  
 98402  	// The maximum allowed vRAM amount.
 98403  	Limit int32 `xml:"limit" json:"limit"`
 98404  }
 98405  
 98406  func init() {
 98407  	t["VramLimitLicense"] = reflect.TypeOf((*VramLimitLicense)(nil)).Elem()
 98408  }
 98409  
 98410  type VramLimitLicenseFault VramLimitLicense
 98411  
 98412  func init() {
 98413  	t["VramLimitLicenseFault"] = reflect.TypeOf((*VramLimitLicenseFault)(nil)).Elem()
 98414  }
 98415  
 98416  // The `VsanClusterConfigInfo` data object contains configuration
 98417  // data for the VSAN service in a cluster.
 98418  //
 98419  // This data object is used both for
 98420  // specifying cluster-wide settings when updating the VSAN service, and as an
 98421  // output datatype when retrieving current cluster-wide VSAN service settings.
 98422  //
 98423  // See also `ComputeResource.ReconfigureComputeResource_Task`.
 98424  type VsanClusterConfigInfo struct {
 98425  	DynamicData
 98426  
 98427  	// Whether the VSAN service is enabled for the cluster.
 98428  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 98429  	// Default VSAN settings to use for hosts admitted to the cluster when the
 98430  	// VSAN service is enabled.
 98431  	//
 98432  	// If omitted, values will default as though the
 98433  	// fields in the `VsanClusterConfigInfoHostDefaultInfo` have been omitted.
 98434  	//
 98435  	// See also `VsanClusterConfigInfo.enabled`, `VsanClusterConfigInfoHostDefaultInfo`.
 98436  	DefaultConfig *VsanClusterConfigInfoHostDefaultInfo `xml:"defaultConfig,omitempty" json:"defaultConfig,omitempty"`
 98437  	// Whether the vSAN ESA is enabled for vSAN cluster.
 98438  	//
 98439  	// This can only be
 98440  	// enabled when vSAN is enabled on the cluster.
 98441  	VsanEsaEnabled *bool `xml:"vsanEsaEnabled" json:"vsanEsaEnabled,omitempty" vim:"8.0.0.1"`
 98442  }
 98443  
 98444  func init() {
 98445  	t["VsanClusterConfigInfo"] = reflect.TypeOf((*VsanClusterConfigInfo)(nil)).Elem()
 98446  }
 98447  
 98448  // Default VSAN service configuration to be used for hosts admitted
 98449  // to the cluster.
 98450  //
 98451  // See also `VsanClusterConfigInfo.defaultConfig`.
 98452  type VsanClusterConfigInfoHostDefaultInfo struct {
 98453  	DynamicData
 98454  
 98455  	// VSAN service cluster UUID, in the string form
 98456  	// "nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn", where n are hexadecimal
 98457  	// digits.
 98458  	//
 98459  	// When enabling the VSAN service on the cluster, this value shall
 98460  	// not be specified by the user; a suitable UUID will be generated
 98461  	// by the platform.
 98462  	// While the VSAN service is enabled, this is a read-only value.
 98463  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 98464  	// Deprecated as this configuration will be deprecated, autoclaim
 98465  	// will be no longer supported.
 98466  	//
 98467  	// Whether the VSAN service is configured to automatically claim local
 98468  	// storage on VSAN-enabled hosts in the cluster.
 98469  	//
 98470  	// If omitted while enabling the VSAN service, this value will default
 98471  	// to <code>true</code>.
 98472  	// Changing this value to <code>false</code> shall not affect any
 98473  	// existing disk mappings in use by hosts currently participating in
 98474  	// the VSAN service.
 98475  	// Changing this value to <code>true</code> will result in local disks
 98476  	// being automatically claimed for use by the VSAN service, for hosts
 98477  	// currently participating in the VSAN service.
 98478  	//
 98479  	// See also `VsanHostConfigInfoStorageInfo.diskMapping`, `VsanHostConfigInfoStorageInfo.autoClaimStorage`.
 98480  	AutoClaimStorage *bool `xml:"autoClaimStorage" json:"autoClaimStorage,omitempty"`
 98481  	// Whether the VSAN service is configured to enforce checksum protection.
 98482  	//
 98483  	// If omitted while enabling the VSAN service, this value will default
 98484  	// to <code>false<code>.
 98485  	// Change this value to <code>false</code> shall not affect any existing
 98486  	// disk status.
 98487  	// Changing this value to <code>true</code> shall do disk enforcement
 98488  	// check that all VSAN disks are checksum enabled.
 98489  	ChecksumEnabled *bool `xml:"checksumEnabled" json:"checksumEnabled,omitempty"`
 98490  }
 98491  
 98492  func init() {
 98493  	t["VsanClusterConfigInfoHostDefaultInfo"] = reflect.TypeOf((*VsanClusterConfigInfoHostDefaultInfo)(nil)).Elem()
 98494  }
 98495  
 98496  // vSAN first-class settings which should be configured together with
 98497  // vSAN enablement.
 98498  type VsanClusterCoreConfig struct {
 98499  	DynamicData
 98500  
 98501  	VsanMaxEnabled *bool `xml:"vsanMaxEnabled" json:"vsanMaxEnabled,omitempty"`
 98502  }
 98503  
 98504  func init() {
 98505  	t["VsanClusterCoreConfig"] = reflect.TypeOf((*VsanClusterCoreConfig)(nil)).Elem()
 98506  	minAPIVersionForType["VsanClusterCoreConfig"] = "9.0.0.0"
 98507  }
 98508  
 98509  // vSAN first-class settings which should be configured together with
 98510  // vSAN enablement.
 98511  type VsanClusterCoreConfigSpec struct {
 98512  	DynamicData
 98513  
 98514  	VsanMaxEnabled *bool `xml:"vsanMaxEnabled" json:"vsanMaxEnabled,omitempty"`
 98515  }
 98516  
 98517  func init() {
 98518  	t["VsanClusterCoreConfigSpec"] = reflect.TypeOf((*VsanClusterCoreConfigSpec)(nil)).Elem()
 98519  	minAPIVersionForType["VsanClusterCoreConfigSpec"] = "9.0.0.0"
 98520  }
 98521  
 98522  // Fault thrown for the case that an attempt is made to move a host which
 98523  // is enabled for VSAN into a `ClusterComputeResource` whose
 98524  // VSAN cluster UUID does not match.
 98525  //
 98526  // See also `CannotMoveVsanEnabledHost`.
 98527  type VsanClusterUuidMismatch struct {
 98528  	CannotMoveVsanEnabledHost
 98529  
 98530  	// The VSAN cluster UUID in use by the host at hand.
 98531  	HostClusterUuid string `xml:"hostClusterUuid" json:"hostClusterUuid"`
 98532  	// The VSAN cluster UUID in use by the destination
 98533  	// `ClusterComputeResource`.
 98534  	DestinationClusterUuid string `xml:"destinationClusterUuid" json:"destinationClusterUuid"`
 98535  }
 98536  
 98537  func init() {
 98538  	t["VsanClusterUuidMismatch"] = reflect.TypeOf((*VsanClusterUuidMismatch)(nil)).Elem()
 98539  }
 98540  
 98541  type VsanClusterUuidMismatchFault VsanClusterUuidMismatch
 98542  
 98543  func init() {
 98544  	t["VsanClusterUuidMismatchFault"] = reflect.TypeOf((*VsanClusterUuidMismatchFault)(nil)).Elem()
 98545  }
 98546  
 98547  // Detailed information about a vSAN datastore.
 98548  type VsanDatastoreInfo struct {
 98549  	DatastoreInfo
 98550  
 98551  	// The cluster membership identity of the datastore.
 98552  	MembershipUuid string `xml:"membershipUuid,omitempty" json:"membershipUuid,omitempty"`
 98553  	// The generation number tracking datastore accessibility.
 98554  	AccessGenNo int32 `xml:"accessGenNo,omitempty" json:"accessGenNo,omitempty"`
 98555  }
 98556  
 98557  func init() {
 98558  	t["VsanDatastoreInfo"] = reflect.TypeOf((*VsanDatastoreInfo)(nil)).Elem()
 98559  	minAPIVersionForType["VsanDatastoreInfo"] = "7.0.1.0"
 98560  }
 98561  
 98562  // Base exception class for VSAN disk-related faults.
 98563  type VsanDiskFault struct {
 98564  	VsanFault
 98565  
 98566  	// The canonical name for the disk at hand, if applicable.
 98567  	//
 98568  	// See also `ScsiLun.canonicalName`.
 98569  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 98570  }
 98571  
 98572  func init() {
 98573  	t["VsanDiskFault"] = reflect.TypeOf((*VsanDiskFault)(nil)).Elem()
 98574  }
 98575  
 98576  type VsanDiskFaultFault BaseVsanDiskFault
 98577  
 98578  func init() {
 98579  	t["VsanDiskFaultFault"] = reflect.TypeOf((*VsanDiskFaultFault)(nil)).Elem()
 98580  }
 98581  
 98582  // Base exception class for VSAN-specific faults raised for host
 98583  // or cluster operations.
 98584  //
 98585  // See also `HostVsanSystem`, `ComputeResource.ReconfigureComputeResource_Task`.
 98586  type VsanFault struct {
 98587  	VimFault
 98588  }
 98589  
 98590  func init() {
 98591  	t["VsanFault"] = reflect.TypeOf((*VsanFault)(nil)).Elem()
 98592  }
 98593  
 98594  type VsanFaultFault BaseVsanFault
 98595  
 98596  func init() {
 98597  	t["VsanFaultFault"] = reflect.TypeOf((*VsanFaultFault)(nil)).Elem()
 98598  }
 98599  
 98600  // The `VsanHostClusterStatus` data object contains a host's cluster status
 98601  // information for the VSAN service.
 98602  //
 98603  // This data object is used to represent
 98604  // read-only state whose values may change during operation.
 98605  //
 98606  // See also `HostVsanSystem.QueryHostStatus`.
 98607  type VsanHostClusterStatus struct {
 98608  	DynamicData
 98609  
 98610  	// VSAN service cluster UUID.
 98611  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 98612  	// VSAN node UUID for this host.
 98613  	NodeUuid string `xml:"nodeUuid,omitempty" json:"nodeUuid,omitempty"`
 98614  	// VSAN health state for this host.
 98615  	//
 98616  	// See also `VsanHostHealthState_enum`.
 98617  	Health string `xml:"health" json:"health"`
 98618  	// VSAN node state for this host.
 98619  	NodeState VsanHostClusterStatusState `xml:"nodeState" json:"nodeState"`
 98620  	// List of UUIDs for VSAN nodes known to this host.
 98621  	MemberUuid []string `xml:"memberUuid,omitempty" json:"memberUuid,omitempty"`
 98622  }
 98623  
 98624  func init() {
 98625  	t["VsanHostClusterStatus"] = reflect.TypeOf((*VsanHostClusterStatus)(nil)).Elem()
 98626  }
 98627  
 98628  // Data object representing the VSAN node state for a host.
 98629  type VsanHostClusterStatusState struct {
 98630  	DynamicData
 98631  
 98632  	// VSAN node state for this host.
 98633  	//
 98634  	// See also `VsanHostNodeState_enum`.
 98635  	State string `xml:"state" json:"state"`
 98636  	// An estimation of the completion of a node state transition; this
 98637  	// value may be populated for transitory node states.
 98638  	//
 98639  	// See also `VsanHostNodeState_enum`.
 98640  	Completion *VsanHostClusterStatusStateCompletionEstimate `xml:"completion,omitempty" json:"completion,omitempty"`
 98641  }
 98642  
 98643  func init() {
 98644  	t["VsanHostClusterStatusState"] = reflect.TypeOf((*VsanHostClusterStatusState)(nil)).Elem()
 98645  }
 98646  
 98647  // Estimated completion status for transitory node states.
 98648  //
 98649  // See also `VsanHostNodeState_enum`.
 98650  type VsanHostClusterStatusStateCompletionEstimate struct {
 98651  	DynamicData
 98652  
 98653  	// Estimated time of completion.
 98654  	CompleteTime *time.Time `xml:"completeTime" json:"completeTime,omitempty"`
 98655  	// Estimated percent of completion as a value in the range \[0, 100\].
 98656  	PercentComplete int32 `xml:"percentComplete,omitempty" json:"percentComplete,omitempty"`
 98657  }
 98658  
 98659  func init() {
 98660  	t["VsanHostClusterStatusStateCompletionEstimate"] = reflect.TypeOf((*VsanHostClusterStatusStateCompletionEstimate)(nil)).Elem()
 98661  }
 98662  
 98663  // The `VsanHostConfigInfo` data object contains host-specific settings
 98664  // for the VSAN service.
 98665  //
 98666  // This data object is used both for specifying
 98667  // settings for updating the VSAN service, and as an output datatype
 98668  // when retrieving current VSAN service settings.
 98669  type VsanHostConfigInfo struct {
 98670  	DynamicData
 98671  
 98672  	// Whether the VSAN service is currently enabled on this host.
 98673  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 98674  	// The `HostSystem` for this host.
 98675  	//
 98676  	// This argument is required when this configuration is specified as
 98677  	// an input to VC-level APIs. When this configuration is specified
 98678  	// to a host-level direct API, this argument may be omitted.
 98679  	//
 98680  	// See also `ComputeResource.ReconfigureComputeResource_Task`, `HostVsanSystem.UpdateVsan_Task`.
 98681  	//
 98682  	// Refers instance of `HostSystem`.
 98683  	HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty" json:"hostSystem,omitempty"`
 98684  	// The VSAN service cluster configuration for this host.
 98685  	ClusterInfo *VsanHostConfigInfoClusterInfo `xml:"clusterInfo,omitempty" json:"clusterInfo,omitempty"`
 98686  	// The VSAN storage configuration for this host.
 98687  	//
 98688  	// VSAN storage configuration settings are independent of the
 98689  	// current value of `VsanHostConfigInfo.enabled`.
 98690  	StorageInfo *VsanHostConfigInfoStorageInfo `xml:"storageInfo,omitempty" json:"storageInfo,omitempty"`
 98691  	// The VSAN network configuration for this host.
 98692  	//
 98693  	// VSAN network configuration settings are independent of the
 98694  	// current value of `VsanHostConfigInfo.enabled`.
 98695  	NetworkInfo *VsanHostConfigInfoNetworkInfo `xml:"networkInfo,omitempty" json:"networkInfo,omitempty"`
 98696  	// The VSAN fault domain configuration for this host.
 98697  	//
 98698  	// VSAN host fault domain settings are independent of the
 98699  	// current value of `VsanHostConfigInfo.enabled`.
 98700  	FaultDomainInfo *VsanHostFaultDomainInfo `xml:"faultDomainInfo,omitempty" json:"faultDomainInfo,omitempty"`
 98701  	// Whether the vSAN ESA is enabled on this host.
 98702  	//
 98703  	// This can only be
 98704  	// enabled when vSAN is enabled on this host.
 98705  	VsanEsaEnabled *bool `xml:"vsanEsaEnabled" json:"vsanEsaEnabled,omitempty" vim:"8.0.0.1"`
 98706  }
 98707  
 98708  func init() {
 98709  	t["VsanHostConfigInfo"] = reflect.TypeOf((*VsanHostConfigInfo)(nil)).Elem()
 98710  }
 98711  
 98712  // Host-local VSAN cluster configuration.
 98713  //
 98714  // This data object is used
 98715  // both for specifying and retrieving cluster configuration for a
 98716  // host participating in the VSAN service.
 98717  type VsanHostConfigInfoClusterInfo struct {
 98718  	DynamicData
 98719  
 98720  	// VSAN service cluster UUID, in the string form
 98721  	// "nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn", where n are hexadecimal
 98722  	// digits.
 98723  	//
 98724  	// If provided while enabling the VSAN service, this value will be
 98725  	// used for the service cluster UUID. If omitted when enabling the
 98726  	// VSAN service, a suitable UUID will be generated by the platform.
 98727  	// This is a read-only value while the VSAN service is enabled.
 98728  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 98729  	// VSAN node UUID for this host.
 98730  	//
 98731  	// This is a read-only value which is populated upon enabling of the
 98732  	// VSAN service.
 98733  	NodeUuid string `xml:"nodeUuid,omitempty" json:"nodeUuid,omitempty"`
 98734  }
 98735  
 98736  func init() {
 98737  	t["VsanHostConfigInfoClusterInfo"] = reflect.TypeOf((*VsanHostConfigInfoClusterInfo)(nil)).Elem()
 98738  }
 98739  
 98740  // Host-local VSAN network configuration.
 98741  //
 98742  // This data object is used
 98743  // both for specifying and retrieving network configuration for a
 98744  // host participating in the VSAN service.
 98745  type VsanHostConfigInfoNetworkInfo struct {
 98746  	DynamicData
 98747  
 98748  	// Set of PortConfig entries for use by the VSAN service, one per
 98749  	// "virtual network" as used by VSAN.
 98750  	Port []VsanHostConfigInfoNetworkInfoPortConfig `xml:"port,omitempty" json:"port,omitempty"`
 98751  }
 98752  
 98753  func init() {
 98754  	t["VsanHostConfigInfoNetworkInfo"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfo)(nil)).Elem()
 98755  }
 98756  
 98757  // A PortConfig represents a virtual network adapter and its
 98758  // configuration for use by the VSAN service.
 98759  //
 98760  // See also `HostVirtualNic`.
 98761  type VsanHostConfigInfoNetworkInfoPortConfig struct {
 98762  	DynamicData
 98763  
 98764  	// `VsanHostIpConfig` for this PortConfig.
 98765  	IpConfig *VsanHostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 98766  	// Device name which identifies the network adapter for this
 98767  	// PortConfig.
 98768  	//
 98769  	// See also `HostVirtualNic.device`.
 98770  	Device string `xml:"device" json:"device"`
 98771  }
 98772  
 98773  func init() {
 98774  	t["VsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem()
 98775  }
 98776  
 98777  // Host-local VSAN storage configuration.
 98778  //
 98779  // This data object is used
 98780  // both for specifying and retrieving storage configuration for a
 98781  // host participating in the VSAN service.
 98782  type VsanHostConfigInfoStorageInfo struct {
 98783  	DynamicData
 98784  
 98785  	// Deprecated as this configuration will be deprecated, autoclaim
 98786  	// will be no longer supported.
 98787  	//
 98788  	// Whether the VSAN service is configured to automatically claim local
 98789  	// unused storage on this host.
 98790  	//
 98791  	// When set, the VSAN service will automatically format and use local
 98792  	// disks. Side effects from any disk consumption will be reflected in
 98793  	// `VsanHostConfigInfoStorageInfo.diskMapping`.
 98794  	// If this argument is specified as a host-level configuration input
 98795  	// at the VC-level (see `ClusterConfigInfoEx.vsanHostConfig`),
 98796  	// it will override that of any cluster-level default value.
 98797  	//
 98798  	// See also `VsanHostConfigInfoStorageInfo.diskMapping`, `ClusterConfigInfoEx.vsanHostConfig`, `VsanClusterConfigInfo.defaultConfig`.
 98799  	AutoClaimStorage *bool `xml:"autoClaimStorage" json:"autoClaimStorage,omitempty"`
 98800  	// Deprecated use `VsanHostConfigInfoStorageInfo.diskMapInfo` instead.
 98801  	//
 98802  	// List of `VsanHostDiskMapping` entries in use by the VSAN service.
 98803  	//
 98804  	// DiskMappings to be used by the VSAN service may be manually
 98805  	// specified using
 98806  	// `HostVsanSystem.InitializeDisks_Task`.
 98807  	//
 98808  	// See also `HostVsanSystem.InitializeDisks_Task`.
 98809  	DiskMapping []VsanHostDiskMapping `xml:"diskMapping,omitempty" json:"diskMapping,omitempty"`
 98810  	// List of `VsanHostDiskMapping` entries with runtime information from
 98811  	// the perspective of this host.
 98812  	DiskMapInfo []VsanHostDiskMapInfo `xml:"diskMapInfo,omitempty" json:"diskMapInfo,omitempty"`
 98813  	// Deprecated this attribute was originally used for indicating whether
 98814  	// hardware checksums is supported on the disks. But in vSphere 2016
 98815  	// hardware checksums are replaced with software implementation,
 98816  	// supported by all disks. This makes current field redundant,
 98817  	// and its value as an input/output is ignored.
 98818  	//
 98819  	// Whether checksum is enabled on all the disks in this host.
 98820  	//
 98821  	// If any disk is not checksum capable or 520 bps formatted,
 98822  	// we will skip it.
 98823  	ChecksumEnabled *bool `xml:"checksumEnabled" json:"checksumEnabled,omitempty"`
 98824  }
 98825  
 98826  func init() {
 98827  	t["VsanHostConfigInfoStorageInfo"] = reflect.TypeOf((*VsanHostConfigInfoStorageInfo)(nil)).Elem()
 98828  }
 98829  
 98830  // A `VsanHostDecommissionMode` defines an action to take upon decommissioning
 98831  // a host from use with the VSAN service.
 98832  //
 98833  // If the VSAN service DecommissionMode is omitted in a call to
 98834  // `HostSystem.EnterMaintenanceMode_Task`, the default action chosen
 98835  // will be `ensureObjectAccessibility`.
 98836  //
 98837  // See also `HostSystem.EnterMaintenanceMode_Task`, `HostMaintenanceSpec.vsanMode`.
 98838  type VsanHostDecommissionMode struct {
 98839  	DynamicData
 98840  
 98841  	// Specifies an action to take with regard to the VSAN service upon
 98842  	// putting a host into maintenance mode.
 98843  	//
 98844  	// See also `VsanHostDecommissionModeObjectAction_enum`.
 98845  	ObjectAction string `xml:"objectAction" json:"objectAction"`
 98846  }
 98847  
 98848  func init() {
 98849  	t["VsanHostDecommissionMode"] = reflect.TypeOf((*VsanHostDecommissionMode)(nil)).Elem()
 98850  }
 98851  
 98852  // A DiskMapInfo represents a `VsanHostDiskMapping` and its
 98853  // corresponding runtime information.
 98854  //
 98855  // See also `VsanHostConfigInfoStorageInfo`, `HostVsanSystem.InitializeDisks_Task`.
 98856  type VsanHostDiskMapInfo struct {
 98857  	DynamicData
 98858  
 98859  	// DiskMapping.
 98860  	Mapping VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 98861  	// Indicates whether the `VsanHostDiskMapping` is mounted.
 98862  	Mounted bool `xml:"mounted" json:"mounted"`
 98863  }
 98864  
 98865  func init() {
 98866  	t["VsanHostDiskMapInfo"] = reflect.TypeOf((*VsanHostDiskMapInfo)(nil)).Elem()
 98867  }
 98868  
 98869  // A DiskMapResult represents the result of an operation performed
 98870  // on the set of disks in a `VsanHostDiskMapping`.
 98871  //
 98872  // See also `HostVsanSystem.InitializeDisks_Task`, `HostVsanSystem.UpdateVsan_Task`.
 98873  type VsanHostDiskMapResult struct {
 98874  	DynamicData
 98875  
 98876  	// DiskMapping for this result.
 98877  	Mapping VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 98878  	// List of results for each disk in the mapping.
 98879  	DiskResult []VsanHostDiskResult `xml:"diskResult,omitempty" json:"diskResult,omitempty"`
 98880  	// Error information for this result.
 98881  	//
 98882  	// See also `VsanDiskFault`.
 98883  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 98884  }
 98885  
 98886  func init() {
 98887  	t["VsanHostDiskMapResult"] = reflect.TypeOf((*VsanHostDiskMapResult)(nil)).Elem()
 98888  }
 98889  
 98890  // A `VsanHostDiskMapping` is a set of one SSD `HostScsiDisk` backed
 98891  // by a set of one or more non-SSD `HostScsiDisk`.
 98892  //
 98893  // The maximum
 98894  // allowed `VsanHostDiskMapping` for a host is 5. A maximum set
 98895  // of 7 non-SSDs `HostScsiDisk` can be added to the one
 98896  // SSD `HostScsiDisk`.
 98897  //
 98898  // See also `VsanHostConfigInfoStorageInfo`, `HostVsanSystem.InitializeDisks_Task`.
 98899  type VsanHostDiskMapping struct {
 98900  	DynamicData
 98901  
 98902  	// SSD `HostScsiDisk`.
 98903  	Ssd HostScsiDisk `xml:"ssd" json:"ssd"`
 98904  	// Set of non-SSD backing `HostScsiDisk`.
 98905  	NonSsd []HostScsiDisk `xml:"nonSsd" json:"nonSsd"`
 98906  }
 98907  
 98908  func init() {
 98909  	t["VsanHostDiskMapping"] = reflect.TypeOf((*VsanHostDiskMapping)(nil)).Elem()
 98910  }
 98911  
 98912  // A DiskResult represents the result of VSAN configuration operation
 98913  // on a `HostScsiDisk`, and its current eligibility state for use by
 98914  // the VSAN service.
 98915  //
 98916  // See also `HostVsanSystem.QueryDisksForVsan`, `HostVsanSystem.UpdateVsan_Task`, `VsanHostDiskResultState_enum`.
 98917  type VsanHostDiskResult struct {
 98918  	DynamicData
 98919  
 98920  	// Disk for this result.
 98921  	Disk HostScsiDisk `xml:"disk" json:"disk"`
 98922  	// State of the disk for this result.
 98923  	//
 98924  	// See also `VsanHostDiskResultState_enum`.
 98925  	State string `xml:"state" json:"state"`
 98926  	// VSAN disk UUID in case this disk is a VSAN disk.
 98927  	VsanUuid string `xml:"vsanUuid,omitempty" json:"vsanUuid,omitempty"`
 98928  	// Error information for this result: may be populated with additional
 98929  	// information about the disk at hand, regardless of the disk's state.
 98930  	//
 98931  	// See also `VsanDiskFault`, `VsanHostDiskResult.state`.
 98932  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 98933  	// Indicates whether the disk is degraded in VSAN performance.
 98934  	//
 98935  	// If set, indicates the disk performance is degraded in VSAN
 98936  	// If unset, it is unknown whether the disk performance is degraded in VSAN.
 98937  	Degraded *bool `xml:"degraded" json:"degraded,omitempty"`
 98938  }
 98939  
 98940  func init() {
 98941  	t["VsanHostDiskResult"] = reflect.TypeOf((*VsanHostDiskResult)(nil)).Elem()
 98942  }
 98943  
 98944  // Host-local VSAN fault domain configuration.
 98945  //
 98946  // This data object is used
 98947  // both for specifying and retrieving fault domain configuration for a
 98948  // host participating in the VSAN service.
 98949  type VsanHostFaultDomainInfo struct {
 98950  	DynamicData
 98951  
 98952  	// The configured VSAN fault domain.
 98953  	//
 98954  	// The length of fault domain name should not exceed 256.
 98955  	// Empty string indicates that the default fault domain is used.
 98956  	Name string `xml:"name" json:"name"`
 98957  }
 98958  
 98959  func init() {
 98960  	t["VsanHostFaultDomainInfo"] = reflect.TypeOf((*VsanHostFaultDomainInfo)(nil)).Elem()
 98961  }
 98962  
 98963  // An `VsanHostIpConfig` is a pair of multicast IP addresses for use by the VSAN
 98964  // service.
 98965  //
 98966  // For VSAN there is one such IpConfig pair per "virtual network" as
 98967  // represented by `VsanHostConfigInfoNetworkInfoPortConfig`.
 98968  //
 98969  // See also `VsanHostConfigInfoNetworkInfo`, `VsanHostConfigInfoNetworkInfo.port`, `VsanHostConfigInfoNetworkInfoPortConfig`, `HostVsanSystem.UpdateVsan_Task`.
 98970  type VsanHostIpConfig struct {
 98971  	DynamicData
 98972  
 98973  	// Agent-to-master multicast IP address.
 98974  	UpstreamIpAddress string `xml:"upstreamIpAddress" json:"upstreamIpAddress"`
 98975  	// Master-to-agent multicast IP address.
 98976  	DownstreamIpAddress string `xml:"downstreamIpAddress" json:"downstreamIpAddress"`
 98977  }
 98978  
 98979  func init() {
 98980  	t["VsanHostIpConfig"] = reflect.TypeOf((*VsanHostIpConfig)(nil)).Elem()
 98981  }
 98982  
 98983  // The `VsanHostMembershipInfo` data object contains VSAN cluster
 98984  // membership information for a single host, as observed from a
 98985  // given host.
 98986  //
 98987  // This data object is used to represent read-only
 98988  // state whose values may change during operation.
 98989  //
 98990  // See also `HostRuntimeInfo.vsanRuntimeInfo`.
 98991  type VsanHostMembershipInfo struct {
 98992  	DynamicData
 98993  
 98994  	// VSAN node UUID for the host of this MembershipInfo.
 98995  	//
 98996  	// See also `VsanHostClusterStatus.nodeUuid`.
 98997  	NodeUuid string `xml:"nodeUuid" json:"nodeUuid"`
 98998  	// Hostname for the host of this MembershipInfo.
 98999  	//
 99000  	// May be the empty string "" if the hostname is unavailable.
 99001  	Hostname string `xml:"hostname" json:"hostname"`
 99002  }
 99003  
 99004  func init() {
 99005  	t["VsanHostMembershipInfo"] = reflect.TypeOf((*VsanHostMembershipInfo)(nil)).Elem()
 99006  }
 99007  
 99008  // This data object contains VSAN cluster runtime information from
 99009  // the perspective of the host in question.
 99010  //
 99011  // This data object is used to represent read-only state whose values
 99012  // may change during operation.
 99013  type VsanHostRuntimeInfo struct {
 99014  	DynamicData
 99015  
 99016  	// This property reports host membership information.
 99017  	MembershipList []VsanHostMembershipInfo `xml:"membershipList,omitempty" json:"membershipList,omitempty"`
 99018  	// List of disk issues detected on this host.
 99019  	//
 99020  	// To retrieve more information on the issues, use
 99021  	// `HostVsanSystem.QueryDisksForVsan`.
 99022  	DiskIssues []VsanHostRuntimeInfoDiskIssue `xml:"diskIssues,omitempty" json:"diskIssues,omitempty"`
 99023  	// Generation number tracking object accessibility.
 99024  	AccessGenNo int32 `xml:"accessGenNo,omitempty" json:"accessGenNo,omitempty"`
 99025  }
 99026  
 99027  func init() {
 99028  	t["VsanHostRuntimeInfo"] = reflect.TypeOf((*VsanHostRuntimeInfo)(nil)).Elem()
 99029  }
 99030  
 99031  // Data structure of reporting a disk issue.
 99032  type VsanHostRuntimeInfoDiskIssue struct {
 99033  	DynamicData
 99034  
 99035  	// Disk uuid, @see vim.host.ScsiLun#uuid
 99036  	DiskId string `xml:"diskId" json:"diskId"`
 99037  	// Type of issue
 99038  	//
 99039  	// See also `VsanDiskIssueType_enum`.
 99040  	Issue string `xml:"issue" json:"issue"`
 99041  }
 99042  
 99043  func init() {
 99044  	t["VsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*VsanHostRuntimeInfoDiskIssue)(nil)).Elem()
 99045  }
 99046  
 99047  // A VsanDiskInfo represents the additional detailed
 99048  // information of a ScsiDisk used by VSAN,
 99049  // to map physical disk to VSAN disk.
 99050  //
 99051  // See also `HostScsiDisk`.
 99052  type VsanHostVsanDiskInfo struct {
 99053  	DynamicData
 99054  
 99055  	// Disk UUID in VSAN
 99056  	VsanUuid string `xml:"vsanUuid" json:"vsanUuid"`
 99057  	// VSAN file system version number
 99058  	FormatVersion int32 `xml:"formatVersion" json:"formatVersion"`
 99059  }
 99060  
 99061  func init() {
 99062  	t["VsanHostVsanDiskInfo"] = reflect.TypeOf((*VsanHostVsanDiskInfo)(nil)).Elem()
 99063  }
 99064  
 99065  // Fault used for the add operation which will result in incompatible
 99066  // disk mappings.
 99067  //
 99068  // See also `HostVsanSystem.InitializeDisks_Task`.
 99069  type VsanIncompatibleDiskMapping struct {
 99070  	VsanDiskFault
 99071  }
 99072  
 99073  func init() {
 99074  	t["VsanIncompatibleDiskMapping"] = reflect.TypeOf((*VsanIncompatibleDiskMapping)(nil)).Elem()
 99075  }
 99076  
 99077  type VsanIncompatibleDiskMappingFault VsanIncompatibleDiskMapping
 99078  
 99079  func init() {
 99080  	t["VsanIncompatibleDiskMappingFault"] = reflect.TypeOf((*VsanIncompatibleDiskMappingFault)(nil)).Elem()
 99081  }
 99082  
 99083  // NewPolicyBatch --
 99084  // Structure to specify a list of object sizes and a policy for what-if
 99085  // analysis.
 99086  type VsanNewPolicyBatch struct {
 99087  	DynamicData
 99088  
 99089  	// Size (in bytes) of the objects.
 99090  	Size []int64 `xml:"size,omitempty" json:"size,omitempty"`
 99091  	// New policy in SPBM or VSAN expression format.
 99092  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 99093  }
 99094  
 99095  func init() {
 99096  	t["VsanNewPolicyBatch"] = reflect.TypeOf((*VsanNewPolicyBatch)(nil)).Elem()
 99097  }
 99098  
 99099  // PolicyChangeBatch --
 99100  // Structure to specify a list of object uuids and a policy for what-if
 99101  // analysis.
 99102  type VsanPolicyChangeBatch struct {
 99103  	DynamicData
 99104  
 99105  	// UUIDs of the objects.
 99106  	Uuid []string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 99107  	// New policy in SPBM or VSAN expression format.
 99108  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 99109  }
 99110  
 99111  func init() {
 99112  	t["VsanPolicyChangeBatch"] = reflect.TypeOf((*VsanPolicyChangeBatch)(nil)).Elem()
 99113  }
 99114  
 99115  // PolicyCost --
 99116  // Structure to describe the cost of satisfying a policy.
 99117  type VsanPolicyCost struct {
 99118  	DynamicData
 99119  
 99120  	// Change (in bytes) of size of data stored on the datastore.
 99121  	//
 99122  	// This is
 99123  	// the max of reserved and used capacity.
 99124  	ChangeDataSize int64 `xml:"changeDataSize,omitempty" json:"changeDataSize,omitempty"`
 99125  	// Size (in bytes) of data currently stored on the datastore.
 99126  	//
 99127  	// This is
 99128  	// the max of reserved and used capacity.
 99129  	CurrentDataSize int64 `xml:"currentDataSize,omitempty" json:"currentDataSize,omitempty"`
 99130  	// Size (in bytes) for temporary data that will be needed on disk if
 99131  	// new policy is applied.
 99132  	TempDataSize int64 `xml:"tempDataSize,omitempty" json:"tempDataSize,omitempty"`
 99133  	// Size (in bytes) of data we need to write to VSAN Datastore if new
 99134  	// policy is applied.
 99135  	CopyDataSize int64 `xml:"copyDataSize,omitempty" json:"copyDataSize,omitempty"`
 99136  	// Change (in bytes) of flash space reserved for read cache if new
 99137  	// policy is applied.
 99138  	ChangeFlashReadCacheSize int64 `xml:"changeFlashReadCacheSize,omitempty" json:"changeFlashReadCacheSize,omitempty"`
 99139  	// Size (in bytes) of flash space currently reserved for read cache.
 99140  	CurrentFlashReadCacheSize int64 `xml:"currentFlashReadCacheSize,omitempty" json:"currentFlashReadCacheSize,omitempty"`
 99141  	// Current ratio of physical disk space of an object to the logical VSAN
 99142  	// address space.
 99143  	//
 99144  	// For eg. an object of size 1GB with two copies of the
 99145  	// data has two 1GB replicas and so this ratio is 2.
 99146  	CurrentDiskSpaceToAddressSpaceRatio float32 `xml:"currentDiskSpaceToAddressSpaceRatio,omitempty" json:"currentDiskSpaceToAddressSpaceRatio,omitempty"`
 99147  	// Ratio of physical disk space of an object to the logical VSAN
 99148  	// address space after new policy is applied.
 99149  	//
 99150  	// For eg. an object of size
 99151  	// 1GB with two copies of the data has two 1GB replicas and so this
 99152  	// ratio is 2.
 99153  	DiskSpaceToAddressSpaceRatio float32 `xml:"diskSpaceToAddressSpaceRatio,omitempty" json:"diskSpaceToAddressSpaceRatio,omitempty"`
 99154  }
 99155  
 99156  func init() {
 99157  	t["VsanPolicyCost"] = reflect.TypeOf((*VsanPolicyCost)(nil)).Elem()
 99158  }
 99159  
 99160  // PolicySatisfiablity --
 99161  // Structure to describe whether a policy can be satisfied.
 99162  type VsanPolicySatisfiability struct {
 99163  	DynamicData
 99164  
 99165  	// UUID of the object.
 99166  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 99167  	// Can the policy be satisfied given the assumptions of the API that
 99168  	// queried satisfiability.
 99169  	//
 99170  	// See also `HostVsanInternalSystem.ReconfigurationSatisfiable`.
 99171  	IsSatisfiable bool `xml:"isSatisfiable" json:"isSatisfiable"`
 99172  	// Reason for not being able to satisfy the policy; This is unset if
 99173  	// policy can be satisfied.
 99174  	Reason *LocalizableMessage `xml:"reason,omitempty" json:"reason,omitempty"`
 99175  	// Cost of satisfying the new policy; This is unset if policy cannot be
 99176  	// satisfied.
 99177  	Cost *VsanPolicyCost `xml:"cost,omitempty" json:"cost,omitempty"`
 99178  }
 99179  
 99180  func init() {
 99181  	t["VsanPolicySatisfiability"] = reflect.TypeOf((*VsanPolicySatisfiability)(nil)).Elem()
 99182  }
 99183  
 99184  // Pre-flight check encountered a VC plumbing issue.
 99185  type VsanUpgradeSystemAPIBrokenIssue struct {
 99186  	VsanUpgradeSystemPreflightCheckIssue
 99187  
 99188  	// Hosts this issue applies to.
 99189  	//
 99190  	// Refers instances of `HostSystem`.
 99191  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 99192  }
 99193  
 99194  func init() {
 99195  	t["VsanUpgradeSystemAPIBrokenIssue"] = reflect.TypeOf((*VsanUpgradeSystemAPIBrokenIssue)(nil)).Elem()
 99196  }
 99197  
 99198  // Pre-flight check encountered at least one host with auto-claim enabled.
 99199  type VsanUpgradeSystemAutoClaimEnabledOnHostsIssue struct {
 99200  	VsanUpgradeSystemPreflightCheckIssue
 99201  
 99202  	// Hosts this issue applies to.
 99203  	//
 99204  	// Refers instances of `HostSystem`.
 99205  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 99206  }
 99207  
 99208  func init() {
 99209  	t["VsanUpgradeSystemAutoClaimEnabledOnHostsIssue"] = reflect.TypeOf((*VsanUpgradeSystemAutoClaimEnabledOnHostsIssue)(nil)).Elem()
 99210  }
 99211  
 99212  // Pre-flight check encountered at least one host that is disconnected
 99213  // or not responding.
 99214  type VsanUpgradeSystemHostsDisconnectedIssue struct {
 99215  	VsanUpgradeSystemPreflightCheckIssue
 99216  
 99217  	// Hosts this issue applies to.
 99218  	//
 99219  	// Refers instances of `HostSystem`.
 99220  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 99221  }
 99222  
 99223  func init() {
 99224  	t["VsanUpgradeSystemHostsDisconnectedIssue"] = reflect.TypeOf((*VsanUpgradeSystemHostsDisconnectedIssue)(nil)).Elem()
 99225  }
 99226  
 99227  // Pre-flight check encountered at least one host that is part of the
 99228  // VC cluster but not the VSAN cluster.
 99229  type VsanUpgradeSystemMissingHostsInClusterIssue struct {
 99230  	VsanUpgradeSystemPreflightCheckIssue
 99231  
 99232  	// Hosts this issue applies to.
 99233  	//
 99234  	// Refers instances of `HostSystem`.
 99235  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 99236  }
 99237  
 99238  func init() {
 99239  	t["VsanUpgradeSystemMissingHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemMissingHostsInClusterIssue)(nil)).Elem()
 99240  }
 99241  
 99242  // Information about a particular group of hosts making up a network partition.
 99243  type VsanUpgradeSystemNetworkPartitionInfo struct {
 99244  	DynamicData
 99245  
 99246  	// Hosts that make up the network partition
 99247  	//
 99248  	// Refers instances of `HostSystem`.
 99249  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 99250  }
 99251  
 99252  func init() {
 99253  	t["VsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem()
 99254  }
 99255  
 99256  // Pre-flight check encountered a network partition.
 99257  //
 99258  // Contains details
 99259  // about the discovered network partition.
 99260  type VsanUpgradeSystemNetworkPartitionIssue struct {
 99261  	VsanUpgradeSystemPreflightCheckIssue
 99262  
 99263  	// List of network partitions
 99264  	Partitions []VsanUpgradeSystemNetworkPartitionInfo `xml:"partitions" json:"partitions"`
 99265  }
 99266  
 99267  func init() {
 99268  	t["VsanUpgradeSystemNetworkPartitionIssue"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionIssue)(nil)).Elem()
 99269  }
 99270  
 99271  // Pre-flight check encountered not enough free disk capacity to maintain policy compliance.
 99272  type VsanUpgradeSystemNotEnoughFreeCapacityIssue struct {
 99273  	VsanUpgradeSystemPreflightCheckIssue
 99274  
 99275  	// Indicates that whether upgrade could be processed if option
 99276  	// allowReducedRedundancy is taken.
 99277  	ReducedRedundancyUpgradePossible bool `xml:"reducedRedundancyUpgradePossible" json:"reducedRedundancyUpgradePossible"`
 99278  }
 99279  
 99280  func init() {
 99281  	t["VsanUpgradeSystemNotEnoughFreeCapacityIssue"] = reflect.TypeOf((*VsanUpgradeSystemNotEnoughFreeCapacityIssue)(nil)).Elem()
 99282  }
 99283  
 99284  // Base class for a pre-flight check issue.
 99285  //
 99286  // Can be used directly
 99287  // but usually a derived class with a specific issue type is used.
 99288  type VsanUpgradeSystemPreflightCheckIssue struct {
 99289  	DynamicData
 99290  
 99291  	// Message describing the issue.
 99292  	Msg string `xml:"msg" json:"msg"`
 99293  }
 99294  
 99295  func init() {
 99296  	t["VsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckIssue)(nil)).Elem()
 99297  }
 99298  
 99299  // Captures the result of a VSAN upgrade pre-flight check.
 99300  type VsanUpgradeSystemPreflightCheckResult struct {
 99301  	DynamicData
 99302  
 99303  	// Detected issues.
 99304  	//
 99305  	// In some cases, not all possible issues are captured,
 99306  	// i.e. only the first (few) issues may be captured, and only once those
 99307  	// are resolved would additional issues be reported.
 99308  	// Absence of issues means the pre-flight check passed.
 99309  	Issues []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"issues,omitempty,typeattr" json:"issues,omitempty"`
 99310  	// If the upgrade process was previously interrupted, it may have
 99311  	// removed VSAN from a disk group, but not added the disk group back
 99312  	// into VSAN.
 99313  	//
 99314  	// If such a situation is detected, this field will be set
 99315  	// and contains information about this disk group.
 99316  	DiskMappingToRestore *VsanHostDiskMapping `xml:"diskMappingToRestore,omitempty" json:"diskMappingToRestore,omitempty"`
 99317  }
 99318  
 99319  func init() {
 99320  	t["VsanUpgradeSystemPreflightCheckResult"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckResult)(nil)).Elem()
 99321  }
 99322  
 99323  // Pre-flight check encountered at least one host that is part of the VSAN
 99324  // cluster but not the VC cluster.
 99325  type VsanUpgradeSystemRogueHostsInClusterIssue struct {
 99326  	VsanUpgradeSystemPreflightCheckIssue
 99327  
 99328  	// Host UUIDs of rogue hosts.
 99329  	Uuids []string `xml:"uuids" json:"uuids"`
 99330  }
 99331  
 99332  func init() {
 99333  	t["VsanUpgradeSystemRogueHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemRogueHostsInClusterIssue)(nil)).Elem()
 99334  }
 99335  
 99336  // The upgrade process removed or added VSAN from/to a disk group.
 99337  //
 99338  // Class
 99339  // provides details about the operation and the disk group.
 99340  type VsanUpgradeSystemUpgradeHistoryDiskGroupOp struct {
 99341  	VsanUpgradeSystemUpgradeHistoryItem
 99342  
 99343  	// Type of the operation, e.g.
 99344  	//
 99345  	// add or remove.
 99346  	//
 99347  	// See also `VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum`.
 99348  	Operation string `xml:"operation" json:"operation"`
 99349  	// Disk group that is being added/removed
 99350  	DiskMapping VsanHostDiskMapping `xml:"diskMapping" json:"diskMapping"`
 99351  }
 99352  
 99353  func init() {
 99354  	t["VsanUpgradeSystemUpgradeHistoryDiskGroupOp"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOp)(nil)).Elem()
 99355  }
 99356  
 99357  // Captures one "log entry" of an upgrade process.
 99358  type VsanUpgradeSystemUpgradeHistoryItem struct {
 99359  	DynamicData
 99360  
 99361  	// Time stamp when the history is record.
 99362  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 99363  	// The host a history item pertains to.
 99364  	//
 99365  	// May be unset when item related
 99366  	// to no particular host.
 99367  	//
 99368  	// Refers instance of `HostSystem`.
 99369  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 99370  	// Description of the history item.
 99371  	Message string `xml:"message" json:"message"`
 99372  	// A task associated with the history item.
 99373  	//
 99374  	// May be unset if no task is
 99375  	// associated.
 99376  	//
 99377  	// Refers instance of `Task`.
 99378  	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
 99379  }
 99380  
 99381  func init() {
 99382  	t["VsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem()
 99383  }
 99384  
 99385  // Upgrade process encountered a pre-flight check failure.
 99386  //
 99387  // This leads to
 99388  // the upgrade process aborting the upgrade.
 99389  type VsanUpgradeSystemUpgradeHistoryPreflightFail struct {
 99390  	VsanUpgradeSystemUpgradeHistoryItem
 99391  
 99392  	// Details about the failed preflight check.
 99393  	PreflightResult VsanUpgradeSystemPreflightCheckResult `xml:"preflightResult" json:"preflightResult"`
 99394  }
 99395  
 99396  func init() {
 99397  	t["VsanUpgradeSystemUpgradeHistoryPreflightFail"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryPreflightFail)(nil)).Elem()
 99398  }
 99399  
 99400  // Captures the status of a VSAN cluster on-disk format upgrade.
 99401  //
 99402  // Contains
 99403  // information about progress, result, and a detailed log of operations.
 99404  type VsanUpgradeSystemUpgradeStatus struct {
 99405  	DynamicData
 99406  
 99407  	// True if there is an active upgrade process.
 99408  	//
 99409  	// If true, other fields
 99410  	// are guaranteed to be populated. If false, other fields may reflect
 99411  	// a previous upgrade process run, or they may be unset.
 99412  	InProgress bool `xml:"inProgress" json:"inProgress"`
 99413  	// Log of a single upgrade task.
 99414  	//
 99415  	// Lists all operations performed by the
 99416  	// upgrade process in chronological order.
 99417  	History []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"history,omitempty,typeattr" json:"history,omitempty"`
 99418  	// Set if the upgrade process was aborted.
 99419  	Aborted *bool `xml:"aborted" json:"aborted,omitempty"`
 99420  	// Set if the upgrade process has completed successfully.
 99421  	Completed *bool `xml:"completed" json:"completed,omitempty"`
 99422  	// Progress in percent.
 99423  	Progress int32 `xml:"progress,omitempty" json:"progress,omitempty"`
 99424  }
 99425  
 99426  func init() {
 99427  	t["VsanUpgradeSystemUpgradeStatus"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeStatus)(nil)).Elem()
 99428  }
 99429  
 99430  // Pre-flight check encountered v2 objects preventing a downgrade.
 99431  type VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue struct {
 99432  	VsanUpgradeSystemPreflightCheckIssue
 99433  
 99434  	// Object UUIDs of v2 objects.
 99435  	Uuids []string `xml:"uuids" json:"uuids"`
 99436  }
 99437  
 99438  func init() {
 99439  	t["VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue"] = reflect.TypeOf((*VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue)(nil)).Elem()
 99440  }
 99441  
 99442  // Pre-flight check encountered at least one host with wrong ESX version.
 99443  //
 99444  // Only 6.0 is allowed.
 99445  type VsanUpgradeSystemWrongEsxVersionIssue struct {
 99446  	VsanUpgradeSystemPreflightCheckIssue
 99447  
 99448  	// Hosts this issue applies to.
 99449  	//
 99450  	// Refers instances of `HostSystem`.
 99451  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 99452  }
 99453  
 99454  func init() {
 99455  	t["VsanUpgradeSystemWrongEsxVersionIssue"] = reflect.TypeOf((*VsanUpgradeSystemWrongEsxVersionIssue)(nil)).Elem()
 99456  }
 99457  
 99458  // Specification of cloning a virtual storage object.
 99459  type VslmCloneSpec struct {
 99460  	VslmMigrateSpec
 99461  
 99462  	// Descriptive name of the cloned virtual storage object.
 99463  	Name string `xml:"name" json:"name"`
 99464  	// Choice of the deletion behavior of this virtual storage object.
 99465  	//
 99466  	// If not set, the default value is false.
 99467  	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty"`
 99468  	// The metadata KV pairs that are supposed to be updated on the destination
 99469  	// virtual storage object.
 99470  	//
 99471  	// The clone task is atomic by design. That being
 99472  	// said, failing to update the specified metadata pairs leads to the failure
 99473  	// of the clone task. If unset, no metadata will be updated. An empty string
 99474  	// value is indicative of a vcenter tag.
 99475  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 99476  }
 99477  
 99478  func init() {
 99479  	t["VslmCloneSpec"] = reflect.TypeOf((*VslmCloneSpec)(nil)).Elem()
 99480  }
 99481  
 99482  // Specification to create a virtual storage object.
 99483  type VslmCreateSpec struct {
 99484  	DynamicData
 99485  
 99486  	// Descriptive name of this virtual storage object.
 99487  	Name string `xml:"name" json:"name"`
 99488  	// Choice of the deletion behavior of this virtual storage object.
 99489  	//
 99490  	// If not set, the default value is true.
 99491  	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty"`
 99492  	// Specification of the backings of the virtual storage object.
 99493  	BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr" json:"backingSpec"`
 99494  	// Size in MB of the virtual storage object.
 99495  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
 99496  	// Virtual storage object Profile requirement.
 99497  	//
 99498  	// If unset,
 99499  	// the default behavior will apply.
 99500  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 99501  	// Crypto operation of the disk.
 99502  	//
 99503  	// If unset and if `VslmCreateSpec.profile` contains an encryption iofilter,
 99504  	// then crypto will be of type CryptoSpecEncrypt, and filled with
 99505  	// keyId that is automatically generated and keyProviderId that is the
 99506  	// default kms cluster.
 99507  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 99508  	// The metadata KV pairs that are supposed to be created on the newly created
 99509  	// virtual storage object.
 99510  	//
 99511  	// The create task is atomic by design. That being
 99512  	// said, failing to add the specified metadata pairs leads to the failure
 99513  	// of the create task. If unset, no metadata will be added. An empty string
 99514  	// value is indicative of a vcenter tag.
 99515  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 99516  }
 99517  
 99518  func init() {
 99519  	t["VslmCreateSpec"] = reflect.TypeOf((*VslmCreateSpec)(nil)).Elem()
 99520  }
 99521  
 99522  // Specification of the backing of a virtual
 99523  // storage object.
 99524  type VslmCreateSpecBackingSpec struct {
 99525  	DynamicData
 99526  
 99527  	// The datastore managed object where this backing is located.
 99528  	//
 99529  	// Refers instance of `Datastore`.
 99530  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 99531  	// Relative location in the specified datastore where disk needs to be
 99532  	// created.
 99533  	//
 99534  	// If not specified disk gets created at the defualt
 99535  	// VStorageObject location on the specified datastore.
 99536  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 99537  }
 99538  
 99539  func init() {
 99540  	t["VslmCreateSpecBackingSpec"] = reflect.TypeOf((*VslmCreateSpecBackingSpec)(nil)).Elem()
 99541  }
 99542  
 99543  // Specification of the disk file backing of a virtual
 99544  // storage object.
 99545  type VslmCreateSpecDiskFileBackingSpec struct {
 99546  	VslmCreateSpecBackingSpec
 99547  
 99548  	// Provisioning type.
 99549  	//
 99550  	// See also `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum`
 99551  	//
 99552  	// If unset, system will first look up the provisioning type specified
 99553  	// in the policy. If still not found, the default
 99554  	// `thin`
 99555  	// will be used..
 99556  	ProvisioningType string `xml:"provisioningType,omitempty" json:"provisioningType,omitempty"`
 99557  }
 99558  
 99559  func init() {
 99560  	t["VslmCreateSpecDiskFileBackingSpec"] = reflect.TypeOf((*VslmCreateSpecDiskFileBackingSpec)(nil)).Elem()
 99561  }
 99562  
 99563  // Specification of the rdm backing of a virtual
 99564  // storage object.
 99565  type VslmCreateSpecRawDiskMappingBackingSpec struct {
 99566  	VslmCreateSpecBackingSpec
 99567  
 99568  	// Unique identifier of the LUN accessed by the raw disk mapping.
 99569  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 99570  	// The compatibility mode of the raw disk mapping (RDM).
 99571  	//
 99572  	// This must be specified
 99573  	// when a new virtual disk with an RDM backing is created.
 99574  	//
 99575  	// See also `VirtualDiskCompatibilityMode_enum`.
 99576  	CompatibilityMode string `xml:"compatibilityMode" json:"compatibilityMode"`
 99577  }
 99578  
 99579  func init() {
 99580  	t["VslmCreateSpecRawDiskMappingBackingSpec"] = reflect.TypeOf((*VslmCreateSpecRawDiskMappingBackingSpec)(nil)).Elem()
 99581  }
 99582  
 99583  // Base specification of moving or copying a virtual storage object.
 99584  type VslmMigrateSpec struct {
 99585  	DynamicData
 99586  
 99587  	// Specification of the backings of the target virtual storage object.
 99588  	BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr" json:"backingSpec"`
 99589  	// Virtual storage object Profile requirement.
 99590  	//
 99591  	// If unset,
 99592  	// the default behavior will apply.
 99593  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 99594  	// Flag indicates any delta disk backings will be consolidated
 99595  	// during migration.
 99596  	//
 99597  	// If unset, delta disk backings will not be
 99598  	// consolidated.
 99599  	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty"`
 99600  	// Disk chain crypto information.
 99601  	//
 99602  	// If unset and if `VslmMigrateSpec.profile` contains an encryption iofilter and if
 99603  	// source VStorageObject is unencrypted, then disksCyrpto will be of type
 99604  	// CryptoSpecEncrypt, and filled with keyId that is automatically generated
 99605  	// and keyProviderId that is the default kms cluster. During the migration,
 99606  	// the object will be encrypted.
 99607  	// If unset and if `VslmMigrateSpec.profile` is a default policy and if source
 99608  	// VStorageObject is unenrypted, then disksCrypto is treated as
 99609  	// CryptoSpecNoOp. During migration, no cryptographic change.
 99610  	// If unset and if `VslmMigrateSpec.profile` contains an encryption iofilter and if
 99611  	// source VStorageObject is encrypted, then disksCyrpto is treated as
 99612  	// CryptoSpecNoOp. During migration, no cryptographic change.
 99613  	// If unset and if `VslmMigrateSpec.profile` is a default policy and if
 99614  	// source VStorageObject is encrypted, then disksCyrpto is treated as
 99615  	// CryptoSpecDecrypt, during migration, the object will be decrypted.
 99616  	// To recrypt the disk during migration, disksCrypto has to be present.
 99617  	DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto,omitempty"`
 99618  	// The service endpoint of vCenter where the FCD should be located.
 99619  	//
 99620  	// If
 99621  	// not specified the current vCenter service is used.
 99622  	Service *ServiceLocator `xml:"service,omitempty" json:"service,omitempty" vim:"8.0.3.0"`
 99623  }
 99624  
 99625  func init() {
 99626  	t["VslmMigrateSpec"] = reflect.TypeOf((*VslmMigrateSpec)(nil)).Elem()
 99627  }
 99628  
 99629  // Specification for relocating a virtual storage object.
 99630  type VslmRelocateSpec struct {
 99631  	VslmMigrateSpec
 99632  }
 99633  
 99634  func init() {
 99635  	t["VslmRelocateSpec"] = reflect.TypeOf((*VslmRelocateSpec)(nil)).Elem()
 99636  }
 99637  
 99638  // Specification of the Tag-Association tuple of Dataservice Tagging package.
 99639  //
 99640  // This class is a subset of the class dataservice.taggging.TaggingEntry.
 99641  type VslmTagEntry struct {
 99642  	DynamicData
 99643  
 99644  	// Associated tag name of the Tag-Association tuple
 99645  	TagName string `xml:"tagName" json:"tagName"`
 99646  	// Associated parent category name of the Tag-Association tuple
 99647  	ParentCategoryName string `xml:"parentCategoryName" json:"parentCategoryName"`
 99648  }
 99649  
 99650  func init() {
 99651  	t["VslmTagEntry"] = reflect.TypeOf((*VslmTagEntry)(nil)).Elem()
 99652  }
 99653  
 99654  // Thrown if a dvPort is used as destination in multiple Distributed Port Mirroring sessions.
 99655  type VspanDestPortConflict struct {
 99656  	DvsFault
 99657  
 99658  	// The key of the Distributed Port Mirroring session whose destination ports include a port
 99659  	// that is also used as destination ports of other Distributed Port Mirroring sessions
 99660  	VspanSessionKey1 string `xml:"vspanSessionKey1" json:"vspanSessionKey1"`
 99661  	// The key of the Distributed Port Mirroring session whose destination ports include a port
 99662  	// that is also used as destination ports of other Distributed Port Mirroring sessions
 99663  	VspanSessionKey2 string `xml:"vspanSessionKey2" json:"vspanSessionKey2"`
 99664  	// The key of the the port that is used as destination in multiple Distributed Port Mirroring sessions
 99665  	PortKey string `xml:"portKey" json:"portKey"`
 99666  }
 99667  
 99668  func init() {
 99669  	t["VspanDestPortConflict"] = reflect.TypeOf((*VspanDestPortConflict)(nil)).Elem()
 99670  }
 99671  
 99672  type VspanDestPortConflictFault VspanDestPortConflict
 99673  
 99674  func init() {
 99675  	t["VspanDestPortConflictFault"] = reflect.TypeOf((*VspanDestPortConflictFault)(nil)).Elem()
 99676  }
 99677  
 99678  // Thrown if a DistributedVirtualPort appears in both the transmitted source and destination
 99679  // ports of any Distributed Port Mirroring session.
 99680  type VspanPortConflict struct {
 99681  	DvsFault
 99682  
 99683  	// The key of the Distributed Port Mirroring session that is in conflict
 99684  	VspanSessionKey1 string `xml:"vspanSessionKey1" json:"vspanSessionKey1"`
 99685  	// The key of the Distributed Port Mirroring session that is in conflict
 99686  	VspanSessionKey2 string `xml:"vspanSessionKey2" json:"vspanSessionKey2"`
 99687  	// The key of the port that is both the transmitted source and destination.
 99688  	PortKey string `xml:"portKey" json:"portKey"`
 99689  }
 99690  
 99691  func init() {
 99692  	t["VspanPortConflict"] = reflect.TypeOf((*VspanPortConflict)(nil)).Elem()
 99693  }
 99694  
 99695  type VspanPortConflictFault VspanPortConflict
 99696  
 99697  func init() {
 99698  	t["VspanPortConflictFault"] = reflect.TypeOf((*VspanPortConflictFault)(nil)).Elem()
 99699  }
 99700  
 99701  // Thrown when moving a port used as tranmistted source or destination ports in vspan
 99702  // session to a promiscuous portgroup if this operation may change
 99703  // the non-promiscuous port to promiscuous mode.
 99704  type VspanPortMoveFault struct {
 99705  	DvsFault
 99706  
 99707  	// The key of the source portgroup.
 99708  	SrcPortgroupName string `xml:"srcPortgroupName" json:"srcPortgroupName"`
 99709  	// The key of the dest portgroup.
 99710  	DestPortgroupName string `xml:"destPortgroupName" json:"destPortgroupName"`
 99711  	// The key of the port.
 99712  	PortKey string `xml:"portKey" json:"portKey"`
 99713  }
 99714  
 99715  func init() {
 99716  	t["VspanPortMoveFault"] = reflect.TypeOf((*VspanPortMoveFault)(nil)).Elem()
 99717  }
 99718  
 99719  type VspanPortMoveFaultFault VspanPortMoveFault
 99720  
 99721  func init() {
 99722  	t["VspanPortMoveFaultFault"] = reflect.TypeOf((*VspanPortMoveFaultFault)(nil)).Elem()
 99723  }
 99724  
 99725  // Thrown when changing a non-promiscuous port used as tranmistted source or dest
 99726  // ports in Distributed Port Mirroring session to promiscuous mode.
 99727  type VspanPortPromiscChangeFault struct {
 99728  	DvsFault
 99729  
 99730  	// The key of the port.
 99731  	PortKey string `xml:"portKey" json:"portKey"`
 99732  }
 99733  
 99734  func init() {
 99735  	t["VspanPortPromiscChangeFault"] = reflect.TypeOf((*VspanPortPromiscChangeFault)(nil)).Elem()
 99736  }
 99737  
 99738  type VspanPortPromiscChangeFaultFault VspanPortPromiscChangeFault
 99739  
 99740  func init() {
 99741  	t["VspanPortPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortPromiscChangeFaultFault)(nil)).Elem()
 99742  }
 99743  
 99744  // Thrown when changing a non-promiscous portgroup to promiscuous mode if any port
 99745  // in this portgroup is used as tranmistted source or dest ports in vspan
 99746  // session.
 99747  type VspanPortgroupPromiscChangeFault struct {
 99748  	DvsFault
 99749  
 99750  	// The key of the port.
 99751  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 99752  }
 99753  
 99754  func init() {
 99755  	t["VspanPortgroupPromiscChangeFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFault)(nil)).Elem()
 99756  }
 99757  
 99758  type VspanPortgroupPromiscChangeFaultFault VspanPortgroupPromiscChangeFault
 99759  
 99760  func init() {
 99761  	t["VspanPortgroupPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFaultFault)(nil)).Elem()
 99762  }
 99763  
 99764  // Thrown when changing a portgroup from static/dynamic binding to
 99765  // ephemeral(no binding) if any ports in this portgroup participate in
 99766  // Distributed Port Mirroring session.
 99767  type VspanPortgroupTypeChangeFault struct {
 99768  	DvsFault
 99769  
 99770  	// The name of the portgroup.
 99771  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 99772  }
 99773  
 99774  func init() {
 99775  	t["VspanPortgroupTypeChangeFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFault)(nil)).Elem()
 99776  }
 99777  
 99778  type VspanPortgroupTypeChangeFaultFault VspanPortgroupTypeChangeFault
 99779  
 99780  func init() {
 99781  	t["VspanPortgroupTypeChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFaultFault)(nil)).Elem()
 99782  }
 99783  
 99784  // Thrown if a promiscuous port appears in transmitted source or destination
 99785  // ports of any Distributed Port Mirroring session.
 99786  type VspanPromiscuousPortNotSupported struct {
 99787  	DvsFault
 99788  
 99789  	// The key of the Distributed Port Mirroring session in which a promiscuous port is used as
 99790  	// transmitted source or destination ports.
 99791  	VspanSessionKey string `xml:"vspanSessionKey" json:"vspanSessionKey"`
 99792  	// The key of the promiscuous port that appears in transmitted
 99793  	// source or destination ports.
 99794  	PortKey string `xml:"portKey" json:"portKey"`
 99795  }
 99796  
 99797  func init() {
 99798  	t["VspanPromiscuousPortNotSupported"] = reflect.TypeOf((*VspanPromiscuousPortNotSupported)(nil)).Elem()
 99799  }
 99800  
 99801  type VspanPromiscuousPortNotSupportedFault VspanPromiscuousPortNotSupported
 99802  
 99803  func init() {
 99804  	t["VspanPromiscuousPortNotSupportedFault"] = reflect.TypeOf((*VspanPromiscuousPortNotSupportedFault)(nil)).Elem()
 99805  }
 99806  
 99807  // Thrown if a dvPort appears in both the source and destination
 99808  // ports of the same Distributed Port Mirroring session.
 99809  type VspanSameSessionPortConflict struct {
 99810  	DvsFault
 99811  
 99812  	// The key of the Distributed Port Mirroring session in which a dvPort appears in both the source and destination ports
 99813  	VspanSessionKey string `xml:"vspanSessionKey" json:"vspanSessionKey"`
 99814  	// The key of the port that appears in both the source and
 99815  	// destination ports of the same Distributed Port Mirroring session.
 99816  	PortKey string `xml:"portKey" json:"portKey"`
 99817  }
 99818  
 99819  func init() {
 99820  	t["VspanSameSessionPortConflict"] = reflect.TypeOf((*VspanSameSessionPortConflict)(nil)).Elem()
 99821  }
 99822  
 99823  type VspanSameSessionPortConflictFault VspanSameSessionPortConflict
 99824  
 99825  func init() {
 99826  	t["VspanSameSessionPortConflictFault"] = reflect.TypeOf((*VspanSameSessionPortConflictFault)(nil)).Elem()
 99827  }
 99828  
 99829  type VstorageObjectVCenterQueryChangedDiskAreas VstorageObjectVCenterQueryChangedDiskAreasRequestType
 99830  
 99831  func init() {
 99832  	t["VstorageObjectVCenterQueryChangedDiskAreas"] = reflect.TypeOf((*VstorageObjectVCenterQueryChangedDiskAreas)(nil)).Elem()
 99833  }
 99834  
 99835  // The parameters of `VcenterVStorageObjectManager.VstorageObjectVCenterQueryChangedDiskAreas`.
 99836  type VstorageObjectVCenterQueryChangedDiskAreasRequestType struct {
 99837  	This ManagedObjectReference `xml:"_this" json:"-"`
 99838  	// The ID of the virtual storage object.
 99839  	Id ID `xml:"id" json:"id"`
 99840  	// The datastore where the source virtual storage object
 99841  	// is located.
 99842  	//
 99843  	// Refers instance of `Datastore`.
 99844  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 99845  	// The ID of the snapshot of a virtual storage object for
 99846  	// which changes that have been made since "changeId"
 99847  	// should be computed.
 99848  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 99849  	// Start Offset in bytes at which to start computing
 99850  	// changes. Typically, callers will make multiple calls
 99851  	// to this function, starting with startOffset 0 and then
 99852  	// examine the "length" property in the returned
 99853  	// DiskChangeInfo structure, repeatedly calling
 99854  	// queryChangedDiskAreas until a map for the entire
 99855  	// virtual disk has been obtained.
 99856  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
 99857  	// Identifier referring to a point in the past that should
 99858  	// be used as the point in time at which to begin including
 99859  	// changes to the disk in the result. A typical use case
 99860  	// would be a backup application obtaining a changeId from
 99861  	// a virtual disk's backing info when performing a backup.
 99862  	// When a subsequent incremental backup is to be performed,
 99863  	// this change Id can be used to obtain a list of changed
 99864  	// areas on disk.
 99865  	ChangeId string `xml:"changeId" json:"changeId"`
 99866  }
 99867  
 99868  func init() {
 99869  	t["VstorageObjectVCenterQueryChangedDiskAreasRequestType"] = reflect.TypeOf((*VstorageObjectVCenterQueryChangedDiskAreasRequestType)(nil)).Elem()
 99870  }
 99871  
 99872  type VstorageObjectVCenterQueryChangedDiskAreasResponse struct {
 99873  	Returnval DiskChangeInfo `xml:"returnval" json:"returnval"`
 99874  }
 99875  
 99876  // Detailed information about a VirtualVolume datastore.
 99877  type VvolDatastoreInfo struct {
 99878  	DatastoreInfo
 99879  
 99880  	VvolDS *HostVvolVolume `xml:"vvolDS,omitempty" json:"vvolDS,omitempty"`
 99881  }
 99882  
 99883  func init() {
 99884  	t["VvolDatastoreInfo"] = reflect.TypeOf((*VvolDatastoreInfo)(nil)).Elem()
 99885  }
 99886  
 99887  type WaitForUpdates WaitForUpdatesRequestType
 99888  
 99889  func init() {
 99890  	t["WaitForUpdates"] = reflect.TypeOf((*WaitForUpdates)(nil)).Elem()
 99891  }
 99892  
 99893  type WaitForUpdatesEx WaitForUpdatesExRequestType
 99894  
 99895  func init() {
 99896  	t["WaitForUpdatesEx"] = reflect.TypeOf((*WaitForUpdatesEx)(nil)).Elem()
 99897  }
 99898  
 99899  // The parameters of `PropertyCollector.WaitForUpdatesEx`.
 99900  type WaitForUpdatesExRequestType struct {
 99901  	This ManagedObjectReference `xml:"_this" json:"-"`
 99902  	// The data version currently known to the client. The value must be
 99903  	// either
 99904  	//   - the special initial data version (an empty string),
 99905  	//   - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`
 99906  	//   - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx`
 99907  	//   - a truncated data version returned from the last call to `PropertyCollector.WaitForUpdatesEx` with no intervening calls to `PropertyCollector.WaitForUpdates` or `PropertyCollector.CheckForUpdates`.
 99908  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 99909  	// Additional options controlling the change calculation. If omitted,
 99910  	// equivalent to an options argument with no fields set.
 99911  	Options *WaitOptions `xml:"options,omitempty" json:"options,omitempty"`
 99912  }
 99913  
 99914  func init() {
 99915  	t["WaitForUpdatesExRequestType"] = reflect.TypeOf((*WaitForUpdatesExRequestType)(nil)).Elem()
 99916  }
 99917  
 99918  type WaitForUpdatesExResponse struct {
 99919  	Returnval *UpdateSet `xml:"returnval,omitempty" json:"returnval,omitempty"`
 99920  }
 99921  
 99922  // The parameters of `PropertyCollector.WaitForUpdates`.
 99923  type WaitForUpdatesRequestType struct {
 99924  	This ManagedObjectReference `xml:"_this" json:"-"`
 99925  	// The data version currently known to the client. The value
 99926  	// must be either
 99927  	//   - the special initial version (an empty string)
 99928  	//   - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates` by the same `PropertyCollector` on the same session
 99929  	//   - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx` by the same `PropertyCollector` on the same
 99930  	//     session.
 99931  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 99932  }
 99933  
 99934  func init() {
 99935  	t["WaitForUpdatesRequestType"] = reflect.TypeOf((*WaitForUpdatesRequestType)(nil)).Elem()
 99936  }
 99937  
 99938  type WaitForUpdatesResponse struct {
 99939  	Returnval UpdateSet `xml:"returnval" json:"returnval"`
 99940  }
 99941  
 99942  // Options for `PropertyCollector.WaitForUpdatesEx`.
 99943  type WaitOptions struct {
 99944  	DynamicData
 99945  
 99946  	// The number of seconds the `PropertyCollector` should wait
 99947  	// before returning null.
 99948  	//
 99949  	// Returning updates may take longer if the
 99950  	// actual calculation time exceeds `WaitOptions.maxWaitSeconds`. Additionally `PropertyCollector` policy may
 99951  	// cause it to return null sooner than `WaitOptions.maxWaitSeconds`.
 99952  	//
 99953  	// An unset value causes `PropertyCollector.WaitForUpdatesEx` to wait as
 99954  	// long as possible for updates. Policy may still cause the
 99955  	// `PropertyCollector` to return null at some point.
 99956  	//
 99957  	// A value of 0 causes `PropertyCollector.WaitForUpdatesEx` to do one update
 99958  	// calculation and return any results. This behavior is similar to `PropertyCollector.CheckForUpdates`.
 99959  	//
 99960  	// A positive value causes `PropertyCollector.WaitForUpdatesEx` to return
 99961  	// null if no updates are available within the specified number of
 99962  	// seconds. The choice of a positive value often depends on the
 99963  	// client communication stack. For example it may be helpful to
 99964  	// choose a duration shorter than a local HTTP request timeout.
 99965  	// Typically it should be no shorter than a few minutes.
 99966  	//
 99967  	// A negative value is illegal.
 99968  	MaxWaitSeconds *int32 `xml:"maxWaitSeconds" json:"maxWaitSeconds,omitempty"`
 99969  	// The maximum number of `ObjectUpdate`
 99970  	// entries that should be returned in a single result from `PropertyCollector.WaitForUpdatesEx`.
 99971  	//
 99972  	// See `UpdateSet.truncated`
 99973  	//
 99974  	// An unset value indicates that there is no maximum. In this case
 99975  	// `PropertyCollector` policy may still limit the number of objects
 99976  	// that appear in an `UpdateSet`.
 99977  	//
 99978  	// A positive value causes `PropertyCollector.WaitForUpdatesEx` to suspend
 99979  	// the update calculation when the total count of `ObjectUpdate` entries ready to return reaches
 99980  	// the specified maximum. `PropertyCollector` policy may still
 99981  	// limit the total count to something less than `WaitOptions.maxObjectUpdates`.
 99982  	//
 99983  	// A value less than or equal to 0 is illegal.
 99984  	MaxObjectUpdates int32 `xml:"maxObjectUpdates,omitempty" json:"maxObjectUpdates,omitempty"`
 99985  }
 99986  
 99987  func init() {
 99988  	t["WaitOptions"] = reflect.TypeOf((*WaitOptions)(nil)).Elem()
 99989  }
 99990  
 99991  // The virtual machine and at least one of its virtual NICs are configured to
 99992  // use Wake-on-LAN, but the host does not support Wake-on-LAN for the
 99993  // virtual machine's selected guest OS.
 99994  type WakeOnLanNotSupported struct {
 99995  	VirtualHardwareCompatibilityIssue
 99996  }
 99997  
 99998  func init() {
 99999  	t["WakeOnLanNotSupported"] = reflect.TypeOf((*WakeOnLanNotSupported)(nil)).Elem()
100000  }
100001  
100002  // This fault is thrown when Wake-on-LAN isn't supported by the Vmotion NIC on the host.
100003  type WakeOnLanNotSupportedByVmotionNIC struct {
100004  	HostPowerOpFailed
100005  }
100006  
100007  func init() {
100008  	t["WakeOnLanNotSupportedByVmotionNIC"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNIC)(nil)).Elem()
100009  }
100010  
100011  type WakeOnLanNotSupportedByVmotionNICFault WakeOnLanNotSupportedByVmotionNIC
100012  
100013  func init() {
100014  	t["WakeOnLanNotSupportedByVmotionNICFault"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNICFault)(nil)).Elem()
100015  }
100016  
100017  type WakeOnLanNotSupportedFault WakeOnLanNotSupported
100018  
100019  func init() {
100020  	t["WakeOnLanNotSupportedFault"] = reflect.TypeOf((*WakeOnLanNotSupportedFault)(nil)).Elem()
100021  }
100022  
100023  // This event is a general warning event from upgrade.
100024  type WarningUpgradeEvent struct {
100025  	UpgradeEvent
100026  }
100027  
100028  func init() {
100029  	t["WarningUpgradeEvent"] = reflect.TypeOf((*WarningUpgradeEvent)(nil)).Elem()
100030  }
100031  
100032  // The `WeeklyTaskScheduler` data object sets the time for weekly
100033  // task execution.
100034  //
100035  // You can set the schedule for task execution
100036  // on one or more days during the week, and you complete the schedule
100037  // by setting the inherited properties for the hour and minute.
100038  //
100039  // By default the scheduler executes the task according to the
100040  // specified day(s) every week.
100041  // If you set the interval to a value greater than 1, the task will
100042  // execute at the specified weekly interval. (For example, an interval
100043  // of 2 will cause the task to execute on the specified days every 2 weeks.)
100044  type WeeklyTaskScheduler struct {
100045  	DailyTaskScheduler
100046  
100047  	// The day or days of the week when the scheduled task will run.
100048  	//
100049  	// At least one of the days must be true.
100050  	Sunday    bool `xml:"sunday" json:"sunday"`
100051  	Monday    bool `xml:"monday" json:"monday"`
100052  	Tuesday   bool `xml:"tuesday" json:"tuesday"`
100053  	Wednesday bool `xml:"wednesday" json:"wednesday"`
100054  	Thursday  bool `xml:"thursday" json:"thursday"`
100055  	Friday    bool `xml:"friday" json:"friday"`
100056  	Saturday  bool `xml:"saturday" json:"saturday"`
100057  }
100058  
100059  func init() {
100060  	t["WeeklyTaskScheduler"] = reflect.TypeOf((*WeeklyTaskScheduler)(nil)).Elem()
100061  }
100062  
100063  // This fault is reported when the execution of a storage vmotion or
100064  // relocate operation would impact vSphere HA's ability to
100065  // restart a VM.
100066  //
100067  // For storage vmotion, this fault
100068  // is reported when HA protection will be lost after the vmotion
100069  // completes. Consequently, HA would not restart the VM if it
100070  // subsequently failed. For relocate, relocate is not supported on
100071  // VMs that failed before the operation is attempted and are in the
100072  // process of being restarted at the time the operation is performed.
100073  type WillLoseHAProtection struct {
100074  	MigrationFault
100075  
100076  	// The steps the user can take to restore protection if the
100077  	// the operation is performed.
100078  	//
100079  	// Values come from
100080  	// `WillLoseHAProtectionResolution_enum`.
100081  	Resolution string `xml:"resolution" json:"resolution"`
100082  }
100083  
100084  func init() {
100085  	t["WillLoseHAProtection"] = reflect.TypeOf((*WillLoseHAProtection)(nil)).Elem()
100086  }
100087  
100088  type WillLoseHAProtectionFault WillLoseHAProtection
100089  
100090  func init() {
100091  	t["WillLoseHAProtectionFault"] = reflect.TypeOf((*WillLoseHAProtectionFault)(nil)).Elem()
100092  }
100093  
100094  // A virtual machine's total CPU feature requirements are determined by
100095  // overlaying the requirements specified in its configuration (if any) on top
100096  // of the requirements specified in the descriptor for its guest OS.
100097  //
100098  // It is
100099  // therefore possible for a host change to implicitly change a virtual
100100  // machine's CPU feature requirements. The guest OS descriptor may have
100101  // different requirements on the new host. Or, if the virtual machine
100102  // currently specifies requirements in its configuration, those requirements
100103  // will be lost if the new host does not support this.
100104  //
100105  // This fault indicates that the virtual machine's CPU feature requirements
100106  // would change because of a migration, and also that the destination host
100107  // does support storing CPU feature requirements in the virtual machine's
100108  // configuration. (If the destination host does not support such an action,
100109  // `CannotModifyConfigCpuRequirements` is used instead of this fault.)
100110  //
100111  // This is a warning to notify the user that the migration process will
100112  // adjust the virtual machine's configuration so that it will be operating
100113  // under an unchanged set of CPU feature requirements on its new host. If the
100114  // user wishes to expose the different guest OS requirements of the new host,
100115  // the user will need to edit the virtual machine's configuration after the
100116  // migration.
100117  type WillModifyConfigCpuRequirements struct {
100118  	MigrationFault
100119  }
100120  
100121  func init() {
100122  	t["WillModifyConfigCpuRequirements"] = reflect.TypeOf((*WillModifyConfigCpuRequirements)(nil)).Elem()
100123  }
100124  
100125  type WillModifyConfigCpuRequirementsFault WillModifyConfigCpuRequirements
100126  
100127  func init() {
100128  	t["WillModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*WillModifyConfigCpuRequirementsFault)(nil)).Elem()
100129  }
100130  
100131  // This fault is reported when the execution of a storage vmotion or
100132  // relocate operation would reset the snapshotDirectory settings
100133  // to its default value (VM's home/config directory).
100134  type WillResetSnapshotDirectory struct {
100135  	MigrationFault
100136  }
100137  
100138  func init() {
100139  	t["WillResetSnapshotDirectory"] = reflect.TypeOf((*WillResetSnapshotDirectory)(nil)).Elem()
100140  }
100141  
100142  type WillResetSnapshotDirectoryFault WillResetSnapshotDirectory
100143  
100144  func init() {
100145  	t["WillResetSnapshotDirectoryFault"] = reflect.TypeOf((*WillResetSnapshotDirectoryFault)(nil)).Elem()
100146  }
100147  
100148  // This data object type describes the Windows-specific
100149  // NetBIOS configuration.
100150  type WinNetBIOSConfigInfo struct {
100151  	NetBIOSConfigInfo
100152  
100153  	// The IP address of the primary WINS server.
100154  	PrimaryWINS string `xml:"primaryWINS" json:"primaryWINS"`
100155  	// The IP address of the secondary WINS server.
100156  	SecondaryWINS string `xml:"secondaryWINS,omitempty" json:"secondaryWINS,omitempty"`
100157  }
100158  
100159  func init() {
100160  	t["WinNetBIOSConfigInfo"] = reflect.TypeOf((*WinNetBIOSConfigInfo)(nil)).Elem()
100161  }
100162  
100163  // This exception is thrown when VirtualMachine.wipeDisk
100164  // encounters an error
100165  type WipeDiskFault struct {
100166  	VimFault
100167  }
100168  
100169  func init() {
100170  	t["WipeDiskFault"] = reflect.TypeOf((*WipeDiskFault)(nil)).Elem()
100171  }
100172  
100173  type WipeDiskFaultFault WipeDiskFault
100174  
100175  func init() {
100176  	t["WipeDiskFaultFault"] = reflect.TypeOf((*WipeDiskFaultFault)(nil)).Elem()
100177  }
100178  
100179  // The WitnessNodeInfo class defines configuration
100180  // information for the Witness node in the cluster
100181  type WitnessNodeInfo struct {
100182  	DynamicData
100183  
100184  	// VCHA Cluster network configuration of the Witness node.
100185  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
100186  	// BIOS UUID for the node.
100187  	//
100188  	// It is set only if the VCHA Cluster was
100189  	// formed using automatic provisioning by the deploy API.
100190  	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
100191  }
100192  
100193  func init() {
100194  	t["WitnessNodeInfo"] = reflect.TypeOf((*WitnessNodeInfo)(nil)).Elem()
100195  }
100196  
100197  type XmlToCustomizationSpecItem XmlToCustomizationSpecItemRequestType
100198  
100199  func init() {
100200  	t["XmlToCustomizationSpecItem"] = reflect.TypeOf((*XmlToCustomizationSpecItem)(nil)).Elem()
100201  }
100202  
100203  // The parameters of `CustomizationSpecManager.XmlToCustomizationSpecItem`.
100204  type XmlToCustomizationSpecItemRequestType struct {
100205  	This        ManagedObjectReference `xml:"_this" json:"-"`
100206  	SpecItemXml string                 `xml:"specItemXml" json:"specItemXml"`
100207  }
100208  
100209  func init() {
100210  	t["XmlToCustomizationSpecItemRequestType"] = reflect.TypeOf((*XmlToCustomizationSpecItemRequestType)(nil)).Elem()
100211  }
100212  
100213  type XmlToCustomizationSpecItemResponse struct {
100214  	Returnval CustomizationSpecItem `xml:"returnval" json:"returnval"`
100215  }
100216  
100217  // The parameters of `VirtualDiskManager.ZeroFillVirtualDisk_Task`.
100218  type ZeroFillVirtualDiskRequestType struct {
100219  	This ManagedObjectReference `xml:"_this" json:"-"`
100220  	// The name of the disk, either a datastore path or a URL
100221  	// referring to the virtual disk whose blocks should be overwritten
100222  	// with zeroes.
100223  	Name string `xml:"name" json:"name"`
100224  	// If <code>name</code> is a datastore path, the datacenter for
100225  	// that datastore path. Not needed when invoked directly on ESX.
100226  	// If not specified on a call to VirtualCenter,
100227  	// <code>name</code> must be a URL.
100228  	//
100229  	// Refers instance of `Datacenter`.
100230  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
100231  }
100232  
100233  func init() {
100234  	t["ZeroFillVirtualDiskRequestType"] = reflect.TypeOf((*ZeroFillVirtualDiskRequestType)(nil)).Elem()
100235  }
100236  
100237  type ZeroFillVirtualDisk_Task ZeroFillVirtualDiskRequestType
100238  
100239  func init() {
100240  	t["ZeroFillVirtualDisk_Task"] = reflect.TypeOf((*ZeroFillVirtualDisk_Task)(nil)).Elem()
100241  }
100242  
100243  type ZeroFillVirtualDisk_TaskResponse struct {
100244  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100245  }
100246  
100247  type ConfigureVchaRequestType struct {
100248  	This       ManagedObjectReference `xml:"_this" json:"-"`
100249  	ConfigSpec VchaClusterConfigSpec  `xml:"configSpec" json:"configSpec"`
100250  }
100251  
100252  func init() {
100253  	t["configureVchaRequestType"] = reflect.TypeOf((*ConfigureVchaRequestType)(nil)).Elem()
100254  }
100255  
100256  type ConfigureVcha_Task ConfigureVchaRequestType
100257  
100258  func init() {
100259  	t["configureVcha_Task"] = reflect.TypeOf((*ConfigureVcha_Task)(nil)).Elem()
100260  }
100261  
100262  type ConfigureVcha_TaskResponse struct {
100263  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100264  }
100265  
100266  type CreatePassiveNodeRequestType struct {
100267  	This                  ManagedObjectReference    `xml:"_this" json:"-"`
100268  	PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec" json:"passiveDeploymentSpec"`
100269  	SourceVcSpec          SourceNodeSpec            `xml:"sourceVcSpec" json:"sourceVcSpec"`
100270  }
100271  
100272  func init() {
100273  	t["createPassiveNodeRequestType"] = reflect.TypeOf((*CreatePassiveNodeRequestType)(nil)).Elem()
100274  }
100275  
100276  type CreatePassiveNode_Task CreatePassiveNodeRequestType
100277  
100278  func init() {
100279  	t["createPassiveNode_Task"] = reflect.TypeOf((*CreatePassiveNode_Task)(nil)).Elem()
100280  }
100281  
100282  type CreatePassiveNode_TaskResponse struct {
100283  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100284  }
100285  
100286  type CreateWitnessNodeRequestType struct {
100287  	This                  ManagedObjectReference `xml:"_this" json:"-"`
100288  	WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr" json:"witnessDeploymentSpec"`
100289  	SourceVcSpec          SourceNodeSpec         `xml:"sourceVcSpec" json:"sourceVcSpec"`
100290  }
100291  
100292  func init() {
100293  	t["createWitnessNodeRequestType"] = reflect.TypeOf((*CreateWitnessNodeRequestType)(nil)).Elem()
100294  }
100295  
100296  type CreateWitnessNode_Task CreateWitnessNodeRequestType
100297  
100298  func init() {
100299  	t["createWitnessNode_Task"] = reflect.TypeOf((*CreateWitnessNode_Task)(nil)).Elem()
100300  }
100301  
100302  type CreateWitnessNode_TaskResponse struct {
100303  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100304  }
100305  
100306  type DeployVchaRequestType struct {
100307  	This           ManagedObjectReference    `xml:"_this" json:"-"`
100308  	DeploymentSpec VchaClusterDeploymentSpec `xml:"deploymentSpec" json:"deploymentSpec"`
100309  }
100310  
100311  func init() {
100312  	t["deployVchaRequestType"] = reflect.TypeOf((*DeployVchaRequestType)(nil)).Elem()
100313  }
100314  
100315  type DeployVcha_Task DeployVchaRequestType
100316  
100317  func init() {
100318  	t["deployVcha_Task"] = reflect.TypeOf((*DeployVcha_Task)(nil)).Elem()
100319  }
100320  
100321  type DeployVcha_TaskResponse struct {
100322  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100323  }
100324  
100325  type DestroyVchaRequestType struct {
100326  	This ManagedObjectReference `xml:"_this" json:"-"`
100327  }
100328  
100329  func init() {
100330  	t["destroyVchaRequestType"] = reflect.TypeOf((*DestroyVchaRequestType)(nil)).Elem()
100331  }
100332  
100333  type DestroyVcha_Task DestroyVchaRequestType
100334  
100335  func init() {
100336  	t["destroyVcha_Task"] = reflect.TypeOf((*DestroyVcha_Task)(nil)).Elem()
100337  }
100338  
100339  type DestroyVcha_TaskResponse struct {
100340  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100341  }
100342  
100343  type FetchSoftwarePackages FetchSoftwarePackagesRequestType
100344  
100345  func init() {
100346  	t["fetchSoftwarePackages"] = reflect.TypeOf((*FetchSoftwarePackages)(nil)).Elem()
100347  }
100348  
100349  type FetchSoftwarePackagesRequestType struct {
100350  	This ManagedObjectReference `xml:"_this" json:"-"`
100351  }
100352  
100353  func init() {
100354  	t["fetchSoftwarePackagesRequestType"] = reflect.TypeOf((*FetchSoftwarePackagesRequestType)(nil)).Elem()
100355  }
100356  
100357  type FetchSoftwarePackagesResponse struct {
100358  	Returnval []SoftwarePackage `xml:"returnval,omitempty" json:"returnval,omitempty"`
100359  }
100360  
100361  type GetClusterMode GetClusterModeRequestType
100362  
100363  func init() {
100364  	t["getClusterMode"] = reflect.TypeOf((*GetClusterMode)(nil)).Elem()
100365  }
100366  
100367  type GetClusterModeRequestType struct {
100368  	This ManagedObjectReference `xml:"_this" json:"-"`
100369  }
100370  
100371  func init() {
100372  	t["getClusterModeRequestType"] = reflect.TypeOf((*GetClusterModeRequestType)(nil)).Elem()
100373  }
100374  
100375  type GetClusterModeResponse struct {
100376  	Returnval string `xml:"returnval" json:"returnval"`
100377  }
100378  
100379  type GetVchaConfig GetVchaConfigRequestType
100380  
100381  func init() {
100382  	t["getVchaConfig"] = reflect.TypeOf((*GetVchaConfig)(nil)).Elem()
100383  }
100384  
100385  type GetVchaConfigRequestType struct {
100386  	This ManagedObjectReference `xml:"_this" json:"-"`
100387  }
100388  
100389  func init() {
100390  	t["getVchaConfigRequestType"] = reflect.TypeOf((*GetVchaConfigRequestType)(nil)).Elem()
100391  }
100392  
100393  type GetVchaConfigResponse struct {
100394  	Returnval VchaClusterConfigInfo `xml:"returnval" json:"returnval"`
100395  }
100396  
100397  type InitiateFailoverRequestType struct {
100398  	This    ManagedObjectReference `xml:"_this" json:"-"`
100399  	Planned bool                   `xml:"planned" json:"planned"`
100400  }
100401  
100402  func init() {
100403  	t["initiateFailoverRequestType"] = reflect.TypeOf((*InitiateFailoverRequestType)(nil)).Elem()
100404  }
100405  
100406  type InitiateFailover_Task InitiateFailoverRequestType
100407  
100408  func init() {
100409  	t["initiateFailover_Task"] = reflect.TypeOf((*InitiateFailover_Task)(nil)).Elem()
100410  }
100411  
100412  type InitiateFailover_TaskResponse struct {
100413  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100414  }
100415  
100416  type InstallDate InstallDateRequestType
100417  
100418  func init() {
100419  	t["installDate"] = reflect.TypeOf((*InstallDate)(nil)).Elem()
100420  }
100421  
100422  type InstallDateRequestType struct {
100423  	This ManagedObjectReference `xml:"_this" json:"-"`
100424  }
100425  
100426  func init() {
100427  	t["installDateRequestType"] = reflect.TypeOf((*InstallDateRequestType)(nil)).Elem()
100428  }
100429  
100430  type InstallDateResponse struct {
100431  	Returnval time.Time `xml:"returnval" json:"returnval"`
100432  }
100433  
100434  type PrepareVchaRequestType struct {
100435  	This        ManagedObjectReference `xml:"_this" json:"-"`
100436  	NetworkSpec VchaClusterNetworkSpec `xml:"networkSpec" json:"networkSpec"`
100437  }
100438  
100439  func init() {
100440  	t["prepareVchaRequestType"] = reflect.TypeOf((*PrepareVchaRequestType)(nil)).Elem()
100441  }
100442  
100443  type PrepareVcha_Task PrepareVchaRequestType
100444  
100445  func init() {
100446  	t["prepareVcha_Task"] = reflect.TypeOf((*PrepareVcha_Task)(nil)).Elem()
100447  }
100448  
100449  type PrepareVcha_TaskResponse struct {
100450  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100451  }
100452  
100453  type QueryDatacenterConfigOptionDescriptor QueryDatacenterConfigOptionDescriptorRequestType
100454  
100455  func init() {
100456  	t["queryDatacenterConfigOptionDescriptor"] = reflect.TypeOf((*QueryDatacenterConfigOptionDescriptor)(nil)).Elem()
100457  }
100458  
100459  type QueryDatacenterConfigOptionDescriptorRequestType struct {
100460  	This ManagedObjectReference `xml:"_this" json:"-"`
100461  }
100462  
100463  func init() {
100464  	t["queryDatacenterConfigOptionDescriptorRequestType"] = reflect.TypeOf((*QueryDatacenterConfigOptionDescriptorRequestType)(nil)).Elem()
100465  }
100466  
100467  type QueryDatacenterConfigOptionDescriptorResponse struct {
100468  	Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
100469  }
100470  
100471  type ReloadVirtualMachineFromPathRequestType struct {
100472  	This              ManagedObjectReference `xml:"_this" json:"-"`
100473  	ConfigurationPath string                 `xml:"configurationPath" json:"configurationPath"`
100474  }
100475  
100476  func init() {
100477  	t["reloadVirtualMachineFromPathRequestType"] = reflect.TypeOf((*ReloadVirtualMachineFromPathRequestType)(nil)).Elem()
100478  }
100479  
100480  type ReloadVirtualMachineFromPath_Task ReloadVirtualMachineFromPathRequestType
100481  
100482  func init() {
100483  	t["reloadVirtualMachineFromPath_Task"] = reflect.TypeOf((*ReloadVirtualMachineFromPath_Task)(nil)).Elem()
100484  }
100485  
100486  type ReloadVirtualMachineFromPath_TaskResponse struct {
100487  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100488  }
100489  
100490  type SetClusterModeRequestType struct {
100491  	This ManagedObjectReference `xml:"_this" json:"-"`
100492  	Mode string                 `xml:"mode" json:"mode"`
100493  }
100494  
100495  func init() {
100496  	t["setClusterModeRequestType"] = reflect.TypeOf((*SetClusterModeRequestType)(nil)).Elem()
100497  }
100498  
100499  type SetClusterMode_Task SetClusterModeRequestType
100500  
100501  func init() {
100502  	t["setClusterMode_Task"] = reflect.TypeOf((*SetClusterMode_Task)(nil)).Elem()
100503  }
100504  
100505  type SetClusterMode_TaskResponse struct {
100506  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100507  }
100508  
100509  type SetCustomValue SetCustomValueRequestType
100510  
100511  func init() {
100512  	t["setCustomValue"] = reflect.TypeOf((*SetCustomValue)(nil)).Elem()
100513  }
100514  
100515  type SetCustomValueRequestType struct {
100516  	This  ManagedObjectReference `xml:"_this" json:"-"`
100517  	Key   string                 `xml:"key" json:"key"`
100518  	Value string                 `xml:"value" json:"value"`
100519  }
100520  
100521  func init() {
100522  	t["setCustomValueRequestType"] = reflect.TypeOf((*SetCustomValueRequestType)(nil)).Elem()
100523  }
100524  
100525  type SetCustomValueResponse struct {
100526  }
100527  
100528  type StartDpuFailover StartDpuFailoverRequestType
100529  
100530  func init() {
100531  	t["startDpuFailover"] = reflect.TypeOf((*StartDpuFailover)(nil)).Elem()
100532  }
100533  
100534  type StartDpuFailoverRequestType struct {
100535  	This           ManagedObjectReference `xml:"_this" json:"-"`
100536  	DvsName        string                 `xml:"dvsName" json:"dvsName"`
100537  	TargetDpuAlias string                 `xml:"targetDpuAlias,omitempty" json:"targetDpuAlias,omitempty"`
100538  }
100539  
100540  func init() {
100541  	t["startDpuFailoverRequestType"] = reflect.TypeOf((*StartDpuFailoverRequestType)(nil)).Elem()
100542  }
100543  
100544  type StartDpuFailoverResponse struct {
100545  }
100546  
100547  type UnregisterVAppRequestType struct {
100548  	This ManagedObjectReference `xml:"_this" json:"-"`
100549  }
100550  
100551  func init() {
100552  	t["unregisterVAppRequestType"] = reflect.TypeOf((*UnregisterVAppRequestType)(nil)).Elem()
100553  }
100554  
100555  type UnregisterVApp_Task UnregisterVAppRequestType
100556  
100557  func init() {
100558  	t["unregisterVApp_Task"] = reflect.TypeOf((*UnregisterVApp_Task)(nil)).Elem()
100559  }
100560  
100561  type UnregisterVApp_TaskResponse struct {
100562  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
100563  }
100564  
100565  type VersionURI string
100566  
100567  func init() {
100568  	t["versionURI"] = reflect.TypeOf((*VersionURI)(nil)).Elem()
100569  }
100570  
100571  type VslmInfrastructureObjectPolicy struct {
100572  	DynamicData
100573  
100574  	Name            string                `xml:"name" json:"name"`
100575  	BackingObjectId string                `xml:"backingObjectId" json:"backingObjectId"`
100576  	ProfileId       string                `xml:"profileId" json:"profileId"`
100577  	Error           *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
100578  }
100579  
100580  func init() {
100581  	t["vslmInfrastructureObjectPolicy"] = reflect.TypeOf((*VslmInfrastructureObjectPolicy)(nil)).Elem()
100582  }
100583  
100584  type VslmInfrastructureObjectPolicySpec struct {
100585  	DynamicData
100586  
100587  	Datastore ManagedObjectReference          `xml:"datastore" json:"datastore"`
100588  	Profile   []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
100589  }
100590  
100591  func init() {
100592  	t["vslmInfrastructureObjectPolicySpec"] = reflect.TypeOf((*VslmInfrastructureObjectPolicySpec)(nil)).Elem()
100593  }
100594  
100595  type VslmVClockInfo struct {
100596  	DynamicData
100597  
100598  	VClockTime int64 `xml:"vClockTime" json:"vClockTime"`
100599  }
100600  
100601  func init() {
100602  	t["vslmVClockInfo"] = reflect.TypeOf((*VslmVClockInfo)(nil)).Elem()
100603  }